@guiexpert/table 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +26 -20
- package/esm2020/lib/table/checkbox/tree-checkbox-model.mjs +2 -2
- package/esm2020/lib/table/data/common/args-adjust-columns-to-row-parent-params.mjs +1 -1
- package/esm2020/lib/table/data/options/auto-restore-options.if.mjs +1 -1
- package/esm2020/lib/table/data/options/table-options.if.mjs +1 -1
- package/esm2020/lib/table/data/options/table-options.mjs +7 -8
- package/esm2020/lib/table/data/options/tree-options.mjs +2 -2
- package/esm2020/lib/table/data/tablemodel/area-ident.type.mjs +6 -6
- package/esm2020/lib/table/data/tablemodel/areamodel/abstract-area-model.mjs +22 -22
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-array-array.mjs +3 -3
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-hidden.mjs +25 -21
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.mjs +2 -2
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-object-array.mjs +8 -8
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-tree.mjs +13 -13
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model.if.mjs +1 -1
- package/esm2020/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.mjs +1 -1
- package/esm2020/lib/table/data/tablemodel/column/column-def.if.mjs +1 -1
- package/esm2020/lib/table/data/tablemodel/column/column-def.mjs +3 -3
- package/esm2020/lib/table/data/tablemodel/table-model.if.mjs +1 -1
- package/esm2020/lib/table/data/tablemodel/table-model.mjs +24 -18
- package/esm2020/lib/table/event-adapter.mjs +17 -0
- package/esm2020/lib/table/mouse-handler.mjs +1 -7
- package/esm2020/lib/table/render-scope.mjs +164 -144
- package/esm2020/lib/table/renderer/cell-render.if.mjs +1 -1
- package/esm2020/lib/table/renderer/checkbox-cell-renderer.mjs +2 -2
- package/esm2020/lib/table/renderer/date-to-int-date-cell-renderer.mjs +2 -2
- package/esm2020/lib/table/renderer/date-to-iso-cell-renderer.mjs +2 -2
- package/esm2020/lib/table/renderer/date-to-locale-date-cell-renderer.mjs +2 -2
- package/esm2020/lib/table/renderer/date-to-tec-cell-renderer.mjs +12 -0
- package/esm2020/lib/table/renderer/edit/input-cell-renderer.mjs +2 -2
- package/esm2020/lib/table/renderer/edit/select-cell-renderer.mjs +2 -2
- package/esm2020/lib/table/renderer/male-female-to-icon-cell-renderer.mjs +2 -2
- package/esm2020/lib/table/renderer/number-cell-renderer.mjs +2 -2
- package/esm2020/lib/table/renderer/true-false-cell-renderer.mjs +15 -0
- package/esm2020/lib/table/service/convenience-dom.service.mjs +32 -24
- package/esm2020/lib/table/service/simple-dom-service.mjs +34 -0
- package/esm2020/lib/table/table-api.mjs +7 -7
- package/esm2020/lib/table/table-model-factory.mjs +6 -7
- package/esm2020/lib/table/table-scope.mjs +61 -55
- package/index.d.ts +25 -21
- package/lib/table/action/action-id.type.d.ts +1 -1
- package/lib/table/action/shortcut-actionid-mapping.type.d.ts +1 -1
- package/lib/table/checkbox/tree-checkbox-model.d.ts +1 -1
- package/lib/table/data/common/area-map.type.d.ts +1 -1
- package/lib/table/data/common/args-adjust-columns-to-row-parent-params.d.ts +0 -1
- package/lib/table/data/common/boolean-function.d.ts +1 -1
- package/lib/table/data/common/checked-type.d.ts +1 -1
- package/lib/table/data/common/filter-function.d.ts +1 -1
- package/lib/table/data/common/get-t.d.ts +1 -1
- package/lib/table/data/common/sort-state.type.d.ts +1 -1
- package/lib/table/data/common/tree-arrow.type.d.ts +1 -1
- package/lib/table/data/div-scope.type.d.ts +1 -1
- package/lib/table/data/options/auto-restore-options.if.d.ts +6 -3
- package/lib/table/data/options/table-options.d.ts +5 -6
- package/lib/table/data/options/table-options.if.d.ts +5 -6
- package/lib/table/data/side-ident.type.d.ts +1 -1
- package/lib/table/data/tablemodel/area-ident.type.d.ts +1 -1
- package/lib/table/data/tablemodel/areamodel/abstract-area-model.d.ts +12 -12
- package/lib/table/data/tablemodel/areamodel/area-model-array-array.d.ts +4 -4
- package/lib/table/data/tablemodel/areamodel/area-model-hidden.d.ts +23 -18
- package/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.d.ts +2 -2
- package/lib/table/data/tablemodel/areamodel/area-model-object-array.d.ts +4 -4
- package/lib/table/data/tablemodel/areamodel/area-model-tree.d.ts +4 -4
- package/lib/table/data/tablemodel/areamodel/area-model.if.d.ts +114 -1
- package/lib/table/data/tablemodel/column/column-def.d.ts +3 -3
- package/lib/table/data/tablemodel/table-model.d.ts +1 -0
- package/lib/table/data/tablemodel/table-model.if.d.ts +1 -0
- package/lib/table/event-adapter.d.ts +12 -0
- package/lib/table/focus/focus.type.d.ts +1 -1
- package/lib/table/mouse-handler.d.ts +0 -2
- package/lib/table/render-scope.d.ts +11 -6
- package/lib/table/renderer/cell-render.if.d.ts +1 -1
- package/lib/table/renderer/checkbox-cell-renderer.d.ts +1 -1
- package/lib/table/renderer/date-to-int-date-cell-renderer.d.ts +1 -1
- package/lib/table/renderer/date-to-iso-cell-renderer.d.ts +1 -1
- package/lib/table/renderer/date-to-locale-date-cell-renderer.d.ts +1 -1
- package/lib/table/renderer/date-to-tec-cell-renderer.d.ts +8 -0
- package/lib/table/renderer/edit/edit-cell-renderer.type.d.ts +1 -1
- package/lib/table/renderer/edit/input-cell-renderer.d.ts +1 -1
- package/lib/table/renderer/edit/select-cell-renderer.d.ts +1 -1
- package/lib/table/renderer/male-female-to-icon-cell-renderer.d.ts +1 -1
- package/lib/table/renderer/number-cell-renderer.d.ts +1 -1
- package/lib/table/renderer/renderer-cleanup-fn.type.d.ts +1 -1
- package/lib/table/renderer/true-false-cell-renderer.d.ts +8 -0
- package/lib/table/selection/selection.type.d.ts +2 -2
- package/lib/table/service/convenience-dom.service.d.ts +3 -1
- package/lib/table/service/data/html-style.type.d.ts +1 -1
- package/lib/table/service/simple-dom-service.d.ts +10 -0
- package/lib/table/table-api.d.ts +6 -6
- package/lib/table/table-model-factory.d.ts +1 -2
- package/lib/table/table-scope.d.ts +3 -2
- package/package.json +2 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXIuaWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvcmVuZGVyZXIvY2VsbC1yZW5kZXIuaWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJlYU1vZGVsSWZ9IGZyb20gXCIuLi9kYXRhL3RhYmxlbW9kZWwvYXJlYW1vZGVsL2FyZWEtbW9kZWwuaWZcIjtcbmltcG9ydCB7RG9tU2VydmljZUlmfSBmcm9tIFwiLi4vc2VydmljZS9kb20tc2VydmljZS5pZlwiO1xuaW1wb3J0IHtBcmVhSWRlbnR9IGZyb20gXCIuLi9kYXRhL3RhYmxlbW9kZWwvYXJlYS1pZGVudC50eXBlXCI7XG5pbXBvcnQge1JlbmRlcmVyQ2xlYW51cEZuVHlwZX0gZnJvbSBcIi4vcmVuZGVyZXItY2xlYW51cC1mbi50eXBlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbFJlbmRlcmVySWYge1xuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBjZWxsVmFsdWU6IGFueSxcbiAgICBkb21TZXJ2aWNlOiBEb21TZXJ2aWNlSWYpOiBSZW5kZXJlckNsZWFudXBGblR5cGUgfCB1bmRlZmluZWQ7XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export class CheckboxCellRenderer {
|
|
2
|
-
render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel,
|
|
2
|
+
render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, _cellValue, domService) {
|
|
3
3
|
if (areaModel.isRowCheckable(rowIndex)) {
|
|
4
4
|
domService.addClass(cellDiv, 'ge-table-row-checkbox-div');
|
|
5
5
|
const rowChecked = areaModel.isRowChecked(rowIndex);
|
|
@@ -19,4 +19,4 @@ export class CheckboxCellRenderer {
|
|
|
19
19
|
return undefined;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9yZW5kZXJlci9jaGVja2JveC1jZWxsLXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsTUFBTSxDQUNKLE9BQXVCLEVBQ3ZCLFFBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLFNBQW9CLEVBQ3BCLFNBQXNCLEVBQ3RCLFVBQWUsRUFDZixVQUF3QjtRQUV4QixJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztZQUMxRCxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sT0FBTyxHQUFHLENBQUMsVUFBVSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtZQUNqRixPQUFPLENBQUMsU0FBUyxHQUFHOzs7NkJBR0csU0FBUztrQ0FDSixRQUFRO2tDQUNSLFdBQVc7O2tCQUUzQixPQUFPOztjQUVYLElBQUksSUFBSSxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtDZWxsUmVuZGVyZXJJZn0gZnJvbSBcIi4vY2VsbC1yZW5kZXIuaWZcIjtcbmltcG9ydCB7RG9tU2VydmljZUlmfSBmcm9tIFwiLi4vc2VydmljZS9kb20tc2VydmljZS5pZlwiO1xuaW1wb3J0IHtBcmVhSWRlbnR9IGZyb20gXCIuLi9kYXRhL3RhYmxlbW9kZWwvYXJlYS1pZGVudC50eXBlXCI7XG5pbXBvcnQge1JlbmRlcmVyQ2xlYW51cEZuVHlwZX0gZnJvbSBcIi4vcmVuZGVyZXItY2xlYW51cC1mbi50eXBlXCI7XG5cblxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q2VsbFJlbmRlcmVyIGltcGxlbWVudHMgQ2VsbFJlbmRlcmVySWYge1xuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBfY2VsbFZhbHVlOiBhbnksXG4gICAgZG9tU2VydmljZTogRG9tU2VydmljZUlmKTogUmVuZGVyZXJDbGVhbnVwRm5UeXBlIHwgdW5kZWZpbmVkIHtcblxuICAgIGlmIChhcmVhTW9kZWwuaXNSb3dDaGVja2FibGUocm93SW5kZXgpKSB7XG4gICAgICBkb21TZXJ2aWNlLmFkZENsYXNzKGNlbGxEaXYsICdnZS10YWJsZS1yb3ctY2hlY2tib3gtZGl2Jyk7XG4gICAgICBjb25zdCByb3dDaGVja2VkID0gYXJlYU1vZGVsLmlzUm93Q2hlY2tlZChyb3dJbmRleCk7XG4gICAgICBjb25zdCBjaGVja2VkID0gKHJvd0NoZWNrZWQgPT09ICdmdWxsJykgPyAnY2hlY2tlZCcgOiAnJztcbiAgICAgIGNvbnN0IHNlbWkgPSAocm93Q2hlY2tlZCA9PT0gJ3NlbWknKSA/ICc8c3BhbiBzdHlsZT1cIm9wYWNpdHk6IDAuNDtcIj7inJM8c3Bhbj4nIDogJydcbiAgICAgIGNlbGxEaXYuaW5uZXJIVE1MID0gYFxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBkYXRhLWFyZWE9XCIke2FyZWFJZGVudH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtcm93LWluZGV4PVwiJHtyb3dJbmRleH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtY29sLWluZGV4PVwiJHtjb2x1bW5JbmRleH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtaW5wdXQtdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAke2NoZWNrZWR9XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJnZS10YWJsZS1yb3ctY2hlY2tib3hcIj5cbiAgICAgICAgICAgICR7c2VtaX0gIGA7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuXG59XG4iXX0=
|
|
@@ -6,7 +6,7 @@ export class DateToIntlDDMMYYYYCellRenderer {
|
|
|
6
6
|
day: '2-digit'
|
|
7
7
|
});
|
|
8
8
|
}
|
|
9
|
-
render(cellDiv,
|
|
9
|
+
render(cellDiv, _rowIndex, _columnIndex, _areaIdent, _areaModel, cellValue, _domService) {
|
|
10
10
|
if (cellValue) {
|
|
11
11
|
try {
|
|
12
12
|
cellDiv.innerText = this.formatter.format(new Date(cellValue));
|
|
@@ -18,4 +18,4 @@ export class DateToIntlDDMMYYYYCellRenderer {
|
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10by1pbnQtZGF0ZS1jZWxsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3JlbmRlcmVyL2RhdGUtdG8taW50LWRhdGUtY2VsbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sOEJBQThCO0lBQTNDO1FBRVcsY0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDcEQsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsU0FBUztTQUNmLENBQUMsQ0FBQztJQW9CTCxDQUFDO0lBbEJDLE1BQU0sQ0FDSixPQUF1QixFQUN2QixTQUFpQixFQUNqQixZQUFvQixFQUNwQixVQUFxQixFQUNyQixVQUF1QixFQUN2QixTQUFjLEVBQ2QsV0FBeUI7UUFDekIsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJO2dCQUNGLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUNoRTtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO2FBQy9CO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge0FyZWFJZGVudH0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7UmVuZGVyZXJDbGVhbnVwRm5UeXBlfSBmcm9tIFwiLi9yZW5kZXJlci1jbGVhbnVwLWZuLnR5cGVcIjtcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVRvSW50bERETU1ZWVlZQ2VsbFJlbmRlcmVyIGltcGxlbWVudHMgQ2VsbFJlbmRlcmVySWYge1xuXG4gIHJlYWRvbmx5IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdkZS1ERScsIHtcbiAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICBkYXk6ICcyLWRpZ2l0J1xuICB9KTtcblxuICByZW5kZXIoXG4gICAgY2VsbERpdjogSFRNTERpdkVsZW1lbnQsXG4gICAgX3Jvd0luZGV4OiBudW1iZXIsXG4gICAgX2NvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgX2FyZWFJZGVudDogQXJlYUlkZW50LFxuICAgIF9hcmVhTW9kZWw6IEFyZWFNb2RlbElmLFxuICAgIGNlbGxWYWx1ZTogYW55LFxuICAgIF9kb21TZXJ2aWNlOiBEb21TZXJ2aWNlSWYpOiBSZW5kZXJlckNsZWFudXBGblR5cGUgfCB1bmRlZmluZWQge1xuICAgIGlmIChjZWxsVmFsdWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNlbGxEaXYuaW5uZXJUZXh0ID0gdGhpcy5mb3JtYXR0ZXIuZm9ybWF0KG5ldyBEYXRlKGNlbGxWYWx1ZSkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjZWxsRGl2LmlubmVyVGV4dCA9IGNlbGxWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export class DateToIsoCellRenderer {
|
|
2
|
-
render(cellDiv,
|
|
2
|
+
render(cellDiv, _rowIndex, _columnIndex, _areaIdent, _areaModel, cellValue, _domService) {
|
|
3
3
|
if (cellValue) {
|
|
4
4
|
cellDiv.innerText = new Date(cellValue).toISOString();
|
|
5
5
|
}
|
|
6
6
|
return undefined;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10by1pc28tY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9yZW5kZXJlci9kYXRlLXRvLWlzby1jZWxsLXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsTUFBTSxDQUNKLE9BQXVCLEVBQ3ZCLFNBQWlCLEVBQ2pCLFlBQW9CLEVBQ3BCLFVBQXFCLEVBQ3JCLFVBQXVCLEVBQ3ZCLFNBQWMsRUFDZCxXQUF5QjtRQUN6QixJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge0FyZWFJZGVudH0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7UmVuZGVyZXJDbGVhbnVwRm5UeXBlfSBmcm9tIFwiLi9yZW5kZXJlci1jbGVhbnVwLWZuLnR5cGVcIjtcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVRvSXNvQ2VsbFJlbmRlcmVyIGltcGxlbWVudHMgQ2VsbFJlbmRlcmVySWYge1xuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICBfcm93SW5kZXg6IG51bWJlcixcbiAgICBfY29sdW1uSW5kZXg6IG51bWJlcixcbiAgICBfYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgX2FyZWFNb2RlbDogQXJlYU1vZGVsSWYsXG4gICAgY2VsbFZhbHVlOiBhbnksXG4gICAgX2RvbVNlcnZpY2U6IERvbVNlcnZpY2VJZik6IFJlbmRlcmVyQ2xlYW51cEZuVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGNlbGxWYWx1ZSkge1xuICAgICAgY2VsbERpdi5pbm5lclRleHQgPSBuZXcgRGF0ZShjZWxsVmFsdWUpLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxufVxuXG4iXX0=
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export class DateToLocaleDateCellRenderer {
|
|
2
|
-
render(cellDiv,
|
|
2
|
+
render(cellDiv, _rowIndex, _columnIndex, _areaIdent, _areaModel, cellValue, _domService) {
|
|
3
3
|
if (cellValue) {
|
|
4
4
|
cellDiv.innerText = new Date(cellValue).toLocaleDateString();
|
|
5
5
|
}
|
|
6
6
|
return undefined;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10by1sb2NhbGUtZGF0ZS1jZWxsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3JlbmRlcmVyL2RhdGUtdG8tbG9jYWxlLWRhdGUtY2VsbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLE1BQU0sQ0FDSixPQUF1QixFQUN2QixTQUFpQixFQUNqQixZQUFvQixFQUNwQixVQUFxQixFQUNyQixVQUF1QixFQUN2QixTQUFjLEVBQ2QsV0FBeUI7UUFDekIsSUFBSSxTQUFTLEVBQUU7WUFDYixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDOUQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge0FyZWFJZGVudH0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7UmVuZGVyZXJDbGVhbnVwRm5UeXBlfSBmcm9tIFwiLi9yZW5kZXJlci1jbGVhbnVwLWZuLnR5cGVcIjtcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVRvTG9jYWxlRGF0ZUNlbGxSZW5kZXJlciBpbXBsZW1lbnRzIENlbGxSZW5kZXJlcklmIHtcblxuICByZW5kZXIoXG4gICAgY2VsbERpdjogSFRNTERpdkVsZW1lbnQsXG4gICAgX3Jvd0luZGV4OiBudW1iZXIsXG4gICAgX2NvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgX2FyZWFJZGVudDogQXJlYUlkZW50LFxuICAgIF9hcmVhTW9kZWw6IEFyZWFNb2RlbElmLFxuICAgIGNlbGxWYWx1ZTogYW55LFxuICAgIF9kb21TZXJ2aWNlOiBEb21TZXJ2aWNlSWYpOiBSZW5kZXJlckNsZWFudXBGblR5cGUgfCB1bmRlZmluZWQge1xuICAgIGlmIChjZWxsVmFsdWUpIHtcbiAgICAgIGNlbGxEaXYuaW5uZXJUZXh0ID0gbmV3IERhdGUoY2VsbFZhbHVlKS50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class DateToTecCellRenderer {
|
|
2
|
+
render(cellDiv, _rowIndex, _columnIndex, _areaIdent, _areaModel, cellValue, _domService) {
|
|
3
|
+
if (cellValue) {
|
|
4
|
+
cellDiv.innerText = new Date(cellValue)
|
|
5
|
+
.toISOString()
|
|
6
|
+
.replace(/T/g, " ")
|
|
7
|
+
.replace(/\..*/g, "");
|
|
8
|
+
}
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10by10ZWMtY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9yZW5kZXJlci9kYXRlLXRvLXRlYy1jZWxsLXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsTUFBTSxDQUNKLE9BQXVCLEVBQ3ZCLFNBQWlCLEVBQ2pCLFlBQW9CLEVBQ3BCLFVBQXFCLEVBQ3JCLFVBQXVCLEVBQ3ZCLFNBQWMsRUFDZCxXQUF5QjtRQUN6QixJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO2lCQUNwQyxXQUFXLEVBQUU7aUJBQ2IsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7aUJBQ2xCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZWxsUmVuZGVyZXJJZiB9IGZyb20gXCIuL2NlbGwtcmVuZGVyLmlmXCI7XG5pbXBvcnQgeyBBcmVhTW9kZWxJZiB9IGZyb20gXCIuLi9kYXRhL3RhYmxlbW9kZWwvYXJlYW1vZGVsL2FyZWEtbW9kZWwuaWZcIjtcbmltcG9ydCB7IERvbVNlcnZpY2VJZiB9IGZyb20gXCIuLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQgeyBBcmVhSWRlbnQgfSBmcm9tIFwiLi4vZGF0YS90YWJsZW1vZGVsL2FyZWEtaWRlbnQudHlwZVwiO1xuaW1wb3J0IHsgUmVuZGVyZXJDbGVhbnVwRm5UeXBlIH0gZnJvbSBcIi4vcmVuZGVyZXItY2xlYW51cC1mbi50eXBlXCI7XG5cblxuZXhwb3J0IGNsYXNzIERhdGVUb1RlY0NlbGxSZW5kZXJlciBpbXBsZW1lbnRzIENlbGxSZW5kZXJlcklmIHtcblxuICByZW5kZXIoXG4gICAgY2VsbERpdjogSFRNTERpdkVsZW1lbnQsXG4gICAgX3Jvd0luZGV4OiBudW1iZXIsXG4gICAgX2NvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgX2FyZWFJZGVudDogQXJlYUlkZW50LFxuICAgIF9hcmVhTW9kZWw6IEFyZWFNb2RlbElmLFxuICAgIGNlbGxWYWx1ZTogYW55LFxuICAgIF9kb21TZXJ2aWNlOiBEb21TZXJ2aWNlSWYpOiBSZW5kZXJlckNsZWFudXBGblR5cGUgfCB1bmRlZmluZWQge1xuICAgIGlmIChjZWxsVmFsdWUpIHtcbiAgICAgIGNlbGxEaXYuaW5uZXJUZXh0ID0gbmV3IERhdGUoY2VsbFZhbHVlKVxuICAgICAgICAudG9JU09TdHJpbmcoKVxuICAgICAgICAucmVwbGFjZSgvVC9nLCBcIiBcIilcbiAgICAgICAgLnJlcGxhY2UoL1xcLi4qL2csIFwiXCIpO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbn1cblxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export class InputCellRenderer {
|
|
2
|
-
render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel,
|
|
2
|
+
render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, _cellValue, domService) {
|
|
3
3
|
if (areaModel.isEditable(rowIndex, columnIndex)) {
|
|
4
4
|
domService.addClass(cellDiv, 'ge-table-row-input-div');
|
|
5
5
|
const val = areaModel.getValueAt(rowIndex, columnIndex);
|
|
@@ -20,4 +20,4 @@ export class InputCellRenderer {
|
|
|
20
20
|
return undefined;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9yZW5kZXJlci9lZGl0L2lucHV0LWNlbGwtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixNQUFNLENBQ0osT0FBdUIsRUFDdkIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsU0FBb0IsRUFDcEIsU0FBc0IsRUFDdEIsVUFBZSxFQUNmLFVBQXdCO1FBRXhCLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFDL0MsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztZQUV2RCxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN4RCxPQUFPLENBQUMsU0FBUyxHQUFHOzs7eUJBR0QsR0FBRzs7Ozs2QkFJQyxTQUFTO2tDQUNKLFFBQVE7a0NBQ1IsV0FBVzs7O29EQUdPLENBQUM7U0FDaEQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi4vY2VsbC1yZW5kZXIuaWZcIjtcbmltcG9ydCB7QXJlYUlkZW50fSBmcm9tIFwiLi4vLi4vZGF0YS90YWJsZW1vZGVsL2FyZWEtaWRlbnQudHlwZVwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uLy4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge1JlbmRlcmVyQ2xlYW51cEZuVHlwZX0gZnJvbSBcIi4uL3JlbmRlcmVyLWNsZWFudXAtZm4udHlwZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBJbnB1dENlbGxSZW5kZXJlciBpbXBsZW1lbnRzIENlbGxSZW5kZXJlcklmIHtcblxuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBfY2VsbFZhbHVlOiBhbnksXG4gICAgZG9tU2VydmljZTogRG9tU2VydmljZUlmKTogUmVuZGVyZXJDbGVhbnVwRm5UeXBlIHwgdW5kZWZpbmVkIHtcblxuICAgIGlmIChhcmVhTW9kZWwuaXNFZGl0YWJsZShyb3dJbmRleCwgY29sdW1uSW5kZXgpKSB7XG4gICAgICBkb21TZXJ2aWNlLmFkZENsYXNzKGNlbGxEaXYsICdnZS10YWJsZS1yb3ctaW5wdXQtZGl2Jyk7XG5cbiAgICAgIGNvbnN0IHZhbCA9IGFyZWFNb2RlbC5nZXRWYWx1ZUF0KHJvd0luZGV4LCBjb2x1bW5JbmRleCk7XG4gICAgICBjZWxsRGl2LmlubmVySFRNTCA9IGBcbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICB2YWx1ZT1cIiR7dmFsfVwiXG4gICAgICAgICAgICAgICAgYXV0b2ZvY3VzXG4gICAgICAgICAgICAgICAgb25mb2N1cz1cInRoaXMuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgdGhpcy52YWx1ZS5sZW5ndGgpXCJcbiAgICAgICAgICAgICAgICBkYXRhLWxpc3Rlbj1cImNoYW5nZVwiXG4gICAgICAgICAgICAgICAgZGF0YS1hcmVhPVwiJHthcmVhSWRlbnR9XCJcbiAgICAgICAgICAgICAgICBkYXRhLXJvdy1pbmRleD1cIiR7cm93SW5kZXh9XCJcbiAgICAgICAgICAgICAgICBkYXRhLWNvbC1pbmRleD1cIiR7Y29sdW1uSW5kZXh9XCJcbiAgICAgICAgICAgICAgICBkYXRhLWlucHV0LXR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyOjA7cGFkZGluZzowIDAgMCA4cHg7XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdlLXRhYmxlLWNlbGwtZWRpdG9yLWlucHV0XCI+YDtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -6,7 +6,7 @@ export class SelectCellRenderer {
|
|
|
6
6
|
static create(values) {
|
|
7
7
|
return new SelectCellRenderer(values.map(v => new ValueLabel(v, v)));
|
|
8
8
|
}
|
|
9
|
-
render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel,
|
|
9
|
+
render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, _cellValue, domService) {
|
|
10
10
|
if (areaModel.isEditable(rowIndex, columnIndex)) {
|
|
11
11
|
domService.addClass(cellDiv, 'ge-table-row-select-div');
|
|
12
12
|
const val = areaModel.getValueAt(rowIndex, columnIndex);
|
|
@@ -32,4 +32,4 @@ export class SelectCellRenderer {
|
|
|
32
32
|
return undefined;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNlbGwtcmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvcmVuZGVyZXIvZWRpdC9zZWxlY3QtY2VsbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFHekQsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixZQUNZLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBRW5DLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQWdCO1FBQzVCLE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FDSixPQUF1QixFQUN2QixRQUFnQixFQUNoQixXQUFtQixFQUNuQixTQUFvQixFQUNwQixTQUFzQixFQUN0QixVQUFlLEVBQ2YsVUFBd0I7UUFFeEIsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFBRTtZQUMvQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1lBRXhELE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBRXhELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNkLEtBQUssSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUE7YUFDbEY7WUFDRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXhCLE9BQU8sQ0FBQyxTQUFTLEdBQUc7Ozt5QkFHRCxHQUFHOzs7NkJBR0MsU0FBUztrQ0FDSixRQUFRO2tDQUNSLFdBQVc7OztzREFHUyxDQUFDLFdBQVcsQ0FBQztTQUM5RDtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2VsbFJlbmRlcmVySWZ9IGZyb20gXCIuLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhSWRlbnR9IGZyb20gXCIuLi8uLi9kYXRhL3RhYmxlbW9kZWwvYXJlYS1pZGVudC50eXBlXCI7XG5pbXBvcnQge0FyZWFNb2RlbElmfSBmcm9tIFwiLi4vLi4vZGF0YS90YWJsZW1vZGVsL2FyZWFtb2RlbC9hcmVhLW1vZGVsLmlmXCI7XG5pbXBvcnQge0RvbVNlcnZpY2VJZn0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZG9tLXNlcnZpY2UuaWZcIjtcbmltcG9ydCB7UmVuZGVyZXJDbGVhbnVwRm5UeXBlfSBmcm9tIFwiLi4vcmVuZGVyZXItY2xlYW51cC1mbi50eXBlXCI7XG5pbXBvcnQge1ZhbHVlTGFiZWxJZn0gZnJvbSBcIi4uLy4uL2RhdGEvY29tbW9uL3ZhbHVlLWxhYmVsLmlmXCI7XG5pbXBvcnQge1ZhbHVlTGFiZWx9IGZyb20gXCIuLi8uLi9kYXRhL2NvbW1vbi92YWx1ZS1sYWJlbFwiO1xuXG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RDZWxsUmVuZGVyZXIgaW1wbGVtZW50cyBDZWxsUmVuZGVyZXJJZiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IFZhbHVlTGFiZWxJZltdXG4gICkge1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZSh2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIG5ldyBTZWxlY3RDZWxsUmVuZGVyZXIoXG4gICAgICB2YWx1ZXMubWFwKHYgPT4gbmV3IFZhbHVlTGFiZWwodiwgdikpXG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBfY2VsbFZhbHVlOiBhbnksXG4gICAgZG9tU2VydmljZTogRG9tU2VydmljZUlmKTogUmVuZGVyZXJDbGVhbnVwRm5UeXBlIHwgdW5kZWZpbmVkIHtcblxuICAgIGlmIChhcmVhTW9kZWwuaXNFZGl0YWJsZShyb3dJbmRleCwgY29sdW1uSW5kZXgpKSB7XG4gICAgICBkb21TZXJ2aWNlLmFkZENsYXNzKGNlbGxEaXYsICdnZS10YWJsZS1yb3ctc2VsZWN0LWRpdicpO1xuXG4gICAgICBjb25zdCB2YWwgPSBhcmVhTW9kZWwuZ2V0VmFsdWVBdChyb3dJbmRleCwgY29sdW1uSW5kZXgpO1xuXG4gICAgICBsZXQgb3B0cyA9IFtdO1xuICAgICAgZm9yIChsZXQgb3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IChvcHRpb24udmFsdWUgPT09IHZhbCkgPyAnIHNlbGVjdGVkICcgOiAnJztcbiAgICAgICAgb3B0cy5wdXNoKGA8b3B0aW9uIHZhbHVlPVwiJHtvcHRpb24udmFsdWV9XCIgJHtzZWxlY3RlZH0+JHtvcHRpb24ubGFiZWx9PC9vcHRpb24+YClcbiAgICAgIH1cbiAgICAgIGNvbnN0IG8gPSBvcHRzLmpvaW4oJycpO1xuXG4gICAgICBjZWxsRGl2LmlubmVySFRNTCA9IGBcbiAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9XCIke3ZhbH1cIlxuICAgICAgICAgICAgICAgIGF1dG9mb2N1c1xuICAgICAgICAgICAgICAgIGRhdGEtbGlzdGVuPVwiY2hhbmdlXCJcbiAgICAgICAgICAgICAgICBkYXRhLWFyZWE9XCIke2FyZWFJZGVudH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtcm93LWluZGV4PVwiJHtyb3dJbmRleH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtY29sLWluZGV4PVwiJHtjb2x1bW5JbmRleH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtaW5wdXQtdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6MDtwYWRkaW5nOjAgMCAwIDhweDtcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2UtdGFibGUtY2VsbC1lZGl0b3Itc2VsZWN0XCI+JHtvfTwvc2VsZWN0PmA7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export class MaleFemaleToIconCellRenderer {
|
|
2
|
-
render(cellDiv,
|
|
2
|
+
render(cellDiv, _rowIndex, _columnIndex, _areaIdent, _areaModel, cellValue, _domService) {
|
|
3
3
|
if (cellValue === 'male' || cellValue === 'm') {
|
|
4
4
|
cellDiv.innerText = '♂';
|
|
5
5
|
}
|
|
@@ -9,4 +9,4 @@ export class MaleFemaleToIconCellRenderer {
|
|
|
9
9
|
return undefined;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFsZS1mZW1hbGUtdG8taWNvbi1jZWxsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3JlbmRlcmVyL21hbGUtZmVtYWxlLXRvLWljb24tY2VsbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLE1BQU0sQ0FDSixPQUF1QixFQUN2QixTQUFpQixFQUNqQixZQUFvQixFQUNwQixVQUFxQixFQUNyQixVQUF1QixFQUN2QixTQUFjLEVBQ2QsV0FBeUI7UUFDekIsSUFBSSxTQUFTLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxHQUFHLEVBQUU7WUFDN0MsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7U0FDekI7YUFBTSxJQUFJLFNBQVMsS0FBSyxRQUFRLElBQUksU0FBUyxLQUFLLEdBQUcsRUFBRTtZQUN0RCxPQUFPLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztTQUN6QjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJlYU1vZGVsSWZ9IGZyb20gXCIuLi9kYXRhL3RhYmxlbW9kZWwvYXJlYW1vZGVsL2FyZWEtbW9kZWwuaWZcIjtcbmltcG9ydCB7Q2VsbFJlbmRlcmVySWZ9IGZyb20gXCIuL2NlbGwtcmVuZGVyLmlmXCI7XG5pbXBvcnQge0RvbVNlcnZpY2VJZn0gZnJvbSBcIi4uL3NlcnZpY2UvZG9tLXNlcnZpY2UuaWZcIjtcbmltcG9ydCB7QXJlYUlkZW50fSBmcm9tIFwiLi4vZGF0YS90YWJsZW1vZGVsL2FyZWEtaWRlbnQudHlwZVwiO1xuaW1wb3J0IHtSZW5kZXJlckNsZWFudXBGblR5cGV9IGZyb20gXCIuL3JlbmRlcmVyLWNsZWFudXAtZm4udHlwZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBNYWxlRmVtYWxlVG9JY29uQ2VsbFJlbmRlcmVyIGltcGxlbWVudHMgQ2VsbFJlbmRlcmVySWYge1xuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICBfcm93SW5kZXg6IG51bWJlcixcbiAgICBfY29sdW1uSW5kZXg6IG51bWJlcixcbiAgICBfYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgX2FyZWFNb2RlbDogQXJlYU1vZGVsSWYsXG4gICAgY2VsbFZhbHVlOiBhbnksXG4gICAgX2RvbVNlcnZpY2U6IERvbVNlcnZpY2VJZik6IFJlbmRlcmVyQ2xlYW51cEZuVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGNlbGxWYWx1ZSA9PT0gJ21hbGUnIHx8IGNlbGxWYWx1ZSA9PT0gJ20nKSB7XG4gICAgICBjZWxsRGl2LmlubmVyVGV4dCA9ICfimYInO1xuICAgIH0gZWxzZSBpZiAoY2VsbFZhbHVlID09PSAnZmVtYWxlJyB8fCBjZWxsVmFsdWUgPT09ICdmJykge1xuICAgICAgY2VsbERpdi5pbm5lclRleHQgPSAn4pmAJztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ export class NumberCellRenderer {
|
|
|
3
3
|
this.min = min;
|
|
4
4
|
this.max = max;
|
|
5
5
|
}
|
|
6
|
-
render(cellDiv,
|
|
6
|
+
render(cellDiv, _rowIndex, _columnIndex, _areaIdent, _areaModel, cellValue, domService) {
|
|
7
7
|
if (cellValue) {
|
|
8
8
|
cellDiv.innerText = cellValue;
|
|
9
9
|
if (typeof cellValue === 'string'
|
|
@@ -16,4 +16,4 @@ export class NumberCellRenderer {
|
|
|
16
16
|
return undefined;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWNlbGwtcmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvcmVuZGVyZXIvbnVtYmVyLWNlbGwtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixZQUNZLE1BQWMsTUFBTSxDQUFDLGdCQUFnQixFQUNyQyxNQUFjLE1BQU0sQ0FBQyxnQkFBZ0I7UUFEckMsUUFBRyxHQUFILEdBQUcsQ0FBa0M7UUFDckMsUUFBRyxHQUFILEdBQUcsQ0FBa0M7SUFDakQsQ0FBQztJQUVELE1BQU0sQ0FDSixPQUF1QixFQUN2QixTQUFpQixFQUNqQixZQUFvQixFQUNwQixVQUFxQixFQUNyQixVQUF1QixFQUN2QixTQUFjLEVBQ2QsVUFBd0I7UUFFeEIsSUFBSSxTQUFTLEVBQUU7WUFDYixPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUM5QixJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVE7bUJBQzVCLEtBQUssQ0FBQyxTQUFTLENBQUM7bUJBQ2hCLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRzttQkFDcEIsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQ3ZCO2dCQUNBLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO2FBQy9DO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge0FyZWFJZGVudH0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7UmVuZGVyZXJDbGVhbnVwRm5UeXBlfSBmcm9tIFwiLi9yZW5kZXJlci1jbGVhbnVwLWZuLnR5cGVcIjtcblxuXG5leHBvcnQgY2xhc3MgTnVtYmVyQ2VsbFJlbmRlcmVyIGltcGxlbWVudHMgQ2VsbFJlbmRlcmVySWYge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBtaW46IG51bWJlciA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgIHByb3RlY3RlZCBtYXg6IG51bWJlciA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XG4gIH1cblxuICByZW5kZXIoXG4gICAgY2VsbERpdjogSFRNTERpdkVsZW1lbnQsXG4gICAgX3Jvd0luZGV4OiBudW1iZXIsXG4gICAgX2NvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgX2FyZWFJZGVudDogQXJlYUlkZW50LFxuICAgIF9hcmVhTW9kZWw6IEFyZWFNb2RlbElmLFxuICAgIGNlbGxWYWx1ZTogYW55LFxuICAgIGRvbVNlcnZpY2U6IERvbVNlcnZpY2VJZik6IFJlbmRlcmVyQ2xlYW51cEZuVHlwZSB8IHVuZGVmaW5lZCB7XG5cbiAgICBpZiAoY2VsbFZhbHVlKSB7XG4gICAgICBjZWxsRGl2LmlubmVyVGV4dCA9IGNlbGxWYWx1ZTtcbiAgICAgIGlmICh0eXBlb2YgY2VsbFZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgICB8fCBpc05hTihjZWxsVmFsdWUpXG4gICAgICAgIHx8IGNlbGxWYWx1ZSA8IHRoaXMubWluXG4gICAgICAgIHx8IGNlbGxWYWx1ZSA+IHRoaXMubWF4XG4gICAgICApIHtcbiAgICAgICAgZG9tU2VydmljZS5hZGRDbGFzcyhjZWxsRGl2LCAnZ2UtY2VsbC1lcnJvcicpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbn1cblxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class TrueFalseCellRenderer {
|
|
2
|
+
render(cellDiv, _rowIndex, _columnIndex, _areaIdent, _areaModel, cellValue, _domService) {
|
|
3
|
+
if (cellValue === "true" || cellValue === true) {
|
|
4
|
+
cellDiv.innerHTML = "<span class=\"ge-true-text-color\">✅</span>";
|
|
5
|
+
}
|
|
6
|
+
else if (cellValue === "false" || cellValue === false) {
|
|
7
|
+
cellDiv.innerHTML = "<span class=\"ge-false-text-color\">❌</span>";
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
cellDiv.innerText = "";
|
|
11
|
+
}
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1ZS1mYWxzZS1jZWxsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3JlbmRlcmVyL3RydWUtZmFsc2UtY2VsbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLE1BQU0sQ0FDSixPQUF1QixFQUN2QixTQUFpQixFQUNqQixZQUFvQixFQUNwQixVQUFxQixFQUNyQixVQUF1QixFQUN2QixTQUFjLEVBQ2QsV0FBeUI7UUFDekIsSUFBSSxTQUFTLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFDOUMsT0FBTyxDQUFDLFNBQVMsR0FBRyw2Q0FBNkMsQ0FBQztTQUNuRTthQUFNLElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxTQUFTLEtBQUssS0FBSyxFQUFFO1lBQ3ZELE9BQU8sQ0FBQyxTQUFTLEdBQUcsOENBQThDLENBQUM7U0FDcEU7YUFBTTtZQUNMLE9BQU8sQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJlYU1vZGVsSWYgfSBmcm9tIFwiLi4vZGF0YS90YWJsZW1vZGVsL2FyZWFtb2RlbC9hcmVhLW1vZGVsLmlmXCI7XG5pbXBvcnQgeyBDZWxsUmVuZGVyZXJJZiB9IGZyb20gXCIuL2NlbGwtcmVuZGVyLmlmXCI7XG5pbXBvcnQgeyBEb21TZXJ2aWNlSWYgfSBmcm9tIFwiLi4vc2VydmljZS9kb20tc2VydmljZS5pZlwiO1xuaW1wb3J0IHsgQXJlYUlkZW50IH0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7IFJlbmRlcmVyQ2xlYW51cEZuVHlwZSB9IGZyb20gXCIuL3JlbmRlcmVyLWNsZWFudXAtZm4udHlwZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBUcnVlRmFsc2VDZWxsUmVuZGVyZXIgaW1wbGVtZW50cyBDZWxsUmVuZGVyZXJJZiB7XG5cbiAgcmVuZGVyKFxuICAgIGNlbGxEaXY6IEhUTUxEaXZFbGVtZW50LFxuICAgIF9yb3dJbmRleDogbnVtYmVyLFxuICAgIF9jb2x1bW5JbmRleDogbnVtYmVyLFxuICAgIF9hcmVhSWRlbnQ6IEFyZWFJZGVudCxcbiAgICBfYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBjZWxsVmFsdWU6IGFueSxcbiAgICBfZG9tU2VydmljZTogRG9tU2VydmljZUlmKTogUmVuZGVyZXJDbGVhbnVwRm5UeXBlIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoY2VsbFZhbHVlID09PSBcInRydWVcIiB8fCBjZWxsVmFsdWUgPT09IHRydWUpIHtcbiAgICAgIGNlbGxEaXYuaW5uZXJIVE1MID0gXCI8c3BhbiBjbGFzcz1cXFwiZ2UtdHJ1ZS10ZXh0LWNvbG9yXFxcIj7inIU8L3NwYW4+XCI7XG4gICAgfSBlbHNlIGlmIChjZWxsVmFsdWUgPT09IFwiZmFsc2VcIiB8fCBjZWxsVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICBjZWxsRGl2LmlubmVySFRNTCA9IFwiPHNwYW4gY2xhc3M9XFxcImdlLWZhbHNlLXRleHQtY29sb3JcXFwiPuKdjDwvc3Bhbj5cIjtcbiAgICB9IGVsc2Uge1xuICAgICAgY2VsbERpdi5pbm5lclRleHQgPSBcIlwiO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -281,34 +281,29 @@ export class ConvenienceDomService {
|
|
|
281
281
|
return div;
|
|
282
282
|
}
|
|
283
283
|
addColumnBorderDivs(parent, geo) {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
this.domService.setStyle(div, 'left', `${geo.left + geo.width - 1}px`);
|
|
290
|
-
this.domService.setStyle(div, 'top', `${geo.top}px`);
|
|
291
|
-
this.domService.setStyle(div, 'width', `1px`);
|
|
292
|
-
this.domService.setStyle(div, 'height', `${geo.height}px`);
|
|
293
|
-
this.domService.appendChild(parent, div);
|
|
284
|
+
this.addVerticalBorder(geo, parent);
|
|
285
|
+
this.addHorizontalBorder(geo, parent);
|
|
286
|
+
return parent;
|
|
287
|
+
}
|
|
288
|
+
addHorizontalBorder(geo, parent, clazz = "ge-table-row-border") {
|
|
294
289
|
// Border south:
|
|
295
|
-
div = this.domService.createElement(
|
|
296
|
-
this.domService.addClass(div,
|
|
297
|
-
this.domService.setStyle(div,
|
|
298
|
-
this.domService.setStyle(div,
|
|
299
|
-
this.domService.setStyle(div,
|
|
300
|
-
this.domService.setStyle(div,
|
|
301
|
-
this.domService.setStyle(div,
|
|
302
|
-
this.domService.setStyle(div,
|
|
290
|
+
const div = this.domService.createElement("div");
|
|
291
|
+
this.domService.addClass(div, clazz);
|
|
292
|
+
this.domService.setStyle(div, "display", "clip");
|
|
293
|
+
this.domService.setStyle(div, "position", "absolute");
|
|
294
|
+
this.domService.setStyle(div, "left", `${geo.left}px`);
|
|
295
|
+
this.domService.setStyle(div, "top", `${(geo.top)}px`);
|
|
296
|
+
this.domService.setStyle(div, "width", `${geo.width}px`);
|
|
297
|
+
this.domService.setStyle(div, "height", `1px`);
|
|
303
298
|
this.domService.appendChild(parent, div);
|
|
304
|
-
return
|
|
299
|
+
return div;
|
|
305
300
|
}
|
|
306
301
|
addFocusBorderDivs(parent, geo, style) {
|
|
307
302
|
// Border west:
|
|
308
|
-
let div = this.domService.createElement(
|
|
309
|
-
this.domService.addClass(div,
|
|
310
|
-
this.domService.setStyle(div,
|
|
311
|
-
this.domService.setStyle(div,
|
|
303
|
+
let div = this.domService.createElement("div");
|
|
304
|
+
this.domService.addClass(div, "ge-table-focus-border");
|
|
305
|
+
this.domService.setStyle(div, "display", "clip");
|
|
306
|
+
this.domService.setStyle(div, "position", "absolute");
|
|
312
307
|
this.domService.setStyle(div, 'left', `${geo.left}px`);
|
|
313
308
|
this.domService.setStyle(div, 'top', `${geo.top}px`);
|
|
314
309
|
this.domService.setStyle(div, 'width', `1px`);
|
|
@@ -350,6 +345,19 @@ export class ConvenienceDomService {
|
|
|
350
345
|
this.domService.appendChild(parent, div);
|
|
351
346
|
return parent;
|
|
352
347
|
}
|
|
348
|
+
addVerticalBorder(geo, parent, clazz = "ge-table-column-border") {
|
|
349
|
+
// Border east:
|
|
350
|
+
const div = this.domService.createElement("div");
|
|
351
|
+
this.domService.addClass(div, clazz);
|
|
352
|
+
this.domService.setStyle(div, "display", "clip");
|
|
353
|
+
this.domService.setStyle(div, "position", "absolute");
|
|
354
|
+
this.domService.setStyle(div, "left", `${geo.left}px`);
|
|
355
|
+
this.domService.setStyle(div, "top", `${geo.top}px`);
|
|
356
|
+
this.domService.setStyle(div, "width", `1px`);
|
|
357
|
+
this.domService.setStyle(div, "height", `${geo.height}px`);
|
|
358
|
+
this.domService.appendChild(parent, div);
|
|
359
|
+
return div;
|
|
360
|
+
}
|
|
353
361
|
addDiv(parent, geo, clazz = '') {
|
|
354
362
|
const div = this.domService.createElement('div');
|
|
355
363
|
if (clazz) {
|
|
@@ -383,4 +391,4 @@ export class ConvenienceDomService {
|
|
|
383
391
|
return div;
|
|
384
392
|
}
|
|
385
393
|
}
|
|
386
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVuaWVuY2UtZG9tLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvc2VydmljZS9jb252ZW5pZW5jZS1kb20uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFPekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBSzdELE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFDa0IsVUFBd0I7UUFBeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztJQUUxQyxDQUFDO0lBR0QsUUFBUSxDQUFDLEVBQU8sRUFBRSxLQUFhLEVBQUUsS0FBVTtRQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUFBLENBQUM7SUFHRixVQUFVLENBQUMsR0FBbUIsRUFBRSxLQUFnQjtRQUM5QyxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBRTtZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQscUJBQXFCLENBQUMsR0FBbUI7UUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxHQUFtQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FB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RSxDQUFDLENBQUM7U0FDekQ7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsUUFBZ0IsRUFBRSxRQUFrQjtRQUM1RCxJQUFJLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLElBQUksR0FBRyxFQUFFO1lBQ1AsR0FBRyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxnREFBZ0Q7WUFDcEUsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUNELEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBaUIsS0FBSyxDQUFDLENBQUM7UUFDM0QsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDL0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RvbVNlcnZpY2VJZix9IGZyb20gXCIuL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge0RpdlNjb3BlfSBmcm9tIFwiLi8uLi9kYXRhL2Rpdi1zY29wZS50eXBlXCI7XG5pbXBvcnQge0dlb0RhdGF9IGZyb20gXCIuLy4uL2RhdGEvZ2VvLWRhdGFcIjtcbmltcG9ydCB7VHJlZUFycm93VHlwZX0gZnJvbSBcIi4uL2RhdGEvY29tbW9uL3RyZWUtYXJyb3cudHlwZVwiO1xuaW1wb3J0IHtUcmVlT3B0aW9uc0lmfSBmcm9tIFwiLi4vZGF0YS9vcHRpb25zL3RyZWUtb3B0aW9ucy5pZlwiO1xuaW1wb3J0IHtUcmVlT3B0aW9uc30gZnJvbSBcIi4uL2RhdGEvb3B0aW9ucy90cmVlLW9wdGlvbnNcIjtcbmltcG9ydCB7QXJlYUlkZW50fSBmcm9tIFwiLi4vZGF0YS90YWJsZW1vZGVsL2FyZWEtaWRlbnQudHlwZVwiO1xuaW1wb3J0IHtJY29uSWZ9IGZyb20gXCIuLi9kYXRhL29wdGlvbnMvaWNvbi5pZlwiO1xuaW1wb3J0IHtUYWJsZU9wdGlvbnNJZn0gZnJvbSBcIi4uL2RhdGEvb3B0aW9ucy90YWJsZS1vcHRpb25zLmlmXCI7XG5pbXBvcnQge0NoZWNrZWRUeXBlfSBmcm9tIFwiLi4vZGF0YS9jb21tb24vY2hlY2tlZC10eXBlXCI7XG5pbXBvcnQge1NpZGVJZGVudH0gZnJvbSBcIi4uL2RhdGEvc2lkZS1pZGVudC50eXBlXCI7XG5pbXBvcnQge1NvcnRTdGF0ZX0gZnJvbSBcIi4uL2RhdGEvY29tbW9uL3NvcnQtc3RhdGUudHlwZVwiO1xuaW1wb3J0IHtTb3J0ZWRPcHRpb25zfSBmcm9tIFwiLi4vZGF0YS9vcHRpb25zL3NvcnRlZC1vcHRpb25zXCI7XG5pbXBvcnQge1NvcnRlZE9wdGlvbnNJZn0gZnJvbSBcIi4uL2RhdGEvb3B0aW9ucy9zb3J0ZWQtb3B0aW9ucy5pZlwiO1xuaW1wb3J0IHtIdG1sU3R5bGV9IGZyb20gXCIuL2RhdGEvaHRtbC1zdHlsZS50eXBlXCI7XG5cblxuZXhwb3J0IGNsYXNzIENvbnZlbmllbmNlRG9tU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGRvbVNlcnZpY2U6IERvbVNlcnZpY2VJZlxuICApIHtcbiAgfVxuXG5cbiAgc2V0U3R5bGUoZWw6IGFueSwgc3R5bGU6IHN0cmluZywgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGVsLCBzdHlsZSwgdmFsdWUpO1xuICAgIHJldHVybiBlbDtcbiAgfTtcblxuXG4gIGFwcGx5U3R5bGUoZWxlOiBIVE1MRGl2RWxlbWVudCwgc3R5bGU6IEh0bWxTdHlsZSk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzdHlsZSkge1xuICAgICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGVsZSwga2V5LCBzdHlsZVtrZXldKTtcbiAgICB9XG4gICAgcmV0dXJuIGVsZTtcbiAgfVxuXG4gIGFwcGx5RGlzcGxheU5vbmVTdHlsZShlbGU6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICByZXR1cm4gZWxlO1xuICB9XG5cbiAgYXBwbHlEaXNwbGF5QmxvY2tTdHlsZShlbGU6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgcmV0dXJuIGVsZTtcbiAgfVxuXG4gIGFwcGx5U3R5bGVJblB4KGVsZTogSFRNTERpdkVsZW1lbnQsIGdlb0RhdGE6IEdlb0RhdGEpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgT2JqZWN0LmVudHJpZXMoZ2VvRGF0YSlcbiAgICAgIC5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsIGtleSwgdmFsdWUgKyAncHgnKSk7XG4gICAgcmV0dXJuIGVsZTtcbiAgfVxuXG4gIGFwcGx5U3R5bGVQb3Npc3Rpb25SZWxhdGl2ZShlbGU6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdvdmVyZmxvdycsICdjbGlwJyk7XG4gICAgcmV0dXJuIGVsZTtcbiAgfVxuXG4gIGFwcGx5U3R5bGVQb3Npc3Rpb25BYnNvbHV0ZShlbGU6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHJldHVybiBlbGU7XG4gIH1cblxuICBhcHBseVN0eWxlRnVsbFNpemUoZWxlOiBIVE1MRGl2RWxlbWVudCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZWxlLCAnd2lkdGgnLCAnMTAwJScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdoZWlnaHQnLCAnMTAwJScpO1xuICAgIHJldHVybiBlbGU7XG4gIH1cblxuICBhcHBseVN0eWxlT3ZlcmZsb3dBdXRvKFxuICAgIG92ZXJmbG93WDogJ3Njcm9sbCcgfCAnYXV0bycgPSAnYXV0bycsXG4gICAgb3ZlcmZsb3dZOiAnc2Nyb2xsJyB8ICdhdXRvJyA9ICdhdXRvJyxcbiAgICBlbGU6IEhUTUxEaXZFbGVtZW50LFxuICApOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGVsZSwgJ292ZXJmbG93LXgnLCBvdmVyZmxvd1gpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdvdmVyZmxvdy15Jywgb3ZlcmZsb3dZKTtcbiAgICByZXR1cm4gZWxlO1xuICB9XG5cbiAgYXBwbHlTdHlsZU5vUGFkZGluZyhlbGU6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdwYWRkaW5nJywgJzAnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZWxlLCAnbWFyZ2luJywgJzAnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZWxlLCAnYm9yZGVyJywgJzAnKTtcbiAgICByZXR1cm4gZWxlO1xuICB9XG5cbiAgYXBwZW5kUmVsYXRpdmVDaGlsZERpdihwYXJlbnQ6IEhUTUxEaXZFbGVtZW50KTogRGl2U2NvcGUge1xuICAgIGNvbnN0IGNoaWxkID1cbiAgICAgIHRoaXMuYXBwbHlTdHlsZVBvc2lzdGlvblJlbGF0aXZlKFxuICAgICAgICB0aGlzLmFwcGx5U3R5bGVGdWxsU2l6ZShcbiAgICAgICAgICB0aGlzLmFwcGx5U3R5bGVOb1BhZGRpbmcoXG4gICAgICAgICAgICB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApO1xuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGNoaWxkKTtcbiAgICB0aGlzLmFwcGx5U3R5bGVQb3Npc3Rpb25BYnNvbHV0ZShwYXJlbnQpO1xuICAgIGNvbnN0IGNhY2hlID0ge307XG4gICAgcmV0dXJuIHtwYXJlbnQsIGNoaWxkLCBjYWNoZX07XG4gIH1cblxuICBhcHBlbmRUZXh0KHBhcmVudDogSFRNTERpdkVsZW1lbnQsIHRleHQ6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlVGV4dCh0ZXh0KTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuICAgIHJldHVybiBkaXY7XG4gIH1cblxuXG4gIGFkZENsYXNzKGNsYXp6OiBzdHJpbmcsIGRpdjogSFRNTERpdkVsZW1lbnQpIHtcbiAgICBpZiAoY2xhenouaW5jbHVkZXMoJyAnKSkge1xuICAgICAgY2xhenouc3BsaXQoJyAnKS5mb3JFYWNoKGMgPT4gdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgYykpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsIGNsYXp6KTtcbiAgICB9XG4gICAgcmV0dXJuIGRpdjtcbiAgfVxuXG4gIGFkZENsYXNzZXMoY2xhc3Nlczogc3RyaW5nW10gfCB1bmRlZmluZWQsIGRpdjogSFRNTERpdkVsZW1lbnQpIHtcbiAgICBpZiAoY2xhc3Nlcykge1xuICAgICAgZm9yIChjb25zdCBjIG9mIGNsYXNzZXMpIHtcbiAgICAgICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgYyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkaXY7XG4gIH1cblxuICBzZXRBdHRyaWJ1dGUoZGl2OiBIVE1MRGl2RWxlbWVudCwga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoa2V5ICYmIHZhbHVlKSB7XG4gICAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwga2V5LCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBkaXY7XG4gIH1cblxuXG4gIGNyZWF0ZUFyZWFEaXZXaXRoQ2xhc3MoY2xheno6IHN0cmluZywgcGFyZW50OiBIVE1MRGl2RWxlbWVudCwgYXJlYUlkZW50OiBBcmVhSWRlbnQsIHNpZGVJZGVudDogU2lkZUlkZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5hZGRDbGFzcyhjbGF6eiwgZGl2KTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtYXJlYScsIGFyZWFJZGVudCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldEF0dHJpYnV0ZShkaXYsICdkYXRhLXNpZGUnLCBzaWRlSWRlbnQpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGRpdik7XG4gICAgcmV0dXJuIGRpdjtcbiAgfVxuXG4gIGNyZWF0ZURpdldpdGhDbGFzcyhjbGF6ejogc3RyaW5nLCBwYXJlbnQ6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5hZGRDbGFzcyhjbGF6eiwgZGl2KTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuICAgIHJldHVybiBkaXY7XG4gIH1cblxuXG4gIGFkZFJvd0RpdihcbiAgICBkaXZTY29wZTogRGl2U2NvcGUsXG4gICAgZ2VvOiBHZW9EYXRhLFxuICAgIHJvd0luZGV4OiBudW1iZXIgPSAtMSxcbiAgICBhcmVhSWRlbnQ6IEFyZWFJZGVudCxcbiAgICB0ZXh0OiBzdHJpbmcgPSAnJyxcbiAgKTogSFRNTERpdkVsZW1lbnQge1xuXG4gICAgY29uc3QgY2FjaGVLZXkgPSBnZW8uaW5kZXggPz8gLTE7XG4gICAgY29uc3QgZGl2ID0gdGhpcy5nZXREaXZPckNyZWF0ZURpdihjYWNoZUtleSwgZGl2U2NvcGUpO1xuXG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLXJvdy1kaXYnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYWRkQ2xhc3MoZGl2LCBgZ2UtdGFibGUtcm93LWRpdi0ke2dlby5pbmRleH1gKTtcbiAgICBjb25zdCBvZGRFdmVuID0gKGdlbz8uaW5kZXggPz8gMCkgJSAyID09PSAwID8gJ2V2ZW4nIDogJ29kZCc7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgYGdlLXRhYmxlLXJvdy0ke29kZEV2ZW59YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2Rpc3BsYXknLCAnY2xpcCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuXG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2xlZnQnLCBgJHtnZW8ubGVmdH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd0b3AnLCBgJHtnZW8udG9wfXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3dpZHRoJywgYCR7Z2VvLndpZHRofXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2hlaWdodCcsIGAke2dlby5oZWlnaHR9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtcm93LWluZGV4JywgYCR7cm93SW5kZXh9YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldEF0dHJpYnV0ZShkaXYsICdkYXRhLWFyZWEnLCBgJHthcmVhSWRlbnR9YCk7XG5cbiAgICAvLyBkZWJ1Z2dpbmc6XG4gICAgaWYgKHRleHQpIHtcbiAgICAgIGNvbnN0IHRleHRFbGVtZW50ID0gdGhpcy5kb21TZXJ2aWNlLmNyZWF0ZVRleHQodGV4dCk7XG4gICAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQoZGl2LCB0ZXh0RWxlbWVudCk7XG4gICAgfVxuICAgIC8vIC0tLS0tLS0tLS0tLS1cblxuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChkaXZTY29wZS5jaGlsZCwgZGl2KTtcbiAgICByZXR1cm4gZGl2O1xuICB9XG5cblxuICBhZGRDb2x1bW5EaXY8VD4oXG4gICAgcGFyZW50OiBIVE1MRGl2RWxlbWVudCxcbiAgICBnZW86IEdlb0RhdGEsXG4gICAgcm93SW5kZXg6IG51bWJlciA9IC0xLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIgPSAtMSxcbiAgICBhcmVhSWRlbnQ6IEFyZWFJZGVudCxcbiAgICB0ZXh0OiBzdHJpbmcgPSAnJyxcbiAgICB0cmVlQXJyb3c/OiBUcmVlQXJyb3dUeXBlLFxuICAgIHRhYmxlT3B0aW9ucz86IFRhYmxlT3B0aW9uc0lmLFxuICAgIGNoZWNrZWRUeXBlOiBDaGVja2VkVHlwZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBzb3J0U3RhdGU/OiBTb3J0U3RhdGVcbiAgKTogSFRNTERpdkVsZW1lbnQge1xuXG4gICAgY29uc3QgdHJlZU9wdGlvbnMgPSB0YWJsZU9wdGlvbnM/LnRyZWVPcHRpb25zO1xuICAgIGNvbnN0IGNoZWNrYm94V2l0aG91dEV4dHJhQ29sdW1uID0gdGFibGVPcHRpb25zPy5zaG93Q2hlY2tib3hXaWhvdXRFeHRyYUNvbHVtbjtcblxuICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLWNvbC1kaXYnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYWRkQ2xhc3MoZGl2LCBgZ2UtdGFibGUtY29sLWRpdi0ke2dlby5pbmRleH1gKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtY29sLWluZGV4JywgYCR7Z2VvLmluZGV4fWApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRBdHRyaWJ1dGUoZGl2LCAnZGF0YS1yb3ctaW5kZXgnLCBgJHtyb3dJbmRleH1gKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtYXJlYScsIGAke2FyZWFJZGVudH1gKTtcbiAgICBjb25zdCBvZGRFdmVuID0gKGdlbz8uaW5kZXggPz8gMCkgJSAyID09PSAwID8gJ2V2ZW4nIDogJ29kZCc7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgYGdlLXRhYmxlLWNvbC0ke29kZEV2ZW59YCk7XG5cbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnZGlzcGxheScsICdjbGlwJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2xlZnQnLCBgJHtnZW8ubGVmdH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd0b3AnLCBgJHtnZW8udG9wfXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3dpZHRoJywgYCR7Z2VvLndpZHRofXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2hlaWdodCcsIGAke2dlby5oZWlnaHR9cHhgKTtcblxuICAgIGlmICh0cmVlQXJyb3cgJiYgdHJlZUFycm93ICE9PSAnbm9uZScpIHtcbiAgICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsICdnZS10YWJsZS1jb2wtdHJlZScpO1xuICAgICAgdGhpcy5hZGRBcnJvd0RpdihkaXYsIHRyZWVBcnJvdywgdHJlZU9wdGlvbnMsIHJvd0luZGV4LCBjb2x1bW5JbmRleCwgYXJlYUlkZW50KTtcbiAgICB9XG4gICAgaWYgKGNoZWNrYm94V2l0aG91dEV4dHJhQ29sdW1uICYmIGNvbHVtbkluZGV4ID09PSAwICYmIGNoZWNrZWRUeXBlKSB7XG4gICAgICB0aGlzLmFkZENoZWNrYm94VG9EaXYoZGl2LCBjaGVja2VkVHlwZSwgYXJlYUlkZW50LCByb3dJbmRleCk7XG4gICAgfVxuICAgIGlmICh0ZXh0KSB7XG4gICAgICBjb25zdCBmaXJzdFRyZWVDb2x1bW4gPSAodHJlZUFycm93ICE9PSAnbm9uZScgJiYgY29sdW1uSW5kZXggPT09IDApO1xuICAgICAgdGhpcy5hZGRMYWJlbERpdihkaXYsIHRleHQsIGZpcnN0VHJlZUNvbHVtbiwgcm93SW5kZXgsIGNvbHVtbkluZGV4LCBhcmVhSWRlbnQpO1xuICAgIH1cbiAgICBpZiAoc29ydFN0YXRlKSB7XG4gICAgICB0aGlzLmFkZFNvcnRlZEljb24oZGl2LCBzb3J0U3RhdGUsIHRhYmxlT3B0aW9ucz8uc29ydGVkT3B0aW9ucywgY29sdW1uSW5kZXgpO1xuICAgIH1cblxuXG4gICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKHBhcmVudCwgZGl2KTtcbiAgICByZXR1cm4gZGl2O1xuICB9XG5cblxuICBhZGRDaGVja2JveFRvRGl2KFxuICAgIHBhcmVudDogSFRNTERpdkVsZW1lbnQsXG4gICAgY2hlY2tlZFR5cGU6IENoZWNrZWRUeXBlLFxuICAgIGFyZWFJZGVudDogQXJlYUlkZW50LFxuICAgIHJvd0luZGV4OiBudW1iZXIpOiBIVE1MRGl2RWxlbWVudCB7XG5cbiAgICBjb25zdCBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgIGNvbnN0IGNoZWNrZWQgPSAoY2hlY2tlZFR5cGUgPT09ICdmdWxsJykgPyAnY2hlY2tlZCcgOiAnJztcbiAgICBkaXYuaW5uZXJIVE1MID0gYFxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBkYXRhLWFyZWE9XCIke2FyZWFJZGVudH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtcm93LWluZGV4PVwiJHtyb3dJbmRleH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtaW5wdXQtdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAke2NoZWNrZWR9XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJnZS10YWJsZS1yb3ctY2hlY2tib3hcIj4gYDtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnZGlzcGxheScsICdpbmxpbmUnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnd2lkdGgnLCAnaW5oZXJpdCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRBdHRyaWJ1dGUoZGl2LCAnZGF0YS1yb3ctaW5kZXgnLCBgJHtyb3dJbmRleH1gKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuICAgIHJldHVybiBkaXY7XG4gIH1cblxuXG4gIGFkZExhYmVsRGl2KFxuICAgIHBhcmVudDogSFRNTERpdkVsZW1lbnQsXG4gICAgdGV4dDogc3RyaW5nID0gJycsXG4gICAgZmlyc3RUcmVlQ29sdW1uOiBib29sZWFuID0gZmFsc2UsXG4gICAgcm93SW5kZXg6IG51bWJlciA9IC0xLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIgPSAtMSxcbiAgICBhcmVhSWRlbnQ6IEFyZWFJZGVudCA9ICdib2R5Jyk6IEhUTUxEaXZFbGVtZW50IHtcblxuICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLWxhYmVsLWRpdicpO1xuICAgIC8vIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdkaXNwbGF5JywgJ2lubGluZScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdiYWNrZ3JvdW5kJywgJ3RyYW5zcGFyZW50Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3dpZHRoJywgJzEwMCUnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnaGVpZ2h0JywgJzEwMCUnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtcm93LWluZGV4JywgYCR7cm93SW5kZXh9YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldEF0dHJpYnV0ZShkaXYsICdkYXRhLWNvbC1pbmRleCcsIGAke2NvbHVtbkluZGV4fWApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRBdHRyaWJ1dGUoZGl2LCAnZGF0YS1hcmVhJywgYCR7YXJlYUlkZW50fWApO1xuXG4gICAgaWYgKHRleHQpIHtcbiAgICAgIGlmIChmaXJzdFRyZWVDb2x1bW4pIHtcbiAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlVGV4dCh0ZXh0KTtcbiAgICAgICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKGRpdiwgdGV4dEVsZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gbm9ybWFsIGNlbGw6XG4gICAgICAgIGNvbnN0IGRpdjIgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgICAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQoZGl2LCBkaXYyKTtcbiAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlVGV4dCh0ZXh0KTtcbiAgICAgICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdjIsICdnZS10YWJsZS1sYWJlbCcpO1xuICAgICAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQoZGl2MiwgdGV4dEVsZW1lbnQpO1xuICAgICAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdjIsICdkYXRhLXJvdy1pbmRleCcsIGAke3Jvd0luZGV4fWApO1xuICAgICAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdjIsICdkYXRhLWNvbC1pbmRleCcsIGAke2NvbHVtbkluZGV4fWApO1xuICAgICAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdjIsICdkYXRhLWFyZWEnLCBgJHthcmVhSWRlbnR9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKHBhcmVudCwgZGl2KTtcbiAgICByZXR1cm4gZGl2O1xuICB9XG5cbiAgYWRkU29ydGVkSWNvbihcbiAgICBwYXJlbnQ6IEhUTUxEaXZFbGVtZW50LFxuICAgIHNvcnRlZDogU29ydFN0YXRlID0gJycsXG4gICAgc29ydGVkT3B0aW9uczogU29ydGVkT3B0aW9uc0lmID0gbmV3IFNvcnRlZE9wdGlvbnMoKSxcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyID0gLTFcbiAgKTogSFRNTERpdkVsZW1lbnQge1xuXG4gICAgY29uc3QgZGl2ID0gdGhpcy5kb21TZXJ2aWNlLmNyZWF0ZUVsZW1lbnQ8SFRNTERpdkVsZW1lbnQ+KCdkaXYnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYWRkQ2xhc3MoZGl2LCAnZ2UtdGFibGUtc29ydGVkLWljb24tZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3RvcCcsICcwJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3JpZ2h0JywgJzAnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnd2lkdGgnLCAnMjBweCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdiYWNrZ3JvdW5kJywgJ3RyYW5zcGFyZW50Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldEF0dHJpYnV0ZShkaXYsICdkYXRhLWNvbC1pbmRleCcsIGAke2NvbHVtbkluZGV4fWApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRBdHRyaWJ1dGUoZGl2LCAnZGF0YS1hcmVhJywgJ2hlYWRlcicpO1xuXG4gICAgbGV0IHRyZWVPcHRpb25zQXJyb3c6IEljb25JZjtcbiAgICBpZiAoc29ydGVkID09PSAnYXNjJykge1xuICAgICAgdHJlZU9wdGlvbnNBcnJvdyA9IHNvcnRlZE9wdGlvbnMuaWNvbkFzYztcbiAgICB9IGVsc2UgaWYgKHNvcnRlZCA9PT0gJ2Rlc2MnKSB7XG4gICAgICB0cmVlT3B0aW9uc0Fycm93ID0gc29ydGVkT3B0aW9ucy5pY29uRGVzYztcbiAgICB9IGVsc2Uge1xuICAgICAgdHJlZU9wdGlvbnNBcnJvdyA9IHNvcnRlZE9wdGlvbnMuaWNvblBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICAvLyBUZXh0OlxuICAgIGNvbnN0IGNvbnRlbnQgPSB0cmVlT3B0aW9uc0Fycm93LmNvbnRlbnQ7XG4gICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlVGV4dChjb250ZW50KTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQoZGl2LCB0ZXh0RWxlbWVudCk7XG5cbiAgICAvLyBTdHlsZTpcbiAgICBpZiAodHJlZU9wdGlvbnNBcnJvdy5zdHlsZSkge1xuICAgICAgdGhpcy5hcHBseVN0eWxlU3RyaW5nKGRpdiwgdHJlZU9wdGlvbnNBcnJvdy5zdHlsZSk7XG4gICAgfVxuXG4gICAgLy8gQ2xhc3NlczpcbiAgICBmb3IgKGNvbnN0IGNsYXp6IG9mIHRyZWVPcHRpb25zQXJyb3cuY2xhc3Nlcykge1xuICAgICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgY2xhenopO1xuICAgIH1cblxuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGRpdik7XG4gICAgcmV0dXJuIGRpdjtcbiAgfVxuXG5cbiAgYWRkQXJyb3dEaXYoXG4gICAgcGFyZW50OiBIVE1MRGl2RWxlbWVudCxcbiAgICBhcnJvdzogVHJlZUFycm93VHlwZSA9ICdub25lJyxcbiAgICB0cmVlT3B0aW9uczogVHJlZU9wdGlvbnNJZiA9IG5ldyBUcmVlT3B0aW9ucygpLFxuICAgIHJvd0luZGV4OiBudW1iZXIgPSAtMSxcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyID0gLTEsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQgPSAnYm9keScsXG4gICk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBjb25zdCBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsICdnZS10YWJsZS10cmVlLWFycm93LWRpdicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdkaXNwbGF5JywgJ2lubGluZS1ibG9jaycpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdwb3NpdGlvbicsICcnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnd2lkdGgnLCAnMjBweCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdiYWNrZ3JvdW5kJywgJ3RyYW5zcGFyZW50Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldEF0dHJpYnV0ZShkaXYsICdkYXRhLXJvdy1pbmRleCcsIGAke3Jvd0luZGV4fWApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRBdHRyaWJ1dGUoZGl2LCAnZGF0YS1jb2wtaW5kZXgnLCBgJHtjb2x1bW5JbmRleH1gKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtYXJlYScsIGAke2FyZWFJZGVudH1gKTtcblxuICAgIGxldCB0cmVlT3B0aW9uc0Fycm93OiBJY29uSWY7XG4gICAgaWYgKGFycm93ID09PSAnZXhwYW5kZWQnKSB7XG4gICAgICB0cmVlT3B0aW9uc0Fycm93ID0gdHJlZU9wdGlvbnMuYXJyb3dFeHBhbmRlZDtcbiAgICB9IGVsc2UgaWYgKGFycm93ID09PSAnY29sbGFwc2VkJykge1xuICAgICAgdHJlZU9wdGlvbnNBcnJvdyA9IHRyZWVPcHRpb25zLmFycm93Q29sbGFwc2VkXG4gICAgfSBlbHNlIHtcbiAgICAgIHRyZWVPcHRpb25zQXJyb3cgPSB0cmVlT3B0aW9ucy5hcnJvd1BsYWNlaG9sZGVyO1xuICAgIH1cbiAgICAvLyBUZXh0OlxuICAgIGNvbnN0IGNvbnRlbnQgPSB0cmVlT3B0aW9uc0Fycm93LmNvbnRlbnQ7XG4gICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlVGV4dChjb250ZW50KTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQoZGl2LCB0ZXh0RWxlbWVudCk7XG5cbiAgICAvLyBTdHlsZTpcbiAgICBpZiAodHJlZU9wdGlvbnNBcnJvdy5zdHlsZSkge1xuICAgICAgdGhpcy5hcHBseVN0eWxlU3RyaW5nKGRpdiwgdHJlZU9wdGlvbnNBcnJvdy5zdHlsZSk7XG4gICAgfVxuXG4gICAgLy8gQ2xhc3NlczpcbiAgICBmb3IgKGNvbnN0IGNsYXp6IG9mIHRyZWVPcHRpb25zQXJyb3cuY2xhc3Nlcykge1xuICAgICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgY2xhenopO1xuICAgIH1cblxuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGRpdik7XG4gICAgcmV0dXJuIGRpdjtcbiAgfVxuXG4gIGFkZENvbHVtbkJvcmRlckRpdnMocGFyZW50OiBIVE1MRGl2RWxlbWVudCwgZ2VvOiBHZW9EYXRhKTogSFRNTERpdkVsZW1lbnQge1xuICAgIC8vIEJvcmRlciBlYXN0OlxuICAgIGxldCBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsICdnZS10YWJsZS1jb2x1bW4tYm9yZGVyJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2Rpc3BsYXknLCAnY2xpcCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdsZWZ0JywgYCR7Z2VvLmxlZnQgKyBnZW8ud2lkdGggLSAxfXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3RvcCcsIGAke2dlby50b3B9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnd2lkdGgnLCBgMXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2hlaWdodCcsIGAke2dlby5oZWlnaHR9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuXG4gICAgLy8gQm9yZGVyIHNvdXRoOlxuICAgIGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLXJvdy1ib3JkZXInKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnZGlzcGxheScsICdjbGlwJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2xlZnQnLCBgJHtnZW8ubGVmdH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd0b3AnLCBgJHsoZ2VvLnRvcCArIGdlby5oZWlnaHQgLSAxKX1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd3aWR0aCcsIGAke2dlby53aWR0aH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdoZWlnaHQnLCBgMXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKHBhcmVudCwgZGl2KTtcblxuICAgIHJldHVybiBwYXJlbnQ7XG4gIH1cblxuXG4gIGFkZEZvY3VzQm9yZGVyRGl2cyhwYXJlbnQ6IEhUTUxEaXZFbGVtZW50LCBnZW86IEdlb0RhdGEsIHN0eWxlOiBIdG1sU3R5bGUpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgLy8gQm9yZGVyIHdlc3Q6XG4gICAgbGV0IGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLWZvY3VzLWJvcmRlcicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdkaXNwbGF5JywgJ2NsaXAnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnbGVmdCcsIGAke2dlby5sZWZ0fXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3RvcCcsIGAke2dlby50b3B9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnd2lkdGgnLCBgMXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2hlaWdodCcsIGAke2dlby5oZWlnaHR9cHhgKTtcbiAgICB0aGlzLmFwcGx5U3R5bGUoZGl2LCBzdHlsZSk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKHBhcmVudCwgZGl2KTtcblxuICAgIC8vIEJvcmRlciBlYXN0OlxuICAgIGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLWZvY3VzLWJvcmRlcicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdkaXNwbGF5JywgJ2NsaXAnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnbGVmdCcsIGAke2dlby5sZWZ0ICsgZ2VvLndpZHRoIC0gMX1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd0b3AnLCBgJHtnZW8udG9wfXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3dpZHRoJywgYDFweGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdoZWlnaHQnLCBgJHtnZW8uaGVpZ2h0fXB4YCk7XG4gICAgdGhpcy5hcHBseVN0eWxlKGRpdiwgc3R5bGUpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGRpdik7XG5cbiAgICAvLyBCb3JkZXIgbm9ydGg6XG4gICAgZGl2ID0gdGhpcy5kb21TZXJ2aWNlLmNyZWF0ZUVsZW1lbnQ8SFRNTERpdkVsZW1lbnQ+KCdkaXYnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYWRkQ2xhc3MoZGl2LCAnZ2UtdGFibGUtZm9jdXMtYm9yZGVyJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2Rpc3BsYXknLCAnY2xpcCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdsZWZ0JywgYCR7Z2VvLmxlZnR9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAndG9wJywgYCR7KGdlby50b3ApfXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3dpZHRoJywgYCR7Z2VvLndpZHRofXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2hlaWdodCcsIGAxcHhgKTtcbiAgICB0aGlzLmFwcGx5U3R5bGUoZGl2LCBzdHlsZSk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKHBhcmVudCwgZGl2KTtcblxuXG4gICAgLy8gQm9yZGVyIHNvdXRoOlxuICAgIGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLWZvY3VzLWJvcmRlcicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdkaXNwbGF5JywgJ2NsaXAnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnbGVmdCcsIGAke2dlby5sZWZ0fXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3RvcCcsIGAkeyhnZW8udG9wICsgZ2VvLmhlaWdodCAtIDEpfXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3dpZHRoJywgYCR7Z2VvLndpZHRofXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2hlaWdodCcsIGAxcHhgKTtcbiAgICB0aGlzLmFwcGx5U3R5bGUoZGl2LCBzdHlsZSk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKHBhcmVudCwgZGl2KTtcblxuICAgIHJldHVybiBwYXJlbnQ7XG4gIH1cblxuICBhZGREaXYocGFyZW50OiBIVE1MRGl2RWxlbWVudCwgZ2VvOiBHZW9EYXRhLCBjbGF6ejogc3RyaW5nID0gJycpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgY29uc3QgZGl2ID0gdGhpcy5kb21TZXJ2aWNlLmNyZWF0ZUVsZW1lbnQ8SFRNTERpdkVsZW1lbnQ+KCdkaXYnKTtcbiAgICBpZiAoY2xhenopIHtcbiAgICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsIGNsYXp6KTtcbiAgICB9XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2Rpc3BsYXknLCAnY2xpcCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdsZWZ0JywgYCR7Z2VvLmxlZnR9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAndG9wJywgYCR7Z2VvLnRvcH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd3aWR0aCcsIGAke2dlby53aWR0aH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdoZWlnaHQnLCBgJHtnZW8uaGVpZ2h0fXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKHBhcmVudCwgZGl2KTtcbiAgICByZXR1cm4gZGl2O1xuICB9XG5cbiAgYXBwbHlTdHlsZVN0cmluZyhkaXY6IEhUTUxEaXZFbGVtZW50LCBzdHlsZTogc3RyaW5nKSB7XG4gICAgLy8gdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTEwMCUsIDApOyB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgZm9udC1zaXplOiAxLjVlbTtcbiAgICBjb25zdCBjbWRzID0gc3R5bGUuc3BsaXQoJzsnKS5tYXAocyA9PiBzLnRyaW0oKSkuZmlsdGVyKHMgPT4gcyk7XG4gICAgZm9yIChjb25zdCBjbWQgb2YgY21kcykge1xuICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gY21kLnNwbGl0KCc6Jyk7XG4gICAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCBrZXkudHJpbSgpLCB2YWx1ZS50cmltKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGl2T3JDcmVhdGVEaXYoY2FjaGVLZXk6IG51bWJlciwgZGl2U2NvcGU6IERpdlNjb3BlKTogSFRNTERpdkVsZW1lbnQge1xuICAgIGxldCBkaXYgPSBkaXZTY29wZS5jYWNoZVtjYWNoZUtleV07XG4gICAgaWYgKGRpdikge1xuICAgICAgZGl2LmlubmVyVGV4dCA9ICcnOyAvLyBlcnN0IG1hbCBsZWVyIG1hY2hlbiwgc3DDpHRlciBjb2wtY2FjaGUgbnV0emVuXG4gICAgICByZXR1cm4gZGl2O1xuICAgIH1cbiAgICBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgIGRpdlNjb3BlLmNhY2hlW2NhY2hlS2V5XSA9IGRpdjtcbiAgICByZXR1cm4gZGl2O1xuICB9XG59XG4iXX0=
|
|
394
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVuaWVuY2UtZG9tLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvc2VydmljZS9jb252ZW5pZW5jZS1kb20uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSy9ELE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFDa0IsVUFBd0I7UUFBeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztJQUUxQyxDQUFDO0lBR0QsUUFBUSxDQUFDLEVBQU8sRUFBRSxLQUFhLEVBQUUsS0FBVTtRQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUFBLENBQUM7SUFHRixVQUFVLENBQUMsR0FBbUIsRUFBRSxLQUFnQjtRQUM5QyxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBRTtZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQscUJBQXFCLENBQUMsR0FBbUI7UUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxHQUFtQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FB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QUMsQ0FBQyxDQUFDO1FBQ2hFLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ3RCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFFBQWdCLEVBQUUsUUFBa0I7UUFDNUQsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxJQUFJLEdBQUcsRUFBRTtZQUNQLEdBQUcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUMsZ0RBQWdEO1lBQ3BFLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFDRCxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQWlCLEtBQUssQ0FBQyxDQUFDO1FBQzNELFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQy9CLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9tU2VydmljZUlmIH0gZnJvbSBcIi4vZG9tLXNlcnZpY2UuaWZcIjtcbmltcG9ydCB7IERpdlNjb3BlIH0gZnJvbSBcIi4vLi4vZGF0YS9kaXYtc2NvcGUudHlwZVwiO1xuaW1wb3J0IHsgR2VvRGF0YSB9IGZyb20gXCIuLy4uL2RhdGEvZ2VvLWRhdGFcIjtcbmltcG9ydCB7IFRyZWVBcnJvd1R5cGUgfSBmcm9tIFwiLi4vZGF0YS9jb21tb24vdHJlZS1hcnJvdy50eXBlXCI7XG5pbXBvcnQgeyBUcmVlT3B0aW9uc0lmIH0gZnJvbSBcIi4uL2RhdGEvb3B0aW9ucy90cmVlLW9wdGlvbnMuaWZcIjtcbmltcG9ydCB7IFRyZWVPcHRpb25zIH0gZnJvbSBcIi4uL2RhdGEvb3B0aW9ucy90cmVlLW9wdGlvbnNcIjtcbmltcG9ydCB7IEFyZWFJZGVudCB9IGZyb20gXCIuLi9kYXRhL3RhYmxlbW9kZWwvYXJlYS1pZGVudC50eXBlXCI7XG5pbXBvcnQgeyBJY29uSWYgfSBmcm9tIFwiLi4vZGF0YS9vcHRpb25zL2ljb24uaWZcIjtcbmltcG9ydCB7IFRhYmxlT3B0aW9uc0lmIH0gZnJvbSBcIi4uL2RhdGEvb3B0aW9ucy90YWJsZS1vcHRpb25zLmlmXCI7XG5pbXBvcnQgeyBDaGVja2VkVHlwZSB9IGZyb20gXCIuLi9kYXRhL2NvbW1vbi9jaGVja2VkLXR5cGVcIjtcbmltcG9ydCB7IFNpZGVJZGVudCB9IGZyb20gXCIuLi9kYXRhL3NpZGUtaWRlbnQudHlwZVwiO1xuaW1wb3J0IHsgU29ydFN0YXRlIH0gZnJvbSBcIi4uL2RhdGEvY29tbW9uL3NvcnQtc3RhdGUudHlwZVwiO1xuaW1wb3J0IHsgU29ydGVkT3B0aW9ucyB9IGZyb20gXCIuLi9kYXRhL29wdGlvbnMvc29ydGVkLW9wdGlvbnNcIjtcbmltcG9ydCB7IFNvcnRlZE9wdGlvbnNJZiB9IGZyb20gXCIuLi9kYXRhL29wdGlvbnMvc29ydGVkLW9wdGlvbnMuaWZcIjtcbmltcG9ydCB7IEh0bWxTdHlsZSB9IGZyb20gXCIuL2RhdGEvaHRtbC1zdHlsZS50eXBlXCI7XG5cblxuZXhwb3J0IGNsYXNzIENvbnZlbmllbmNlRG9tU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGRvbVNlcnZpY2U6IERvbVNlcnZpY2VJZlxuICApIHtcbiAgfVxuXG5cbiAgc2V0U3R5bGUoZWw6IGFueSwgc3R5bGU6IHN0cmluZywgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGVsLCBzdHlsZSwgdmFsdWUpO1xuICAgIHJldHVybiBlbDtcbiAgfTtcblxuXG4gIGFwcGx5U3R5bGUoZWxlOiBIVE1MRGl2RWxlbWVudCwgc3R5bGU6IEh0bWxTdHlsZSk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzdHlsZSkge1xuICAgICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGVsZSwga2V5LCBzdHlsZVtrZXldKTtcbiAgICB9XG4gICAgcmV0dXJuIGVsZTtcbiAgfVxuXG4gIGFwcGx5RGlzcGxheU5vbmVTdHlsZShlbGU6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICByZXR1cm4gZWxlO1xuICB9XG5cbiAgYXBwbHlEaXNwbGF5QmxvY2tTdHlsZShlbGU6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgcmV0dXJuIGVsZTtcbiAgfVxuXG4gIGFwcGx5U3R5bGVJblB4KGVsZTogSFRNTERpdkVsZW1lbnQsIGdlb0RhdGE6IEdlb0RhdGEpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgT2JqZWN0LmVudHJpZXMoZ2VvRGF0YSlcbiAgICAgIC5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsIGtleSwgdmFsdWUgKyAncHgnKSk7XG4gICAgcmV0dXJuIGVsZTtcbiAgfVxuXG4gIGFwcGx5U3R5bGVQb3Npc3Rpb25SZWxhdGl2ZShlbGU6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdvdmVyZmxvdycsICdjbGlwJyk7XG4gICAgcmV0dXJuIGVsZTtcbiAgfVxuXG4gIGFwcGx5U3R5bGVQb3Npc3Rpb25BYnNvbHV0ZShlbGU6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHJldHVybiBlbGU7XG4gIH1cblxuICBhcHBseVN0eWxlRnVsbFNpemUoZWxlOiBIVE1MRGl2RWxlbWVudCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZWxlLCAnd2lkdGgnLCAnMTAwJScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdoZWlnaHQnLCAnMTAwJScpO1xuICAgIHJldHVybiBlbGU7XG4gIH1cblxuICBhcHBseVN0eWxlT3ZlcmZsb3dBdXRvKFxuICAgIG92ZXJmbG93WDogJ3Njcm9sbCcgfCAnYXV0bycgPSAnYXV0bycsXG4gICAgb3ZlcmZsb3dZOiAnc2Nyb2xsJyB8ICdhdXRvJyA9ICdhdXRvJyxcbiAgICBlbGU6IEhUTUxEaXZFbGVtZW50LFxuICApOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGVsZSwgJ292ZXJmbG93LXgnLCBvdmVyZmxvd1gpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdvdmVyZmxvdy15Jywgb3ZlcmZsb3dZKTtcbiAgICByZXR1cm4gZWxlO1xuICB9XG5cbiAgYXBwbHlTdHlsZU5vUGFkZGluZyhlbGU6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShlbGUsICdwYWRkaW5nJywgJzAnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZWxlLCAnbWFyZ2luJywgJzAnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZWxlLCAnYm9yZGVyJywgJzAnKTtcbiAgICByZXR1cm4gZWxlO1xuICB9XG5cbiAgYXBwZW5kUmVsYXRpdmVDaGlsZERpdihwYXJlbnQ6IEhUTUxEaXZFbGVtZW50KTogRGl2U2NvcGUge1xuICAgIGNvbnN0IGNoaWxkID1cbiAgICAgIHRoaXMuYXBwbHlTdHlsZVBvc2lzdGlvblJlbGF0aXZlKFxuICAgICAgICB0aGlzLmFwcGx5U3R5bGVGdWxsU2l6ZShcbiAgICAgICAgICB0aGlzLmFwcGx5U3R5bGVOb1BhZGRpbmcoXG4gICAgICAgICAgICB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApO1xuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGNoaWxkKTtcbiAgICB0aGlzLmFwcGx5U3R5bGVQb3Npc3Rpb25BYnNvbHV0ZShwYXJlbnQpO1xuICAgIGNvbnN0IGNhY2hlID0ge307XG4gICAgcmV0dXJuIHtwYXJlbnQsIGNoaWxkLCBjYWNoZX07XG4gIH1cblxuICBhcHBlbmRUZXh0KHBhcmVudDogSFRNTERpdkVsZW1lbnQsIHRleHQ6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlVGV4dCh0ZXh0KTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuICAgIHJldHVybiBkaXY7XG4gIH1cblxuXG4gIGFkZENsYXNzKGNsYXp6OiBzdHJpbmcsIGRpdjogSFRNTERpdkVsZW1lbnQpIHtcbiAgICBpZiAoY2xhenouaW5jbHVkZXMoJyAnKSkge1xuICAgICAgY2xhenouc3BsaXQoJyAnKS5mb3JFYWNoKGMgPT4gdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgYykpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsIGNsYXp6KTtcbiAgICB9XG4gICAgcmV0dXJuIGRpdjtcbiAgfVxuXG4gIGFkZENsYXNzZXMoY2xhc3Nlczogc3RyaW5nW10gfCB1bmRlZmluZWQsIGRpdjogSFRNTERpdkVsZW1lbnQpIHtcbiAgICBpZiAoY2xhc3Nlcykge1xuICAgICAgZm9yIChjb25zdCBjIG9mIGNsYXNzZXMpIHtcbiAgICAgICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgYyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkaXY7XG4gIH1cblxuICBzZXRBdHRyaWJ1dGUoZGl2OiBIVE1MRGl2RWxlbWVudCwga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoa2V5ICYmIHZhbHVlKSB7XG4gICAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwga2V5LCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBkaXY7XG4gIH1cblxuXG4gIGNyZWF0ZUFyZWFEaXZXaXRoQ2xhc3MoY2xheno6IHN0cmluZywgcGFyZW50OiBIVE1MRGl2RWxlbWVudCwgYXJlYUlkZW50OiBBcmVhSWRlbnQsIHNpZGVJZGVudDogU2lkZUlkZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5hZGRDbGFzcyhjbGF6eiwgZGl2KTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtYXJlYScsIGFyZWFJZGVudCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldEF0dHJpYnV0ZShkaXYsICdkYXRhLXNpZGUnLCBzaWRlSWRlbnQpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGRpdik7XG4gICAgcmV0dXJuIGRpdjtcbiAgfVxuXG4gIGNyZWF0ZURpdldpdGhDbGFzcyhjbGF6ejogc3RyaW5nLCBwYXJlbnQ6IEhUTUxEaXZFbGVtZW50KTogSFRNTERpdkVsZW1lbnQge1xuICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5hZGRDbGFzcyhjbGF6eiwgZGl2KTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuICAgIHJldHVybiBkaXY7XG4gIH1cblxuXG4gIGFkZFJvd0RpdihcbiAgICBkaXZTY29wZTogRGl2U2NvcGUsXG4gICAgZ2VvOiBHZW9EYXRhLFxuICAgIHJvd0luZGV4OiBudW1iZXIgPSAtMSxcbiAgICBhcmVhSWRlbnQ6IEFyZWFJZGVudCxcbiAgICB0ZXh0OiBzdHJpbmcgPSAnJyxcbiAgKTogSFRNTERpdkVsZW1lbnQge1xuXG4gICAgY29uc3QgY2FjaGVLZXkgPSBnZW8uaW5kZXggPz8gLTE7XG4gICAgY29uc3QgZGl2ID0gdGhpcy5nZXREaXZPckNyZWF0ZURpdihjYWNoZUtleSwgZGl2U2NvcGUpO1xuXG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLXJvdy1kaXYnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYWRkQ2xhc3MoZGl2LCBgZ2UtdGFibGUtcm93LWRpdi0ke2dlby5pbmRleH1gKTtcbiAgICBjb25zdCBvZGRFdmVuID0gKGdlbz8uaW5kZXggPz8gMCkgJSAyID09PSAwID8gJ2V2ZW4nIDogJ29kZCc7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgYGdlLXRhYmxlLXJvdy0ke29kZEV2ZW59YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2Rpc3BsYXknLCAnY2xpcCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuXG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2xlZnQnLCBgJHtnZW8ubGVmdH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd0b3AnLCBgJHtnZW8udG9wfXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3dpZHRoJywgYCR7Z2VvLndpZHRofXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2hlaWdodCcsIGAke2dlby5oZWlnaHR9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtcm93LWluZGV4JywgYCR7cm93SW5kZXh9YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldEF0dHJpYnV0ZShkaXYsICdkYXRhLWFyZWEnLCBgJHthcmVhSWRlbnR9YCk7XG5cbiAgICAvLyBkZWJ1Z2dpbmc6XG4gICAgaWYgKHRleHQpIHtcbiAgICAgIGNvbnN0IHRleHRFbGVtZW50ID0gdGhpcy5kb21TZXJ2aWNlLmNyZWF0ZVRleHQodGV4dCk7XG4gICAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQoZGl2LCB0ZXh0RWxlbWVudCk7XG4gICAgfVxuICAgIC8vIC0tLS0tLS0tLS0tLS1cblxuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChkaXZTY29wZS5jaGlsZCwgZGl2KTtcbiAgICByZXR1cm4gZGl2O1xuICB9XG5cblxuICBhZGRDb2x1bW5EaXYoXG4gICAgcGFyZW50OiBIVE1MRGl2RWxlbWVudCxcbiAgICBnZW86IEdlb0RhdGEsXG4gICAgcm93SW5kZXg6IG51bWJlciA9IC0xLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIgPSAtMSxcbiAgICBhcmVhSWRlbnQ6IEFyZWFJZGVudCxcbiAgICB0ZXh0OiBzdHJpbmcgPSAnJyxcbiAgICB0cmVlQXJyb3c/OiBUcmVlQXJyb3dUeXBlLFxuICAgIHRhYmxlT3B0aW9ucz86IFRhYmxlT3B0aW9uc0lmLFxuICAgIGNoZWNrZWRUeXBlOiBDaGVja2VkVHlwZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBzb3J0U3RhdGU/OiBTb3J0U3RhdGVcbiAgKTogSFRNTERpdkVsZW1lbnQge1xuXG4gICAgY29uc3QgdHJlZU9wdGlvbnMgPSB0YWJsZU9wdGlvbnM/LnRyZWVPcHRpb25zO1xuICAgIGNvbnN0IGNoZWNrYm94V2l0aG91dEV4dHJhQ29sdW1uID0gdGFibGVPcHRpb25zPy5zaG93Q2hlY2tib3hXaWhvdXRFeHRyYUNvbHVtbjtcblxuICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLWNvbC1kaXYnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYWRkQ2xhc3MoZGl2LCBgZ2UtdGFibGUtY29sLWRpdi0ke2dlby5pbmRleH1gKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtY29sLWluZGV4JywgYCR7Z2VvLmluZGV4fWApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRBdHRyaWJ1dGUoZGl2LCAnZGF0YS1yb3ctaW5kZXgnLCBgJHtyb3dJbmRleH1gKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtYXJlYScsIGAke2FyZWFJZGVudH1gKTtcbiAgICBjb25zdCBvZGRFdmVuID0gKGdlbz8uaW5kZXggPz8gMCkgJSAyID09PSAwID8gJ2V2ZW4nIDogJ29kZCc7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgYGdlLXRhYmxlLWNvbC0ke29kZEV2ZW59YCk7XG5cbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnZGlzcGxheScsICdjbGlwJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2xlZnQnLCBgJHtnZW8ubGVmdH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd0b3AnLCBgJHtnZW8udG9wfXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3dpZHRoJywgYCR7Z2VvLndpZHRofXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2hlaWdodCcsIGAke2dlby5oZWlnaHR9cHhgKTtcblxuICAgIGlmICh0cmVlQXJyb3cgJiYgdHJlZUFycm93ICE9PSAnbm9uZScpIHtcbiAgICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsICdnZS10YWJsZS1jb2wtdHJlZScpO1xuICAgICAgdGhpcy5hZGRBcnJvd0RpdihkaXYsIHRyZWVBcnJvdywgdHJlZU9wdGlvbnMsIHJvd0luZGV4LCBjb2x1bW5JbmRleCwgYXJlYUlkZW50KTtcbiAgICB9XG4gICAgaWYgKGNoZWNrYm94V2l0aG91dEV4dHJhQ29sdW1uICYmIGNvbHVtbkluZGV4ID09PSAwICYmIGNoZWNrZWRUeXBlKSB7XG4gICAgICB0aGlzLmFkZENoZWNrYm94VG9EaXYoZGl2LCBjaGVja2VkVHlwZSwgYXJlYUlkZW50LCByb3dJbmRleCk7XG4gICAgfVxuICAgIGlmICh0ZXh0KSB7XG4gICAgICBjb25zdCBmaXJzdFRyZWVDb2x1bW4gPSAodHJlZUFycm93ICE9PSAnbm9uZScgJiYgY29sdW1uSW5kZXggPT09IDApO1xuICAgICAgdGhpcy5hZGRMYWJlbERpdihkaXYsIHRleHQsIGZpcnN0VHJlZUNvbHVtbiwgcm93SW5kZXgsIGNvbHVtbkluZGV4LCBhcmVhSWRlbnQpO1xuICAgIH1cbiAgICBpZiAoc29ydFN0YXRlKSB7XG4gICAgICB0aGlzLmFkZFNvcnRlZEljb24oZGl2LCBzb3J0U3RhdGUsIHRhYmxlT3B0aW9ucz8uc29ydGVkT3B0aW9ucywgY29sdW1uSW5kZXgpO1xuICAgIH1cblxuXG4gICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKHBhcmVudCwgZGl2KTtcbiAgICByZXR1cm4gZGl2O1xuICB9XG5cblxuICBhZGRDaGVja2JveFRvRGl2KFxuICAgIHBhcmVudDogSFRNTERpdkVsZW1lbnQsXG4gICAgY2hlY2tlZFR5cGU6IENoZWNrZWRUeXBlLFxuICAgIGFyZWFJZGVudDogQXJlYUlkZW50LFxuICAgIHJvd0luZGV4OiBudW1iZXIpOiBIVE1MRGl2RWxlbWVudCB7XG5cbiAgICBjb25zdCBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgIGNvbnN0IGNoZWNrZWQgPSAoY2hlY2tlZFR5cGUgPT09ICdmdWxsJykgPyAnY2hlY2tlZCcgOiAnJztcbiAgICBkaXYuaW5uZXJIVE1MID0gYFxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBkYXRhLWFyZWE9XCIke2FyZWFJZGVudH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtcm93LWluZGV4PVwiJHtyb3dJbmRleH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtaW5wdXQtdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAke2NoZWNrZWR9XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJnZS10YWJsZS1yb3ctY2hlY2tib3hcIj4gYDtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnZGlzcGxheScsICdpbmxpbmUnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnd2lkdGgnLCAnaW5oZXJpdCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRBdHRyaWJ1dGUoZGl2LCAnZGF0YS1yb3ctaW5kZXgnLCBgJHtyb3dJbmRleH1gKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuICAgIHJldHVybiBkaXY7XG4gIH1cblxuXG4gIGFkZExhYmVsRGl2KFxuICAgIHBhcmVudDogSFRNTERpdkVsZW1lbnQsXG4gICAgdGV4dDogc3RyaW5nID0gJycsXG4gICAgZmlyc3RUcmVlQ29sdW1uOiBib29sZWFuID0gZmFsc2UsXG4gICAgcm93SW5kZXg6IG51bWJlciA9IC0xLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIgPSAtMSxcbiAgICBhcmVhSWRlbnQ6IEFyZWFJZGVudCA9ICdib2R5Jyk6IEhUTUxEaXZFbGVtZW50IHtcblxuICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLWxhYmVsLWRpdicpO1xuICAgIC8vIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdkaXNwbGF5JywgJ2lubGluZScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdiYWNrZ3JvdW5kJywgJ3RyYW5zcGFyZW50Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3dpZHRoJywgJzEwMCUnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnaGVpZ2h0JywgJzEwMCUnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtcm93LWluZGV4JywgYCR7cm93SW5kZXh9YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldEF0dHJpYnV0ZShkaXYsICdkYXRhLWNvbC1pbmRleCcsIGAke2NvbHVtbkluZGV4fWApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRBdHRyaWJ1dGUoZGl2LCAnZGF0YS1hcmVhJywgYCR7YXJlYUlkZW50fWApO1xuXG4gICAgaWYgKHRleHQpIHtcbiAgICAgIGlmIChmaXJzdFRyZWVDb2x1bW4pIHtcbiAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlVGV4dCh0ZXh0KTtcbiAgICAgICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKGRpdiwgdGV4dEVsZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gbm9ybWFsIGNlbGw6XG4gICAgICAgIGNvbnN0IGRpdjIgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgICAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQoZGl2LCBkaXYyKTtcbiAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlVGV4dCh0ZXh0KTtcbiAgICAgICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdjIsICdnZS10YWJsZS1sYWJlbCcpO1xuICAgICAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQoZGl2MiwgdGV4dEVsZW1lbnQpO1xuICAgICAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdjIsICdkYXRhLXJvdy1pbmRleCcsIGAke3Jvd0luZGV4fWApO1xuICAgICAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdjIsICdkYXRhLWNvbC1pbmRleCcsIGAke2NvbHVtbkluZGV4fWApO1xuICAgICAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdjIsICdkYXRhLWFyZWEnLCBgJHthcmVhSWRlbnR9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKHBhcmVudCwgZGl2KTtcbiAgICByZXR1cm4gZGl2O1xuICB9XG5cbiAgYWRkU29ydGVkSWNvbihcbiAgICBwYXJlbnQ6IEhUTUxEaXZFbGVtZW50LFxuICAgIHNvcnRlZDogU29ydFN0YXRlID0gJycsXG4gICAgc29ydGVkT3B0aW9uczogU29ydGVkT3B0aW9uc0lmID0gbmV3IFNvcnRlZE9wdGlvbnMoKSxcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyID0gLTFcbiAgKTogSFRNTERpdkVsZW1lbnQge1xuXG4gICAgY29uc3QgZGl2ID0gdGhpcy5kb21TZXJ2aWNlLmNyZWF0ZUVsZW1lbnQ8SFRNTERpdkVsZW1lbnQ+KCdkaXYnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYWRkQ2xhc3MoZGl2LCAnZ2UtdGFibGUtc29ydGVkLWljb24tZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3RvcCcsICcwJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3JpZ2h0JywgJzAnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnd2lkdGgnLCAnMjBweCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdiYWNrZ3JvdW5kJywgJ3RyYW5zcGFyZW50Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldEF0dHJpYnV0ZShkaXYsICdkYXRhLWNvbC1pbmRleCcsIGAke2NvbHVtbkluZGV4fWApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRBdHRyaWJ1dGUoZGl2LCAnZGF0YS1hcmVhJywgJ2hlYWRlcicpO1xuXG4gICAgbGV0IHRyZWVPcHRpb25zQXJyb3c6IEljb25JZjtcbiAgICBpZiAoc29ydGVkID09PSAnYXNjJykge1xuICAgICAgdHJlZU9wdGlvbnNBcnJvdyA9IHNvcnRlZE9wdGlvbnMuaWNvbkFzYztcbiAgICB9IGVsc2UgaWYgKHNvcnRlZCA9PT0gJ2Rlc2MnKSB7XG4gICAgICB0cmVlT3B0aW9uc0Fycm93ID0gc29ydGVkT3B0aW9ucy5pY29uRGVzYztcbiAgICB9IGVsc2Uge1xuICAgICAgdHJlZU9wdGlvbnNBcnJvdyA9IHNvcnRlZE9wdGlvbnMuaWNvblBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICAvLyBUZXh0OlxuICAgIGNvbnN0IGNvbnRlbnQgPSB0cmVlT3B0aW9uc0Fycm93LmNvbnRlbnQ7XG4gICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlVGV4dChjb250ZW50KTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQoZGl2LCB0ZXh0RWxlbWVudCk7XG5cbiAgICAvLyBTdHlsZTpcbiAgICBpZiAodHJlZU9wdGlvbnNBcnJvdy5zdHlsZSkge1xuICAgICAgdGhpcy5hcHBseVN0eWxlU3RyaW5nKGRpdiwgdHJlZU9wdGlvbnNBcnJvdy5zdHlsZSk7XG4gICAgfVxuXG4gICAgLy8gQ2xhc3NlczpcbiAgICBmb3IgKGNvbnN0IGNsYXp6IG9mIHRyZWVPcHRpb25zQXJyb3cuY2xhc3Nlcykge1xuICAgICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgY2xhenopO1xuICAgIH1cblxuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGRpdik7XG4gICAgcmV0dXJuIGRpdjtcbiAgfVxuXG5cbiAgYWRkQXJyb3dEaXYoXG4gICAgcGFyZW50OiBIVE1MRGl2RWxlbWVudCxcbiAgICBhcnJvdzogVHJlZUFycm93VHlwZSA9ICdub25lJyxcbiAgICB0cmVlT3B0aW9uczogVHJlZU9wdGlvbnNJZiA9IG5ldyBUcmVlT3B0aW9ucygpLFxuICAgIHJvd0luZGV4OiBudW1iZXIgPSAtMSxcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyID0gLTEsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQgPSAnYm9keScsXG4gICk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBjb25zdCBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsICdnZS10YWJsZS10cmVlLWFycm93LWRpdicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdkaXNwbGF5JywgJ2lubGluZS1ibG9jaycpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdwb3NpdGlvbicsICcnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnd2lkdGgnLCAnMjBweCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdiYWNrZ3JvdW5kJywgJ3RyYW5zcGFyZW50Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldEF0dHJpYnV0ZShkaXYsICdkYXRhLXJvdy1pbmRleCcsIGAke3Jvd0luZGV4fWApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRBdHRyaWJ1dGUoZGl2LCAnZGF0YS1jb2wtaW5kZXgnLCBgJHtjb2x1bW5JbmRleH1gKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0QXR0cmlidXRlKGRpdiwgJ2RhdGEtYXJlYScsIGAke2FyZWFJZGVudH1gKTtcblxuICAgIGxldCB0cmVlT3B0aW9uc0Fycm93OiBJY29uSWY7XG4gICAgaWYgKGFycm93ID09PSAnZXhwYW5kZWQnKSB7XG4gICAgICB0cmVlT3B0aW9uc0Fycm93ID0gdHJlZU9wdGlvbnMuYXJyb3dFeHBhbmRlZDtcbiAgICB9IGVsc2UgaWYgKGFycm93ID09PSAnY29sbGFwc2VkJykge1xuICAgICAgdHJlZU9wdGlvbnNBcnJvdyA9IHRyZWVPcHRpb25zLmFycm93Q29sbGFwc2VkXG4gICAgfSBlbHNlIHtcbiAgICAgIHRyZWVPcHRpb25zQXJyb3cgPSB0cmVlT3B0aW9ucy5hcnJvd1BsYWNlaG9sZGVyO1xuICAgIH1cbiAgICAvLyBUZXh0OlxuICAgIGNvbnN0IGNvbnRlbnQgPSB0cmVlT3B0aW9uc0Fycm93LmNvbnRlbnQ7XG4gICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlVGV4dChjb250ZW50KTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQoZGl2LCB0ZXh0RWxlbWVudCk7XG5cbiAgICAvLyBTdHlsZTpcbiAgICBpZiAodHJlZU9wdGlvbnNBcnJvdy5zdHlsZSkge1xuICAgICAgdGhpcy5hcHBseVN0eWxlU3RyaW5nKGRpdiwgdHJlZU9wdGlvbnNBcnJvdy5zdHlsZSk7XG4gICAgfVxuXG4gICAgLy8gQ2xhc3NlczpcbiAgICBmb3IgKGNvbnN0IGNsYXp6IG9mIHRyZWVPcHRpb25zQXJyb3cuY2xhc3Nlcykge1xuICAgICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgY2xhenopO1xuICAgIH1cblxuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGRpdik7XG4gICAgcmV0dXJuIGRpdjtcbiAgfVxuXG4gIGFkZENvbHVtbkJvcmRlckRpdnMocGFyZW50OiBIVE1MRGl2RWxlbWVudCwgZ2VvOiBHZW9EYXRhKTogSFRNTERpdkVsZW1lbnQge1xuICAgIHRoaXMuYWRkVmVydGljYWxCb3JkZXIoZ2VvLCBwYXJlbnQpO1xuICAgIHRoaXMuYWRkSG9yaXpvbnRhbEJvcmRlcihnZW8sIHBhcmVudCk7XG5cbiAgICByZXR1cm4gcGFyZW50O1xuICB9XG5cblxuICBhZGRIb3Jpem9udGFsQm9yZGVyKFxuICAgIGdlbzogR2VvRGF0YSxcbiAgICBwYXJlbnQ6IEhUTUxEaXZFbGVtZW50LFxuICAgIGNsYXp6OiBzdHJpbmcgPSBcImdlLXRhYmxlLXJvdy1ib3JkZXJcIik6IEhUTUxEaXZFbGVtZW50IHtcbiAgICAvLyBCb3JkZXIgc291dGg6XG4gICAgY29uc3QgZGl2ID0gdGhpcy5kb21TZXJ2aWNlLmNyZWF0ZUVsZW1lbnQ8SFRNTERpdkVsZW1lbnQ+KFwiZGl2XCIpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsIGNsYXp6KTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCBcImRpc3BsYXlcIiwgXCJjbGlwXCIpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsIFwicG9zaXRpb25cIiwgXCJhYnNvbHV0ZVwiKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCBcImxlZnRcIiwgYCR7Z2VvLmxlZnR9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCBcInRvcFwiLCBgJHsoZ2VvLnRvcCl9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCBcIndpZHRoXCIsIGAke2dlby53aWR0aH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsIFwiaGVpZ2h0XCIsIGAxcHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuICAgIHJldHVybiBkaXY7XG4gIH1cblxuICBhZGRGb2N1c0JvcmRlckRpdnMocGFyZW50OiBIVE1MRGl2RWxlbWVudCwgZ2VvOiBHZW9EYXRhLCBzdHlsZTogSHRtbFN0eWxlKTogSFRNTERpdkVsZW1lbnQge1xuICAgIC8vIEJvcmRlciB3ZXN0OlxuICAgIGxldCBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oXCJkaXZcIik7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgXCJnZS10YWJsZS1mb2N1cy1ib3JkZXJcIik7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgXCJkaXNwbGF5XCIsIFwiY2xpcFwiKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCBcInBvc2l0aW9uXCIsIFwiYWJzb2x1dGVcIik7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2xlZnQnLCBgJHtnZW8ubGVmdH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd0b3AnLCBgJHtnZW8udG9wfXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3dpZHRoJywgYDFweGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdoZWlnaHQnLCBgJHtnZW8uaGVpZ2h0fXB4YCk7XG4gICAgdGhpcy5hcHBseVN0eWxlKGRpdiwgc3R5bGUpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGRpdik7XG5cbiAgICAvLyBCb3JkZXIgZWFzdDpcbiAgICBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsICdnZS10YWJsZS1mb2N1cy1ib3JkZXInKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnZGlzcGxheScsICdjbGlwJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2xlZnQnLCBgJHtnZW8ubGVmdCArIGdlby53aWR0aCAtIDF9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAndG9wJywgYCR7Z2VvLnRvcH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd3aWR0aCcsIGAxcHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnaGVpZ2h0JywgYCR7Z2VvLmhlaWdodH1weGApO1xuICAgIHRoaXMuYXBwbHlTdHlsZShkaXYsIHN0eWxlKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuXG4gICAgLy8gQm9yZGVyIG5vcnRoOlxuICAgIGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PignZGl2Jyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFkZENsYXNzKGRpdiwgJ2dlLXRhYmxlLWZvY3VzLWJvcmRlcicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdkaXNwbGF5JywgJ2NsaXAnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnbGVmdCcsIGAke2dlby5sZWZ0fXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3RvcCcsIGAkeyhnZW8udG9wKX1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd3aWR0aCcsIGAke2dlby53aWR0aH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdoZWlnaHQnLCBgMXB4YCk7XG4gICAgdGhpcy5hcHBseVN0eWxlKGRpdiwgc3R5bGUpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGRpdik7XG5cblxuICAgIC8vIEJvcmRlciBzb3V0aDpcbiAgICBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsICdnZS10YWJsZS1mb2N1cy1ib3JkZXInKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAnZGlzcGxheScsICdjbGlwJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2xlZnQnLCBgJHtnZW8ubGVmdH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd0b3AnLCBgJHsoZ2VvLnRvcCArIGdlby5oZWlnaHQgLSAxKX1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd3aWR0aCcsIGAke2dlby53aWR0aH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdoZWlnaHQnLCBgMXB4YCk7XG4gICAgdGhpcy5hcHBseVN0eWxlKGRpdiwgc3R5bGUpO1xuICAgIHRoaXMuZG9tU2VydmljZS5hcHBlbmRDaGlsZChwYXJlbnQsIGRpdik7XG5cbiAgICByZXR1cm4gcGFyZW50O1xuICB9XG5cbiAgYWRkVmVydGljYWxCb3JkZXIoXG4gICAgZ2VvOiBHZW9EYXRhLFxuICAgIHBhcmVudDogSFRNTERpdkVsZW1lbnQsXG4gICAgY2xheno6IHN0cmluZyA9IFwiZ2UtdGFibGUtY29sdW1uLWJvcmRlclwiKTogSFRNTERpdkVsZW1lbnQge1xuICAgIC8vIEJvcmRlciBlYXN0OlxuICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9tU2VydmljZS5jcmVhdGVFbGVtZW50PEhUTUxEaXZFbGVtZW50PihcImRpdlwiKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYWRkQ2xhc3MoZGl2LCBjbGF6eik7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgXCJkaXNwbGF5XCIsIFwiY2xpcFwiKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCBcInBvc2l0aW9uXCIsIFwiYWJzb2x1dGVcIik7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgXCJsZWZ0XCIsIGAke2dlby5sZWZ0fXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgXCJ0b3BcIiwgYCR7Z2VvLnRvcH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsIFwid2lkdGhcIiwgYDFweGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsIFwiaGVpZ2h0XCIsIGAke2dlby5oZWlnaHR9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2UuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuICAgIHJldHVybiBkaXY7XG4gIH1cblxuICBhZGREaXYocGFyZW50OiBIVE1MRGl2RWxlbWVudCwgZ2VvOiBHZW9EYXRhLCBjbGF6ejogc3RyaW5nID0gJycpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgY29uc3QgZGl2ID0gdGhpcy5kb21TZXJ2aWNlLmNyZWF0ZUVsZW1lbnQ8SFRNTERpdkVsZW1lbnQ+KCdkaXYnKTtcbiAgICBpZiAoY2xhenopIHtcbiAgICAgIHRoaXMuZG9tU2VydmljZS5hZGRDbGFzcyhkaXYsIGNsYXp6KTtcbiAgICB9XG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldFN0eWxlKGRpdiwgJ2Rpc3BsYXknLCAnY2xpcCcpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdsZWZ0JywgYCR7Z2VvLmxlZnR9cHhgKTtcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCAndG9wJywgYCR7Z2VvLnRvcH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICd3aWR0aCcsIGAke2dlby53aWR0aH1weGApO1xuICAgIHRoaXMuZG9tU2VydmljZS5zZXRTdHlsZShkaXYsICdoZWlnaHQnLCBgJHtnZW8uaGVpZ2h0fXB4YCk7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmFwcGVuZENoaWxkKHBhcmVudCwgZGl2KTtcbiAgICByZXR1cm4gZGl2O1xuICB9XG5cbiAgYXBwbHlTdHlsZVN0cmluZyhkaXY6IEhUTUxEaXZFbGVtZW50LCBzdHlsZTogc3RyaW5nKSB7XG4gICAgLy8gdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTEwMCUsIDApOyB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgZm9udC1zaXplOiAxLjVlbTtcbiAgICBjb25zdCBjbWRzID0gc3R5bGUuc3BsaXQoJzsnKS5tYXAocyA9PiBzLnRyaW0oKSkuZmlsdGVyKHMgPT4gcyk7XG4gICAgZm9yIChjb25zdCBjbWQgb2YgY21kcykge1xuICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gY21kLnNwbGl0KCc6Jyk7XG4gICAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0U3R5bGUoZGl2LCBrZXkudHJpbSgpLCB2YWx1ZS50cmltKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGl2T3JDcmVhdGVEaXYoY2FjaGVLZXk6IG51bWJlciwgZGl2U2NvcGU6IERpdlNjb3BlKTogSFRNTERpdkVsZW1lbnQge1xuICAgIGxldCBkaXYgPSBkaXZTY29wZS5jYWNoZVtjYWNoZUtleV07XG4gICAgaWYgKGRpdikge1xuICAgICAgZGl2LmlubmVyVGV4dCA9ICcnOyAvLyBlcnN0IG1hbCBsZWVyIG1hY2hlbiwgc3DDpHRlciBjb2wtY2FjaGUgbnV0emVuXG4gICAgICByZXR1cm4gZGl2O1xuICAgIH1cbiAgICBkaXYgPSB0aGlzLmRvbVNlcnZpY2UuY3JlYXRlRWxlbWVudDxIVE1MRGl2RWxlbWVudD4oJ2RpdicpO1xuICAgIGRpdlNjb3BlLmNhY2hlW2NhY2hlS2V5XSA9IGRpdjtcbiAgICByZXR1cm4gZGl2O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export class SimpleDomService {
|
|
2
|
+
setStyle(el, style, value) {
|
|
3
|
+
el.style[style] = value;
|
|
4
|
+
return el;
|
|
5
|
+
}
|
|
6
|
+
;
|
|
7
|
+
appendText(parent, text) {
|
|
8
|
+
const div = this.createText(text);
|
|
9
|
+
this.appendChild(parent, div);
|
|
10
|
+
return div;
|
|
11
|
+
}
|
|
12
|
+
addClass(div, clazz) {
|
|
13
|
+
if (clazz.includes(' ')) {
|
|
14
|
+
clazz.split(' ').forEach(c => div.classList.add(c));
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
div.classList.add(clazz);
|
|
18
|
+
}
|
|
19
|
+
return div;
|
|
20
|
+
}
|
|
21
|
+
appendChild(parent, child) {
|
|
22
|
+
parent.appendChild(child);
|
|
23
|
+
}
|
|
24
|
+
createElement(name) {
|
|
25
|
+
return document.createElement(name);
|
|
26
|
+
}
|
|
27
|
+
createText(value) {
|
|
28
|
+
return document.createTextNode(value);
|
|
29
|
+
}
|
|
30
|
+
setAttribute(ele, key, value) {
|
|
31
|
+
ele.setAttribute(key, value);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWRvbS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3NlcnZpY2Uvc2ltcGxlLWRvbS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsUUFBUSxDQUFDLEVBQU8sRUFBRSxLQUFhLEVBQUUsS0FBVTtRQUN6QyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN4QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFBQSxDQUFDO0lBR0YsVUFBVSxDQUFDLE1BQXNCLEVBQUUsSUFBWTtRQUM3QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUdELFFBQVEsQ0FBQyxHQUFtQixFQUFFLEtBQWE7UUFDekMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNwRDthQUFNO1lBQ0wsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUI7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBbUIsRUFBRSxLQUFrQjtRQUNqRCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhLENBQUksSUFBWTtRQUMzQixPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFNLENBQUM7SUFDM0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLE9BQU8sUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQWdCLEVBQUUsR0FBVyxFQUFFLEtBQWE7UUFDdkQsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuL2RvbS1zZXJ2aWNlLmlmXCI7XG5cblxuZXhwb3J0IGNsYXNzIFNpbXBsZURvbVNlcnZpY2UgaW1wbGVtZW50cyBEb21TZXJ2aWNlSWYge1xuXG5cbiAgc2V0U3R5bGUoZWw6IGFueSwgc3R5bGU6IHN0cmluZywgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgZWwuc3R5bGVbc3R5bGVdID0gdmFsdWU7XG4gICAgcmV0dXJuIGVsO1xuICB9O1xuXG5cbiAgYXBwZW5kVGV4dChwYXJlbnQ6IEhUTUxEaXZFbGVtZW50LCB0ZXh0OiBzdHJpbmcpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgY29uc3QgZGl2ID0gdGhpcy5jcmVhdGVUZXh0KHRleHQpO1xuICAgIHRoaXMuYXBwZW5kQ2hpbGQocGFyZW50LCBkaXYpO1xuICAgIHJldHVybiBkaXY7XG4gIH1cblxuXG4gIGFkZENsYXNzKGRpdjogSFRNTERpdkVsZW1lbnQsIGNsYXp6OiBzdHJpbmcpIHtcbiAgICBpZiAoY2xhenouaW5jbHVkZXMoJyAnKSkge1xuICAgICAgY2xhenouc3BsaXQoJyAnKS5mb3JFYWNoKGMgPT4gZGl2LmNsYXNzTGlzdC5hZGQoYykpXG4gICAgfSBlbHNlIHtcbiAgICAgIGRpdi5jbGFzc0xpc3QuYWRkKGNsYXp6KTtcbiAgICB9XG4gICAgcmV0dXJuIGRpdjtcbiAgfVxuXG4gIGFwcGVuZENoaWxkKHBhcmVudDogSFRNTEVsZW1lbnQsIGNoaWxkOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHBhcmVudC5hcHBlbmRDaGlsZChjaGlsZCk7XG4gIH1cblxuICBjcmVhdGVFbGVtZW50PFQ+KG5hbWU6IHN0cmluZyk6IFQge1xuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KG5hbWUpIGFzIFQ7XG4gIH1cblxuICBjcmVhdGVUZXh0KHZhbHVlOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh2YWx1ZSk7XG4gIH1cblxuICBzZXRBdHRyaWJ1dGUoZWxlOiBIVE1MRWxlbWVudCwga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBlbGUuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICB9XG5cblxufVxuIl19
|