@skyux/ag-grid 9.14.0 → 9.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +680 -594
- package/esm2022/lib/modules/ag-grid/ag-grid.service.mjs +5 -1
- package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-template/cell-renderer-template-context.type.mjs +2 -0
- package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-template/cell-renderer-template.component.mjs +46 -0
- package/esm2022/lib/modules/ag-grid/types/cell-type.mjs +7 -1
- package/fesm2022/skyux-ag-grid.mjs +53 -1
- package/fesm2022/skyux-ag-grid.mjs.map +1 -1
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-template/cell-renderer-template-context.type.d.ts +4 -0
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-template/cell-renderer-template.component.d.ts +22 -0
- package/lib/modules/ag-grid/types/cell-type.d.ts +6 -0
- package/package.json +15 -12
|
@@ -13,6 +13,7 @@ import { SkyAgGridCellRendererCurrencyValidatorComponent } from './cell-renderer
|
|
|
13
13
|
import { SkyAgGridCellRendererCurrencyComponent } from './cell-renderers/cell-renderer-currency/cell-renderer-currency.component';
|
|
14
14
|
import { SkyAgGridCellRendererLookupComponent } from './cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component';
|
|
15
15
|
import { SkyAgGridCellRendererRowSelectorComponent } from './cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component';
|
|
16
|
+
import { SkyAgGridCellRendererTemplateComponent } from './cell-renderers/cell-renderer-template/cell-renderer-template.component';
|
|
16
17
|
import { SkyAgGridCellRendererValidatorTooltipComponent } from './cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component';
|
|
17
18
|
import { SkyAgGridHeaderGroupComponent } from './header/header-group.component';
|
|
18
19
|
import { SkyAgGridHeaderComponent } from './header/header.component';
|
|
@@ -286,6 +287,9 @@ export class SkyAgGridService {
|
|
|
286
287
|
sortable: false,
|
|
287
288
|
width: 55,
|
|
288
289
|
},
|
|
290
|
+
[SkyCellType.Template]: {
|
|
291
|
+
cellRenderer: SkyAgGridCellRendererTemplateComponent,
|
|
292
|
+
},
|
|
289
293
|
[SkyCellType.Text]: {
|
|
290
294
|
cellClassRules: {
|
|
291
295
|
[SkyCellClass.Text]: cellClassRuleTrueExpression,
|
|
@@ -458,4 +462,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
458
462
|
}] }, { type: i3.SkyLibResourcesService, decorators: [{
|
|
459
463
|
type: Optional
|
|
460
464
|
}] }]; } });
|
|
461
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FnLWdyaWQvc3JjL2xpYi9tb2R1bGVzL2FnLWdyaWQvYWctZ3JpZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFlakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDdEksT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDMUgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDaEksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDOUcsT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDckosT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDbEksT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDNUgsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDN0ksT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0s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QUFDLEtBQUssQ0FBQyxRQUFRLENBQ3RCLENBQUM7Z0JBQ0osT0FBTyxDQUFDLENBQUMsMEJBQTBCLENBQUM7YUFDckM7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEUsQ0FBQzs4R0FoY1UsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFZSSxRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lEYXRlU2VydmljZSB9IGZyb20gJ0Bza3l1eC9kYXRldGltZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlLCBTa3lUaGVtZVNldHRpbmdzIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgQ2VsbENsYXNzUGFyYW1zLFxuICBDb2xEZWYsXG4gIEVkaXRhYmxlQ2FsbGJhY2tQYXJhbXMsXG4gIEdyaWRPcHRpb25zLFxuICBJQ2VsbFJlbmRlcmVyUGFyYW1zLFxuICBSb3dDbGFzc1BhcmFtcyxcbiAgU3VwcHJlc3NIZWFkZXJLZXlib2FyZEV2ZW50UGFyYW1zLFxuICBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMsXG4gIFZhbHVlRm9ybWF0dGVyUGFyYW1zLFxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9hZy1ncmlkLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBhcHBseVNreUxvb2t1cFByb3BlcnRpZXNEZWZhdWx0cyB9IGZyb20gJy4vYXBwbHktbG9va3VwLXByb3BlcnRpZXMtZGVmYXVsdHMnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWF1dG9jb21wbGV0ZS9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWN1cnJlbmN5L2NlbGwtZWRpdG9yLWN1cnJlbmN5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWRhdGVwaWNrZXIvY2VsbC1lZGl0b3ItZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckxvb2t1cENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWxvb2t1cC9jZWxsLWVkaXRvci1sb29rdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1udW1iZXIvY2VsbC1lZGl0b3ItbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yVGV4dENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLXRleHQvY2VsbC1lZGl0b3ItdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyQ3VycmVuY3lWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtcmVuZGVyZXJzL2NlbGwtcmVuZGVyZXItY3VycmVuY3kvY2VsbC1yZW5kZXJlci1jdXJyZW5jeS12YWxpZGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLWN1cnJlbmN5L2NlbGwtcmVuZGVyZXItY3VycmVuY3kuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckxvb2t1cENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci1sb29rdXAvY2VsbC1yZW5kZXJlci1sb29rdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcC9jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRIZWFkZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uTWFwVHlwZSwgaWNvbk1hcCB9IGZyb20gJy4vaWNvbnMvaWNvbi1tYXAnO1xuaW1wb3J0IHsgU2t5Q2VsbENsYXNzIH0gZnJvbSAnLi90eXBlcy9jZWxsLWNsYXNzJztcbmltcG9ydCB7IFNreUNlbGxUeXBlIH0gZnJvbSAnLi90eXBlcy9jZWxsLXR5cGUnO1xuaW1wb3J0IHsgU2t5SGVhZGVyQ2xhc3MgfSBmcm9tICcuL3R5cGVzL2hlYWRlci1jbGFzcyc7XG5pbXBvcnQgeyBTa3lHZXRHcmlkT3B0aW9uc0FyZ3MgfSBmcm9tICcuL3R5cGVzL3NreS1ncmlkLW9wdGlvbnMnO1xuXG5mdW5jdGlvbiBhdXRvY29tcGxldGVDb21wYXJhdG9yKFxuICB2YWx1ZTE6IHsgbmFtZTogc3RyaW5nIH0sXG4gIHZhbHVlMjogeyBuYW1lOiBzdHJpbmcgfSxcbik6IG51bWJlciB7XG4gIGlmICh2YWx1ZTEgJiYgdmFsdWUyKSB7XG4gICAgaWYgKHZhbHVlMS5uYW1lID4gdmFsdWUyLm5hbWUpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZTEubmFtZSA8IHZhbHVlMi5uYW1lKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICByZXR1cm4gdmFsdWUxID8gMSA6IC0xO1xufVxuXG5mdW5jdGlvbiBhdXRvY29tcGxldGVGb3JtYXR0ZXIocGFyYW1zOiBWYWx1ZUZvcm1hdHRlclBhcmFtcyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXJhbXMudmFsdWUgJiYgcGFyYW1zLnZhbHVlLm5hbWU7XG59XG5cbmZ1bmN0aW9uIGRhdGVDb21wYXJhdG9yKGRhdGUxOiBEYXRlIHwgc3RyaW5nLCBkYXRlMjogRGF0ZSB8IHN0cmluZyk6IG51bWJlciB7XG4gIGxldCBkYXRlMXZhbHVlID0gZGF0ZTE7XG4gIGxldCBkYXRlMnZhbHVlID0gZGF0ZTI7XG5cbiAgaWYgKHR5cGVvZiBkYXRlMXZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGRhdGUxdmFsdWUgPSBuZXcgRGF0ZShkYXRlMSk7XG4gIH1cblxuICBpZiAodHlwZW9mIGRhdGUydmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgZGF0ZTJ2YWx1ZSA9IG5ldyBEYXRlKGRhdGUyKTtcbiAgfVxuXG4gIGlmIChkYXRlMXZhbHVlICYmIGRhdGUydmFsdWUpIHtcbiAgICBpZiAoZGF0ZTF2YWx1ZSA+IGRhdGUydmFsdWUpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGlmIChkYXRlMXZhbHVlIDwgZGF0ZTJ2YWx1ZSkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcmV0dXJuIGRhdGUxdmFsdWUgPyAxIDogLTE7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5mdW5jdGlvbiBnZXRWYWxpZGF0b3JDZWxsUmVuZGVyZXJTZWxlY3Rvcihjb21wb25lbnQ6IHN0cmluZywgZmFsbGJhY2s/OiBhbnkpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcmV0dXJuIChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpOiBhbnkgPT4ge1xuICAgIGlmIChcbiAgICAgIHBhcmFtcy5jb2xEZWYgJiZcbiAgICAgIHR5cGVvZiBwYXJhbXMuY29sRGVmLmNlbGxSZW5kZXJlclBhcmFtcz8uc2t5Q29tcG9uZW50UHJvcGVydGllc1xuICAgICAgICA/LnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICkge1xuICAgICAgaWYgKFxuICAgICAgICAhcGFyYW1zLmNvbERlZi5jZWxsUmVuZGVyZXJQYXJhbXMuc2t5Q29tcG9uZW50UHJvcGVydGllcy52YWxpZGF0b3IoXG4gICAgICAgICAgcGFyYW1zLnZhbHVlLFxuICAgICAgICAgIHBhcmFtcy5kYXRhLFxuICAgICAgICAgIHBhcmFtcy5yb3dJbmRleCxcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29tcG9uZW50LFxuICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgLi4ucGFyYW1zLmNvbERlZi5jZWxsUmVuZGVyZXJQYXJhbXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbGxiYWNrO1xuICB9O1xufVxuXG5sZXQgcm93Tm9kZUlkID0gLTE7XG5cbi8qKlxuICogYFNreUFnR3JpZFNlcnZpY2VgIHByb3ZpZGVzIG1ldGhvZHMgdG8gZ2V0IEFHIEdyaWQgYGdyaWRPcHRpb25zYCB0byBlbnN1cmUgZ3JpZHMgbWF0Y2ggU0tZIFVYIGZ1bmN0aW9uYWxpdHkuIFRoZSBgZ3JpZE9wdGlvbnNgIGNhbiBiZSBvdmVycmlkZGVuLCBhbmQgaW5jbHVkZSByZWdpc3RlcmVkIFNLWSBVWCBjb2x1bW4gdHlwZXMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgI2tleU1hcCA9IG5ldyBXZWFrTWFwPGFueSwgc3RyaW5nPigpO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNjdXJyZW50VGhlbWU6IFNreVRoZW1lU2V0dGluZ3MgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICNhZ0dyaWRBZGFwdGVyU2VydmljZTogU2t5QWdHcmlkQWRhcHRlclNlcnZpY2U7XG4gICNyZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgZGF0ZVNlcnZpY2UgPSBpbmplY3QoU2t5RGF0ZVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFnR3JpZEFkYXB0ZXJTZXJ2aWNlOiBTa3lBZ0dyaWRBZGFwdGVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSByZXNvdXJjZXM/OiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZSA9IGFnR3JpZEFkYXB0ZXJTZXJ2aWNlO1xuICAgIHRoaXMuI3Jlc291cmNlcyA9IHJlc291cmNlcztcblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGVtZVN2Yykge1xuICAgICAgdGhlbWVTdmMuc2V0dGluZ3NDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChzZXR0aW5nc0NoYW5nZSkgPT4ge1xuICAgICAgICAgIHRoaXMuI2N1cnJlbnRUaGVtZSA9IHNldHRpbmdzQ2hhbmdlLmN1cnJlbnRTZXR0aW5ncztcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIFtBRyBHcmlkIGBncmlkT3B0aW9uc2BdKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2phdmFzY3JpcHQtZ3JpZC1wcm9wZXJ0aWVzLykgd2l0aCBkZWZhdWx0IFNLWSBVWCBvcHRpb25zLCBzdHlsaW5nLCBhbmQgY2VsbCByZW5kZXJlcnMgcmVnaXN0ZXJlZCBmb3IgcmVhZC1vbmx5IGdyaWRzLlxuICAgKiBAcGFyYW0gYXJnc1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGdldEdyaWRPcHRpb25zKGFyZ3M6IFNreUdldEdyaWRPcHRpb25zQXJncyk6IEdyaWRPcHRpb25zIHtcbiAgICBjb25zdCBkZWZhdWx0R3JpZE9wdGlvbnMgPSB0aGlzLiNnZXREZWZhdWx0R3JpZE9wdGlvbnMoYXJncyk7XG4gICAgY29uc3QgbWVyZ2VkR3JpZE9wdGlvbnMgPSB0aGlzLiNtZXJnZUdyaWRPcHRpb25zKFxuICAgICAgZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgYXJncy5ncmlkT3B0aW9ucyxcbiAgICApO1xuXG4gICAgcmV0dXJuIG1lcmdlZEdyaWRPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgW0FHIEdyaWQgYGdyaWRPcHRpb25zYF0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vamF2YXNjcmlwdC1ncmlkLXByb3BlcnRpZXMvKSB3aXRoIGRlZmF1bHQgU0tZIFVYIG9wdGlvbnMsIHN0eWxpbmcsIGFuZCBjZWxsIGVkaXRvcnMgcmVnaXN0ZXJlZCBmb3IgZWRpdGFibGUgZ3JpZHMuXG4gICAqIEBwYXJhbSBhcmdzXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwdWJsaWMgZ2V0RWRpdGFibGVHcmlkT3B0aW9ucyhhcmdzOiBTa3lHZXRHcmlkT3B0aW9uc0FyZ3MpOiBHcmlkT3B0aW9ucyB7XG4gICAgY29uc3QgZGVmYXVsdEdyaWRPcHRpb25zID0gdGhpcy4jZ2V0RGVmYXVsdEVkaXRhYmxlR3JpZE9wdGlvbnMoYXJncyk7XG4gICAgY29uc3QgbWVyZ2VkR3JpZE9wdGlvbnMgPSB0aGlzLiNtZXJnZUdyaWRPcHRpb25zKFxuICAgICAgZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgYXJncy5ncmlkT3B0aW9ucyxcbiAgICApO1xuICAgIG1lcmdlZEdyaWRPcHRpb25zLmNvbnRleHQgfHw9IHt9O1xuICAgIG1lcmdlZEdyaWRPcHRpb25zLmNvbnRleHQuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICAuLi5tZXJnZWRHcmlkT3B0aW9ucyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIG1lcmdlZEdyaWRPcHRpb25zO1xuICB9XG5cbiAgcHVibGljIGdldEhlYWRlckhlaWdodCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNjdXJyZW50VGhlbWU/LnRoZW1lPy5uYW1lID09PSAnbW9kZXJuJyA/IDYwIDogMzc7XG4gIH1cblxuICAjbWVyZ2VHcmlkT3B0aW9ucyhcbiAgICBkZWZhdWx0R3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zLFxuICAgIHByb3ZpZGVkR3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zLFxuICApOiBHcmlkT3B0aW9ucyB7XG4gICAgY29uc3QgbWVyZ2VkR3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zID0ge1xuICAgICAgLi4uZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgLi4ucHJvdmlkZWRHcmlkT3B0aW9ucyxcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgLi4ucHJvdmlkZWRHcmlkT3B0aW9ucy5jb21wb25lbnRzLFxuICAgICAgICAvLyBBcHBseSBkZWZhdWx0IGNvbXBvbmVudHMgbGFzdCB0byBwcmV2ZW50IGNvbnN1bWVycyBmcm9tIG92ZXJ3cml0aW5nIG91ciBjb21wb25lbnQgdHlwZXMuXG4gICAgICAgIC4uLmRlZmF1bHRHcmlkT3B0aW9ucy5jb21wb25lbnRzLFxuICAgICAgfSxcbiAgICAgIGNvbHVtblR5cGVzOiB7XG4gICAgICAgIC4uLnByb3ZpZGVkR3JpZE9wdGlvbnMuY29sdW1uVHlwZXMsXG4gICAgICAgIC8vIGFwcGx5IGRlZmF1bHQgc2Vjb25kIHRvIHByZXZlbnQgY29uc3VtZXJzIGZyb20gb3ZlcndyaXRpbmcgb3VyIGRlZmF1bHQgY29sdW1uIHR5cGVzXG4gICAgICAgIC4uLmRlZmF1bHRHcmlkT3B0aW9ucy5jb2x1bW5UeXBlcyxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0Q29sRGVmOiB7XG4gICAgICAgIC4uLmRlZmF1bHRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sRGVmLFxuICAgICAgICAuLi5wcm92aWRlZEdyaWRPcHRpb25zLmRlZmF1bHRDb2xEZWYsXG4gICAgICAgIC8vIGFsbG93IGNvbnN1bWVycyB0byBvdmVycmlkZSBhbGwgZGVmYXVsdENvbERlZiBwcm9wZXJ0aWVzIGV4Y2VwdCBjZWxsQ2xhc3NSdWxlcywgd2hpY2ggd2UgcmVzZXJ2ZSBmb3Igc3R5bGluZ1xuICAgICAgICBjZWxsQ2xhc3NSdWxlczogZGVmYXVsdEdyaWRPcHRpb25zLmRlZmF1bHRDb2xEZWY/LmNlbGxDbGFzc1J1bGVzLFxuICAgICAgfSxcbiAgICAgIGRlZmF1bHRDb2xHcm91cERlZjoge1xuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuZGVmYXVsdENvbEdyb3VwRGVmLFxuICAgICAgICAuLi5wcm92aWRlZEdyaWRPcHRpb25zLmRlZmF1bHRDb2xHcm91cERlZixcbiAgICAgIH0sXG4gICAgICBpY29uczoge1xuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuaWNvbnMsXG4gICAgICAgIC4uLnByb3ZpZGVkR3JpZE9wdGlvbnMuaWNvbnMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyBQcmVmZXIgYGdldFJvd05vZGVJZGAgb3ZlciBgZ2V0Tm9kZUlkYCBpZiBzZXQgYnkgdGhlIGNvbnN1bWVyLCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAgICBpZiAobWVyZ2VkR3JpZE9wdGlvbnMuZ2V0Um93Tm9kZUlkKSB7XG4gICAgICBkZWxldGUgbWVyZ2VkR3JpZE9wdGlvbnMuZ2V0Um93SWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lcmdlZEdyaWRPcHRpb25zO1xuICB9XG5cbiAgI2dldERlZmF1bHRHcmlkT3B0aW9ucyhhcmdzOiBTa3lHZXRHcmlkT3B0aW9uc0FyZ3MpOiBHcmlkT3B0aW9ucyB7XG4gICAgLy8gY2VsbENsYXNzUnVsZXMgY2FuIGJlIGZ1bmN0aW9ucyBvciBzdHJpbmcgZXhwcmVzc2lvbnNcbiAgICBjb25zdCBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24gPSAoKTogYm9vbGVhbiA9PiB0cnVlO1xuXG4gICAgZnVuY3Rpb24gZ2V0RWRpdGFibGVGbihcbiAgICAgIGlzVW5lZGl0YWJsZT86IGJvb2xlYW4sXG4gICAgKTogKHBhcmFtczogQ2VsbENsYXNzUGFyYW1zKSA9PiBib29sZWFuIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAocGFyYW1zOiBDZWxsQ2xhc3NQYXJhbXMpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGlzRWRpdGFibGUgPSBwYXJhbXMuY29sRGVmLmVkaXRhYmxlO1xuXG4gICAgICAgIGlmICh0eXBlb2YgaXNFZGl0YWJsZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIGNvbnN0IGNvbHVtbiA9IHBhcmFtcy5jb2x1bW5BcGkuZ2V0Q29sdW1uKHBhcmFtcy5jb2xEZWYuZmllbGQpO1xuICAgICAgICAgIGlzRWRpdGFibGUgPSBpc0VkaXRhYmxlKHtcbiAgICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAgIGNvbHVtbixcbiAgICAgICAgICB9IGFzIEVkaXRhYmxlQ2FsbGJhY2tQYXJhbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlzVW5lZGl0YWJsZSA/ICFpc0VkaXRhYmxlIDogISFpc0VkaXRhYmxlO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBlZGl0YWJsZUNlbGxDbGFzc1J1bGVzID0ge1xuICAgICAgW1NreUNlbGxDbGFzcy5FZGl0YWJsZV06IGdldEVkaXRhYmxlRm4oKSxcbiAgICAgIFtTa3lDZWxsQ2xhc3MuVW5lZGl0YWJsZV06IGdldEVkaXRhYmxlRm4odHJ1ZSksXG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGdldFZhbGlkYXRvckZuKCk6IChwYXJhbXM6IENlbGxDbGFzc1BhcmFtcykgPT4gYm9vbGVhbiB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKHBhcmFtOiBDZWxsQ2xhc3NQYXJhbXMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHBhcmFtLmNvbERlZiAmJlxuICAgICAgICAgIHR5cGVvZiBwYXJhbS5jb2xEZWYuY2VsbFJlbmRlcmVyUGFyYW1zPy5za3lDb21wb25lbnRQcm9wZXJ0aWVzXG4gICAgICAgICAgICA/LnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gIXBhcmFtLmNvbERlZi5jZWxsUmVuZGVyZXJQYXJhbXMuc2t5Q29tcG9uZW50UHJvcGVydGllcy52YWxpZGF0b3IoXG4gICAgICAgICAgICBwYXJhbS52YWx1ZSxcbiAgICAgICAgICAgIHBhcmFtLmRhdGEsXG4gICAgICAgICAgICBwYXJhbS5yb3dJbmRleCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgdmFsaWRhdG9yQ2VsbENsYXNzUnVsZXMgPSB7XG4gICAgICBbU2t5Q2VsbENsYXNzLkludmFsaWRdOiBnZXRWYWxpZGF0b3JGbigpLFxuICAgIH07XG5cbiAgICBjb25zdCBkZWZhdWx0U2t5R3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zID0ge1xuICAgICAgY29sdW1uVHlwZXM6IHtcbiAgICAgICAgW1NreUNlbGxUeXBlLkF1dG9jb21wbGV0ZV06IHtcbiAgICAgICAgICBjZWxsQ2xhc3NSdWxlczoge1xuICAgICAgICAgICAgW1NreUNlbGxDbGFzcy5BdXRvY29tcGxldGVdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi5lZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvckF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICAgICAgICB2YWx1ZUZvcm1hdHRlcjogYXV0b2NvbXBsZXRlRm9ybWF0dGVyLFxuICAgICAgICAgIGNvbXBhcmF0b3I6IGF1dG9jb21wbGV0ZUNvbXBhcmF0b3IsXG4gICAgICAgICAgbWluV2lkdGg6IDE4NSxcbiAgICAgICAgfSxcbiAgICAgICAgW1NreUNlbGxUeXBlLkN1cnJlbmN5XToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLkN1cnJlbmN5XTogY2VsbENsYXNzUnVsZVRydWVFeHByZXNzaW9uLFxuICAgICAgICAgICAgLi4udmFsaWRhdG9yQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgICAuLi5lZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbFJlbmRlcmVyU2VsZWN0b3I6IGdldFZhbGlkYXRvckNlbGxSZW5kZXJlclNlbGVjdG9yKFxuICAgICAgICAgICAgJ3NreS1hZy1ncmlkLWNlbGwtcmVuZGVyZXItY3VycmVuY3ktdmFsaWRhdG9yJyxcbiAgICAgICAgICAgIHsgY29tcG9uZW50OiAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci1jdXJyZW5jeScgfSxcbiAgICAgICAgICApLFxuICAgICAgICAgIGNlbGxFZGl0b3I6IFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeUNvbXBvbmVudCxcbiAgICAgICAgICBoZWFkZXJDbGFzczogU2t5SGVhZGVyQ2xhc3MuUmlnaHRBbGlnbmVkLFxuICAgICAgICAgIG1pbldpZHRoOiAxODUsXG4gICAgICAgIH0sXG4gICAgICAgIFtTa3lDZWxsVHlwZS5EYXRlXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLkRhdGVdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi5lZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvckRhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgICAgICAgY29tcGFyYXRvcjogZGF0ZUNvbXBhcmF0b3IsXG4gICAgICAgICAgbWluV2lkdGg6IHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWU/Lm5hbWUgPT09ICdtb2Rlcm4nID8gMTgwIDogMTYwLFxuICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiAocGFyYW1zOiBWYWx1ZUZvcm1hdHRlclBhcmFtcykgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVTZXJ2aWNlLmZvcm1hdChcbiAgICAgICAgICAgICAgICAgIHBhcmFtcy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIGFyZ3MubG9jYWxlLFxuICAgICAgICAgICAgICAgICAgYXJncy5kYXRlRm9ybWF0IHx8ICdzaG9ydERhdGUnLFxuICAgICAgICAgICAgICAgICkgfHwgJydcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuTG9va3VwXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLkxvb2t1cF06IGNlbGxDbGFzc1J1bGVUcnVlRXhwcmVzc2lvbixcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsRWRpdG9yOiBTa3lBZ0dyaWRDZWxsRWRpdG9yTG9va3VwQ29tcG9uZW50LFxuICAgICAgICAgIGNlbGxSZW5kZXJlcjogU2t5QWdHcmlkQ2VsbFJlbmRlcmVyTG9va3VwQ29tcG9uZW50LFxuICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsb29rdXBQcm9wZXJ0aWVzID0gYXBwbHlTa3lMb29rdXBQcm9wZXJ0aWVzRGVmYXVsdHMocGFyYW1zKTtcbiAgICAgICAgICAgIHJldHVybiAocGFyYW1zLnZhbHVlIHx8IFtdKVxuICAgICAgICAgICAgICAubWFwKCh2YWx1ZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVbbG9va3VwUHJvcGVydGllcy5kZXNjcmlwdG9yUHJvcGVydHkgYXMgc3RyaW5nXTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmZpbHRlcigodmFsdWU6IHVua25vd24pID0+IHZhbHVlICE9PSAnJyAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAuam9pbignOyAnKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1pbldpZHRoOiAxODUsXG4gICAgICAgIH0sXG4gICAgICAgIFtTa3lDZWxsVHlwZS5OdW1iZXJdOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIFtTa3lDZWxsQ2xhc3MuTnVtYmVyXTogY2VsbENsYXNzUnVsZVRydWVFeHByZXNzaW9uLFxuICAgICAgICAgICAgLi4udmFsaWRhdG9yQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgICAuLi5lZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbFJlbmRlcmVyU2VsZWN0b3I6IGdldFZhbGlkYXRvckNlbGxSZW5kZXJlclNlbGVjdG9yKFxuICAgICAgICAgICAgJ3NreS1hZy1ncmlkLWNlbGwtcmVuZGVyZXItdmFsaWRhdG9yLXRvb2x0aXAnLFxuICAgICAgICAgICksXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvck51bWJlckNvbXBvbmVudCxcbiAgICAgICAgICBoZWFkZXJDbGFzczogU2t5SGVhZGVyQ2xhc3MuUmlnaHRBbGlnbmVkLFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuUm93U2VsZWN0b3JdOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIFtTa3lDZWxsQ2xhc3MuUm93U2VsZWN0b3JdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLlVuZWRpdGFibGVdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsUmVuZGVyZXI6IFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yQ29tcG9uZW50LFxuICAgICAgICAgIGhlYWRlck5hbWU6ICcnLFxuICAgICAgICAgIG1pbldpZHRoOiA1NSxcbiAgICAgICAgICBtYXhXaWR0aDogNTUsXG4gICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICAgIHdpZHRoOiA1NSxcbiAgICAgICAgfSxcbiAgICAgICAgW1NreUNlbGxUeXBlLlRleHRdOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIFtTa3lDZWxsQ2xhc3MuVGV4dF06IGNlbGxDbGFzc1J1bGVUcnVlRXhwcmVzc2lvbixcbiAgICAgICAgICAgIC4uLnZhbGlkYXRvckNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgICAgLi4uZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNlbGxFZGl0b3I6IFNreUFnR3JpZENlbGxFZGl0b3JUZXh0Q29tcG9uZW50LFxuICAgICAgICAgIGNlbGxSZW5kZXJlclNlbGVjdG9yOiBnZXRWYWxpZGF0b3JDZWxsUmVuZGVyZXJTZWxlY3RvcihcbiAgICAgICAgICAgICdza3ktYWctZ3JpZC1jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwJyxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuVmFsaWRhdG9yXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICAuLi52YWxpZGF0b3JDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsUmVuZGVyZXJTZWxlY3RvcjogZ2V0VmFsaWRhdG9yQ2VsbFJlbmRlcmVyU2VsZWN0b3IoXG4gICAgICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcCcsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0Q29sRGVmOiB7XG4gICAgICAgIGNlbGxDbGFzc1J1bGVzOiBlZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFNreUFnR3JpZEhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgbWluV2lkdGg6IDEwMCxcbiAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgc3VwcHJlc3NIZWFkZXJLZXlib2FyZEV2ZW50OiAoXG4gICAgICAgICAga2V5cHJlc3M6IFN1cHByZXNzSGVhZGVyS2V5Ym9hcmRFdmVudFBhcmFtcyxcbiAgICAgICAgKSA9PiBrZXlwcmVzcy5ldmVudC5jb2RlID09PSAnVGFiJyxcbiAgICAgICAgc3VwcHJlc3NLZXlib2FyZEV2ZW50OiAoa2V5cHJlc3M6IFN1cHByZXNzS2V5Ym9hcmRFdmVudFBhcmFtcykgPT5cbiAgICAgICAgICB0aGlzLiNzdXBwcmVzc1RhYihrZXlwcmVzcyksXG4gICAgICB9LFxuICAgICAgZGVmYXVsdENvbEdyb3VwRGVmOiB7XG4gICAgICAgIGhlYWRlckdyb3VwQ29tcG9uZW50OiBTa3lBZ0dyaWRIZWFkZXJHcm91cENvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICBkb21MYXlvdXQ6ICdhdXRvSGVpZ2h0JyxcbiAgICAgIGVuc3VyZURvbU9yZGVyOiB0cnVlLFxuICAgICAgZW50ZXJNb3Zlc0Rvd25BZnRlckVkaXQ6IHRydWUsXG4gICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICdza3ktYWctZ3JpZC1jZWxsLXJlbmRlcmVyLWN1cnJlbmN5JzpcbiAgICAgICAgICBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJDdXJyZW5jeUNvbXBvbmVudCxcbiAgICAgICAgJ3NreS1hZy1ncmlkLWNlbGwtcmVuZGVyZXItY3VycmVuY3ktdmFsaWRhdG9yJzpcbiAgICAgICAgICBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJDdXJyZW5jeVZhbGlkYXRvckNvbXBvbmVudCxcbiAgICAgICAgJ3NreS1hZy1ncmlkLWNlbGwtcmVuZGVyZXItdmFsaWRhdG9yLXRvb2x0aXAnOlxuICAgICAgICAgIFNreUFnR3JpZENlbGxSZW5kZXJlclZhbGlkYXRvclRvb2x0aXBDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAgZ2V0Um93SWQ6IChwYXJhbXMpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YUlkID0gcGFyYW1zLmRhdGEuaWQ7XG4gICAgICAgIGlmIChkYXRhSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldHVybiBgJHtwYXJhbXMuZGF0YS5pZH1gO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy4ja2V5TWFwLmhhcyhwYXJhbXMuZGF0YSkpIHtcbiAgICAgICAgICB0aGlzLiNrZXlNYXAuc2V0KHBhcmFtcy5kYXRhLCBgJHtyb3dOb2RlSWQtLX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy4ja2V5TWFwLmdldChwYXJhbXMuZGF0YSkgYXMgc3RyaW5nO1xuICAgICAgfSxcbiAgICAgIGdldFJvd0NsYXNzOiAocGFyYW1zOiBSb3dDbGFzc1BhcmFtcykgPT4ge1xuICAgICAgICBpZiAocGFyYW1zLm5vZGUuaWQpIHtcbiAgICAgICAgICByZXR1cm4gYHNreS1hZy1ncmlkLXJvdy0ke3BhcmFtcy5ub2RlLmlkfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGhlYWRlckhlaWdodDogdGhpcy5nZXRIZWFkZXJIZWlnaHQoKSxcbiAgICAgIGljb25zOiB7XG4gICAgICAgIHNvcnREZXNjZW5kaW5nOiB0aGlzLiNnZXRJY29uVGVtcGxhdGUoJ3NvcnREZXNjZW5kaW5nJyksXG4gICAgICAgIHNvcnRBc2NlbmRpbmc6IHRoaXMuI2dldEljb25UZW1wbGF0ZSgnc29ydEFzY2VuZGluZycpLFxuICAgICAgICBjb2x1bW5Nb3ZlTW92ZTogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdjb2x1bW5Nb3ZlTW92ZScpLFxuICAgICAgICBjb2x1bW5Nb3ZlSGlkZTogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdjb2x1bW5Nb3ZlSGlkZScpLFxuICAgICAgICBjb2x1bW5Nb3ZlTGVmdDogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdjb2x1bW5Nb3ZlTGVmdCcpLFxuICAgICAgICBjb2x1bW5Nb3ZlUmlnaHQ6IHRoaXMuI2dldEljb25UZW1wbGF0ZSgnY29sdW1uTW92ZVJpZ2h0JyksXG4gICAgICAgIGNvbHVtbk1vdmVQaW46IHRoaXMuI2dldEljb25UZW1wbGF0ZSgnY29sdW1uTW92ZVBpbicpLFxuICAgICAgfSxcbiAgICAgIG9uQ2VsbEZvY3VzZWQ6ICgpID0+IHRoaXMuI29uQ2VsbEZvY3VzZWQoKSxcbiAgICAgIHJvd0hlaWdodDogdGhpcy4jZ2V0Um93SGVpZ2h0KCksXG4gICAgICBnZXRSb3dIZWlnaHQ6ICgpID0+IHRoaXMuI2dldFJvd0hlaWdodCgpLFxuICAgICAgcm93TXVsdGlTZWxlY3RXaXRoQ2xpY2s6IHRydWUsXG4gICAgICByb3dTZWxlY3Rpb246ICdtdWx0aXBsZScsXG4gICAgICBzaW5nbGVDbGlja0VkaXQ6IHRydWUsXG4gICAgICBzb3J0aW5nT3JkZXI6IFsnZGVzYycsICdhc2MnLCBudWxsXSxcbiAgICAgIHN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb246IHRydWUsXG4gICAgICBzdXBwcmVzc0RyYWdMZWF2ZUhpZGVzQ29sdW1uczogdHJ1ZSxcbiAgICB9O1xuXG4gICAgY29uc3QgY29sdW1uVHlwZXMgPSBkZWZhdWx0U2t5R3JpZE9wdGlvbnMuY29sdW1uVHlwZXMgYXMgUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgQ29sRGVmXG4gICAgPjtcblxuICAgIGNvbHVtblR5cGVzW1NreUNlbGxUeXBlLkN1cnJlbmN5VmFsaWRhdG9yXSA9IHtcbiAgICAgIC4uLmNvbHVtblR5cGVzW1NreUNlbGxUeXBlLkN1cnJlbmN5XSxcbiAgICAgIGNlbGxSZW5kZXJlclBhcmFtczoge1xuICAgICAgICBza3lDb21wb25lbnRQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgdmFsaWRhdG9yOiAodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgcmV0dXJuICEhYCR7dmFsdWUgfHwgJyd9YC5tYXRjaCgvXlteMC05XSooXFxkK1ssLl0/KStcXGQqW14wLTldKiQvKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHZhbGlkYXRvck1lc3NhZ2U6ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBjdXJyZW5jeScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI3Jlc291cmNlcykge1xuICAgICAgdGhpcy4jcmVzb3VyY2VzXG4gICAgICAgIC5nZXRTdHJpbmcoJ3NreV9hZ19ncmlkX2NlbGxfcmVuZGVyZXJfY3VycmVuY3lfdmFsaWRhdG9yX21lc3NhZ2UnKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbHVtblR5cGVzW1xuICAgICAgICAgICAgU2t5Q2VsbFR5cGUuQ3VycmVuY3lWYWxpZGF0b3JcbiAgICAgICAgICBdLmNlbGxSZW5kZXJlclBhcmFtcy5za3lDb21wb25lbnRQcm9wZXJ0aWVzLnZhbGlkYXRvck1lc3NhZ2UgPSB2YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuTnVtYmVyVmFsaWRhdG9yXSA9IHtcbiAgICAgIC4uLmNvbHVtblR5cGVzW1NreUNlbGxUeXBlLlZhbGlkYXRvcl0sXG4gICAgICAuLi5jb2x1bW5UeXBlc1tTa3lDZWxsVHlwZS5OdW1iZXJdLFxuICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgLi4uY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuVmFsaWRhdG9yXS5jZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgLi4uY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuTnVtYmVyXS5jZWxsQ2xhc3NSdWxlcyxcbiAgICAgIH0sXG4gICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHtcbiAgICAgICAgc2t5Q29tcG9uZW50UHJvcGVydGllczoge1xuICAgICAgICAgIHZhbGlkYXRvcjogKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIHJldHVybiAhIXZhbHVlICYmICFpc05hTihwYXJzZUZsb2F0KHZhbHVlKSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB2YWxpZGF0b3JNZXNzYWdlOiAnUGxlYXNlIGVudGVyIGEgdmFsaWQgbnVtYmVyJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jcmVzb3VyY2VzKSB7XG4gICAgICB0aGlzLiNyZXNvdXJjZXNcbiAgICAgICAgLmdldFN0cmluZygnc2t5X2FnX2dyaWRfY2VsbF9yZW5kZXJlcl9udW1iZXJfdmFsaWRhdG9yX21lc3NhZ2UnKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbHVtblR5cGVzW1xuICAgICAgICAgICAgU2t5Q2VsbFR5cGUuTnVtYmVyVmFsaWRhdG9yXG4gICAgICAgICAgXS5jZWxsUmVuZGVyZXJQYXJhbXMuc2t5Q29tcG9uZW50UHJvcGVydGllcy52YWxpZGF0b3JNZXNzYWdlID0gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0U2t5R3JpZE9wdGlvbnM7XG4gIH1cblxuICAjb25DZWxsRm9jdXNlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50RWxlbWVudCA9IHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzZWRFbGVtZW50KCk7XG5cbiAgICB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZS5mb2N1c09uRm9jdXNhYmxlQ2hpbGRyZW4oY3VycmVudEVsZW1lbnQpO1xuICB9XG5cbiAgI2dldERlZmF1bHRFZGl0YWJsZUdyaWRPcHRpb25zKGFyZ3M6IFNreUdldEdyaWRPcHRpb25zQXJncyk6IEdyaWRPcHRpb25zIHtcbiAgICBjb25zdCBkZWZhdWx0R3JpZE9wdGlvbnMgPSB0aGlzLiNnZXREZWZhdWx0R3JpZE9wdGlvbnMoYXJncyk7XG5cbiAgICBkZWZhdWx0R3JpZE9wdGlvbnMucm93U2VsZWN0aW9uID0gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIGRlZmF1bHRHcmlkT3B0aW9ucztcbiAgfVxuXG4gICNnZXRJY29uVGVtcGxhdGUoaWNvbk5hbWU6IGtleW9mIEljb25NYXBUeXBlKTogKCkgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29uc3QgaWNvbiA9IGljb25NYXBbaWNvbk5hbWVdO1xuICAgICAgaWYgKHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWUubmFtZSA9PT0gJ21vZGVybicgJiYgaWNvbi5za3lJY29uKSB7XG4gICAgICAgIHJldHVybiBgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJza3ktaS0ke2ljb24uc2t5SWNvbn1cIj48L2k+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJmYSBmYS0ke2ljb24uZmFJY29ufVwiPjwvaT5gO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAjc3VwcHJlc3NUYWIocGFyYW1zOiBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMpOiBib29sZWFuIHtcbiAgICBpZiAocGFyYW1zLmV2ZW50LmNvZGUgPT09ICdUYWInKSB7XG4gICAgICBpZiAocGFyYW1zLmVkaXRpbmcpIHtcbiAgICAgICAgY29uc3QgY3VycmVudGx5Rm9jdXNlZEVsID1cbiAgICAgICAgICB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZS5nZXRGb2N1c2VkRWxlbWVudCgpO1xuICAgICAgICAvLyBpbmxpbmUgY2VsbCBlZGl0b3JzIGhhdmUgdGhlICdhZy1jZWxsJyBjbGFzcywgd2hpbGUgcG9wdXAgZWRpdG9ycyBoYXZlIHRoZSAnYWctcG9wdXAtZWRpdG9yJyBjbGFzc1xuICAgICAgICBjb25zdCBjZWxsRWwgPSB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZS5nZXRFbGVtZW50T3JQYXJlbnRXaXRoQ2xhc3MoXG4gICAgICAgICAgY3VycmVudGx5Rm9jdXNlZEVsLFxuICAgICAgICAgICdhZy1jZWxsJyxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcG9wdXBFbCA9IHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldEVsZW1lbnRPclBhcmVudFdpdGhDbGFzcyhcbiAgICAgICAgICBjdXJyZW50bHlGb2N1c2VkRWwsXG4gICAgICAgICAgJ2FnLXBvcHVwLWVkaXRvcicsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHBhcmVudEVsID0gY2VsbEVsIHx8IHBvcHVwRWw7XG5cbiAgICAgICAgY29uc3QgbmV4dEZvY3VzYWJsZUVsZW1lbnRJbkNlbGwgPVxuICAgICAgICAgIHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldE5leHRGb2N1c2FibGVFbGVtZW50KFxuICAgICAgICAgICAgY3VycmVudGx5Rm9jdXNlZEVsLFxuICAgICAgICAgICAgcGFyZW50RWwsXG4gICAgICAgICAgICBwYXJhbXMuZXZlbnQuc2hpZnRLZXksXG4gICAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuICEhbmV4dEZvY3VzYWJsZUVsZW1lbnRJbkNlbGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgI2dldFJvd0hlaWdodCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNjdXJyZW50VGhlbWU/LnRoZW1lPy5uYW1lID09PSAnbW9kZXJuJyA/IDYwIDogMzg7XG4gIH1cbn1cbiJdfQ==
|
|
465
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FnLWdyaWQvc3JjL2xpYi9tb2R1bGVzL2FnLWdyaWQvYWctZ3JpZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFlakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDdEksT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDMUgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDaEksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDOUcsT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDckosT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDbEksT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDNUgsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDN0ksT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0s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QUcsTUFBTSxJQUFJLE9BQU8sQ0FBQztnQkFFbkMsTUFBTSwwQkFBMEIsR0FDOUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHVCQUF1QixDQUNoRCxrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUN0QixDQUFDO2dCQUNKLE9BQU8sQ0FBQyxDQUFDLDBCQUEwQixDQUFDO2FBQ3JDO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hFLENBQUM7OEdBbmNVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBWUksUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5RGF0ZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvZGF0ZXRpbWUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSwgU2t5VGhlbWVTZXR0aW5ncyB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7XG4gIENlbGxDbGFzc1BhcmFtcyxcbiAgQ29sRGVmLFxuICBFZGl0YWJsZUNhbGxiYWNrUGFyYW1zLFxuICBHcmlkT3B0aW9ucyxcbiAgSUNlbGxSZW5kZXJlclBhcmFtcyxcbiAgUm93Q2xhc3NQYXJhbXMsXG4gIFN1cHByZXNzSGVhZGVyS2V5Ym9hcmRFdmVudFBhcmFtcyxcbiAgU3VwcHJlc3NLZXlib2FyZEV2ZW50UGFyYW1zLFxuICBWYWx1ZUZvcm1hdHRlclBhcmFtcyxcbn0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vYWctZ3JpZC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgYXBwbHlTa3lMb29rdXBQcm9wZXJ0aWVzRGVmYXVsdHMgfSBmcm9tICcuL2FwcGx5LWxvb2t1cC1wcm9wZXJ0aWVzLWRlZmF1bHRzJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yQ3VycmVuY3lDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1jdXJyZW5jeS9jZWxsLWVkaXRvci1jdXJyZW5jeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckRhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1kYXRlcGlja2VyL2NlbGwtZWRpdG9yLWRhdGVwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JMb29rdXBDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1sb29rdXAvY2VsbC1lZGl0b3ItbG9va3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLWVkaXRvcnMvY2VsbC1lZGl0b3ItbnVtYmVyL2NlbGwtZWRpdG9yLW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvclRleHRDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci10ZXh0L2NlbGwtZWRpdG9yLXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5VmFsaWRhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLWN1cnJlbmN5L2NlbGwtcmVuZGVyZXItY3VycmVuY3ktdmFsaWRhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJDdXJyZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci1jdXJyZW5jeS9jZWxsLXJlbmRlcmVyLWN1cnJlbmN5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJMb29rdXBDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtcmVuZGVyZXJzL2NlbGwtcmVuZGVyZXItbG9va3VwL2NlbGwtcmVuZGVyZXItbG9va3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJSb3dTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci1yb3ctc2VsZWN0b3IvY2VsbC1yZW5kZXJlci1yb3ctc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlclRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLXRlbXBsYXRlL2NlbGwtcmVuZGVyZXItdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlclZhbGlkYXRvclRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtcmVuZGVyZXJzL2NlbGwtcmVuZGVyZXItdmFsaWRhdG9yLXRvb2x0aXAvY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkSGVhZGVyR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9oZWFkZXItZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbk1hcFR5cGUsIGljb25NYXAgfSBmcm9tICcuL2ljb25zL2ljb24tbWFwJztcbmltcG9ydCB7IFNreUNlbGxDbGFzcyB9IGZyb20gJy4vdHlwZXMvY2VsbC1jbGFzcyc7XG5pbXBvcnQgeyBTa3lDZWxsVHlwZSB9IGZyb20gJy4vdHlwZXMvY2VsbC10eXBlJztcbmltcG9ydCB7IFNreUhlYWRlckNsYXNzIH0gZnJvbSAnLi90eXBlcy9oZWFkZXItY2xhc3MnO1xuaW1wb3J0IHsgU2t5R2V0R3JpZE9wdGlvbnNBcmdzIH0gZnJvbSAnLi90eXBlcy9za3ktZ3JpZC1vcHRpb25zJztcblxuZnVuY3Rpb24gYXV0b2NvbXBsZXRlQ29tcGFyYXRvcihcbiAgdmFsdWUxOiB7IG5hbWU6IHN0cmluZyB9LFxuICB2YWx1ZTI6IHsgbmFtZTogc3RyaW5nIH0sXG4pOiBudW1iZXIge1xuICBpZiAodmFsdWUxICYmIHZhbHVlMikge1xuICAgIGlmICh2YWx1ZTEubmFtZSA+IHZhbHVlMi5uYW1lKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUxLm5hbWUgPCB2YWx1ZTIubmFtZSkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlMSA/IDEgOiAtMTtcbn1cblxuZnVuY3Rpb24gYXV0b2NvbXBsZXRlRm9ybWF0dGVyKHBhcmFtczogVmFsdWVGb3JtYXR0ZXJQYXJhbXMpOiBzdHJpbmcge1xuICByZXR1cm4gcGFyYW1zLnZhbHVlICYmIHBhcmFtcy52YWx1ZS5uYW1lO1xufVxuXG5mdW5jdGlvbiBkYXRlQ29tcGFyYXRvcihkYXRlMTogRGF0ZSB8IHN0cmluZywgZGF0ZTI6IERhdGUgfCBzdHJpbmcpOiBudW1iZXIge1xuICBsZXQgZGF0ZTF2YWx1ZSA9IGRhdGUxO1xuICBsZXQgZGF0ZTJ2YWx1ZSA9IGRhdGUyO1xuXG4gIGlmICh0eXBlb2YgZGF0ZTF2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICBkYXRlMXZhbHVlID0gbmV3IERhdGUoZGF0ZTEpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBkYXRlMnZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGRhdGUydmFsdWUgPSBuZXcgRGF0ZShkYXRlMik7XG4gIH1cblxuICBpZiAoZGF0ZTF2YWx1ZSAmJiBkYXRlMnZhbHVlKSB7XG4gICAgaWYgKGRhdGUxdmFsdWUgPiBkYXRlMnZhbHVlKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBpZiAoZGF0ZTF2YWx1ZSA8IGRhdGUydmFsdWUpIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHJldHVybiBkYXRlMXZhbHVlID8gMSA6IC0xO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZnVuY3Rpb24gZ2V0VmFsaWRhdG9yQ2VsbFJlbmRlcmVyU2VsZWN0b3IoY29tcG9uZW50OiBzdHJpbmcsIGZhbGxiYWNrPzogYW55KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHJldHVybiAocGFyYW1zOiBJQ2VsbFJlbmRlcmVyUGFyYW1zKTogYW55ID0+IHtcbiAgICBpZiAoXG4gICAgICBwYXJhbXMuY29sRGVmICYmXG4gICAgICB0eXBlb2YgcGFyYW1zLmNvbERlZi5jZWxsUmVuZGVyZXJQYXJhbXM/LnNreUNvbXBvbmVudFByb3BlcnRpZXNcbiAgICAgICAgPy52YWxpZGF0b3IgPT09ICdmdW5jdGlvbidcbiAgICApIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXBhcmFtcy5jb2xEZWYuY2VsbFJlbmRlcmVyUGFyYW1zLnNreUNvbXBvbmVudFByb3BlcnRpZXMudmFsaWRhdG9yKFxuICAgICAgICAgIHBhcmFtcy52YWx1ZSxcbiAgICAgICAgICBwYXJhbXMuZGF0YSxcbiAgICAgICAgICBwYXJhbXMucm93SW5kZXgsXG4gICAgICAgIClcbiAgICAgICkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbXBvbmVudCxcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIC4uLnBhcmFtcy5jb2xEZWYuY2VsbFJlbmRlcmVyUGFyYW1zLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxsYmFjaztcbiAgfTtcbn1cblxubGV0IHJvd05vZGVJZCA9IC0xO1xuXG4vKipcbiAqIGBTa3lBZ0dyaWRTZXJ2aWNlYCBwcm92aWRlcyBtZXRob2RzIHRvIGdldCBBRyBHcmlkIGBncmlkT3B0aW9uc2AgdG8gZW5zdXJlIGdyaWRzIG1hdGNoIFNLWSBVWCBmdW5jdGlvbmFsaXR5LiBUaGUgYGdyaWRPcHRpb25zYCBjYW4gYmUgb3ZlcnJpZGRlbiwgYW5kIGluY2x1ZGUgcmVnaXN0ZXJlZCBTS1kgVVggY29sdW1uIHR5cGVzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICNrZXlNYXAgPSBuZXcgV2Vha01hcDxhbnksIHN0cmluZz4oKTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjY3VycmVudFRoZW1lOiBTa3lUaGVtZVNldHRpbmdzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAjYWdHcmlkQWRhcHRlclNlcnZpY2U6IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlO1xuICAjcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGRhdGVTZXJ2aWNlID0gaW5qZWN0KFNreURhdGVTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhZ0dyaWRBZGFwdGVyU2VydmljZTogU2t5QWdHcmlkQWRhcHRlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcmVzb3VyY2VzPzogU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jYWdHcmlkQWRhcHRlclNlcnZpY2UgPSBhZ0dyaWRBZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNyZXNvdXJjZXMgPSByZXNvdXJjZXM7XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhlbWVTdmMpIHtcbiAgICAgIHRoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc2V0dGluZ3NDaGFuZ2UpID0+IHtcbiAgICAgICAgICB0aGlzLiNjdXJyZW50VGhlbWUgPSBzZXR0aW5nc0NoYW5nZS5jdXJyZW50U2V0dGluZ3M7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBbQUcgR3JpZCBgZ3JpZE9wdGlvbnNgXShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9qYXZhc2NyaXB0LWdyaWQtcHJvcGVydGllcy8pIHdpdGggZGVmYXVsdCBTS1kgVVggb3B0aW9ucywgc3R5bGluZywgYW5kIGNlbGwgcmVuZGVyZXJzIHJlZ2lzdGVyZWQgZm9yIHJlYWQtb25seSBncmlkcy5cbiAgICogQHBhcmFtIGFyZ3NcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyBnZXRHcmlkT3B0aW9ucyhhcmdzOiBTa3lHZXRHcmlkT3B0aW9uc0FyZ3MpOiBHcmlkT3B0aW9ucyB7XG4gICAgY29uc3QgZGVmYXVsdEdyaWRPcHRpb25zID0gdGhpcy4jZ2V0RGVmYXVsdEdyaWRPcHRpb25zKGFyZ3MpO1xuICAgIGNvbnN0IG1lcmdlZEdyaWRPcHRpb25zID0gdGhpcy4jbWVyZ2VHcmlkT3B0aW9ucyhcbiAgICAgIGRlZmF1bHRHcmlkT3B0aW9ucyxcbiAgICAgIGFyZ3MuZ3JpZE9wdGlvbnMsXG4gICAgKTtcblxuICAgIHJldHVybiBtZXJnZWRHcmlkT3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIFtBRyBHcmlkIGBncmlkT3B0aW9uc2BdKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2phdmFzY3JpcHQtZ3JpZC1wcm9wZXJ0aWVzLykgd2l0aCBkZWZhdWx0IFNLWSBVWCBvcHRpb25zLCBzdHlsaW5nLCBhbmQgY2VsbCBlZGl0b3JzIHJlZ2lzdGVyZWQgZm9yIGVkaXRhYmxlIGdyaWRzLlxuICAgKiBAcGFyYW0gYXJnc1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGdldEVkaXRhYmxlR3JpZE9wdGlvbnMoYXJnczogU2t5R2V0R3JpZE9wdGlvbnNBcmdzKTogR3JpZE9wdGlvbnMge1xuICAgIGNvbnN0IGRlZmF1bHRHcmlkT3B0aW9ucyA9IHRoaXMuI2dldERlZmF1bHRFZGl0YWJsZUdyaWRPcHRpb25zKGFyZ3MpO1xuICAgIGNvbnN0IG1lcmdlZEdyaWRPcHRpb25zID0gdGhpcy4jbWVyZ2VHcmlkT3B0aW9ucyhcbiAgICAgIGRlZmF1bHRHcmlkT3B0aW9ucyxcbiAgICAgIGFyZ3MuZ3JpZE9wdGlvbnMsXG4gICAgKTtcbiAgICBtZXJnZWRHcmlkT3B0aW9ucy5jb250ZXh0IHx8PSB7fTtcbiAgICBtZXJnZWRHcmlkT3B0aW9ucy5jb250ZXh0LmdyaWRPcHRpb25zID0ge1xuICAgICAgLi4ubWVyZ2VkR3JpZE9wdGlvbnMsXG4gICAgfTtcblxuICAgIHJldHVybiBtZXJnZWRHcmlkT3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBnZXRIZWFkZXJIZWlnaHQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jY3VycmVudFRoZW1lPy50aGVtZT8ubmFtZSA9PT0gJ21vZGVybicgPyA2MCA6IDM3O1xuICB9XG5cbiAgI21lcmdlR3JpZE9wdGlvbnMoXG4gICAgZGVmYXVsdEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyxcbiAgICBwcm92aWRlZEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyxcbiAgKTogR3JpZE9wdGlvbnMge1xuICAgIGNvbnN0IG1lcmdlZEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyA9IHtcbiAgICAgIC4uLmRlZmF1bHRHcmlkT3B0aW9ucyxcbiAgICAgIC4uLnByb3ZpZGVkR3JpZE9wdGlvbnMsXG4gICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIC4uLnByb3ZpZGVkR3JpZE9wdGlvbnMuY29tcG9uZW50cyxcbiAgICAgICAgLy8gQXBwbHkgZGVmYXVsdCBjb21wb25lbnRzIGxhc3QgdG8gcHJldmVudCBjb25zdW1lcnMgZnJvbSBvdmVyd3JpdGluZyBvdXIgY29tcG9uZW50IHR5cGVzLlxuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuY29tcG9uZW50cyxcbiAgICAgIH0sXG4gICAgICBjb2x1bW5UeXBlczoge1xuICAgICAgICAuLi5wcm92aWRlZEdyaWRPcHRpb25zLmNvbHVtblR5cGVzLFxuICAgICAgICAvLyBhcHBseSBkZWZhdWx0IHNlY29uZCB0byBwcmV2ZW50IGNvbnN1bWVycyBmcm9tIG92ZXJ3cml0aW5nIG91ciBkZWZhdWx0IGNvbHVtbiB0eXBlc1xuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuY29sdW1uVHlwZXMsXG4gICAgICB9LFxuICAgICAgZGVmYXVsdENvbERlZjoge1xuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuZGVmYXVsdENvbERlZixcbiAgICAgICAgLi4ucHJvdmlkZWRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sRGVmLFxuICAgICAgICAvLyBhbGxvdyBjb25zdW1lcnMgdG8gb3ZlcnJpZGUgYWxsIGRlZmF1bHRDb2xEZWYgcHJvcGVydGllcyBleGNlcHQgY2VsbENsYXNzUnVsZXMsIHdoaWNoIHdlIHJlc2VydmUgZm9yIHN0eWxpbmdcbiAgICAgICAgY2VsbENsYXNzUnVsZXM6IGRlZmF1bHRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sRGVmPy5jZWxsQ2xhc3NSdWxlcyxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0Q29sR3JvdXBEZWY6IHtcbiAgICAgICAgLi4uZGVmYXVsdEdyaWRPcHRpb25zLmRlZmF1bHRDb2xHcm91cERlZixcbiAgICAgICAgLi4ucHJvdmlkZWRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sR3JvdXBEZWYsXG4gICAgICB9LFxuICAgICAgaWNvbnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdEdyaWRPcHRpb25zLmljb25zLFxuICAgICAgICAuLi5wcm92aWRlZEdyaWRPcHRpb25zLmljb25zLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgLy8gUHJlZmVyIGBnZXRSb3dOb2RlSWRgIG92ZXIgYGdldE5vZGVJZGAgaWYgc2V0IGJ5IHRoZSBjb25zdW1lciwgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gICAgaWYgKG1lcmdlZEdyaWRPcHRpb25zLmdldFJvd05vZGVJZCkge1xuICAgICAgZGVsZXRlIG1lcmdlZEdyaWRPcHRpb25zLmdldFJvd0lkO1xuICAgIH1cblxuICAgIHJldHVybiBtZXJnZWRHcmlkT3B0aW9ucztcbiAgfVxuXG4gICNnZXREZWZhdWx0R3JpZE9wdGlvbnMoYXJnczogU2t5R2V0R3JpZE9wdGlvbnNBcmdzKTogR3JpZE9wdGlvbnMge1xuICAgIC8vIGNlbGxDbGFzc1J1bGVzIGNhbiBiZSBmdW5jdGlvbnMgb3Igc3RyaW5nIGV4cHJlc3Npb25zXG4gICAgY29uc3QgY2VsbENsYXNzUnVsZVRydWVFeHByZXNzaW9uID0gKCk6IGJvb2xlYW4gPT4gdHJ1ZTtcblxuICAgIGZ1bmN0aW9uIGdldEVkaXRhYmxlRm4oXG4gICAgICBpc1VuZWRpdGFibGU/OiBib29sZWFuLFxuICAgICk6IChwYXJhbXM6IENlbGxDbGFzc1BhcmFtcykgPT4gYm9vbGVhbiB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKHBhcmFtczogQ2VsbENsYXNzUGFyYW1zKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBpc0VkaXRhYmxlID0gcGFyYW1zLmNvbERlZi5lZGl0YWJsZTtcblxuICAgICAgICBpZiAodHlwZW9mIGlzRWRpdGFibGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBjb25zdCBjb2x1bW4gPSBwYXJhbXMuY29sdW1uQXBpLmdldENvbHVtbihwYXJhbXMuY29sRGVmLmZpZWxkKTtcbiAgICAgICAgICBpc0VkaXRhYmxlID0gaXNFZGl0YWJsZSh7XG4gICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgfSBhcyBFZGl0YWJsZUNhbGxiYWNrUGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpc1VuZWRpdGFibGUgPyAhaXNFZGl0YWJsZSA6ICEhaXNFZGl0YWJsZTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyA9IHtcbiAgICAgIFtTa3lDZWxsQ2xhc3MuRWRpdGFibGVdOiBnZXRFZGl0YWJsZUZuKCksXG4gICAgICBbU2t5Q2VsbENsYXNzLlVuZWRpdGFibGVdOiBnZXRFZGl0YWJsZUZuKHRydWUpLFxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBnZXRWYWxpZGF0b3JGbigpOiAocGFyYW1zOiBDZWxsQ2xhc3NQYXJhbXMpID0+IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIChwYXJhbTogQ2VsbENsYXNzUGFyYW1zKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYXJhbS5jb2xEZWYgJiZcbiAgICAgICAgICB0eXBlb2YgcGFyYW0uY29sRGVmLmNlbGxSZW5kZXJlclBhcmFtcz8uc2t5Q29tcG9uZW50UHJvcGVydGllc1xuICAgICAgICAgICAgPy52YWxpZGF0b3IgPT09ICdmdW5jdGlvbidcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuICFwYXJhbS5jb2xEZWYuY2VsbFJlbmRlcmVyUGFyYW1zLnNreUNvbXBvbmVudFByb3BlcnRpZXMudmFsaWRhdG9yKFxuICAgICAgICAgICAgcGFyYW0udmFsdWUsXG4gICAgICAgICAgICBwYXJhbS5kYXRhLFxuICAgICAgICAgICAgcGFyYW0ucm93SW5kZXgsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkYXRvckNlbGxDbGFzc1J1bGVzID0ge1xuICAgICAgW1NreUNlbGxDbGFzcy5JbnZhbGlkXTogZ2V0VmFsaWRhdG9yRm4oKSxcbiAgICB9O1xuXG4gICAgY29uc3QgZGVmYXVsdFNreUdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyA9IHtcbiAgICAgIGNvbHVtblR5cGVzOiB7XG4gICAgICAgIFtTa3lDZWxsVHlwZS5BdXRvY29tcGxldGVdOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIFtTa3lDZWxsQ2xhc3MuQXV0b2NvbXBsZXRlXTogY2VsbENsYXNzUnVsZVRydWVFeHByZXNzaW9uLFxuICAgICAgICAgICAgLi4uZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNlbGxFZGl0b3I6IFNreUFnR3JpZENlbGxFZGl0b3JBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgICAgICAgdmFsdWVGb3JtYXR0ZXI6IGF1dG9jb21wbGV0ZUZvcm1hdHRlcixcbiAgICAgICAgICBjb21wYXJhdG9yOiBhdXRvY29tcGxldGVDb21wYXJhdG9yLFxuICAgICAgICAgIG1pbldpZHRoOiAxODUsXG4gICAgICAgIH0sXG4gICAgICAgIFtTa3lDZWxsVHlwZS5DdXJyZW5jeV06IHtcbiAgICAgICAgICBjZWxsQ2xhc3NSdWxlczoge1xuICAgICAgICAgICAgW1NreUNlbGxDbGFzcy5DdXJyZW5jeV06IGNlbGxDbGFzc1J1bGVUcnVlRXhwcmVzc2lvbixcbiAgICAgICAgICAgIC4uLnZhbGlkYXRvckNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgICAgLi4uZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNlbGxSZW5kZXJlclNlbGVjdG9yOiBnZXRWYWxpZGF0b3JDZWxsUmVuZGVyZXJTZWxlY3RvcihcbiAgICAgICAgICAgICdza3ktYWctZ3JpZC1jZWxsLXJlbmRlcmVyLWN1cnJlbmN5LXZhbGlkYXRvcicsXG4gICAgICAgICAgICB7IGNvbXBvbmVudDogJ3NreS1hZy1ncmlkLWNlbGwtcmVuZGVyZXItY3VycmVuY3knIH0sXG4gICAgICAgICAgKSxcbiAgICAgICAgICBjZWxsRWRpdG9yOiBTa3lBZ0dyaWRDZWxsRWRpdG9yQ3VycmVuY3lDb21wb25lbnQsXG4gICAgICAgICAgaGVhZGVyQ2xhc3M6IFNreUhlYWRlckNsYXNzLlJpZ2h0QWxpZ25lZCxcbiAgICAgICAgICBtaW5XaWR0aDogMTg1LFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuRGF0ZV06IHtcbiAgICAgICAgICBjZWxsQ2xhc3NSdWxlczoge1xuICAgICAgICAgICAgW1NreUNlbGxDbGFzcy5EYXRlXTogY2VsbENsYXNzUnVsZVRydWVFeHByZXNzaW9uLFxuICAgICAgICAgICAgLi4uZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNlbGxFZGl0b3I6IFNreUFnR3JpZENlbGxFZGl0b3JEYXRlcGlja2VyQ29tcG9uZW50LFxuICAgICAgICAgIGNvbXBhcmF0b3I6IGRhdGVDb21wYXJhdG9yLFxuICAgICAgICAgIG1pbldpZHRoOiB0aGlzLiNjdXJyZW50VGhlbWU/LnRoZW1lPy5uYW1lID09PSAnbW9kZXJuJyA/IDE4MCA6IDE2MCxcbiAgICAgICAgICB2YWx1ZUZvcm1hdHRlcjogKHBhcmFtczogVmFsdWVGb3JtYXR0ZXJQYXJhbXMpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlU2VydmljZS5mb3JtYXQoXG4gICAgICAgICAgICAgICAgICBwYXJhbXMudmFsdWUsXG4gICAgICAgICAgICAgICAgICBhcmdzLmxvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGFyZ3MuZGF0ZUZvcm1hdCB8fCAnc2hvcnREYXRlJyxcbiAgICAgICAgICAgICAgICApIHx8ICcnXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgW1NreUNlbGxUeXBlLkxvb2t1cF06IHtcbiAgICAgICAgICBjZWxsQ2xhc3NSdWxlczoge1xuICAgICAgICAgICAgW1NreUNlbGxDbGFzcy5Mb29rdXBdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi5lZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvckxvb2t1cENvbXBvbmVudCxcbiAgICAgICAgICBjZWxsUmVuZGVyZXI6IFNreUFnR3JpZENlbGxSZW5kZXJlckxvb2t1cENvbXBvbmVudCxcbiAgICAgICAgICB2YWx1ZUZvcm1hdHRlcjogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgbG9va3VwUHJvcGVydGllcyA9IGFwcGx5U2t5TG9va3VwUHJvcGVydGllc0RlZmF1bHRzKHBhcmFtcyk7XG4gICAgICAgICAgICByZXR1cm4gKHBhcmFtcy52YWx1ZSB8fCBbXSlcbiAgICAgICAgICAgICAgLm1hcCgodmFsdWU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlW2xvb2t1cFByb3BlcnRpZXMuZGVzY3JpcHRvclByb3BlcnR5IGFzIHN0cmluZ107XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHZhbHVlOiB1bmtub3duKSA9PiB2YWx1ZSAhPT0gJycgJiYgdmFsdWUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgLmpvaW4oJzsgJyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBtaW5XaWR0aDogMTg1LFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuTnVtYmVyXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLk51bWJlcl06IGNlbGxDbGFzc1J1bGVUcnVlRXhwcmVzc2lvbixcbiAgICAgICAgICAgIC4uLnZhbGlkYXRvckNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgICAgLi4uZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNlbGxSZW5kZXJlclNlbGVjdG9yOiBnZXRWYWxpZGF0b3JDZWxsUmVuZGVyZXJTZWxlY3RvcihcbiAgICAgICAgICAgICdza3ktYWctZ3JpZC1jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwJyxcbiAgICAgICAgICApLFxuICAgICAgICAgIGNlbGxFZGl0b3I6IFNreUFnR3JpZENlbGxFZGl0b3JOdW1iZXJDb21wb25lbnQsXG4gICAgICAgICAgaGVhZGVyQ2xhc3M6IFNreUhlYWRlckNsYXNzLlJpZ2h0QWxpZ25lZCxcbiAgICAgICAgfSxcbiAgICAgICAgW1NreUNlbGxUeXBlLlJvd1NlbGVjdG9yXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLlJvd1NlbGVjdG9yXTogY2VsbENsYXNzUnVsZVRydWVFeHByZXNzaW9uLFxuICAgICAgICAgICAgW1NreUNlbGxDbGFzcy5VbmVkaXRhYmxlXTogY2VsbENsYXNzUnVsZVRydWVFeHByZXNzaW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbFJlbmRlcmVyOiBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJSb3dTZWxlY3RvckNvbXBvbmVudCxcbiAgICAgICAgICBoZWFkZXJOYW1lOiAnJyxcbiAgICAgICAgICBtaW5XaWR0aDogNTUsXG4gICAgICAgICAgbWF4V2lkdGg6IDU1LFxuICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgICAgICB3aWR0aDogNTUsXG4gICAgICAgIH0sXG4gICAgICAgIFtTa3lDZWxsVHlwZS5UZW1wbGF0ZV06IHtcbiAgICAgICAgICBjZWxsUmVuZGVyZXI6IFNreUFnR3JpZENlbGxSZW5kZXJlclRlbXBsYXRlQ29tcG9uZW50LFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuVGV4dF06IHtcbiAgICAgICAgICBjZWxsQ2xhc3NSdWxlczoge1xuICAgICAgICAgICAgW1NreUNlbGxDbGFzcy5UZXh0XTogY2VsbENsYXNzUnVsZVRydWVFeHByZXNzaW9uLFxuICAgICAgICAgICAgLi4udmFsaWRhdG9yQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgICAuLi5lZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvclRleHRDb21wb25lbnQsXG4gICAgICAgICAgY2VsbFJlbmRlcmVyU2VsZWN0b3I6IGdldFZhbGlkYXRvckNlbGxSZW5kZXJlclNlbGVjdG9yKFxuICAgICAgICAgICAgJ3NreS1hZy1ncmlkLWNlbGwtcmVuZGVyZXItdmFsaWRhdG9yLXRvb2x0aXAnLFxuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICAgIFtTa3lDZWxsVHlwZS5WYWxpZGF0b3JdOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIC4uLnZhbGlkYXRvckNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgICAgLi4uZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNlbGxSZW5kZXJlclNlbGVjdG9yOiBnZXRWYWxpZGF0b3JDZWxsUmVuZGVyZXJTZWxlY3RvcihcbiAgICAgICAgICAgICdza3ktYWctZ3JpZC1jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwJyxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRlZmF1bHRDb2xEZWY6IHtcbiAgICAgICAgY2VsbENsYXNzUnVsZXM6IGVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgIGhlYWRlckNvbXBvbmVudDogU2t5QWdHcmlkSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBtaW5XaWR0aDogMTAwLFxuICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBzdXBwcmVzc0hlYWRlcktleWJvYXJkRXZlbnQ6IChcbiAgICAgICAgICBrZXlwcmVzczogU3VwcHJlc3NIZWFkZXJLZXlib2FyZEV2ZW50UGFyYW1zLFxuICAgICAgICApID0+IGtleXByZXNzLmV2ZW50LmNvZGUgPT09ICdUYWInLFxuICAgICAgICBzdXBwcmVzc0tleWJvYXJkRXZlbnQ6IChrZXlwcmVzczogU3VwcHJlc3NLZXlib2FyZEV2ZW50UGFyYW1zKSA9PlxuICAgICAgICAgIHRoaXMuI3N1cHByZXNzVGFiKGtleXByZXNzKSxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0Q29sR3JvdXBEZWY6IHtcbiAgICAgICAgaGVhZGVyR3JvdXBDb21wb25lbnQ6IFNreUFnR3JpZEhlYWRlckdyb3VwQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIGRvbUxheW91dDogJ2F1dG9IZWlnaHQnLFxuICAgICAgZW5zdXJlRG9tT3JkZXI6IHRydWUsXG4gICAgICBlbnRlck1vdmVzRG93bkFmdGVyRWRpdDogdHJ1ZSxcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgJ3NreS1hZy1ncmlkLWNlbGwtcmVuZGVyZXItY3VycmVuY3knOlxuICAgICAgICAgIFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5Q29tcG9uZW50LFxuICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci1jdXJyZW5jeS12YWxpZGF0b3InOlxuICAgICAgICAgIFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5VmFsaWRhdG9yQ29tcG9uZW50LFxuICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcCc6XG4gICAgICAgICAgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICBnZXRSb3dJZDogKHBhcmFtcykgPT4ge1xuICAgICAgICBjb25zdCBkYXRhSWQgPSBwYXJhbXMuZGF0YS5pZDtcbiAgICAgICAgaWYgKGRhdGFJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIGAke3BhcmFtcy5kYXRhLmlkfWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLiNrZXlNYXAuaGFzKHBhcmFtcy5kYXRhKSkge1xuICAgICAgICAgIHRoaXMuI2tleU1hcC5zZXQocGFyYW1zLmRhdGEsIGAke3Jvd05vZGVJZC0tfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLiNrZXlNYXAuZ2V0KHBhcmFtcy5kYXRhKSBhcyBzdHJpbmc7XG4gICAgICB9LFxuICAgICAgZ2V0Um93Q2xhc3M6IChwYXJhbXM6IFJvd0NsYXNzUGFyYW1zKSA9PiB7XG4gICAgICAgIGlmIChwYXJhbXMubm9kZS5pZCkge1xuICAgICAgICAgIHJldHVybiBgc2t5LWFnLWdyaWQtcm93LSR7cGFyYW1zLm5vZGUuaWR9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgaGVhZGVySGVpZ2h0OiB0aGlzLmdldEhlYWRlckhlaWdodCgpLFxuICAgICAgaWNvbnM6IHtcbiAgICAgICAgc29ydERlc2NlbmRpbmc6IHRoaXMuI2dldEljb25UZW1wbGF0ZSgnc29ydERlc2NlbmRpbmcnKSxcbiAgICAgICAgc29ydEFzY2VuZGluZzogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdzb3J0QXNjZW5kaW5nJyksXG4gICAgICAgIGNvbHVtbk1vdmVNb3ZlOiB0aGlzLiNnZXRJY29uVGVtcGxhdGUoJ2NvbHVtbk1vdmVNb3ZlJyksXG4gICAgICAgIGNvbHVtbk1vdmVIaWRlOiB0aGlzLiNnZXRJY29uVGVtcGxhdGUoJ2NvbHVtbk1vdmVIaWRlJyksXG4gICAgICAgIGNvbHVtbk1vdmVMZWZ0OiB0aGlzLiNnZXRJY29uVGVtcGxhdGUoJ2NvbHVtbk1vdmVMZWZ0JyksXG4gICAgICAgIGNvbHVtbk1vdmVSaWdodDogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdjb2x1bW5Nb3ZlUmlnaHQnKSxcbiAgICAgICAgY29sdW1uTW92ZVBpbjogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdjb2x1bW5Nb3ZlUGluJyksXG4gICAgICB9LFxuICAgICAgb25DZWxsRm9jdXNlZDogKCkgPT4gdGhpcy4jb25DZWxsRm9jdXNlZCgpLFxuICAgICAgcm93SGVpZ2h0OiB0aGlzLiNnZXRSb3dIZWlnaHQoKSxcbiAgICAgIGdldFJvd0hlaWdodDogKCkgPT4gdGhpcy4jZ2V0Um93SGVpZ2h0KCksXG4gICAgICByb3dNdWx0aVNlbGVjdFdpdGhDbGljazogdHJ1ZSxcbiAgICAgIHJvd1NlbGVjdGlvbjogJ211bHRpcGxlJyxcbiAgICAgIHNpbmdsZUNsaWNrRWRpdDogdHJ1ZSxcbiAgICAgIHNvcnRpbmdPcmRlcjogWydkZXNjJywgJ2FzYycsIG51bGxdLFxuICAgICAgc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbjogdHJ1ZSxcbiAgICAgIHN1cHByZXNzRHJhZ0xlYXZlSGlkZXNDb2x1bW5zOiB0cnVlLFxuICAgIH07XG5cbiAgICBjb25zdCBjb2x1bW5UeXBlcyA9IGRlZmF1bHRTa3lHcmlkT3B0aW9ucy5jb2x1bW5UeXBlcyBhcyBSZWNvcmQ8XG4gICAgICBzdHJpbmcsXG4gICAgICBDb2xEZWZcbiAgICA+O1xuXG4gICAgY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuQ3VycmVuY3lWYWxpZGF0b3JdID0ge1xuICAgICAgLi4uY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuQ3VycmVuY3ldLFxuICAgICAgY2VsbFJlbmRlcmVyUGFyYW1zOiB7XG4gICAgICAgIHNreUNvbXBvbmVudFByb3BlcnRpZXM6IHtcbiAgICAgICAgICB2YWxpZGF0b3I6ICh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gISFgJHt2YWx1ZSB8fCAnJ31gLm1hdGNoKC9eW14wLTldKihcXGQrWywuXT8pK1xcZCpbXjAtOV0qJC8pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdmFsaWRhdG9yTWVzc2FnZTogJ1BsZWFzZSBlbnRlciBhIHZhbGlkIGN1cnJlbmN5JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jcmVzb3VyY2VzKSB7XG4gICAgICB0aGlzLiNyZXNvdXJjZXNcbiAgICAgICAgLmdldFN0cmluZygnc2t5X2FnX2dyaWRfY2VsbF9yZW5kZXJlcl9jdXJyZW5jeV92YWxpZGF0b3JfbWVzc2FnZScpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29sdW1uVHlwZXNbXG4gICAgICAgICAgICBTa3lDZWxsVHlwZS5DdXJyZW5jeVZhbGlkYXRvclxuICAgICAgICAgIF0uY2VsbFJlbmRlcmVyUGFyYW1zLnNreUNvbXBvbmVudFByb3BlcnRpZXMudmFsaWRhdG9yTWVzc2FnZSA9IHZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb2x1bW5UeXBlc1tTa3lDZWxsVHlwZS5OdW1iZXJWYWxpZGF0b3JdID0ge1xuICAgICAgLi4uY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuVmFsaWRhdG9yXSxcbiAgICAgIC4uLmNvbHVtblR5cGVzW1NreUNlbGxUeXBlLk51bWJlcl0sXG4gICAgICBjZWxsQ2xhc3NSdWxlczoge1xuICAgICAgICAuLi5jb2x1bW5UeXBlc1tTa3lDZWxsVHlwZS5WYWxpZGF0b3JdLmNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAuLi5jb2x1bW5UeXBlc1tTa3lDZWxsVHlwZS5OdW1iZXJdLmNlbGxDbGFzc1J1bGVzLFxuICAgICAgfSxcbiAgICAgIGNlbGxSZW5kZXJlclBhcmFtczoge1xuICAgICAgICBza3lDb21wb25lbnRQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgdmFsaWRhdG9yOiAodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgcmV0dXJuICEhdmFsdWUgJiYgIWlzTmFOKHBhcnNlRmxvYXQodmFsdWUpKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHZhbGlkYXRvck1lc3NhZ2U6ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBudW1iZXInLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLiNyZXNvdXJjZXMpIHtcbiAgICAgIHRoaXMuI3Jlc291cmNlc1xuICAgICAgICAuZ2V0U3RyaW5nKCdza3lfYWdfZ3JpZF9jZWxsX3JlbmRlcmVyX251bWJlcl92YWxpZGF0b3JfbWVzc2FnZScpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29sdW1uVHlwZXNbXG4gICAgICAgICAgICBTa3lDZWxsVHlwZS5OdW1iZXJWYWxpZGF0b3JcbiAgICAgICAgICBdLmNlbGxSZW5kZXJlclBhcmFtcy5za3lDb21wb25lbnRQcm9wZXJ0aWVzLnZhbGlkYXRvck1lc3NhZ2UgPSB2YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmF1bHRTa3lHcmlkT3B0aW9ucztcbiAgfVxuXG4gICNvbkNlbGxGb2N1c2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gdGhpcy4jYWdHcmlkQWRhcHRlclNlcnZpY2UuZ2V0Rm9jdXNlZEVsZW1lbnQoKTtcblxuICAgIHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmZvY3VzT25Gb2N1c2FibGVDaGlsZHJlbihjdXJyZW50RWxlbWVudCk7XG4gIH1cblxuICAjZ2V0RGVmYXVsdEVkaXRhYmxlR3JpZE9wdGlvbnMoYXJnczogU2t5R2V0R3JpZE9wdGlvbnNBcmdzKTogR3JpZE9wdGlvbnMge1xuICAgIGNvbnN0IGRlZmF1bHRHcmlkT3B0aW9ucyA9IHRoaXMuI2dldERlZmF1bHRHcmlkT3B0aW9ucyhhcmdzKTtcblxuICAgIGRlZmF1bHRHcmlkT3B0aW9ucy5yb3dTZWxlY3Rpb24gPSB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gZGVmYXVsdEdyaWRPcHRpb25zO1xuICB9XG5cbiAgI2dldEljb25UZW1wbGF0ZShpY29uTmFtZToga2V5b2YgSWNvbk1hcFR5cGUpOiAoKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25zdCBpY29uID0gaWNvbk1hcFtpY29uTmFtZV07XG4gICAgICBpZiAodGhpcy4jY3VycmVudFRoZW1lPy50aGVtZS5uYW1lID09PSAnbW9kZXJuJyAmJiBpY29uLnNreUljb24pIHtcbiAgICAgICAgcmV0dXJuIGA8aSBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cInNreS1pLSR7aWNvbi5za3lJY29ufVwiPjwvaT5gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGA8aSBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImZhIGZhLSR7aWNvbi5mYUljb259XCI+PC9pPmA7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gICNzdXBwcmVzc1RhYihwYXJhbXM6IFN1cHByZXNzS2V5Ym9hcmRFdmVudFBhcmFtcyk6IGJvb2xlYW4ge1xuICAgIGlmIChwYXJhbXMuZXZlbnQuY29kZSA9PT0gJ1RhYicpIHtcbiAgICAgIGlmIChwYXJhbXMuZWRpdGluZykge1xuICAgICAgICBjb25zdCBjdXJyZW50bHlGb2N1c2VkRWwgPVxuICAgICAgICAgIHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzZWRFbGVtZW50KCk7XG4gICAgICAgIC8vIGlubGluZSBjZWxsIGVkaXRvcnMgaGF2ZSB0aGUgJ2FnLWNlbGwnIGNsYXNzLCB3aGlsZSBwb3B1cCBlZGl0b3JzIGhhdmUgdGhlICdhZy1wb3B1cC1lZGl0b3InIGNsYXNzXG4gICAgICAgIGNvbnN0IGNlbGxFbCA9IHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldEVsZW1lbnRPclBhcmVudFdpdGhDbGFzcyhcbiAgICAgICAgICBjdXJyZW50bHlGb2N1c2VkRWwsXG4gICAgICAgICAgJ2FnLWNlbGwnLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBwb3B1cEVsID0gdGhpcy4jYWdHcmlkQWRhcHRlclNlcnZpY2UuZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKFxuICAgICAgICAgIGN1cnJlbnRseUZvY3VzZWRFbCxcbiAgICAgICAgICAnYWctcG9wdXAtZWRpdG9yJyxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcGFyZW50RWwgPSBjZWxsRWwgfHwgcG9wdXBFbDtcblxuICAgICAgICBjb25zdCBuZXh0Rm9jdXNhYmxlRWxlbWVudEluQ2VsbCA9XG4gICAgICAgICAgdGhpcy4jYWdHcmlkQWRhcHRlclNlcnZpY2UuZ2V0TmV4dEZvY3VzYWJsZUVsZW1lbnQoXG4gICAgICAgICAgICBjdXJyZW50bHlGb2N1c2VkRWwsXG4gICAgICAgICAgICBwYXJlbnRFbCxcbiAgICAgICAgICAgIHBhcmFtcy5ldmVudC5zaGlmdEtleSxcbiAgICAgICAgICApO1xuICAgICAgICByZXR1cm4gISFuZXh0Rm9jdXNhYmxlRWxlbWVudEluQ2VsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAjZ2V0Um93SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWU/Lm5hbWUgPT09ICdtb2Rlcm4nID8gNjAgOiAzODtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXJlci10ZW1wbGF0ZS1jb250ZXh0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLXRlbXBsYXRlL2NlbGwtcmVuZGVyZXItdGVtcGxhdGUtY29udGV4dC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDZWxsUmVuZGVyZXJUZW1wbGF0ZUNvbnRleHQgPSB7IHZhbHVlOiB1bmtub3duOyByb3c6IG9iamVjdCB9O1xuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SkyAgGridCellRendererTemplateComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.state = {
|
|
7
|
+
hasTemplate: false,
|
|
8
|
+
template: undefined,
|
|
9
|
+
context: { value: undefined, data: undefined },
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
agInit(params) {
|
|
13
|
+
const hasTemplate = !!(params.colDef?.cellRendererParams &&
|
|
14
|
+
'template' in params.colDef.cellRendererParams &&
|
|
15
|
+
params.colDef.cellRendererParams.template);
|
|
16
|
+
const template = hasTemplate
|
|
17
|
+
? params.colDef?.cellRendererParams
|
|
18
|
+
.template
|
|
19
|
+
: undefined;
|
|
20
|
+
this.state = {
|
|
21
|
+
hasTemplate,
|
|
22
|
+
template,
|
|
23
|
+
context: { value: params.value, row: params.data },
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
refresh(params) {
|
|
27
|
+
this.agInit(params);
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SkyAgGridCellRendererTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SkyAgGridCellRendererTemplateComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-template", ngImport: i0, template: `<ng-container *ngIf="state.hasTemplate">
|
|
32
|
+
<ng-container *ngTemplateOutlet="state.template; context: state.context" />
|
|
33
|
+
</ng-container>`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SkyAgGridCellRendererTemplateComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: 'sky-ag-grid-cell-renderer-template',
|
|
39
|
+
standalone: true,
|
|
40
|
+
template: `<ng-container *ngIf="state.hasTemplate">
|
|
41
|
+
<ng-container *ngTemplateOutlet="state.template; context: state.context" />
|
|
42
|
+
</ng-container>`,
|
|
43
|
+
imports: [NgTemplateOutlet, NgIf],
|
|
44
|
+
}]
|
|
45
|
+
}] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXJlci10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLXRlbXBsYXRlL2NlbGwtcmVuZGVyZXItdGVtcGxhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQTJCdkQsTUFBTSxPQUFPLHNDQUFzQztJQVJuRDtRQVdZLFVBQUssR0FBYztZQUMzQixXQUFXLEVBQUUsS0FBSztZQUNsQixRQUFRLEVBQUUsU0FBUztZQUNuQixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7U0FDL0MsQ0FBQztLQXdCSDtJQXRCUSxNQUFNLENBQUMsTUFBMkI7UUFDdkMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQ3BCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsa0JBQWtCO1lBQ2pDLFVBQVUsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQjtZQUM5QyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FDMUMsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUNaLFdBQVc7WUFDVCxDQUFDLENBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxrQkFBa0I7aUJBQy9CLFFBQXFEO1lBQzFELENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLFdBQVc7WUFDWCxRQUFRO1lBQ1IsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7U0FDdEMsQ0FBQztJQUNqQixDQUFDO0lBRU0sT0FBTyxDQUFDLE1BQTJCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQTlCVSxzQ0FBc0M7a0dBQXRDLHNDQUFzQyw4RkFMdkM7O2tCQUVNLDREQUNOLGdCQUFnQixvSkFBRSxJQUFJOzsyRkFFckIsc0NBQXNDO2tCQVJsRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7O2tCQUVNO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyBJQ2VsbFJlbmRlcmVyUGFyYW1zIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuXG5pbXBvcnQgeyBDZWxsUmVuZGVyZXJUZW1wbGF0ZUNvbnRleHQgfSBmcm9tICcuL2NlbGwtcmVuZGVyZXItdGVtcGxhdGUtY29udGV4dC50eXBlJztcblxudHlwZSBDZWxsU3RhdGUgPVxuICB8IHtcbiAgICAgIGhhc1RlbXBsYXRlOiB0cnVlO1xuICAgICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPENlbGxSZW5kZXJlclRlbXBsYXRlQ29udGV4dD47XG4gICAgICBjb250ZXh0OiBDZWxsUmVuZGVyZXJUZW1wbGF0ZUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIGhhc1RlbXBsYXRlOiBmYWxzZTtcbiAgICAgIHRlbXBsYXRlOiB1bmRlZmluZWQ7XG4gICAgICBjb250ZXh0PzogdW5rbm93bjtcbiAgICB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYWctZ3JpZC1jZWxsLXJlbmRlcmVyLXRlbXBsYXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUuaGFzVGVtcGxhdGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RhdGUudGVtcGxhdGU7IGNvbnRleHQ6IHN0YXRlLmNvbnRleHRcIiAvPlxuICA8L25nLWNvbnRhaW5lcj5gLFxuICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgTmdJZl0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZENlbGxSZW5kZXJlclRlbXBsYXRlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wXG57XG4gIHByb3RlY3RlZCBzdGF0ZTogQ2VsbFN0YXRlID0ge1xuICAgIGhhc1RlbXBsYXRlOiBmYWxzZSxcbiAgICB0ZW1wbGF0ZTogdW5kZWZpbmVkLFxuICAgIGNvbnRleHQ6IHsgdmFsdWU6IHVuZGVmaW5lZCwgZGF0YTogdW5kZWZpbmVkIH0sXG4gIH07XG5cbiAgcHVibGljIGFnSW5pdChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNUZW1wbGF0ZSA9ICEhKFxuICAgICAgcGFyYW1zLmNvbERlZj8uY2VsbFJlbmRlcmVyUGFyYW1zICYmXG4gICAgICAndGVtcGxhdGUnIGluIHBhcmFtcy5jb2xEZWYuY2VsbFJlbmRlcmVyUGFyYW1zICYmXG4gICAgICBwYXJhbXMuY29sRGVmLmNlbGxSZW5kZXJlclBhcmFtcy50ZW1wbGF0ZVxuICAgICk7XG4gICAgY29uc3QgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPENlbGxSZW5kZXJlclRlbXBsYXRlQ29udGV4dD4gfCB1bmRlZmluZWQgPVxuICAgICAgaGFzVGVtcGxhdGVcbiAgICAgICAgPyAocGFyYW1zLmNvbERlZj8uY2VsbFJlbmRlcmVyUGFyYW1zXG4gICAgICAgICAgICAudGVtcGxhdGUgYXMgVGVtcGxhdGVSZWY8Q2VsbFJlbmRlcmVyVGVtcGxhdGVDb250ZXh0PilcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGhhc1RlbXBsYXRlLFxuICAgICAgdGVtcGxhdGUsXG4gICAgICBjb250ZXh0OiB7IHZhbHVlOiBwYXJhbXMudmFsdWUsIHJvdzogcGFyYW1zLmRhdGEgfSxcbiAgICB9IGFzIENlbGxTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IGJvb2xlYW4ge1xuICAgIHRoaXMuYWdJbml0KHBhcmFtcyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -73,6 +73,12 @@ export var SkyCellType;
|
|
|
73
73
|
* Cells in the column will render as [SKY UX checkbox components](https://developer.blackbaud.com/skyux/components/checkbox). It allows the user to select multiple rows, and adds a highlight to selected rows. The [Ag Grid `rowNode`](https://www.ag-grid.com/javascript-grid-row-node/) will be updated to reflect the selected state.
|
|
74
74
|
*/
|
|
75
75
|
SkyCellType["RowSelector"] = "skyCellRowSelector";
|
|
76
|
+
/**
|
|
77
|
+
* **Read-only mode**
|
|
78
|
+
* <br/>
|
|
79
|
+
* Cells in the column will render in a `TemplateRef` passed in the column definition's `cellRendererParams.template` property, with `value` and `row` context. See the demo for an example.
|
|
80
|
+
*/
|
|
81
|
+
SkyCellType["Template"] = "skyCellTemplate";
|
|
76
82
|
/**
|
|
77
83
|
* **Edit mode**
|
|
78
84
|
* <br/>
|
|
@@ -90,4 +96,4 @@ export var SkyCellType;
|
|
|
90
96
|
*/
|
|
91
97
|
SkyCellType["Validator"] = "skyCellValidator";
|
|
92
98
|
})(SkyCellType || (SkyCellType = {}));
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FnLWdyaWQvc3JjL2xpYi9tb2R1bGVzL2FnLWdyaWQvdHlwZXMvY2VsbC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLENBQU4sSUFBWSxXQXFGWDtBQXJGRCxXQUFZLFdBQVc7SUFDckI7Ozs7Ozs7O09BUUc7SUFDSCxtREFBb0MsQ0FBQTtJQUNwQzs7Ozs7Ozs7T0FRRztJQUNILDJDQUE0QixDQUFBO0lBQzVCOzs7O09BSUc7SUFDSCw2REFBOEMsQ0FBQTtJQUM5Qzs7Ozs7Ozs7T0FRRztJQUNILG1DQUFvQixDQUFBO0lBQ3BCOzs7Ozs7OztPQVFHO0lBQ0gsdUNBQXdCLENBQUE7SUFDeEI7Ozs7Ozs7O09BUUc7SUFDSCx1Q0FBd0IsQ0FBQTtJQUN4Qjs7OztPQUlHO0lBQ0gseURBQTBDLENBQUE7SUFDMUM7Ozs7T0FJRztJQUNILGlEQUFrQyxDQUFBO0lBQ2xDOzs7Ozs7OztPQVFHO0lBQ0gsbUNBQW9CLENBQUE7SUFDcEI7Ozs7T0FJRztJQUNILDZDQUE4QixDQUFBO0FBQ2hDLENBQUMsRUFyRlcsV0FBVyxLQUFYLFdBQVcsUUFxRnRCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGVzZSBjb2x1bW4gdHlwZXMgY2FuIGJlIHVzZWQgYnkgc2V0dGluZyB0aGUgQUcgR3JpZCBbY29sdW1uIGRlZmluaXRpb24gYHR5cGVgXShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9hbmd1bGFyLWRhdGEtZ3JpZC9jb2x1bW4tcHJvcGVydGllcy8jcmVmZXJlbmNlLWVkaXRpbmcpIHRvIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlcy5cbiAqIDxici8+XG4gKiBBbnkgW1NLWSBVWCBjb21wb25lbnRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cykgY2FuIGJlIG1hZGUgaW50byBhIFtjZWxsIGVkaXRvcl0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vamF2YXNjcmlwdC1ncmlkLWNlbGwtZWRpdG9yLykgb3IgW2NlbGwgcmVuZGVyZXJdKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2phdmFzY3JpcHQtZ3JpZC1jZWxsLXJlbmRlcmluZy1jb21wb25lbnRzLykgY29tcG9uZW50LiBJZiB5b3Ugd291bGQgbGlrZSB0byB1c2UgYSBjb21wb25lbnQgdGhhdCBkb2VzIG5vdCBoYXZlIGEgY29sdW1uIGRlZmluaXRpb24geWV0LCBwbGVhc2UgY29uc2lkZXIgW2NvbnRyaWJ1dGluZyBpdF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb250cmlidXRlL2NvbnRyaWJ1dGlvbi1wcm9jZXNzKSB0byB0aGUgU0tZIFVYIGRhdGEgZW50cnkgZ3JpZCBtb2R1bGUsIG9yIFtmaWxlIGFuIGlzc3VlXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbnRyaWJ1dGUvY29udHJpYnV0aW9uLXByb2Nlc3MvZmlsZS1pc3N1ZSkgaW4gdGhlIFtgQHNreXV4L2FnLWdyaWRgIHJlcG9dKGh0dHBzOi8vZ2l0aHViLmNvbS9ibGFja2JhdWQvc2t5dXgtYWctZ3JpZCkuXG4gKi9cbmV4cG9ydCBlbnVtIFNreUNlbGxUeXBlIHtcbiAgLyoqXG4gICAqICoqRWRpdCBtb2RlKipcbiAgICogPGJyLz5cbiAgICogQ2VsbHMgaW4gdGhlIGNvbHVtbiB3aWxsIGJlIGVkaXRlZCBhcyAgW1NLWSBVWCBhdXRvY29tcGxldGUgY29tcG9uZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSkuIFlvdSBjYW4gc2V0IGFueSBvZiB0aGUgYXV0b2NvbXBsZXRlIGNvbXBvbmVudCdzIHByb3BlcnRpZXMgYnkgcGFzc2luZyBgU2t5Q2VsbEVkaXRvckF1dG9jb21wbGV0ZVBhcmFtc2AgaW4gdGhlIFtjb2x1bW4gZGVmaW5pdGlvbidzIGBjZWxsRWRpdG9yUGFyYW1zYCBwcm9wZXJ0eV0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vYW5ndWxhci1kYXRhLWdyaWQvY29sdW1uLXByb3BlcnRpZXMvI3JlZmVyZW5jZS1lZGl0aW5nKS4gVGhlc2UgcGFyYW1zIGNhbiBiZSB1cGRhdGVkIGFzIG90aGVyIGNlbGwgZWRpdHMgYXJlIG1hZGUgb3IgW3Byb3ZpZGVkIGR5bmFtaWNhbGx5XShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9qYXZhc2NyaXB0LWdyaWQtY2VsbC1lZGl0aW5nLyNkeW5hbWljLXBhcmFtZXRlcnMpIGJhc2VkIG9uIG90aGVyIGNlbGwgdmFsdWVzLiBTZWUgdGhlIGRlbW8gZm9yIGFuIGV4YW1wbGUuIFRleHQgY2FuIGJlIGVudGVyZWQgYW5kIGEgdmFsdWUgc2VsZWN0ZWQgZnJvbSB0aGUgcHJvdmlkZWQgbGlzdC5cbiAgICogPGJyLz48YnIvPlxuICAgKiAqKlJlYWQtb25seSBtb2RlKipcbiAgICogPGJyLz5cbiAgICogQ2VsbHMgdGhlIGNvbHVtbiB3aWxsIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB2YWx1ZSdzIG5hbWUgcHJvcGVydHkgYnkgZGVmYXVsdC4gSWYgdGhlIGF1dG9jb21wbGV0ZSBuZWVkcyB0byBzaG93IGEgZGlmZmVyZW50IHByb3BlcnR5IG9yIG5lZWRzIHRvIGJlIGZvcm1hdHRlZCBpbiBhbnkgd2F5LCB5b3UgY2FuIFtkZWZpbmUgYSBgdmFsdWVGb3JtYXR0ZXJgXShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9qYXZhc2NyaXB0LWdyaWQtdmFsdWUtZm9ybWF0dGVycy8pIG9uIHRoZSBjb2x1bW4gZGVmaW5pdGlvbi5cbiAgICovXG4gIEF1dG9jb21wbGV0ZSA9ICdza3lDZWxsQXV0b2NvbXBsZXRlJyxcbiAgLyoqXG4gICAqICoqRWRpdCBtb2RlKipcbiAgICogPGJyLz5cbiAgICogQ2VsbHMgaW4gdGhlIGNvbHVtbiB3aWxsIGJlIGVkaXRlZCBhcyBhIGN1cnJlbmN5IGFtb3VudC5cbiAgICogPGJyLz48YnIvPlxuICAgKiAqKlJlYWQtb25seSBtb2RlKipcbiAgICogPGJyLz5cbiAgICogRm9ybWF0cyB0aGUgZGlzcGxheSBhcyBjdXJyZW5jeSB1c2luZyBbU0tZIFVYIG51bWVyaWMgY29tcG9uZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL251bWVyaWMpLlxuICAgKi9cbiAgQ3VycmVuY3kgPSAnc2t5Q2VsbEN1cnJlbmN5JyxcbiAgLyoqXG4gICAqICoqRWRpdCBhbmQgcmVhZC1vbmx5IG1vZGVzKipcbiAgICogPGJyLz5cbiAgICogQ29tYmluZXMgU2t5Q2VsbFR5cGUuQ3VycmVuY3kgYW5kIFNreUNlbGxUeXBlLlZhbGlkYXRvciwgd2hlcmUgdGhlIHZhbHVlIGlzIGRpc3BsYXllZCBhcyBhIGN1cnJlbmN5IGFuZCBwYXNzZWQgdG8gYSB2YWxpZGF0b3IgZnVuY3Rpb24uXG4gICAqL1xuICBDdXJyZW5jeVZhbGlkYXRvciA9ICdza3lDZWxsQ3VycmVuY3lWYWxpZGF0b3InLFxuICAvKipcbiAgICogKipFZGl0IG1vZGUqKlxuICAgKiA8YnIvPlxuICAgKiBDZWxscyBpbiB0aGUgY29sdW1uIHdpbGwgYmUgZWRpdGVkIGFzIFtTS1kgVVggZGF0ZXBpY2tlciBjb21wb25lbnRzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0ZXBpY2tlcikuIFlvdSBjYW4gc2V0IGFueSBvZiB0aGUgZGF0ZXBpY2tlciBjb21wb25lbnQncyBwcm9wZXJ0aWVzIGJ5IHBhc3NpbmcgYFNreUNlbGxFZGl0b3JEYXRlcGlja2VyUGFyYW1zYCBpbiB0aGUgW2NvbHVtbiBkZWZpbml0aW9uJ3MgYGNlbGxFZGl0b3JQYXJhbXNgIHByb3BlcnR5XShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9hbmd1bGFyLWRhdGEtZ3JpZC9jb2x1bW4tcHJvcGVydGllcy8jcmVmZXJlbmNlLWVkaXRpbmcpLiBUaGVzZSBwYXJhbXMgY2FuIGJlIHVwZGF0ZWQgYXMgb3RoZXIgY2VsbCBlZGl0cyBhcmUgbWFkZSBvciBbcHJvdmlkZWQgZHluYW1pY2FsbHldKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2phdmFzY3JpcHQtZ3JpZC1jZWxsLWVkaXRpbmcvI2R5bmFtaWMtcGFyYW1ldGVycykgYmFzZWQgb24gb3RoZXIgY2VsbCB2YWx1ZXMuIFNlZSB0aGUgZGVtbyBmb3IgYW4gZXhhbXBsZS4gRGF0ZSB2YWx1ZXMgY2FuIGJlIGVudGVyZWQuXG4gICAqIDxici8+PGJyLz5cbiAgICogKipSZWFkLW9ubHkgbW9kZSoqXG4gICAqIDxici8+XG4gICAqIENlbGxzIGluIHRoZSBjb2x1bW4gd2lsbCBkaXNwbGF5IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZGF0ZSBmb3JtYXR0ZWQgYXMgYE1NLURELVlZWVlgLCBvciB0aGUgZGF0ZSBmb3JtYXQgb2YgdGhlIGxvY2FsZSBwYXNzZWQgdG8gYGdldEdyaWRPcHRpb25zKClgLiBJZiB5b3Ugd291bGQgbGlrZSB0byBvdmVyd3JpdGUgdGhpcyBmb3JtYXQsIHlvdSBjYW4gW2RlZmluZSBhIGB2YWx1ZUZvcm1hdHRlcmBdKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2phdmFzY3JpcHQtZ3JpZC12YWx1ZS1mb3JtYXR0ZXJzLykgb24gdGhlIGNvbHVtbiBkZWZpbml0aW9uLiBTZWUgdGhlIGRlbW8gZm9yIGFuIGV4YW1wbGUuXG4gICAqL1xuICBEYXRlID0gJ3NreUNlbGxEYXRlJyxcbiAgLyoqXG4gICAqICoqRWRpdCBtb2RlKipcbiAgICogPGJyLz5cbiAgICogQ2VsbHMgaW4gdGhlIGNvbHVtbiB3aWxsIGJlIGVkaXRlZCBhcyBbU0tZIFVYIGxvb2t1cCBjb21wb25lbnRzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LXY1L2NvbXBvbmVudHMvbG9va3VwKS4gWW91IGNhbiBzZXQgYW55IG9mIHRoZSBsb29rdXAgY29tcG9uZW50J3MgcHJvcGVydGllcyBieSBwYXNzaW5nIGBTa3lDZWxsRWRpdG9yTG9va3VwUGFyYW1zYCBpbiB0aGUgW2NvbHVtbiBkZWZpbml0aW9uJ3MgYGNlbGxFZGl0b3JQYXJhbXNgIHByb3BlcnR5XShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9hbmd1bGFyLWRhdGEtZ3JpZC9jb2x1bW4tcHJvcGVydGllcy8jcmVmZXJlbmNlLWVkaXRpbmcpLiBUaGVzZSBwYXJhbXMgY2FuIGJlIHVwZGF0ZWQgYXMgb3RoZXIgY2VsbCBlZGl0cyBhcmUgbWFkZSBvciBbcHJvdmlkZWQgZHluYW1pY2FsbHldKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2phdmFzY3JpcHQtZ3JpZC1jZWxsLWVkaXRpbmcvI2R5bmFtaWMtcGFyYW1ldGVycykgYmFzZWQgb24gb3RoZXIgY2VsbCB2YWx1ZXMuIFNlZSB0aGUgZGVtbyBmb3IgYW4gZXhhbXBsZS4gVGV4dCBjYW4gYmUgZW50ZXJlZCBhbmQgYSB2YWx1ZSBzZWxlY3RlZCBmcm9tIHRoZSBwcm92aWRlZCBsaXN0LlxuICAgKiA8YnIvPjxici8+XG4gICAqICoqUmVhZC1vbmx5IG1vZGUqKlxuICAgKiA8YnIvPlxuICAgKiBDZWxscyB0aGUgY29sdW1uIHdpbGwgZGlzcGxheSwgYnkgZGVmYXVsdCwgZWl0aGVyOiB0aGUgbmFtZShzKSBvZiB0aGUgc2VsZWN0ZWQgdmFsdWUocykgaWYgdGhlcmUgYXJlIGxlc3MgdGhhbiA2LCBvciBhIHN1bW1hcnkgY291bnQgb2YgdGhlIHZhbHVlcyBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIDUuIElmIHRoZSBsb29rdXAgbmVlZHMgdG8gc2hvdyBhIGRpZmZlcmVudCBwcm9wZXJ0eSBvciBuZWVkcyB0byBiZSBmb3JtYXR0ZWQgaW4gYW55IHdheSwgeW91IGNhbiBbZGVmaW5lIGEgYHZhbHVlRm9ybWF0dGVyYF0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vamF2YXNjcmlwdC1ncmlkLXZhbHVlLWZvcm1hdHRlcnMvKSBvbiB0aGUgY29sdW1uIGRlZmluaXRpb24uXG4gICAqL1xuICBMb29rdXAgPSAnc2t5Q2VsbExvb2t1cCcsXG4gIC8qKlxuICAgKiAqKkVkaXQgbW9kZSoqXG4gICAqIDxici8+XG4gICAqIENlbGxzIGluIHRoZSBjb2x1bW4gd2lsbCBiZSBlZGl0ZWQgYXMgSFRNTCBudW1iZXIgYGlucHV0c2AuIE9ubHkgbnVtYmVycyBjYW4gYmUgZW50ZXJlZC5cbiAgICogPGJyLz48YnIvPlxuICAgKiAqKlJlYWQtb25seSBtb2RlKipcbiAgICogPGJyLz5cbiAgICogQ2VsbHMgaW4gdGhlIGNvbHVtbiB3aWxsIHJlbmRlciBhcyB0aGUgbnVtYmVyIHZhbHVlLlxuICAgKi9cbiAgTnVtYmVyID0gJ3NreUNlbGxOdW1iZXInLFxuICAvKipcbiAgICogKipFZGl0IGFuZCByZWFkLW9ubHkgbW9kZXMqKlxuICAgKiA8YnIvPlxuICAgKiBDb21iaW5lcyBTa3lDZWxsVHlwZS5OdW1iZXIgYW5kIFNreUNlbGxUeXBlLlZhbGlkYXRvciwgd2hlcmUgdGhlIHZhbHVlIGlzIGRpc3BsYXllZCBhcyBhIG51bWJlciBhbmQgcGFzc2VkIHRvIGEgdmFsaWRhdG9yIGZ1bmN0aW9uLlxuICAgKi9cbiAgTnVtYmVyVmFsaWRhdG9yID0gJ3NreUNlbGxOdW1iZXJWYWxpZGF0b3InLFxuICAvKipcbiAgICogKipFZGl0IGFuZCByZWFkLW9ubHkgbW9kZXMqKlxuICAgKiA8YnIvPlxuICAgKiBDZWxscyBpbiB0aGUgY29sdW1uIHdpbGwgcmVuZGVyIGFzIFtTS1kgVVggY2hlY2tib3ggY29tcG9uZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2NoZWNrYm94KS4gSXQgYWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCBtdWx0aXBsZSByb3dzLCBhbmQgYWRkcyBhIGhpZ2hsaWdodCB0byBzZWxlY3RlZCByb3dzLiBUaGUgW0FnIEdyaWQgYHJvd05vZGVgXShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9qYXZhc2NyaXB0LWdyaWQtcm93LW5vZGUvKSB3aWxsIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgc2VsZWN0ZWQgc3RhdGUuXG4gICAqL1xuICBSb3dTZWxlY3RvciA9ICdza3lDZWxsUm93U2VsZWN0b3InLFxuICAvKipcbiAgICogKipFZGl0IG1vZGUqKlxuICAgKiA8YnIvPlxuICAgKiBDZWxscyBpbiB0aGUgY29sdW1uIHdpbGwgYmUgZWRpdGVkIGFzIEhUTUwgdGV4dCBgaW5wdXRzYC4gQW55IGNoYXJhY3RlcnMgY2FuIGJlIGVudGVyZWQuXG4gICAqIDxici8+PGJyLz5cbiAgICogKipSZWFkLW9ubHkgbW9kZSoqXG4gICAqIDxici8+XG4gICAqIENlbGxzIGluIHRoZSBjb2x1bW4gd2lsbCByZW5kZXIgYXMgdGhlaXIgc3RyaW5nIHZhbHVlLlxuICAgKi9cbiAgVGV4dCA9ICdza3lDZWxsVGV4dCcsXG4gIC8qKlxuICAgKiAqKkVkaXQgYW5kIHJlYWQtb25seSBtb2RlcyoqXG4gICAqIDxici8+XG4gICAqIENlbGxzIGluIHRoZSBjb2x1bW4gd2lsbCBiZSBwYXNzZWQgdG8gYSB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCBmbGFncyBlcnJvbmVvdXMgZW50cmllcy4gWW91IGNhbiBzZXQgdGhlIHZhbGlkYXRvciBmdW5jdGlvbiBhbmQgbWVzc2FnZSBieSBwYXNzaW5nIHRoZW0gdG8gW2NvbHVtbiBkZWZpbml0aW9uJ3MgYGNlbGxSZW5kZXJlclBhcmFtc2AgcHJvcGVydHldKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2FuZ3VsYXItZGF0YS1ncmlkL2NvbHVtbi1wcm9wZXJ0aWVzLyNyZWZlcmVuY2UtZWRpdGluZykgYXMgYHNreUNvbXBvbmVudFByb3BlcnRpZXMudmFsaWRhdG9yYCBhbmQgYHNreUNvbXBvbmVudFByb3BlcnRpZXMudmFsaWRhdG9yTWVzc2FnZWAuIFNreUNlbGxUeXBlLlZhbGlkYXRvciBjYW4gYmUgY29tYmluZWQgd2l0aCBvdGhlciBjZWxsIHR5cGVzLCBzdWNoIGFzIFNreUNlbGxUeXBlLkF1dG9jb21wbGV0ZSBvciBTa3lDZWxsVHlwZS5EYXRlLCBieSB1c2luZyB0aGUgYXJyYXkgc3ludGF4IGZvciB0aGUgW2NvbHVtbiBkZWZpbml0aW9uJ3MgYHR5cGVgIHByb3BlcnR5XShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9hbmd1bGFyLWRhdGEtZ3JpZC9jb2x1bW4tcHJvcGVydGllcy8jcmVmZXJlbmNlLWVkaXRpbmcpLlxuICAgKi9cbiAgVmFsaWRhdG9yID0gJ3NreUNlbGxWYWxpZGF0b3InLFxufVxuIl19
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FnLWdyaWQvc3JjL2xpYi9tb2R1bGVzL2FnLWdyaWQvdHlwZXMvY2VsbC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLENBQU4sSUFBWSxXQTJGWDtBQTNGRCxXQUFZLFdBQVc7SUFDckI7Ozs7Ozs7O09BUUc7SUFDSCxtREFBb0MsQ0FBQTtJQUNwQzs7Ozs7Ozs7T0FRRztJQUNILDJDQUE0QixDQUFBO0lBQzVCOzs7O09BSUc7SUFDSCw2REFBOEMsQ0FBQTtJQUM5Qzs7Ozs7Ozs7T0FRRztJQUNILG1DQUFvQixDQUFBO0lBQ3BCOzs7Ozs7OztPQVFHO0lBQ0gsdUNBQXdCLENBQUE7SUFDeEI7Ozs7Ozs7O09BUUc7SUFDSCx1Q0FBd0IsQ0FBQTtJQUN4Qjs7OztPQUlHO0lBQ0gseURBQTBDLENBQUE7SUFDMUM7Ozs7T0FJRztJQUNILGlEQUFrQyxDQUFBO0lBQ2xDOzs7O09BSUc7SUFDSCwyQ0FBNEIsQ0FBQTtJQUM1Qjs7Ozs7Ozs7T0FRRztJQUNILG1DQUFvQixDQUFBO0lBQ3BCOzs7O09BSUc7SUFDSCw2Q0FBOEIsQ0FBQTtBQUNoQyxDQUFDLEVBM0ZXLFdBQVcsS0FBWCxXQUFXLFFBMkZ0QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlc2UgY29sdW1uIHR5cGVzIGNhbiBiZSB1c2VkIGJ5IHNldHRpbmcgdGhlIEFHIEdyaWQgW2NvbHVtbiBkZWZpbml0aW9uIGB0eXBlYF0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vYW5ndWxhci1kYXRhLWdyaWQvY29sdW1uLXByb3BlcnRpZXMvI3JlZmVyZW5jZS1lZGl0aW5nKSB0byBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMuXG4gKiA8YnIvPlxuICogQW55IFtTS1kgVVggY29tcG9uZW50XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMpIGNhbiBiZSBtYWRlIGludG8gYSBbY2VsbCBlZGl0b3JdKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2phdmFzY3JpcHQtZ3JpZC1jZWxsLWVkaXRvci8pIG9yIFtjZWxsIHJlbmRlcmVyXShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9qYXZhc2NyaXB0LWdyaWQtY2VsbC1yZW5kZXJpbmctY29tcG9uZW50cy8pIGNvbXBvbmVudC4gSWYgeW91IHdvdWxkIGxpa2UgdG8gdXNlIGEgY29tcG9uZW50IHRoYXQgZG9lcyBub3QgaGF2ZSBhIGNvbHVtbiBkZWZpbml0aW9uIHlldCwgcGxlYXNlIGNvbnNpZGVyIFtjb250cmlidXRpbmcgaXRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29udHJpYnV0ZS9jb250cmlidXRpb24tcHJvY2VzcykgdG8gdGhlIFNLWSBVWCBkYXRhIGVudHJ5IGdyaWQgbW9kdWxlLCBvciBbZmlsZSBhbiBpc3N1ZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb250cmlidXRlL2NvbnRyaWJ1dGlvbi1wcm9jZXNzL2ZpbGUtaXNzdWUpIGluIHRoZSBbYEBza3l1eC9hZy1ncmlkYCByZXBvXShodHRwczovL2dpdGh1Yi5jb20vYmxhY2tiYXVkL3NreXV4LWFnLWdyaWQpLlxuICovXG5leHBvcnQgZW51bSBTa3lDZWxsVHlwZSB7XG4gIC8qKlxuICAgKiAqKkVkaXQgbW9kZSoqXG4gICAqIDxici8+XG4gICAqIENlbGxzIGluIHRoZSBjb2x1bW4gd2lsbCBiZSBlZGl0ZWQgYXMgIFtTS1kgVVggYXV0b2NvbXBsZXRlIGNvbXBvbmVudHNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9hdXRvY29tcGxldGUpLiBZb3UgY2FuIHNldCBhbnkgb2YgdGhlIGF1dG9jb21wbGV0ZSBjb21wb25lbnQncyBwcm9wZXJ0aWVzIGJ5IHBhc3NpbmcgYFNreUNlbGxFZGl0b3JBdXRvY29tcGxldGVQYXJhbXNgIGluIHRoZSBbY29sdW1uIGRlZmluaXRpb24ncyBgY2VsbEVkaXRvclBhcmFtc2AgcHJvcGVydHldKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2FuZ3VsYXItZGF0YS1ncmlkL2NvbHVtbi1wcm9wZXJ0aWVzLyNyZWZlcmVuY2UtZWRpdGluZykuIFRoZXNlIHBhcmFtcyBjYW4gYmUgdXBkYXRlZCBhcyBvdGhlciBjZWxsIGVkaXRzIGFyZSBtYWRlIG9yIFtwcm92aWRlZCBkeW5hbWljYWxseV0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vamF2YXNjcmlwdC1ncmlkLWNlbGwtZWRpdGluZy8jZHluYW1pYy1wYXJhbWV0ZXJzKSBiYXNlZCBvbiBvdGhlciBjZWxsIHZhbHVlcy4gU2VlIHRoZSBkZW1vIGZvciBhbiBleGFtcGxlLiBUZXh0IGNhbiBiZSBlbnRlcmVkIGFuZCBhIHZhbHVlIHNlbGVjdGVkIGZyb20gdGhlIHByb3ZpZGVkIGxpc3QuXG4gICAqIDxici8+PGJyLz5cbiAgICogKipSZWFkLW9ubHkgbW9kZSoqXG4gICAqIDxici8+XG4gICAqIENlbGxzIHRoZSBjb2x1bW4gd2lsbCBkaXNwbGF5IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdmFsdWUncyBuYW1lIHByb3BlcnR5IGJ5IGRlZmF1bHQuIElmIHRoZSBhdXRvY29tcGxldGUgbmVlZHMgdG8gc2hvdyBhIGRpZmZlcmVudCBwcm9wZXJ0eSBvciBuZWVkcyB0byBiZSBmb3JtYXR0ZWQgaW4gYW55IHdheSwgeW91IGNhbiBbZGVmaW5lIGEgYHZhbHVlRm9ybWF0dGVyYF0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vamF2YXNjcmlwdC1ncmlkLXZhbHVlLWZvcm1hdHRlcnMvKSBvbiB0aGUgY29sdW1uIGRlZmluaXRpb24uXG4gICAqL1xuICBBdXRvY29tcGxldGUgPSAnc2t5Q2VsbEF1dG9jb21wbGV0ZScsXG4gIC8qKlxuICAgKiAqKkVkaXQgbW9kZSoqXG4gICAqIDxici8+XG4gICAqIENlbGxzIGluIHRoZSBjb2x1bW4gd2lsbCBiZSBlZGl0ZWQgYXMgYSBjdXJyZW5jeSBhbW91bnQuXG4gICAqIDxici8+PGJyLz5cbiAgICogKipSZWFkLW9ubHkgbW9kZSoqXG4gICAqIDxici8+XG4gICAqIEZvcm1hdHMgdGhlIGRpc3BsYXkgYXMgY3VycmVuY3kgdXNpbmcgW1NLWSBVWCBudW1lcmljIGNvbXBvbmVudHNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9udW1lcmljKS5cbiAgICovXG4gIEN1cnJlbmN5ID0gJ3NreUNlbGxDdXJyZW5jeScsXG4gIC8qKlxuICAgKiAqKkVkaXQgYW5kIHJlYWQtb25seSBtb2RlcyoqXG4gICAqIDxici8+XG4gICAqIENvbWJpbmVzIFNreUNlbGxUeXBlLkN1cnJlbmN5IGFuZCBTa3lDZWxsVHlwZS5WYWxpZGF0b3IsIHdoZXJlIHRoZSB2YWx1ZSBpcyBkaXNwbGF5ZWQgYXMgYSBjdXJyZW5jeSBhbmQgcGFzc2VkIHRvIGEgdmFsaWRhdG9yIGZ1bmN0aW9uLlxuICAgKi9cbiAgQ3VycmVuY3lWYWxpZGF0b3IgPSAnc2t5Q2VsbEN1cnJlbmN5VmFsaWRhdG9yJyxcbiAgLyoqXG4gICAqICoqRWRpdCBtb2RlKipcbiAgICogPGJyLz5cbiAgICogQ2VsbHMgaW4gdGhlIGNvbHVtbiB3aWxsIGJlIGVkaXRlZCBhcyBbU0tZIFVYIGRhdGVwaWNrZXIgY29tcG9uZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2RhdGVwaWNrZXIpLiBZb3UgY2FuIHNldCBhbnkgb2YgdGhlIGRhdGVwaWNrZXIgY29tcG9uZW50J3MgcHJvcGVydGllcyBieSBwYXNzaW5nIGBTa3lDZWxsRWRpdG9yRGF0ZXBpY2tlclBhcmFtc2AgaW4gdGhlIFtjb2x1bW4gZGVmaW5pdGlvbidzIGBjZWxsRWRpdG9yUGFyYW1zYCBwcm9wZXJ0eV0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vYW5ndWxhci1kYXRhLWdyaWQvY29sdW1uLXByb3BlcnRpZXMvI3JlZmVyZW5jZS1lZGl0aW5nKS4gVGhlc2UgcGFyYW1zIGNhbiBiZSB1cGRhdGVkIGFzIG90aGVyIGNlbGwgZWRpdHMgYXJlIG1hZGUgb3IgW3Byb3ZpZGVkIGR5bmFtaWNhbGx5XShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9qYXZhc2NyaXB0LWdyaWQtY2VsbC1lZGl0aW5nLyNkeW5hbWljLXBhcmFtZXRlcnMpIGJhc2VkIG9uIG90aGVyIGNlbGwgdmFsdWVzLiBTZWUgdGhlIGRlbW8gZm9yIGFuIGV4YW1wbGUuIERhdGUgdmFsdWVzIGNhbiBiZSBlbnRlcmVkLlxuICAgKiA8YnIvPjxici8+XG4gICAqICoqUmVhZC1vbmx5IG1vZGUqKlxuICAgKiA8YnIvPlxuICAgKiBDZWxscyBpbiB0aGUgY29sdW1uIHdpbGwgZGlzcGxheSB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGRhdGUgZm9ybWF0dGVkIGFzIGBNTS1ERC1ZWVlZYCwgb3IgdGhlIGRhdGUgZm9ybWF0IG9mIHRoZSBsb2NhbGUgcGFzc2VkIHRvIGBnZXRHcmlkT3B0aW9ucygpYC4gSWYgeW91IHdvdWxkIGxpa2UgdG8gb3ZlcndyaXRlIHRoaXMgZm9ybWF0LCB5b3UgY2FuIFtkZWZpbmUgYSBgdmFsdWVGb3JtYXR0ZXJgXShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9qYXZhc2NyaXB0LWdyaWQtdmFsdWUtZm9ybWF0dGVycy8pIG9uIHRoZSBjb2x1bW4gZGVmaW5pdGlvbi4gU2VlIHRoZSBkZW1vIGZvciBhbiBleGFtcGxlLlxuICAgKi9cbiAgRGF0ZSA9ICdza3lDZWxsRGF0ZScsXG4gIC8qKlxuICAgKiAqKkVkaXQgbW9kZSoqXG4gICAqIDxici8+XG4gICAqIENlbGxzIGluIHRoZSBjb2x1bW4gd2lsbCBiZSBlZGl0ZWQgYXMgW1NLWSBVWCBsb29rdXAgY29tcG9uZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC12NS9jb21wb25lbnRzL2xvb2t1cCkuIFlvdSBjYW4gc2V0IGFueSBvZiB0aGUgbG9va3VwIGNvbXBvbmVudCdzIHByb3BlcnRpZXMgYnkgcGFzc2luZyBgU2t5Q2VsbEVkaXRvckxvb2t1cFBhcmFtc2AgaW4gdGhlIFtjb2x1bW4gZGVmaW5pdGlvbidzIGBjZWxsRWRpdG9yUGFyYW1zYCBwcm9wZXJ0eV0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vYW5ndWxhci1kYXRhLWdyaWQvY29sdW1uLXByb3BlcnRpZXMvI3JlZmVyZW5jZS1lZGl0aW5nKS4gVGhlc2UgcGFyYW1zIGNhbiBiZSB1cGRhdGVkIGFzIG90aGVyIGNlbGwgZWRpdHMgYXJlIG1hZGUgb3IgW3Byb3ZpZGVkIGR5bmFtaWNhbGx5XShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9qYXZhc2NyaXB0LWdyaWQtY2VsbC1lZGl0aW5nLyNkeW5hbWljLXBhcmFtZXRlcnMpIGJhc2VkIG9uIG90aGVyIGNlbGwgdmFsdWVzLiBTZWUgdGhlIGRlbW8gZm9yIGFuIGV4YW1wbGUuIFRleHQgY2FuIGJlIGVudGVyZWQgYW5kIGEgdmFsdWUgc2VsZWN0ZWQgZnJvbSB0aGUgcHJvdmlkZWQgbGlzdC5cbiAgICogPGJyLz48YnIvPlxuICAgKiAqKlJlYWQtb25seSBtb2RlKipcbiAgICogPGJyLz5cbiAgICogQ2VsbHMgdGhlIGNvbHVtbiB3aWxsIGRpc3BsYXksIGJ5IGRlZmF1bHQsIGVpdGhlcjogdGhlIG5hbWUocykgb2YgdGhlIHNlbGVjdGVkIHZhbHVlKHMpIGlmIHRoZXJlIGFyZSBsZXNzIHRoYW4gNiwgb3IgYSBzdW1tYXJ5IGNvdW50IG9mIHRoZSB2YWx1ZXMgaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiA1LiBJZiB0aGUgbG9va3VwIG5lZWRzIHRvIHNob3cgYSBkaWZmZXJlbnQgcHJvcGVydHkgb3IgbmVlZHMgdG8gYmUgZm9ybWF0dGVkIGluIGFueSB3YXksIHlvdSBjYW4gW2RlZmluZSBhIGB2YWx1ZUZvcm1hdHRlcmBdKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2phdmFzY3JpcHQtZ3JpZC12YWx1ZS1mb3JtYXR0ZXJzLykgb24gdGhlIGNvbHVtbiBkZWZpbml0aW9uLlxuICAgKi9cbiAgTG9va3VwID0gJ3NreUNlbGxMb29rdXAnLFxuICAvKipcbiAgICogKipFZGl0IG1vZGUqKlxuICAgKiA8YnIvPlxuICAgKiBDZWxscyBpbiB0aGUgY29sdW1uIHdpbGwgYmUgZWRpdGVkIGFzIEhUTUwgbnVtYmVyIGBpbnB1dHNgLiBPbmx5IG51bWJlcnMgY2FuIGJlIGVudGVyZWQuXG4gICAqIDxici8+PGJyLz5cbiAgICogKipSZWFkLW9ubHkgbW9kZSoqXG4gICAqIDxici8+XG4gICAqIENlbGxzIGluIHRoZSBjb2x1bW4gd2lsbCByZW5kZXIgYXMgdGhlIG51bWJlciB2YWx1ZS5cbiAgICovXG4gIE51bWJlciA9ICdza3lDZWxsTnVtYmVyJyxcbiAgLyoqXG4gICAqICoqRWRpdCBhbmQgcmVhZC1vbmx5IG1vZGVzKipcbiAgICogPGJyLz5cbiAgICogQ29tYmluZXMgU2t5Q2VsbFR5cGUuTnVtYmVyIGFuZCBTa3lDZWxsVHlwZS5WYWxpZGF0b3IsIHdoZXJlIHRoZSB2YWx1ZSBpcyBkaXNwbGF5ZWQgYXMgYSBudW1iZXIgYW5kIHBhc3NlZCB0byBhIHZhbGlkYXRvciBmdW5jdGlvbi5cbiAgICovXG4gIE51bWJlclZhbGlkYXRvciA9ICdza3lDZWxsTnVtYmVyVmFsaWRhdG9yJyxcbiAgLyoqXG4gICAqICoqRWRpdCBhbmQgcmVhZC1vbmx5IG1vZGVzKipcbiAgICogPGJyLz5cbiAgICogQ2VsbHMgaW4gdGhlIGNvbHVtbiB3aWxsIHJlbmRlciBhcyBbU0tZIFVYIGNoZWNrYm94IGNvbXBvbmVudHNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9jaGVja2JveCkuIEl0IGFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgbXVsdGlwbGUgcm93cywgYW5kIGFkZHMgYSBoaWdobGlnaHQgdG8gc2VsZWN0ZWQgcm93cy4gVGhlIFtBZyBHcmlkIGByb3dOb2RlYF0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vamF2YXNjcmlwdC1ncmlkLXJvdy1ub2RlLykgd2lsbCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIHNlbGVjdGVkIHN0YXRlLlxuICAgKi9cbiAgUm93U2VsZWN0b3IgPSAnc2t5Q2VsbFJvd1NlbGVjdG9yJyxcbiAgLyoqXG4gICAqICoqUmVhZC1vbmx5IG1vZGUqKlxuICAgKiA8YnIvPlxuICAgKiBDZWxscyBpbiB0aGUgY29sdW1uIHdpbGwgcmVuZGVyIGluIGEgYFRlbXBsYXRlUmVmYCBwYXNzZWQgaW4gdGhlIGNvbHVtbiBkZWZpbml0aW9uJ3MgYGNlbGxSZW5kZXJlclBhcmFtcy50ZW1wbGF0ZWAgcHJvcGVydHksIHdpdGggYHZhbHVlYCBhbmQgYHJvd2AgY29udGV4dC4gU2VlIHRoZSBkZW1vIGZvciBhbiBleGFtcGxlLlxuICAgKi9cbiAgVGVtcGxhdGUgPSAnc2t5Q2VsbFRlbXBsYXRlJyxcbiAgLyoqXG4gICAqICoqRWRpdCBtb2RlKipcbiAgICogPGJyLz5cbiAgICogQ2VsbHMgaW4gdGhlIGNvbHVtbiB3aWxsIGJlIGVkaXRlZCBhcyBIVE1MIHRleHQgYGlucHV0c2AuIEFueSBjaGFyYWN0ZXJzIGNhbiBiZSBlbnRlcmVkLlxuICAgKiA8YnIvPjxici8+XG4gICAqICoqUmVhZC1vbmx5IG1vZGUqKlxuICAgKiA8YnIvPlxuICAgKiBDZWxscyBpbiB0aGUgY29sdW1uIHdpbGwgcmVuZGVyIGFzIHRoZWlyIHN0cmluZyB2YWx1ZS5cbiAgICovXG4gIFRleHQgPSAnc2t5Q2VsbFRleHQnLFxuICAvKipcbiAgICogKipFZGl0IGFuZCByZWFkLW9ubHkgbW9kZXMqKlxuICAgKiA8YnIvPlxuICAgKiBDZWxscyBpbiB0aGUgY29sdW1uIHdpbGwgYmUgcGFzc2VkIHRvIGEgdmFsaWRhdG9yIGZ1bmN0aW9uIHRoYXQgZmxhZ3MgZXJyb25lb3VzIGVudHJpZXMuIFlvdSBjYW4gc2V0IHRoZSB2YWxpZGF0b3IgZnVuY3Rpb24gYW5kIG1lc3NhZ2UgYnkgcGFzc2luZyB0aGVtIHRvIFtjb2x1bW4gZGVmaW5pdGlvbidzIGBjZWxsUmVuZGVyZXJQYXJhbXNgIHByb3BlcnR5XShodHRwczovL3d3dy5hZy1ncmlkLmNvbS9hbmd1bGFyLWRhdGEtZ3JpZC9jb2x1bW4tcHJvcGVydGllcy8jcmVmZXJlbmNlLWVkaXRpbmcpIGFzIGBza3lDb21wb25lbnRQcm9wZXJ0aWVzLnZhbGlkYXRvcmAgYW5kIGBza3lDb21wb25lbnRQcm9wZXJ0aWVzLnZhbGlkYXRvck1lc3NhZ2VgLiBTa3lDZWxsVHlwZS5WYWxpZGF0b3IgY2FuIGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgY2VsbCB0eXBlcywgc3VjaCBhcyBTa3lDZWxsVHlwZS5BdXRvY29tcGxldGUgb3IgU2t5Q2VsbFR5cGUuRGF0ZSwgYnkgdXNpbmcgdGhlIGFycmF5IHN5bnRheCBmb3IgdGhlIFtjb2x1bW4gZGVmaW5pdGlvbidzIGB0eXBlYCBwcm9wZXJ0eV0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vYW5ndWxhci1kYXRhLWdyaWQvY29sdW1uLXByb3BlcnRpZXMvI3JlZmVyZW5jZS1lZGl0aW5nKS5cbiAgICovXG4gIFZhbGlkYXRvciA9ICdza3lDZWxsVmFsaWRhdG9yJyxcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i1$3 from '@angular/common';
|
|
2
|
-
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
2
|
+
import { NgTemplateOutlet, NgIf, DOCUMENT, CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { NgModule, Injectable, inject, ElementRef, Component, ChangeDetectionStrategy, ViewChild, HostListener, ChangeDetectorRef, ViewEncapsulation, HostBinding, Input, EnvironmentInjector, Optional, ContentChild, Directive, ContentChildren, TemplateRef, ViewChildren, EventEmitter, ViewContainerRef, Output } from '@angular/core';
|
|
5
5
|
import * as i1 from '@skyux/core';
|
|
@@ -1075,6 +1075,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1075
1075
|
args: [{ selector: 'sky-ag-grid-cell-renderer-row-selector', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<sky-checkbox\n data-sky-id=\"row-checkbox\"\n [tabindex]=\"-1\"\n [label]=\"'sky_ag_grid_row_selector_aria_label' | skyLibResources : rowNumber\"\n [attr.aria-label]=\"\n 'sky_ag_grid_row_selector_aria_label' | skyLibResources : rowNumber\n \"\n [(ngModel)]=\"checked\"\n (change)=\"updateRow()\"\n>\n</sky-checkbox>\n", styles: [".sky-ag-grid-cell-row-selector .sky-switch-control{top:-6px}\n"] }]
|
|
1076
1076
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
1077
1077
|
|
|
1078
|
+
class SkyAgGridCellRendererTemplateComponent {
|
|
1079
|
+
constructor() {
|
|
1080
|
+
this.state = {
|
|
1081
|
+
hasTemplate: false,
|
|
1082
|
+
template: undefined,
|
|
1083
|
+
context: { value: undefined, data: undefined },
|
|
1084
|
+
};
|
|
1085
|
+
}
|
|
1086
|
+
agInit(params) {
|
|
1087
|
+
const hasTemplate = !!(params.colDef?.cellRendererParams &&
|
|
1088
|
+
'template' in params.colDef.cellRendererParams &&
|
|
1089
|
+
params.colDef.cellRendererParams.template);
|
|
1090
|
+
const template = hasTemplate
|
|
1091
|
+
? params.colDef?.cellRendererParams
|
|
1092
|
+
.template
|
|
1093
|
+
: undefined;
|
|
1094
|
+
this.state = {
|
|
1095
|
+
hasTemplate,
|
|
1096
|
+
template,
|
|
1097
|
+
context: { value: params.value, row: params.data },
|
|
1098
|
+
};
|
|
1099
|
+
}
|
|
1100
|
+
refresh(params) {
|
|
1101
|
+
this.agInit(params);
|
|
1102
|
+
return false;
|
|
1103
|
+
}
|
|
1104
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SkyAgGridCellRendererTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1105
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SkyAgGridCellRendererTemplateComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-template", ngImport: i0, template: `<ng-container *ngIf="state.hasTemplate">
|
|
1106
|
+
<ng-container *ngTemplateOutlet="state.template; context: state.context" />
|
|
1107
|
+
</ng-container>`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1108
|
+
}
|
|
1109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SkyAgGridCellRendererTemplateComponent, decorators: [{
|
|
1110
|
+
type: Component,
|
|
1111
|
+
args: [{
|
|
1112
|
+
selector: 'sky-ag-grid-cell-renderer-template',
|
|
1113
|
+
standalone: true,
|
|
1114
|
+
template: `<ng-container *ngIf="state.hasTemplate">
|
|
1115
|
+
<ng-container *ngTemplateOutlet="state.template; context: state.context" />
|
|
1116
|
+
</ng-container>`,
|
|
1117
|
+
imports: [NgTemplateOutlet, NgIf],
|
|
1118
|
+
}]
|
|
1119
|
+
}] });
|
|
1120
|
+
|
|
1078
1121
|
/**
|
|
1079
1122
|
* @internal
|
|
1080
1123
|
*/
|
|
@@ -1526,6 +1569,12 @@ var SkyCellType;
|
|
|
1526
1569
|
* Cells in the column will render as [SKY UX checkbox components](https://developer.blackbaud.com/skyux/components/checkbox). It allows the user to select multiple rows, and adds a highlight to selected rows. The [Ag Grid `rowNode`](https://www.ag-grid.com/javascript-grid-row-node/) will be updated to reflect the selected state.
|
|
1527
1570
|
*/
|
|
1528
1571
|
SkyCellType["RowSelector"] = "skyCellRowSelector";
|
|
1572
|
+
/**
|
|
1573
|
+
* **Read-only mode**
|
|
1574
|
+
* <br/>
|
|
1575
|
+
* Cells in the column will render in a `TemplateRef` passed in the column definition's `cellRendererParams.template` property, with `value` and `row` context. See the demo for an example.
|
|
1576
|
+
*/
|
|
1577
|
+
SkyCellType["Template"] = "skyCellTemplate";
|
|
1529
1578
|
/**
|
|
1530
1579
|
* **Edit mode**
|
|
1531
1580
|
* <br/>
|
|
@@ -1814,6 +1863,9 @@ class SkyAgGridService {
|
|
|
1814
1863
|
sortable: false,
|
|
1815
1864
|
width: 55,
|
|
1816
1865
|
},
|
|
1866
|
+
[SkyCellType.Template]: {
|
|
1867
|
+
cellRenderer: SkyAgGridCellRendererTemplateComponent,
|
|
1868
|
+
},
|
|
1817
1869
|
[SkyCellType.Text]: {
|
|
1818
1870
|
cellClassRules: {
|
|
1819
1871
|
[SkyCellClass.Text]: cellClassRuleTrueExpression,
|