@softheon/armature 17.16.5 → 17.17.1
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/ag-grid-components/src/sof-table/sof-table.component.d.ts +2 -2
- package/assets/styles/_variables.scss +2 -0
- package/assets/styles/sof-styles.scss +273 -198
- package/esm2022/ag-grid-components/src/sof-table/sof-table.component.mjs +6 -7
- package/esm2022/lib/alert-banner/alert-banner.module.mjs +2 -1
- package/esm2022/lib/alert-banner/components/alert-banner/alert-banner.component.mjs +2 -3
- package/esm2022/lib/base-components/base-component-api.mjs +1 -3
- package/esm2022/lib/base-components/base-component.module.mjs +1 -5
- package/esm2022/lib/core/services/session.service.mjs +3 -1
- package/esm2022/lib/forms/components/sof-address/sof-address.component.mjs +5 -2
- package/esm2022/lib/header/components/sof-header-portal/sof-header-portal.component.mjs +137 -0
- package/esm2022/lib/header/components/sof-header-portal/user-initials-pipe/user-initials.pipe.mjs +22 -0
- package/esm2022/lib/header/header-api.mjs +3 -1
- package/esm2022/lib/navigation/components/navigation/navigation.component.mjs +2 -2
- package/esm2022/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-hierarchy/sof-breadcrumbs-hierarchy.component.mjs +8 -4
- package/esm2022/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-history/sof-breadcrumbs-history.component.mjs +8 -4
- package/esm2022/lib/navigation/components/sof-navigation-panel/sof-nav-panel.component.mjs +54 -24
- package/esm2022/lib/navigation/navigation.module.mjs +1 -9
- package/fesm2022/softheon-armature-ag-grid-components.mjs +5 -6
- package/fesm2022/softheon-armature-ag-grid-components.mjs.map +1 -1
- package/fesm2022/softheon-armature.mjs +331 -176
- package/fesm2022/softheon-armature.mjs.map +1 -1
- package/lib/alert-banner/alert-banner.module.d.ts +1 -0
- package/lib/alert-banner/components/alert-banner/alert-banner.component.d.ts +1 -0
- package/lib/base-components/base-component-api.d.ts +0 -2
- package/lib/base-components/base-component.module.d.ts +25 -26
- package/lib/forms/components/sof-address/sof-address.component.d.ts +4 -1
- package/lib/header/components/sof-header-portal/sof-header-portal.component.d.ts +73 -0
- package/lib/header/components/sof-header-portal/user-initials-pipe/user-initials.pipe.d.ts +10 -0
- package/lib/header/header-api.d.ts +2 -0
- package/lib/navigation/components/navigation/navigation.component.d.ts +1 -0
- package/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-hierarchy/sof-breadcrumbs-hierarchy.component.d.ts +1 -1
- package/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-history/sof-breadcrumbs-history.component.d.ts +1 -1
- package/lib/navigation/components/sof-navigation-panel/sof-nav-panel.component.d.ts +28 -13
- package/lib/navigation/navigation.module.d.ts +21 -23
- package/package.json +1 -1
- package/ag-grid-components/package.json +0 -3
- package/esm2022/lib/base-components/sof-links/sof-link.component.mjs +0 -27
- package/lib/base-components/sof-links/sof-link.component.d.ts +0 -14
|
@@ -46,7 +46,7 @@ export class SofTableComponent {
|
|
|
46
46
|
this.showSaveColumnOptionsText = false;
|
|
47
47
|
/** Output updated column options event to save to user or browser storage */
|
|
48
48
|
this.updatedColumnState = new EventEmitter();
|
|
49
|
-
/** Output
|
|
49
|
+
/** Output filtered/sorted row data and table headers, all values returned will be formatted & translated */
|
|
50
50
|
this.filteredRowDataForExport = new EventEmitter();
|
|
51
51
|
/** Column names that should be filterable */
|
|
52
52
|
this.colFilters = [];
|
|
@@ -416,16 +416,15 @@ export class SofTableComponent {
|
|
|
416
416
|
const columns = this.gridApi.getAllDisplayedColumns().filter((col) => col.getColDef().headerName);
|
|
417
417
|
const tableHeaders = [];
|
|
418
418
|
columns.forEach((col) => {
|
|
419
|
-
const
|
|
420
|
-
const name = col.getColDef().headerName;
|
|
419
|
+
const colDef = col.getColDef();
|
|
421
420
|
tableHeaders.push({
|
|
422
|
-
key: field,
|
|
423
|
-
value:
|
|
421
|
+
key: colDef.field,
|
|
422
|
+
value: colDef.headerName
|
|
424
423
|
});
|
|
425
424
|
});
|
|
426
425
|
this.gridApi.forEachNodeAfterFilterAndSort((node) => {
|
|
427
426
|
const nodeData = {};
|
|
428
|
-
columns.forEach(col => {
|
|
427
|
+
columns.forEach((col) => {
|
|
429
428
|
const colId = col.getColId();
|
|
430
429
|
// Use gridApi's getCellValue to get the value transformed by valueGetter
|
|
431
430
|
nodeData[colId] = this.gridApi.getCellValue({ rowNode: node, colKey: colId });
|
|
@@ -516,4 +515,4 @@ class SofTableFilter {
|
|
|
516
515
|
/** A filter combining multiple conditions, taken from AgGrid*/
|
|
517
516
|
class CombinedSimpleModel {
|
|
518
517
|
}
|
|
519
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL2FnLWdyaWQtY29tcG9uZW50cy9zcmMvc29mLXRhYmxlL3NvZi10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9hZy1ncmlkLWNvbXBvbmVudHMvc3JjL3NvZi10YWJsZS9zb2YtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sTUFBTSxFQUVOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUdMLHlCQUF5QixFQUMxQixNQUFNLGtEQUFrRCxDQUFDO0FBZ0IxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBRXZELDRDQUE0QztBQU01QyxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBT0Usc0VBQXNFO1FBQ3RELFlBQU8sR0FBZSxFQUFFLENBQUM7UUFFekMsMkRBQTJEO1FBQzNDLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBSzVDLGtCQUFrQjtRQUNGLCtCQUEwQixHQUFrQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTlFLG9CQUFvQjtRQUNKLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBRTdDLDBDQUEwQztRQUMxQixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUU3Qyw0Q0FBNEM7UUFDNUIsd0JBQW1CLEdB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QUw3QixTQUFTOytCQUNFLFdBQVc7OEJBT0wsT0FBTztzQkFBdEIsS0FBSztnQkFHVSxPQUFPO3NCQUF0QixLQUFLO2dCQUdXLFFBQVE7c0JBQXhCLEtBQUs7Z0JBR1UsMEJBQTBCO3NCQUF6QyxLQUFLO2dCQUdVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBR1UsWUFBWTtzQkFBM0IsS0FBSztnQkFHVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBR1UsWUFBWTtzQkFBM0IsS0FBSztnQkFXVSx5QkFBeUI7c0JBQXhDLEtBQUs7Z0JBTVUsU0FBUztzQkFBeEIsS0FBSztnQkFHVyxnQkFBZ0I7c0JBQWhDLEtBQUs7Z0JBR1csa0JBQWtCO3NCQUFsQyxLQUFLO2dCQUdJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFHRyx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBRzJCLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBR00sZ0JBQWdCO3NCQUFyRCxTQUFTO3VCQUFDLGtCQUFrQjs7QUF1ZS9CLHFDQUFxQztBQUNyQyxNQUFNLGNBQWM7SUFBcEI7UUFLRSxnQ0FBZ0M7UUFDaEMsWUFBTyxHQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQUE7QUFFRCwrREFBK0Q7QUFDL0QsTUFBTSxtQkFBbUI7Q0FPeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBcclxuICBDb21wb25lbnQsIFxyXG4gIEVsZW1lbnRSZWYsIFxyXG4gIEV2ZW50RW1pdHRlciwgXHJcbiAgaW5qZWN0LCBcclxuICBJbnB1dCwgXHJcbiAgT25DaGFuZ2VzLCBcclxuICBPbkluaXQsIFxyXG4gIE91dHB1dCwgXHJcbiAgc2lnbmFsLCBcclxuICBTaW1wbGVDaGFuZ2VzLCBcclxuICBWaWV3Q2hpbGQsIFxyXG4gIFdyaXRhYmxlU2lnbmFsIFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgdGFrZSwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBcclxuICBDb2x1bW5EYXRhLCBcclxuICBDb2x1bW5PcHRpb25zRGF0YSwgXHJcbiAgU29mQ29sdW1uT3B0aW9uc0NvbXBvbmVudCBcclxufSBmcm9tICcuLi9jb2x1bW4tb3B0aW9ucy1tb2RhbC9jb2x1bW4tb3B0aW9ucy5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHtcclxuICBBcHBseUNvbHVtblN0YXRlUGFyYW1zLFxyXG4gIENvbERlZixcclxuICBDb2x1bW4sXHJcbiAgQ29sdW1uU3RhdGUsXHJcbiAgRmlsdGVyTW9kZWwsXHJcbiAgR3JpZEFwaSxcclxuICBHcmlkUmVhZHlFdmVudCxcclxuICBJUm93Tm9kZSxcclxuICBQYWdpbmF0aW9uQ2hhbmdlZEV2ZW50LFxyXG4gIFN1cHByZXNzS2V5Ym9hcmRFdmVudFBhcmFtcyxcclxuICBUZXh0RmlsdGVyTW9kZWxcclxufSBmcm9tIFwiYWctZ3JpZC1jb21tdW5pdHlcIjtcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbi8qKiBUaGUgU29mdGhlb24gQXJtYXR1cmUgVGFibGUgY29tcG9uZW50ICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc29mLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc29mLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc29mLXRhYmxlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU29mVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIC8qKiBUaGUgbGFuZ3VhZ2UgdGV4dCBvciBhIGtleSB0aGF0IHdpbGwgYmUgc2hvd24gaW4gdGhpcyBjb21wb25lbnQgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgcm93RGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG5cclxuICAvKiogQ29sdW1uIERlZmluaXRpb25zOiBEZWZpbmVzICYgY29udHJvbHMgZ3JpZCBjb2x1bW5zLiAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xEZWZzOiBBcnJheTxDb2xEZWY+ID0gW107XHJcblxyXG4gIC8qKiBTaXplIG1vZGVzIGZvciB0YWJsZSAqL1xyXG4gIEBJbnB1dCgpIHByaXZhdGUgc2l6ZU1vZGU6ICdDb21wYWN0JyB8ICdSb29teScgfCAnRGVmYXVsdCc7XHJcblxyXG4gIC8qKiBQYWdlcyBzaXplcyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwYWdpbmF0aW9uUGFnZVNpemVTZWxlY3RvcjogQXJyYXk8bnVtYmVyPiA9IFsxMCwgMjAsIDUwLCAxMDBdO1xyXG5cclxuICAvKiogRW5hYmxlIHNlYXJjaCAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKiogRW5hYmxlIGN1c3RvbSB0ZXh0IGZpbHRlciBkcm9wZG93bnMgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlRmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqIEVuYWJsZSBjb2x1bW4gb3B0aW9ucyBtb2RhbCBzZWxlY3Rpb24gKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlQ29sdW1uT3B0aW9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKiBFbmFibGUgZXhwb3J0IGJ1dHRvbiB0byBvdXRwdXQgZmlsdGVyZWQgcm93IGRhdGEgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlRXhwb3J0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBcclxuICAgKiBUbyBkaXNwbGF5IHRoZSB0ZXh0IG9uIHRoZSBjb2x1bW4gb3B0aW9ucyBtb2RhbCwgd2hpY2ggc3RhdGVzIC1cclxuICAgKiBgXCJPcHRpb25zIHdpbGwgYmUgc2F2ZWQgZm9yIHRoZSBuZXh0IHRpbWUgeW91IGxvZyBpbi5cImBcclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqIEBkZXNjcmlwdGlvbiBzZXQgdG8gdHJ1ZSBpZiBzZXQtdXAgZm9yIHNhdmluZyBwcmVmZXJlbmNlcyB0byBVc2VyIGRhdGEuXHJcbiAgICogQG5vdGUgWW91IGNhbiBzdGlsbCBzYXZlIHByZWZlcmVuY2VzIHRvIF9sb2NhbF8gb3IgX3Nlc3Npb25fIHN0b3JhZ2VcclxuICAgKiB1c2luZyB0aGUgYHNhdmVkQ29sdW1uU3RhdGVgIGlucHV0LCBhbmQgYHVwZGF0ZWRDb2x1bW5TdGF0ZWAgb3V0cHV0IGV2ZW50LlxyXG4gICAqIEBzZWUgVGhlIERlbW8gc2l0ZSBpcyBzYXZpbmcgdG8gbG9jYWwgc3RvcmFnZS5cclxuICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93U2F2ZUNvbHVtbk9wdGlvbnNUZXh0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBcclxuICAgKiBOYW1lL2xhYmVsIG9mIHRoZSB0YWJsZSBcclxuICAgKiBAbm90ZSBzaG91bGQgYmUgYSB0cmFuc2xhdGlvbiBrZXlcclxuICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0YWJsZU5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIFVzZXJzIHNhdmVkIGNvbHVtbiBvcHRpb25zIHN0YXRlICovXHJcbiAgQElucHV0KCkgcHJpdmF0ZSBzYXZlZENvbHVtblN0YXRlOiBBcHBseUNvbHVtblN0YXRlUGFyYW1zO1xyXG5cclxuICAvKiogSW5pdGlhbCBmaWx0ZXIgbW9kZWwgKi9cclxuICBASW5wdXQoKSBwcml2YXRlIGluaXRpYWxGaWx0ZXJNb2RlbDogRmlsdGVyTW9kZWw7XHJcblxyXG4gIC8qKiBPdXRwdXQgdXBkYXRlZCBjb2x1bW4gb3B0aW9ucyBldmVudCB0byBzYXZlIHRvIHVzZXIgb3IgYnJvd3NlciBzdG9yYWdlICovXHJcbiAgQE91dHB1dCgpIHVwZGF0ZWRDb2x1bW5TdGF0ZTogRXZlbnRFbWl0dGVyPEFwcGx5Q29sdW1uU3RhdGVQYXJhbXM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKiogT3V0cHV0IHVwZGF0ZWQgY29sdW1uIG9wdGlvbnMgZXZlbnQgdG8gc2F2ZSB0byB1c2VyIG9yIGJyb3dzZXIgc3RvcmFnZSAqL1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJlZFJvd0RhdGFGb3JFeHBvcnQ6IEV2ZW50RW1pdHRlcjxFeHBvcnRUYWJsZURhdGE+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKiogdGhlIHNlYXJjaCBpbnB1dCAqL1xyXG4gIEBWaWV3Q2hpbGQoJ2dyaWRTZWFyY2hUZXh0SW5wdXQnKSBncmlkU2VhcmNoVGV4dElucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG5cclxuICAvKiogVGhlIGhpZGRlbiBlbGVtZW50IHRoYXQgYW5ub3VuY2VzIHdoZW4gdGhlIHRhYmxlIGNvbnRlbnQgY2hhbmdlcyBmcm9tIGZpbHRlciAqL1xyXG4gIEBWaWV3Q2hpbGQoJ2FyaWFSZXN1bHRzQ291bnQnKSBwdWJsaWMgYXJpYVJlc3VsdHNDb3VudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIC8qKiBcclxuICAgKiBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IGNvbHVtbiBzdGF0ZVxyXG4gICAqIEBub3RlIElmIGNvbHVtbnMgYXJlIHJlLWRlZmluZWQgKG9uQ2hhbmdlcyksIHRoaXMgc3RhdGUgd2lsbCBiZSBhcHBsaWVkXHJcbiAgKi9cclxuICBwcml2YXRlIGN1cnJlbnRDb2x1bW5TdGF0ZTogQXBwbHlDb2x1bW5TdGF0ZVBhcmFtcztcclxuXHJcbiAgLyoqIENvbHVtbiBuYW1lcyB0aGF0IHNob3VsZCBiZSBmaWx0ZXJhYmxlICovXHJcbiAgcHVibGljIGNvbEZpbHRlcnM6IEFycmF5PFNvZlRhYmxlRmlsdGVyPiA9IFtdO1xyXG5cclxuICAvKiogUm93IEhlaWdodCBmb3IgdGFibGUgKi9cclxuICBwdWJsaWMgcm93SGVpZ2h0OiBudW1iZXIgPSA0ODtcclxuXHJcbiAgLyoqIEN1cnJlbnQgUGFnZSBJbmRleCAqL1xyXG4gIHB1YmxpYyBjdXJyZW50UGFnZTogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqIEdyaWQgQVBJICovXHJcbiAgcHJpdmF0ZSBncmlkQXBpITogR3JpZEFwaTtcclxuXHJcbiAgLyoqIElzIHRoZSB0YWJsZSByZWFkeSB0byBiZSBkaXNwbGF5ZWQgKi9cclxuICBwdWJsaWMgaXNHcmlkRGF0YVJlbmRlcmVkOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XHJcblxyXG4gIC8qKiBEZWZhdWx0IFBhZ2UgU2l6ZSAqL1xyXG4gIHB1YmxpYyBwYWdpbmF0aW9uUGFnZVNpemU6IG51bWJlciA9IDIwOyBcclxuXHJcbiAgLyoqIFRvb2wgdGlwIHNob3cgZGVsYXkgKi9cclxuICBwdWJsaWMgdG9vbHRpcFNob3dEZWxheTogbnVtYmVyID0gNTAwO1xyXG4gIFxyXG4gIC8qKiBOdW1iZXIgb2YgZmlsdGVycyB1c2VkICovXHJcbiAgcHVibGljIGZpbHRlckNvdW50OiBudW1iZXIgPSAwO1xyXG4gIC8qKiBcclxuICAgKiBEZWZhdWx0IENvbHVtbiBEZWZpbml0aW9uIFxyXG4gICAqIEBub3RlIChzdXBwcmVzc0tleWJvYXJkRXZlbnQpIFRhYmxlIGNlbGxzIGNhbiBiZSBuYXZpZ2F0ZWQgd2l0aCB0aGUgYXJyb3cga2V5cywgXHJcbiAgICogaWYgdGhlIGNlbGwgY29udGFpbnMgYSBidXR0b24geW91IGNhbiBUYWIgaW50byB0aGUgYnV0dG9uLCBlbnRlciB8IHNwYWNlIHRvIGludGVyYWN0LlxyXG4gICovXHJcbiAgcHVibGljIGRlZmF1bHRDb2xEZWY6IENvbERlZiA9IHtcclxuICAgIHJlc2l6YWJsZTogZmFsc2UsIC8vIGRpc2FibGUgcmVzaXplIFxyXG4gICAgc3VwcHJlc3NIZWFkZXJNZW51QnV0dG9uOiB0cnVlLCAvLyBkaXNhYmxlIGRlZmF1bHQgZmlsdGVyIG1lbnUgXHJcbiAgICBzdXBwcmVzc01vdmFibGU6IHRydWUsIC8vIGRpc2FibGUgZGVmYXVsdCBkcmFnICYgZHJvcCBmb3IgY29sdW1ucyBcclxuICAgIGNlbGxTdHlsZTogeyBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIiB9LFxyXG4gICAgc3VwcHJlc3NLZXlib2FyZEV2ZW50OiAocGFyYW1zOiBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMpID0+IHtcclxuICAgICAgcmV0dXJuIHBhcmFtcy5ldmVudC5rZXkgPT09ICdUYWInID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIC8qKiBMZW5ndGggb2YgZGF0YSAqL1xyXG4gIHB1YmxpYyB0b3RhbExlbmd0aDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqVG90YWwgbnVtYmVyIG9mIHBhZ2VzICovXHJcbiAgcHVibGljIHRvdGFsTnVtYmVyT2ZQYWdlczogbnVtYmVyO1xyXG5cclxuICAvKiogUGFnZSBDaGFuZ2UgdGV4dCAqL1xyXG4gIHB1YmxpYyBwYWdlQ2hhbmdlVGV4dDogc3RyaW5nO1xyXG5cclxuICAvKiogUGFnZSBzZWxlY3RvciBhcnJheSAqL1xyXG4gIHB1YmxpYyBwYWdlU2VsZWN0b3I6IEFycmF5PG51bWJlcj4gPSBbXTtcclxuXHJcbiAgLyoqIEZpbHRlciBQYW5lbCBvcGVuIHN0YXRlICovXHJcbiAgcHVibGljIGZpbHRlck9wZW5TdGF0ZTogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFRoZSBsaXN0IG9mIGZpbHRlcnMgYW5kIHRoZSBzZWxlY3RlZCB2YWx1ZXMgKi9cclxuICBwdWJsaWMgZmlsdGVyU2VsZWN0aW9uczogQXJyYXk8QXJyYXk8c3RyaW5nPj4gPSBbXTtcclxuXHJcbiAgLyoqIG1hdC1kaWFsb2cgKi9cclxuICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XHJcblxyXG4gIC8qKiBUcmFuc2xhdGlvbiBzZXJ2aWNlICovXHJcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuICAvKiogT24gY29tcG9uZW50IGluaXQgKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc2l6ZUdyaWQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuZ3VsYXIgT24gQ2hhbmdlc1xyXG4gICAqIEBwYXJhbSBjaGFuZ2VzIFRoZSBpbnB1dCBjaGFuZ2VzXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLnJvd0RhdGEgJiYgIWNoYW5nZXMucm93RGF0YS5maXJzdENoYW5nZSAmJiAhIXRoaXMuZ3JpZEFwaSkge1xyXG4gICAgICB0aGlzLnRvdGFsTGVuZ3RoID0gdGhpcy5yb3dEYXRhLmxlbmd0aDtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZpbHRlcnMoKTtcclxuICAgICAgdGhpcy5oYW5kbGVQYWdlQ2hhbmdlVGV4dCgpO1xyXG4gICAgICB0aGlzLmlzR3JpZERhdGFSZW5kZXJlZC5zZXQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlcy5jb2xEZWZzICYmICFjaGFuZ2VzLmNvbERlZnMuZmlyc3RDaGFuZ2UgJiYgISF0aGlzLmdyaWRBcGkpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ncmlkQXBpLmFwcGx5Q29sdW1uU3RhdGUodGhpcy5jdXJyZW50Q29sdW1uU3RhdGUpO1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVGaWx0ZXJzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGdyaWQgaGFzIGluZ2VzdGVkIHRoZSBpbnB1dCBkYXRhXHJcbiAgICogQHBhcmFtIHBhcmFtcyBHcmlkIFJlYWR5IEV2ZW50LFxyXG4gICAqIFRoZSBncmlkIGhhcyBpbml0aWFsaXplZCBhbmQgaXMgcmVhZHkgZm9yIG1vc3QgYXBpIGNhbGxzLCBidXQgbWF5IG5vdCBiZSBmdWxseSByZW5kZXJlZCB5ZXQuXHJcbiAgICogQG5vdGUgeW91IGNhbiBub3QgYWNjZXNzIHRoaXMuZ3JpZEFwaSBiZWZvcmUgdGhpcyBmdW5jdGlvbiBpcyBydW4sIFxyXG4gICAqIGFueSBhdHRlbXB0cyB0byBhY2Nlc3MgdGhpcy5ncmlkQXBpIGluIHRoaXMgY29tcG9uZW50cyBuZ09uSW5pdCBvciB0aGUgZmlyc3QgbmdPbkNoYW5nZXMgY3ljbGVcclxuICAgKiB3aWxsIHJlc3VsdCBpbiBhIHR5cGUgZXJyb3I7IGJlaW5nIHRoaXMuZ3JpZEFwaSBpcyB1bmRlZmluZWQgYXQgdGhhdCB0aW1lLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBvbkdyaWRSZWFkeShwYXJhbXM6IEdyaWRSZWFkeUV2ZW50KSB7XHJcbiAgICB0aGlzLmdyaWRBcGkgPSBwYXJhbXMuYXBpO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0Q3VycmVudFBhZ2UoKSArIDE7XHJcbiAgICB0aGlzLnRvdGFsTGVuZ3RoID0gdGhpcy5ncmlkQXBpLnBhZ2luYXRpb25HZXRSb3dDb3VudCgpO1xyXG4gICAgd2luZG93Lm9ucmVzaXplID0gKCkgPT4ge1xyXG4gICAgICBjb25zdCBtb2JpbGVXaWR0aFRocmVzaG9sZCA9IDc1MjtcclxuICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDw9IG1vYmlsZVdpZHRoVGhyZXNob2xkKSB7XHJcbiAgICAgICAgdGhpcy5yb3dIZWlnaHQgPSA0MDtcclxuICAgICAgICB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSA9IDEwO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMucmVzaXplR3JpZCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaGFuZGxlUGFnZUNoYW5nZVRleHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBGaXJlZCB0aGUgZmlyc3QgdGltZSBkYXRhIGlzIHJlbmRlcmVkIGludG8gdGhlIGdyaWQuICovXHJcbiAgcHVibGljIG9uRmlyc3REYXRhUmVuZGVyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2F2ZWRDb2x1bW5TdGF0ZT8uc3RhdGUubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IGNvbHVtblN0YXRlOiBBcnJheTxDb2x1bW5TdGF0ZT4gPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5ncmlkQXBpLmdldENvbHVtblN0YXRlKCkpO1xyXG4gICAgICB0aGlzLnNhdmVkQ29sdW1uU3RhdGUgPSB7XHJcbiAgICAgICAgc3RhdGU6IGNvbHVtblN0YXRlLFxyXG4gICAgICAgIGFwcGx5T3JkZXI6IHRydWVcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHRoaXMuZ3JpZEFwaS5hcHBseUNvbHVtblN0YXRlKHRoaXMuc2F2ZWRDb2x1bW5TdGF0ZSk7XHJcbiAgICB0aGlzLnVwZGF0ZWRDb2x1bW5TdGF0ZS5lbWl0KHRoaXMuc2F2ZWRDb2x1bW5TdGF0ZSk7XHJcbiAgICB0aGlzLmN1cnJlbnRDb2x1bW5TdGF0ZSA9IHRoaXMuc2F2ZWRDb2x1bW5TdGF0ZTtcclxuICAgIHRoaXMucG9wdWxhdGVGaWx0ZXJzKCk7XHJcbiAgICB0aGlzLmhhbmRsZVBhZ2VDaGFuZ2VUZXh0KCk7XHJcbiAgICB0aGlzLmlzR3JpZERhdGFSZW5kZXJlZC5zZXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKiogUmVzaXplIGdyaWQgZnJvbSBzaXplIG1vZGUgKi9cclxuICBwcml2YXRlIHJlc2l6ZUdyaWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zaXplTW9kZSA9PT0gJ0NvbXBhY3QnKSB7XHJcbiAgICAgIHRoaXMucm93SGVpZ2h0ID0gNDA7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnNpemVNb2RlID09PSAnUm9vbXknKSB7XHJcbiAgICAgIHRoaXMucm93SGVpZ2h0ID0gNTY7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5yb3dIZWlnaHQgPSA0ODtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHBhZ2Ugc2VsZWN0aW9uIGNoYW5nZVxyXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgc2VsZWN0ZWQgcGFnZSBudW1iZXJcclxuICAgKi9cclxuICBwdWJsaWMgb25QYWdlTnVtYmVyQ2hhbmdlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIC8vIFRoZSBwYWdlIHZhbHVlcyBhcmUgMSBvZmYgdG8gbWFrZSBhIDEtYmFzZWQgYXJyYXksIGJ1dCB0aGUgYWN0dWFsIHBhZ2VzIGFyZSBhIDAtYmFzZWQgYXJyYXkuXHJcbiAgICB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdvVG9QYWdlKHZhbHVlIC0gMSk7XHJcbiAgfVxyXG5cclxuICAvKiogT24gbmV4dCBwYWdlIGV2ZW50ICovXHJcbiAgcHVibGljIG5leHRQYWdlKCkge1xyXG4gICAgdGhpcy5ncmlkQXBpLnBhZ2luYXRpb25Hb1RvTmV4dFBhZ2UoKTtcclxuICAgIHRoaXMuaGFuZGxlUGFnZUNoYW5nZVRleHQoKVxyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0Q3VycmVudFBhZ2UoKSArIDE7XHJcbiAgfVxyXG5cclxuICAvKiogT24gUHJldmlvdXMgUGFnZSBFdmVudCAqL1xyXG4gIHB1YmxpYyBwcmV2aW91c1BhZ2UoKSB7XHJcbiAgICB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdvVG9QcmV2aW91c1BhZ2UoKTtcclxuICAgIHRoaXMuaGFuZGxlUGFnZUNoYW5nZVRleHQoKVxyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0Q3VycmVudFBhZ2UoKSArIDE7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBDaGFuZ2UgUGFnZSBTaXplIEV2ZW50XHJcbiAgICogQHBhcmFtIGV2ZW50IFRoZSBwYWdpbmF0aW9uIGV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIGNoYW5nZVBhZ2VTaXplKGV2ZW50OiBQYWdpbmF0aW9uQ2hhbmdlZEV2ZW50KSB7XHJcbiAgICAvLyBPbmx5IG5lZWQgdG8gZG8gdGhpcyB3b3JrIGlmIHRoZSBwYWdlIHNpemUgaGFzIGNoYW5nZWQuXHJcbiAgICBpZiAoZXZlbnQubmV3UGFnZVNpemUpIHtcclxuICAgICAgLy8gVXBkYXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZmlsdGVyZWQgcm93cy5cclxuICAgICAgdGhpcy50b3RhbExlbmd0aCA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0Um93Q291bnQoKTtcclxuICAgICAgLy8gSGFuZGxlIHRleHQgY2hhbmdlc1xyXG4gICAgICB0aGlzLmhhbmRsZVBhZ2VDaGFuZ2VUZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGdyaWQgZmlsdGVyIGlzIGNoYW5nZWQgXHJcbiAgICogQHRvZG8gdXBkYXRlIHRoZSBmaWx0ZXIgZHJvcGRvd24gb3B0aW9ucyBiYXNlZCBvbiB0aGUgZmlsdGVyZWQgZGF0YSBzZXQsIGluc3RlYWQgb2YgdGhlIGNvbXBsZXRlIGRhdGEgc2V0LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBvbkZpbHRlckNoYW5nZWQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwcmV2aW91c1RvdGFsTGVuZ3RoOiBudW1iZXIgPSBOdW1iZXIodGhpcy50b3RhbExlbmd0aCk7XHJcbiAgICAvLyBVcGRhdGUgdGhlIHRvdGFsIG51bWJlciBvZiBmaWx0ZXJlZCByb3dzLlxyXG4gICAgdGhpcy50b3RhbExlbmd0aCA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0Um93Q291bnQoKTtcclxuICAgIGlmICh0aGlzLnRvdGFsTGVuZ3RoICE9PSBwcmV2aW91c1RvdGFsTGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuYXJpYVJlc3VsdHNDb3VudC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IFwiXCI7XHJcbiAgICAgIHRoaXMuYXJpYVJlc3VsdHNDb3VudC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRoaXMudG90YWxMZW5ndGggPT09IDBcclxuICAgICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdhcm1hdHVyZS5zb2YtdGFibGUuc2NyZWVuLXJlYWRlci5maWx0ZXJlZC1yZXN1bHRzLm5vLXJlc3VsdHMnKVxyXG4gICAgICAgIDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXHJcbiAgICAgICAgICAnYXJtYXR1cmUuc29mLXRhYmxlLnNjcmVlbi1yZWFkZXIuZmlsdGVyZWQtcmVzdWx0cy5oYXMtcmVzdWx0cycsIHsncmVzdWx0c0NvdW50JzogdGhpcy50b3RhbExlbmd0aH1cclxuICAgICAgICApO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmFyaWFSZXN1bHRzQ291bnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSBcIlwiO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5oYW5kbGVQYWdlQ2hhbmdlVGV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEdlbmVyYXRlZCB0ZXh0IGZvciBzaG93aW5nIHBhZ2VzIGluIGZvcm1hdDogMS0xMSBvZiAxMSAqL1xyXG4gIHByaXZhdGUgaGFuZGxlUGFnZUNoYW5nZVRleHQoKTogdm9pZCB7XHJcbiAgICAvLyBIYW5kbGUgZW1wdHkgdGFibGVcclxuICAgIGlmICghdGhpcy50b3RhbExlbmd0aCB8fCB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSA9PT0gMCkge1xyXG4gICAgICAvLyBSZXNldCB0aGUgcGFnaW5hdGlvbiBVSVxyXG4gICAgICB0aGlzLnRvdGFsTnVtYmVyT2ZQYWdlcyA9IDE7XHJcbiAgICAgIHRoaXMucGFnZVNlbGVjdG9yID0gWzFdO1xyXG4gICAgICB0aGlzLnBhZ2VDaGFuZ2VUZXh0ID0gYDBgO1xyXG4gICAgICB0aGlzLmdyaWRBcGkuc2hvd05vUm93c092ZXJsYXkoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ncmlkQXBpLmhpZGVPdmVybGF5KCk7XHJcbiAgICB9XHJcbiAgICAvLyBVcGRhdGUgdGhlIHRvdGFsIG51bWJlciBvZiBwYWdlc1xyXG4gICAgdGhpcy50b3RhbE51bWJlck9mUGFnZXMgPSB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdldFRvdGFsUGFnZXMoKSB8fCBNYXRoLmNlaWwodGhpcy50b3RhbExlbmd0aCAvIHRoaXMucGFnaW5hdGlvblBhZ2VTaXplKSB8fCAxO1xyXG4gICAgLy8gUmVzZXQgdGhlIHBhZ2Ugc2VsZWN0b3JcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgY29uc3QgcGFnZVNlbGVjdG9yID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLnRvdGFsTnVtYmVyT2ZQYWdlczsgaSsrKSB7XHJcbiAgICAgIHBhZ2VTZWxlY3Rvci5wdXNoKGkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlU2VsZWN0b3IgPSBwYWdlU2VsZWN0b3I7XHJcbiAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1heCh0aGlzLnRvdGFsTGVuZ3RoLCAwKTtcclxuICAgIGNvbnN0IHBhZ2VTaXplID0gdGhpcy5wYWdpbmF0aW9uUGFnZVNpemU7XHJcbiAgICBjb25zdCBzdGFydEluZGV4ID0gdGhpcy5ncmlkQXBpLnBhZ2luYXRpb25HZXRDdXJyZW50UGFnZSgpICogcGFnZVNpemU7XHJcbiAgICBjb25zdCBlbmRJbmRleCA9IHN0YXJ0SW5kZXggPCBsZW5ndGggPyBNYXRoLm1pbihzdGFydEluZGV4ICsgcGFnZVNpemUsIGxlbmd0aCkgOiBzdGFydEluZGV4ICsgcGFnZVNpemU7XHJcbiAgICB0aGlzLnBhZ2VDaGFuZ2VUZXh0ID0gYCR7c3RhcnRJbmRleCArIDF9IC0gJHtlbmRJbmRleH1gO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXBwbHkgdGhlIHNlYXJjaCBmaWx0ZXIgb24gZGF0YSB3aGVuIHNlYXJjaCB0ZXh0IGNoYW5nZWRcclxuICAgKi9cclxuICBwdWJsaWMgb25TZWFyY2hUZXh0Q2hhbmdlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JpZEFwaS5zZXRHcmlkT3B0aW9uKFwicXVpY2tGaWx0ZXJUZXh0XCIsIHRoaXMuZ3JpZFNlYXJjaFRleHRJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKiBUb2dnbGUgdGhlIGZpbHRlciBwYW5lbCBkaXNwbGF5ICovXHJcbiAgcHVibGljIHRvZ2dsZUZpbHRlclBhbmVsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJPcGVuU3RhdGUgPSAhdGhpcy5maWx0ZXJPcGVuU3RhdGU7XHJcbiAgfVxyXG5cclxuICAvKiogQXBwbHkgdGhlIHNlbGVjdGVkIGZpbHRlcnMgKi9cclxuICBwdWJsaWMgYXBwbHlGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgbGV0IHRhYmxlRmlsdGVyTW9kZWw6IEZpbHRlck1vZGVsID0ge307XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29sRmlsdGVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBjb2xGaWx0ZXIgPSB0aGlzLmNvbEZpbHRlcnNbaV07XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSB0aGlzLmZpbHRlclNlbGVjdGlvbnNbaV07XHJcbiAgICAgIGlmICghc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGgpIHtcclxuICAgICAgICAvLyBSZXNldCBvdXQgdGhlIGNvbHVtbiBmaWx0ZXJzXHJcbiAgICAgICAgdGhpcy5ncmlkQXBpLnNldENvbHVtbkZpbHRlck1vZGVsKGNvbEZpbHRlci5oZWFkZXIsIG51bGwpO1xyXG4gICAgICAgIHRhYmxlRmlsdGVyTW9kZWxbY29sRmlsdGVyLmhlYWRlcl0gPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAvLyBTZXQgdGhlIHNpbmdsZSBmaWx0ZXIgZm9yIHRoZSBjb2x1bW5cclxuICAgICAgICBsZXQgZmlsdGVyTW9kZWw6IFRleHRGaWx0ZXJNb2RlbCA9IHsgZmlsdGVyVHlwZTogJ3RleHQnLCB0eXBlOiAnZXF1YWxzJywgZmlsdGVyOiBzZWxlY3RlZEVsZW1lbnRzWzBdIH07XHJcbiAgICAgICAgLy8gQXBwbHkgdGhlIGZpbHRlciBtb2RlbCB0byB0aGUgY29sdW1uXHJcbiAgICAgICAgdGFibGVGaWx0ZXJNb2RlbFtjb2xGaWx0ZXIuaGVhZGVyXSA9IGZpbHRlck1vZGVsO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIC8vIFNldCBtdWx0aXBsZSBPUiBmaWx0ZXJzIGZvciB0aGUgY29sdW1uXHJcbiAgICAgICAgbGV0IGZpbHRlck1vZGVsczogQ29tYmluZWRTaW1wbGVNb2RlbDxUZXh0RmlsdGVyTW9kZWw+ID0geyBmaWx0ZXJUeXBlOiAndGV4dCcsIG9wZXJhdG9yOiAnT1InLCBjb25kaXRpb25zOiBbXSB9O1xyXG4gICAgICAgIC8vIFNldCB0aGUgc2VsZWN0ZWQgZWxlbWVudHMgaW4gdGhlIG1vZGVsXHJcbiAgICAgICAgZm9yIChjb25zdCBzZWxlY3RlZEVsZW1lbnQgb2Ygc2VsZWN0ZWRFbGVtZW50cykge1xyXG4gICAgICAgICAgZmlsdGVyTW9kZWxzLmNvbmRpdGlvbnMucHVzaCh7IGZpbHRlclR5cGU6ICd0ZXh0JywgdHlwZTogJ2VxdWFscycsIGZpbHRlcjogc2VsZWN0ZWRFbGVtZW50IH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBcHBseSB0aGUgZmlsdGVyIG1vZGVsIGNvbGxlY3Rpb24gdG8gdGhlIGNvbHVtblxyXG4gICAgICAgIHRhYmxlRmlsdGVyTW9kZWxbY29sRmlsdGVyLmhlYWRlcl0gPSBmaWx0ZXJNb2RlbHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9uY2UgZXZlcnl0aGluZyBpcyBzZXQsIHVwZGF0ZSB0aGUgZmlsdGVyc1xyXG4gICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuZ2V0RmlsdGVyQ291bnQoKTtcclxuICAgIHRoaXMuZ3JpZEFwaS5zZXRGaWx0ZXJNb2RlbCh0YWJsZUZpbHRlck1vZGVsKTtcclxuICAgIHRoaXMuZ3JpZEFwaS5vbkZpbHRlckNoYW5nZWQoKTtcclxuICB9XHJcblxyXG4gIC8qKiBDbGVhciBhbGwgZmlsdGVycyAqL1xyXG4gIHB1YmxpYyBjbGVhckZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICAvLyBDbGVhciBhbGwgc2VsZWN0aW9uc1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZpbHRlclNlbGVjdGlvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5maWx0ZXJTZWxlY3Rpb25zW2ldID0gW107XHJcbiAgICB9XHJcbiAgICAvLyBTZXQgdGhlIGZ1bGwgZ3JpZCBmaWx0ZXIgbW9kZWwgdG8gbnVsbFxyXG4gICAgdGhpcy5ncmlkQXBpLnNldEZpbHRlck1vZGVsKG51bGwpO1xyXG4gICAgLy8gVXBkYXRlIHRoZSBkaXNwbGF5XHJcbiAgICB0aGlzLmdyaWRBcGkub25GaWx0ZXJDaGFuZ2VkKCk7XHJcbiAgICB0aGlzLmZpbHRlckNvdW50ID0gdGhpcy5nZXRGaWx0ZXJDb3VudCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0cnVlIGlmIG5vIGZpbHRlcnMgYXJlIHNlbGVjdGVkXHJcbiAgICogQHJldHVybnMgVHJ1ZSBpZiBhIGZpbHRlciBpcyBzZWxlY3RlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBoYXNFbXB0eUZpbHRlcnMoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuZmlsdGVyU2VsZWN0aW9ucyB8fCAhdGhpcy5maWx0ZXJTZWxlY3Rpb25zLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3QgZmlsdGVyU2VsZWN0IG9mIHRoaXMuZmlsdGVyU2VsZWN0aW9ucykge1xyXG4gICAgICAvLyBJZiBhdCBsZWFzdCBvbmUgZmlsdGVyIGhhcyBiZWVuIHNlbGVjdGVkLCByZXR1cm4gZmFsc2VcclxuICAgICAgaWYgKGZpbHRlclNlbGVjdC5sZW5ndGgpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqIENhbmNlbCB0aGUgY2hhbmdlcyB0byB0aGUgZmlsdGVyIGFuZCBjbG9zZXMgdGhlIGZpbHRlciBwYW5lbCAqL1xyXG4gIHB1YmxpYyBjYW5jZWxGaWx0ZXJDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgLy9TZXRzIHRoZSBmaWx0ZXIgc2VsZWN0aW9ucyBvbiBmaWx0ZXIgcGFuZWxcclxuICAgIHRoaXMuc2V0RmlsdGVyU2VsZWN0aW9ucygpO1xyXG4gICAgLy8gQ2xvc2UgdGhlIGZpbHRlciBwYW5lbFxyXG4gICAgdGhpcy50b2dnbGVGaWx0ZXJQYW5lbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFBvcHVsYXRlcyB0aGUgZmlsdGVyIGRyb3Bkb3ducyAqL1xyXG4gIHByaXZhdGUgcG9wdWxhdGVGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgLy8gUmVzZXQgdGhlIGZpbHRlciBkcm9wZG93bnNcclxuICAgIHRoaXMuZmlsdGVyU2VsZWN0aW9ucyA9IFtdO1xyXG4gICAgdGhpcy5jb2xGaWx0ZXJzID0gW107XHJcbiAgICAvLyBHZXQgdGhlIGNvbHVtbiBkZWZpbml0aW9ucyB0aGF0IGhhdmUgYSBmaWx0ZXJcclxuICAgIGNvbnN0IGZpbHRlcmVkQ29sczogQXJyYXk8Q29sRGVmPiA9IHRoaXMuZ3JpZEFwaS5nZXRDb2x1bW5EZWZzKCkuZmlsdGVyKChkZWYpID0+IGRlZlsnZmlsdGVyJ10pO1xyXG4gICAgLy8gQ3JlYXRlIGEgbWFwIHRvIHN0b3JlIHVuaXF1ZSB2YWx1ZXMgZm9yIGVhY2ggZmllbGRcclxuICAgIGNvbnN0IGZpbHRlclZhbHVlc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBTZXQ8YW55Pj4oKTtcclxuICAgIC8vIEluaXRpYWxpemUgc2V0cyBmb3IgZWFjaCBmaWVsZCAoY29sdW1uKSBcclxuICAgIGZvciAoY29uc3QgY29sIG9mIGZpbHRlcmVkQ29scykge1xyXG4gICAgICBjb25zdCBmaWVsZDogc3RyaW5nID0gY29sW1wiZmllbGRcIl07XHJcbiAgICAgIGZpbHRlclZhbHVlc01hcC5zZXQoZmllbGQsIG5ldyBTZXQ8YW55PigpKTtcclxuICAgIH1cclxuICAgIC8vIFVzZSBmb3JFYWNoTm9kZSB0byBpdGVyYXRlIG92ZXIgdGhlIHJvd3NcclxuICAgIHRoaXMuZ3JpZEFwaS5mb3JFYWNoTm9kZSgobm9kZTogSVJvd05vZGUpID0+IHtcclxuICAgICAgaWYgKG5vZGUuZGF0YSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgY29sIG9mIGZpbHRlcmVkQ29scykge1xyXG4gICAgICAgICAgY29uc3QgZmllbGQ6IHN0cmluZyA9IGNvbFtcImZpZWxkXCJdO1xyXG4gICAgICAgICAgY29uc3QgdmFsdWU6IGFueSA9IHRoaXMuZ3JpZEFwaS5nZXRDZWxsVmFsdWUoe3Jvd05vZGU6IG5vZGUsIGNvbEtleTogZmllbGR9KTtcclxuICAgICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBmaWx0ZXJWYWx1ZXNNYXAuZ2V0KGZpZWxkKT8uYWRkKHZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8gTm93IHRoYXQgd2UgaGF2ZSB0aGUgdW5pcXVlIHZhbHVlcyBmb3IgZWFjaCBmaWVsZCwgcG9wdWxhdGUgZmlsdGVyIG9wdGlvbnNcclxuICAgIGZvciAoY29uc3QgY29sIG9mIGZpbHRlcmVkQ29scykge1xyXG4gICAgICBjb25zdCBmaWVsZDogc3RyaW5nID0gY29sW1wiZmllbGRcIl07XHJcbiAgICAgIGNvbnN0IGxhYmVsOiBzdHJpbmcgPSBjb2xbXCJoZWFkZXJOYW1lXCJdO1xyXG4gICAgICBjb25zdCB1bmlxdWVWYWx1ZXM6IEFycmF5PGFueT4gPSBBcnJheS5mcm9tKGZpbHRlclZhbHVlc01hcC5nZXQoZmllbGQpIHx8IFtdKS5zb3J0KCk7XHJcbiAgICAgIGlmICh1bmlxdWVWYWx1ZXMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIC8vIEVuc3VyZSB0aGVyZSdzIHNwYWNlIGZvciBmaWx0ZXIgc2VsZWN0aW9uc1xyXG4gICAgICAgIHRoaXMuZmlsdGVyU2VsZWN0aW9ucy5wdXNoKFtdKTsgXHJcbiAgICAgICAgdGhpcy5jb2xGaWx0ZXJzLnB1c2goeyBoZWFkZXI6IGZpZWxkLCBsYWJlbDogbGFiZWwsIG9wdGlvbnM6IHVuaXF1ZVZhbHVlcyB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5ncmlkQXBpLnNldEZpbHRlck1vZGVsKHRoaXMuaW5pdGlhbEZpbHRlck1vZGVsKTtcclxuICAgIHRoaXMuc2V0RmlsdGVyU2VsZWN0aW9ucygpO1xyXG4gICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuZ2V0RmlsdGVyQ291bnQoKTtcclxuICB9XHJcblxyXG4gIC8qKiBPcGVuIHRoZSBjb2x1bW4gb3B0aW9ucyBtb2RhbCAqL1xyXG4gIHB1YmxpYyBvcGVuQ29sdW1uT3B0aW9ucygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbHVtblN0YXRlOiBBcnJheTxDb2x1bW5TdGF0ZT4gPSB0aGlzLmdyaWRBcGkuZ2V0Q29sdW1uU3RhdGUoKTtcclxuICAgIGNvbnN0IGNvbHVtbkRhdGE6IEFycmF5PENvbHVtbkRhdGE+ID0gdGhpcy5jb2x1bW5TdGF0ZVRvRGF0YShjb2x1bW5TdGF0ZSk7XHJcbiAgICBjb25zdCBpbml0aWFsQ29sdW1uRGF0YTogQXJyYXk8Q29sdW1uRGF0YT4gPSB0aGlzLmNvbHVtblN0YXRlVG9EYXRhKHRoaXMuc2F2ZWRDb2x1bW5TdGF0ZS5zdGF0ZSk7XHJcbiAgICBjb25zdCBjb2x1bW5PcHRpb25zRGF0YTogQ29sdW1uT3B0aW9uc0RhdGEgPSB7XHJcbiAgICAgIHRhYmxlTmFtZTogdGhpcy50YWJsZU5hbWUsXHJcbiAgICAgIGNvbHVtbkRhdGEsXHJcbiAgICAgIGluaXRpYWxDb2x1bW5EYXRhLFxyXG4gICAgICBzaG93U2F2ZUNvbHVtbk9wdGlvbnNUZXh0OiB0aGlzLnNob3dTYXZlQ29sdW1uT3B0aW9uc1RleHRcclxuICAgIH07XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFNvZkNvbHVtbk9wdGlvbnNDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc1MDBweCcsXHJcbiAgICAgIHBvc2l0aW9uOiB7IGJvdHRvbTogJzQwcHgnLCByaWdodDogJzQwcHgnIH0sXHJcbiAgICAgIGFyaWFMYWJlbGxlZEJ5OiAnY29sdW1uLW9wdGlvbnMtaGVhZGluZycsXHJcbiAgICAgIGRhdGE6IGNvbHVtbk9wdGlvbnNEYXRhXHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUoXHJcbiAgICAgIHRha2UoMSksXHJcbiAgICAgIHRhcCgodXBkYXRlZENvbHVtblN0YXRlOiBBcHBseUNvbHVtblN0YXRlUGFyYW1zKSA9PiB7XHJcbiAgICAgICAgaWYgKHVwZGF0ZWRDb2x1bW5TdGF0ZSAmJiB1cGRhdGVkQ29sdW1uU3RhdGUuc3RhdGUubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmdyaWRBcGkuYXBwbHlDb2x1bW5TdGF0ZSh1cGRhdGVkQ29sdW1uU3RhdGUpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVkQ29sdW1uU3RhdGUuZW1pdCh1cGRhdGVkQ29sdW1uU3RhdGUpO1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50Q29sdW1uU3RhdGUgPSB1cGRhdGVkQ29sdW1uU3RhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hcHMgYEFycmF5PENvbHVtblN0YXRlPmAgdG8gYEFycmF5PENvbHVtbkRhdGE+YCBcclxuICAgKiBAbm90ZSBmaWx0ZXJzIG91dCBhbnkgY29sdW1ucyBtYXJrZWQgYXMgJ3Bpbm5lZCcgYnkgdGhlIGNvbHVtbiBkZWZpbml0aW9ucy5cclxuICAgKiBAbm90ZSBmaWx0ZXJzIGFueSBjb2x1bW5zIHdpdGhvdXQgYSAnaGVhZGVyTmFtZScuXHJcbiAgICogQHBhcmFtIGNvbHVtblN0YXRlIHRoZSBjb2x1bW4gc3RhdGUgdG8gbW9kaWZ5XHJcbiAgICogQHJldHVybnMgYW4gYXJyYXkgb2YgY29sdW1uIGRhdGEgZm9ybWF0dGVkIHRvIGJlIGluZ2VzdGVkIGJ5IHRoZSBgU29mQ29sdW1uT3B0aW9uc0NvbXBvbmVudGBcclxuICAqL1xyXG4gIHByaXZhdGUgY29sdW1uU3RhdGVUb0RhdGEoY29sdW1uU3RhdGU6IEFycmF5PENvbHVtblN0YXRlPik6IEFycmF5PENvbHVtbkRhdGE+IHtcclxuICAgIHJldHVybiBjb2x1bW5TdGF0ZVxyXG4gICAgICAuZmlsdGVyKChjb2x1bW4pID0+IHtcclxuICAgICAgICBjb25zdCBoZWFkZXJOYW1lOiBzdHJpbmcgPSB0aGlzLmdyaWRBcGkuZ2V0Q29sdW1uRGVmKGNvbHVtbi5jb2xJZCk/LmhlYWRlck5hbWUgfHwgXCJcIjtcclxuICAgICAgICBpZiAoaGVhZGVyTmFtZSAmJiBoZWFkZXJOYW1lLmxlbmd0aCAmJiAhY29sdW1uLnBpbm5lZCkge1xyXG4gICAgICAgICAgcmV0dXJuIGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgIC5tYXAoKGNvbHVtbikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlck5hbWU6IHN0cmluZyA9IHRoaXMuZ3JpZEFwaS5nZXRDb2x1bW5EZWYoY29sdW1uLmNvbElkKS5oZWFkZXJOYW1lO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBpZDogY29sdW1uLmNvbElkLFxyXG4gICAgICAgICAgaXNDaGVja2VkOiAhY29sdW1uLmhpZGUsXHJcbiAgICAgICAgICB0ZXh0OiBoZWFkZXJOYW1lXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKiBFbWl0IHRoZSBjdXJyZW50IGZpbHRlcmVkL3NvcnRlZCByb3cgZGF0YSAqL1xyXG4gIHB1YmxpYyBleHBvcnRGaWx0ZXJlZFJvd0RhdGEoKTogdm9pZCB7XHJcbiAgICBjb25zdCByb3dEYXRhOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBjb25zdCBjb2x1bW5zOiBBcnJheTxDb2x1bW4+ID0gdGhpcy5ncmlkQXBpLmdldEFsbERpc3BsYXllZENvbHVtbnMoKS5maWx0ZXIoKGNvbCkgPT4gY29sLmdldENvbERlZigpLmhlYWRlck5hbWUpO1xyXG4gICAgY29uc3QgdGFibGVIZWFkZXJzOiBBcnJheTxLZXlWYWxQYWlyPiA9IFtdO1xyXG4gICAgY29sdW1ucy5mb3JFYWNoKChjb2wpID0+IHtcclxuICAgICAgY29uc3QgZmllbGQ6IHN0cmluZyA9IGNvbC5nZXRDb2xEZWYoKS5maWVsZDtcclxuICAgICAgY29uc3QgbmFtZTogc3RyaW5nID0gY29sLmdldENvbERlZigpLmhlYWRlck5hbWU7XHJcbiAgICAgIHRhYmxlSGVhZGVycy5wdXNoKHtcclxuICAgICAgICBrZXk6IGZpZWxkLFxyXG4gICAgICAgIHZhbHVlOiBuYW1lXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdyaWRBcGkuZm9yRWFjaE5vZGVBZnRlckZpbHRlckFuZFNvcnQoKG5vZGU6IElSb3dOb2RlPGFueT4pID0+IHtcclxuICAgICAgY29uc3Qgbm9kZURhdGE6IGFueSA9IHt9O1xyXG4gICAgICBjb2x1bW5zLmZvckVhY2goY29sID0+IHtcclxuICAgICAgICBjb25zdCBjb2xJZDogc3RyaW5nID0gY29sLmdldENvbElkKCk7XHJcbiAgICAgICAgLy8gVXNlIGdyaWRBcGkncyBnZXRDZWxsVmFsdWUgdG8gZ2V0IHRoZSB2YWx1ZSB0cmFuc2Zvcm1lZCBieSB2YWx1ZUdldHRlclxyXG4gICAgICAgIG5vZGVEYXRhW2NvbElkXSA9IHRoaXMuZ3JpZEFwaS5nZXRDZWxsVmFsdWUoeyByb3dOb2RlOiBub2RlLCBjb2xLZXk6IGNvbElkIH0pO1xyXG4gICAgICB9KTtcclxuICAgICAgcm93RGF0YS5wdXNoKG5vZGVEYXRhKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgZXhwb3J0RGF0YTogRXhwb3J0VGFibGVEYXRhID0ge1xyXG4gICAgICB0YWJsZUhlYWRlcnMsXHJcbiAgICAgIHJvd0RhdGFcclxuICAgIH07XHJcbiAgICB0aGlzLmZpbHRlcmVkUm93RGF0YUZvckV4cG9ydC5lbWl0KGV4cG9ydERhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldHMgZmlsdGVyIHNlbGVjdGlvbnMgZm9yIGZpbHRlciBwYW5lbCAqL1xyXG4gIHByaXZhdGUgc2V0RmlsdGVyU2VsZWN0aW9ucygpOiB2b2lkIHtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb2xGaWx0ZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIC8vIEdldCB0aGUgc3RvcmVkIGZpbHRlcnMgZm9yIHRoZSBnaXZlbiBtb2RlbFxyXG4gICAgICBjb25zdCBjb2xGaWx0ZXIgPSB0aGlzLmNvbEZpbHRlcnNbaV07XHJcbiAgICAgIGNvbnN0IG1vZGVsID0gdGhpcy5ncmlkQXBpLmdldENvbHVtbkZpbHRlck1vZGVsKGNvbEZpbHRlci5oZWFkZXIpO1xyXG4gICAgICBsZXQgZmlsdGVyU2VsZWN0aW9uRGF0YSA9IFtdO1xyXG4gICAgICBpZiAobW9kZWwgJiYgbW9kZWxbXCJjb25kaXRpb25zXCJdKSB7XHJcbiAgICAgICAgLy8gVGhlIG1vZGVsIGlzIGEgY29tYmluZWQgbW9kZWwgd2l0aCBtdWx0aXBsZSBzZWxlY3Rpb25zXHJcbiAgICAgICAgY29uc3QgZmlsdGVyTW9kZWwgPSBtb2RlbCBhcyBDb21iaW5lZFNpbXBsZU1vZGVsPFRleHRGaWx0ZXJNb2RlbD47XHJcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGZpbHRlck1vZGVsLmNvbmRpdGlvbnMpIHtcclxuICAgICAgICAgIGZpbHRlclNlbGVjdGlvbkRhdGEucHVzaChlbGVtZW50LmZpbHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG1vZGVsKSB7XHJcbiAgICAgICAgLy8gQXNzdW1lIHRoZSBtb2RlbCBpcyBhIHNpbmdsZSBUZXh0IEZpbHRlciBNb2RlbFxyXG4gICAgICAgIGxldCBmaWx0ZXJTZWxlY3Rpb246IFRleHRGaWx0ZXJNb2RlbCA9IG1vZGVsO1xyXG4gICAgICAgIGZpbHRlclNlbGVjdGlvbkRhdGEucHVzaChmaWx0ZXJTZWxlY3Rpb24uZmlsdGVyKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBTZXQgdGhlIGZpbHRlciBzZWxlY3Rpb25zXHJcbiAgICAgIHRoaXMuZmlsdGVyU2VsZWN0aW9uc1tpXSA9IGZpbHRlclNlbGVjdGlvbkRhdGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogR2V0cyB0aGUgY291bnQgb2YgY3VycmVudCBmaWx0ZXIgc2VsZWN0aW9ucyAqL1xyXG4gIHByaXZhdGUgZ2V0RmlsdGVyQ291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlclNlbGVjdGlvbnMucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYy5jb25jYXQoY3VyciksIFtdKS5sZW5ndGg7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgRXhwb3J0VGFibGVEYXRhIHtcclxuICB0YWJsZUhlYWRlcnM/OiBBcnJheTxLZXlWYWxQYWlyPjtcclxuICByb3dEYXRhPzogQXJyYXk8YW55PlxyXG59XHJcblxyXG5pbnRlcmZhY2UgS2V5VmFsUGFpciB7IFxyXG4gIGtleT86IHN0cmluZztcclxuICB2YWx1ZT86IHN0cmluZztcclxufVxyXG5cclxuLyoqIFVzZWQgZm9yIHNldHRpbmcgZmlsdGVyIHZhbHVlcyAqL1xyXG5jbGFzcyBTb2ZUYWJsZUZpbHRlciB7XHJcbiAgLyoqIFRoZSBjb2x1bW4gaGVhZGVyICovXHJcbiAgaGVhZGVyOiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBjb2x1bW4gbGFiZWwgb3IgdHJhbnNsYXRpb24ga2V5ICovXHJcbiAgbGFiZWw6IHN0cmluZztcclxuICAvKiogVGhlIGNvbHVtbiBmaWx0ZXIgb3B0aW9ucyAqL1xyXG4gIG9wdGlvbnM6IHN0cmluZ1tdID0gW107XHJcbn1cclxuXHJcbi8qKiBBIGZpbHRlciBjb21iaW5pbmcgbXVsdGlwbGUgY29uZGl0aW9ucywgdGFrZW4gZnJvbSBBZ0dyaWQqL1xyXG5jbGFzcyBDb21iaW5lZFNpbXBsZU1vZGVsPFQ+IHtcclxuICAvKiogVGhlIGZpbHRlciB0eXBlLiBVc3VhbGx5ICd0ZXh0JyAqL1xyXG4gIGZpbHRlclR5cGU6IHN0cmluZztcclxuICAvKiogVGhlIG9wZXJhdG9yLiBVc3VhbGx5ICdPUicgKi9cclxuICBvcGVyYXRvcjogJ0FORCcgfCAnT1InO1xyXG4gIC8qKiBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgdGhlIEZpbHRlciBNb2RlbCAqL1xyXG4gIGNvbmRpdGlvbnM6IFRbXTtcclxufVxyXG4iLCI8ZGl2IFxyXG4gIFtmeFNob3ddPVwiaXNHcmlkRGF0YVJlbmRlcmVkKClcIlxyXG4gIGZ4TGF5b3V0R2FwPVwiMTZweFwiIG0tYi0yND5cclxuICBAaWYgKGVuYWJsZUZpbHRlciAmJiBjb2xGaWx0ZXJzLmxlbmd0aCkge1xyXG4gICAgPGJ1dHRvbiBcclxuICAgICAgKGNsaWNrKT1cInRvZ2dsZUZpbHRlclBhbmVsKClcIiBcclxuICAgICAgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwic29mLWJ1dHRvbi12MlwiXHJcbiAgICAgIFtjbGFzcy5maWx0ZXItc2VsZWN0ZWRdPVwiZmlsdGVyT3BlblN0YXRlXCIgXHJcbiAgICAgIFtpZF09XCJmaWx0ZXJDb3VudCA9PT0gMCA/ICdidG4tZW5hYmxlLWZpbHRlcicgOididG4tZW5hYmxlLWZpbHRlci1oYXMtZmlsdGVycydcIiBcclxuICAgICAgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIlxyXG4gICAgICBbbWF0QmFkZ2VdPVwiZmlsdGVyQ291bnRcIlxyXG4gICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxyXG4gICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwiZmlsdGVyQ291bnQgPT09IDAgPyB0cnVlIDogZmFsc2VcIlxyXG4gICAgICA+XHJcbiAgICAgIDxpIGNsYXNzPVwicGggcGgtYm9sZCBwaC1zbGlkZXJzLWhvcml6b250YWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgIHt7J2FybWF0dXJlLnNvZi10YWJsZS5maWx0ZXInIHwgdHJhbnNsYXRlfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGVuYWJsZVNlYXJjaCkge1xyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwic29mLWZvcm0tZmllbGQgdGFibGUtc2VhcmNoLWZpZWxkIGRlbnNlLTRcIiBmeEZsZXg9XCJhdXRvXCI+XHJcbiAgICAgIDxzcGFuIG1hdFByZWZpeD5cclxuICAgICAgICA8aSBjbGFzcz1cInBoLWJvbGQgcGgtbWFnbmlmeWluZy1nbGFzcyBzZWFyY2gtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8bWF0LWxhYmVsIGNsYXNzPVwic2VhcmNoLWxhYmVsXCI+e3snYXJtYXR1cmUuc29mLXRhYmxlLnNlYXJjaCcgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgXHJcbiAgICAgICAgKGlucHV0KT1cIm9uU2VhcmNoVGV4dENoYW5nZWQoKVwiIFxyXG4gICAgICAgICNncmlkU2VhcmNoVGV4dElucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJncmlkU2VhcmNoVGV4dElucHV0XCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidhcm1hdHVyZS5zb2YtdGFibGUuc2NyZWVuLXJlYWRlci5zZWFyY2gtZmlsdGVyLWRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgfVxyXG4gIEBpZiAoZW5hYmxlQ29sdW1uT3B0aW9ucykge1xyXG4gICAgPGJ1dHRvbiBcclxuICAgICAgKGNsaWNrKT1cIm9wZW5Db2x1bW5PcHRpb25zKClcIlxyXG4gICAgICBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJzb2YtYnV0dG9uLWljb24tdjJcIiBcclxuICAgICAgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIiBpZD1cIm9wZW4tY29sdW1uLW9wdGlvbnNcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidhcm1hdHVyZS5zb2YtdGFibGUuc2NyZWVuLXJlYWRlci5jb2x1bW4tb3B0aW9ucy1idG4nIHwgdHJhbnNsYXRlXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2FybWF0dXJlLnNvZi10YWJsZS5zY3JlZW4tcmVhZGVyLmNvbHVtbi1vcHRpb25zLWJ0bicgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJiZWxvd1wiIG1hdFRvb2x0aXBDbGFzcz1cIm1kYy10b29sdGlwX19zdXJmYWNlIGJlbG93XCI+XHJcbiAgICAgIDxpIGNsYXNzPVwicGgtYm9sZCBwaC1wYXVzZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYoZW5hYmxlRXhwb3J0KSB7XHJcbiAgICA8YnV0dG9uIFxyXG4gICAgICAoY2xpY2spPVwiZXhwb3J0RmlsdGVyZWRSb3dEYXRhKClcIlxyXG4gICAgICBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJzb2YtYnV0dG9uLWljb24tdjJcIiBcclxuICAgICAgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIiBpZD1cImV4cG9ydC10YWJsZVwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2FybWF0dXJlLnNvZi10YWJsZS5zY3JlZW4tcmVhZGVyLmV4cG9ydC10YWJsZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBbbWF0VG9vbHRpcF09XCInYXJtYXR1cmUuc29mLXRhYmxlLnNjcmVlbi1yZWFkZXIuZXhwb3J0LXRhYmxlJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlbG93XCIgbWF0VG9vbHRpcENsYXNzPVwibWRjLXRvb2x0aXBfX3N1cmZhY2UgYmVsb3dcIj5cclxuICAgICAgPGkgY2xhc3M9XCJwaC1ib2xkIHBoLWV4cG9ydFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLXRhYmxlLXJpZ2h0LWJ1dHRvbnNdXCI+PC9uZy1jb250ZW50PlxyXG4gIDwhLS0gXHJcbiAgT25seSBpbmplY3QgPGJ1dHRvbj4ncyBpbnNpZGUgYW4gPG5nLWNvbnRhaW5lciBzb2YtdGFibGUtcmlnaHQtYnV0dG9ucz5cclxuICAuLi4gXHJcbiAgPG5nLWNvbnRhaW5lciBzb2YtdGFibGUtcmlnaHQtYnV0dG9ucz5cclxuICAgIDxidXR0b24gXHJcbiAgICAgIChjbGljayk9XCJhbnlGdW5jdGlvbigpXCJcclxuICAgICAgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwic29mLWJ1dHRvbi1pY29uLXYyXCIgXHJcbiAgICAgIGNvbG9yPVwic2Vjb25kYXJ5XCIgc2l6ZT1cInNtYWxsXCIgYXJpYS1sYWJlbD1cImFueSBidXR0b25cIlxyXG4gICAgICBtYXRUb29sdGlwPVwiYW55IGJ1dHRvblwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlbG93XCIgbWF0VG9vbHRpcENsYXNzPVwibWRjLXRvb2x0aXBfX3N1cmZhY2UgYmVsb3dcIj5cclxuICAgICAgPGkgY2xhc3M9XCJwaC1ib2xkIHBoLWFjb3JuXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgLi4uIFxyXG4gIG5vdGU6IG1ha2Ugc3VyZSBidXR0b25zIGhhdmUgdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIHRvIG1hdGNoIG90aGVycyA9XHJcbiAgYG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cInNvZi1idXR0b24taWNvbi12MlwiIGNvbG9yPVwic2Vjb25kYXJ5XCIgc2l6ZT1cInNtYWxsXCJgXHJcbiAgKiByZW1lbWJlciB0byBhZGQgYXJpYS1sYWJlbCBhbmQgdG9vbHRpcCBmb3IgaWNvbiBidXR0b25cclxuICAtLT5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICNhcmlhUmVzdWx0c0NvdW50IGNsYXNzPVwic3Itb25seVwiIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiPjwvZGl2PlxyXG5cclxuQGlmIChpc0dyaWREYXRhUmVuZGVyZWQoKSAmJiBmaWx0ZXJPcGVuU3RhdGUpIHtcclxuICA8ZmllbGRzZXQgXHJcbiAgICBjbGFzcz1cImZpbHRlci1wYW5lbFwiIHJvbGU9XCJyZWdpb25cIlxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInYXJtYXR1cmUuc29mLXRhYmxlLnNjcmVlbi1yZWFkZXIuc2VsZWN0LWZpbHRlcnMtZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8cD5cclxuICAgICAgPGkgY2xhc3M9XCJwaCBwaC1ib2xkIHBoLXNsaWRlcnMtaG9yaXpvbnRhbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtLWwtOFwiPnt7J2FybWF0dXJlLnNvZi10YWJsZS5maWx0ZXInIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICA8L3A+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXBhbmVsLXNlbGVjdC1jb250YWluZXIgbS12LTIwXCI+XHJcbiAgICAgIEBmb3IgKGNvbEZpbHRlciBvZiBjb2xGaWx0ZXJzOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgaSkge1xyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwic29mLWZvcm0tZmllbGQgdGFibGUtZmlsdGVyLXNlbGVjdFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD57e2NvbEZpbHRlci5sYWJlbH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJTZWxlY3Rpb25zW2ldXCIgXHJcbiAgICAgICAgICAgIG11bHRpcGxlIFxyXG4gICAgICAgICAgICBpZD1cImZpbHRlckRyb3Bkb3due3tpfX1cIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7J2FybWF0dXJlLnNvZi10YWJsZS5hbGwnIHwgdHJhbnNsYXRlfX1cIiBkaXNhYmxlUmlwcGxlPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICBAZm9yIChjb2xPcHRpb24gb2YgY29sRmlsdGVyLm9wdGlvbnM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJjb2xPcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIHt7Y29sT3B0aW9ufX1cclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgICAgPGRpdiBmeEZsZXg9XCI1MCVcIj5cclxuICAgICAgICA8YnV0dG9uIFxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmlsdGVycygpXCIgW2Rpc2FibGVkXT1cImhhc0VtcHR5RmlsdGVycygpXCIgXHJcbiAgICAgICAgICBtYXQtYnV0dG9uIGNsYXNzPVwic29mLWJ1dHRvbi12MlwiIHNpemU9XCJtZWRpdW1cIlxyXG4gICAgICAgICAgaWQ9XCJ0YWJsZUZpbHRlckNsZWFyXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxyXG4gICAgICAgICAge3snYXJtYXR1cmUuc29mLXRhYmxlLnJlc2V0JyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGZ4RmxleD1cIjUwJVwiPlxyXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIlXCIgZnhMYXlvdXRBbGlnbj1cImZsZXgtZW5kXCI+XHJcbiAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjAgMSBhdXRvXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbEZpbHRlckNoYW5nZXMoKVwiIG1hdC1idXR0b24gY2xhc3M9XCJzb2YtYnV0dG9uLXYyXCIgXHJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiIGlkPVwidGFibGVGaWx0ZXJDYW5jZWxcIiBjb2xvcj1cInRlcnRpYXJ5XCI+XHJcbiAgICAgICAgICAgICAge3snYXJtYXR1cmUuc29mLXRhYmxlLmNhbmNlbCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBmeEZsZXg9XCIwIDEgYXV0b1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIFxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJhcHBseUZpbHRlcnMoKVwiIG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cInNvZi1idXR0b24tdjJcIlxyXG4gICAgICAgICAgICAgIHNpemU9XCJtZWRpdW1cIiBpZD1cInRhYmxlRmlsdGVyQXBwbHlcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgICB7eydhcm1hdHVyZS5zb2YtdGFibGUucmVzdWx0cycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZmllbGRzZXQ+XHJcbn1cclxuXHJcbjxhZy1ncmlkLWFuZ3VsYXIgXHJcbiAgW2Z4U2hvd109XCJpc0dyaWREYXRhUmVuZGVyZWQoKVwiXHJcbiAgKGdyaWRSZWFkeSk9XCJvbkdyaWRSZWFkeSgkZXZlbnQpXCIgXHJcbiAgKGZpcnN0RGF0YVJlbmRlcmVkKT1cIm9uRmlyc3REYXRhUmVuZGVyZWQoKVwiXHJcbiAgKGZpbHRlckNoYW5nZWQpPVwib25GaWx0ZXJDaGFuZ2VkKClcIlxyXG4gIChwYWdpbmF0aW9uQ2hhbmdlZCk9XCJjaGFuZ2VQYWdlU2l6ZSgkZXZlbnQpXCIgXHJcbiAgW3Jvd0RhdGFdPVwicm93RGF0YVwiIFxyXG4gIFtjb2x1bW5EZWZzXT1cImNvbERlZnNcIiBcclxuICBbZGVmYXVsdENvbERlZl09XCJkZWZhdWx0Q29sRGVmXCIgXHJcbiAgW3BhZ2luYXRpb25dPVwidHJ1ZVwiIFxyXG4gIFtzdXBwcmVzc1BhZ2luYXRpb25QYW5lbF09XCJ0cnVlXCJcclxuICBbcGFnaW5hdGlvblBhZ2VTaXplU2VsZWN0b3JdPVwicGFnaW5hdGlvblBhZ2VTaXplU2VsZWN0b3JcIiBcclxuICBbcGFnaW5hdGlvblBhZ2VTaXplXT1cInBhZ2luYXRpb25QYWdlU2l6ZVwiXHJcbiAgW2hlYWRlckhlaWdodF09XCJyb3dIZWlnaHRcIiBcclxuICBbcm93SGVpZ2h0XT1cInJvd0hlaWdodFwiIFxyXG4gIFtkb21MYXlvdXRdPVwiJ2F1dG9IZWlnaHQnXCIgXHJcbiAgW3Rvb2x0aXBTaG93RGVsYXldPVwidG9vbHRpcFNob3dEZWxheVwiXHJcbiAgW292ZXJsYXlOb1Jvd3NUZW1wbGF0ZV09XCInYXJtYXR1cmUuc29mLXRhYmxlLm5vLXJvd3MnIHwgdHJhbnNsYXRlXCJcclxuICBbY2xhc3Mubm8tcm93c109XCIhdG90YWxMZW5ndGhcIlxyXG4gIGNsYXNzPVwiYWctdGhlbWUtbWF0ZXJpYWxcIj5cclxuPC9hZy1ncmlkLWFuZ3VsYXI+XHJcblxyXG48ZGl2IFxyXG4gIFtmeFNob3ddPVwiaXNHcmlkRGF0YVJlbmRlcmVkKClcIlxyXG4gIGNsYXNzPVwiY3VzdG9tLXBhZ2luYXRvclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmaXJzdC1zZWN0aW9uXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLXBhcnQtMVwiIHR5cGU9XCJidXR0b25cIj5cclxuICAgICAgPG1hdC1zZWxlY3QgXHJcbiAgICAgICAgI3BhZ2VTaXplU2VsZWN0XHJcbiAgICAgICAgaWQ9XCJwYWdlU2l6ZUlucHV0XCIgbmFtZT1cInBhZ2VTaXplSW5wdXRcIiBcclxuICAgICAgICBbKHZhbHVlKV09XCJwYWdpbmF0aW9uUGFnZVNpemVcIiBkaXNhYmxlUmlwcGxlPVwidHJ1ZVwiPlxyXG4gICAgICAgIEBmb3IgKHNpemUgb2YgcGFnaW5hdGlvblBhZ2VTaXplU2VsZWN0b3I7IGxldCBpID0gJGluZGV4OyB0cmFjayBpKSB7XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiBcclxuICAgICAgICAgICAgY2xhc3M9XCJwYWdlLW9wdGlvblwiIGlkPVwic2l6ZXt7aX19XCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInBhZ2luYXRpb25QYWdlU2l6ZVNlbGVjdG9yW2ldXCI+XHJcbiAgICAgICAgICAgIHt7c2l6ZX19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJyZW50LXBhZ2VcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2VcIj57e3BhZ2luYXRpb25QYWdlU2l6ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0LWljb25cIj5cclxuICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiJ3BoLWJvbGQgcGgtY2FyZXQtJyArIChwYWdlU2l6ZVNlbGVjdC5wYW5lbE9wZW4gPyAndXAnOidkb3duJylcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxzcGFuIGNsYXNzPVwicGFnZUNoYW5nZVRleHRcIj5cclxuICAgICAge3twYWdlQ2hhbmdlVGV4dH19IHt7J2FybWF0dXJlLnNvZi10YWJsZS5vZicgfCB0cmFuc2xhdGV9fSB7e3RvdGFsTGVuZ3RofX1cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZ28tdG8tcGFnZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm91dGVyLWJveFwiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLXBhcnRcIiB0eXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgXHJcbiAgICAgICAgICAjcGFnZU51bWJlclNlbGVjdFxyXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblBhZ2VOdW1iZXJDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXHJcbiAgICAgICAgICBbKHZhbHVlKV09XCJjdXJyZW50UGFnZVwiIFxyXG4gICAgICAgICAgaWQ9XCJwYWdlU2VsZWxjdG9yXCIgbmFtZT1cInBhZ2VTZWxlY3RvclwiIGRpc2FibGVSaXBwbGU9XCJ0cnVlXCI+XHJcbiAgICAgICAgICBAZm9yIChwYWdlIG9mIHBhZ2VTZWxlY3RvcjsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJwYWdlXCIgY2xhc3M9XCJwYWdlLW9wdGlvblwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3VycmVudC1wYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2VcIj57e3BhZ2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3VycmVudC1wYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2VcIj57e2N1cnJlbnRQYWdlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9mLXBhZ2VcIj4ge3snYXJtYXR1cmUuc29mLXRhYmxlLm9mJyB8IHRyYW5zbGF0ZX19IHt7dG90YWxOdW1iZXJPZlBhZ2VzfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlbGVjdC1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiJ3BoLWJvbGQgcGgtY2FyZXQtJyArIChwYWdlTnVtYmVyU2VsZWN0LnBhbmVsT3BlbiA/ICd1cCc6J2Rvd24nKVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5hdiBjbGFzcz1cInNlY29uZC1zZWN0aW9uXCI+XHJcbiAgICAgIDxidXR0b24gXHJcbiAgICAgICAgKGNsaWNrKT1cInByZXZpb3VzUGFnZSgpXCJcclxuICAgICAgICBpZD1cInByZXYtYnV0dG9uXCIgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwic29mLWJ1dHRvbi1pY29uLXYyXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gMVwiIFxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NjcmVlbi1yZWFkZXIucGFnaW5hdGlvbi5wcmV2aW91cycgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cInBoLWJvbGQgcGgtY2FyZXQtbGVmdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gXHJcbiAgICAgICAgKGNsaWNrKT1cIm5leHRQYWdlKClcIiBcclxuICAgICAgICBpZD1cIm5leHQtYnV0dG9uXCIgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwic29mLWJ1dHRvbi1pY29uLXYyXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gdG90YWxOdW1iZXJPZlBhZ2VzXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidzY3JlZW4tcmVhZGVyLnBhZ2luYXRpb24ubmV4dCcgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cInBoLWJvbGQgcGgtY2FyZXQtcmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uYXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuQGlmICghaXNHcmlkRGF0YVJlbmRlcmVkKCkpIHtcclxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cclxuICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiLz5cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
|
|
518
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL2FnLWdyaWQtY29tcG9uZW50cy9zcmMvc29mLXRhYmxlL3NvZi10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9hZy1ncmlkLWNvbXBvbmVudHMvc3JjL3NvZi10YWJsZS9zb2YtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sTUFBTSxFQUVOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUdMLHlCQUF5QixFQUMxQixNQUFNLGtEQUFrRCxDQUFDO0FBZ0IxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBRXZELDRDQUE0QztBQU01QyxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBT0Usc0VBQXNFO1FBQ3RELFlBQU8sR0FBZSxFQUFFLENBQUM7UUFFekMsMkRBQTJEO1FBQzNDLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBSzVDLGtCQUFrQjtRQUNGLCtCQUEwQixHQUFrQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTlFLG9CQUFvQjtRQUNKLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBRTdDLDBDQUEwQztRQUMxQixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUU3Qyw0Q0FBNEM7UUFDNUIsd0JBQW1CLEdB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S0FBSztnQkFHVSxPQUFPO3NCQUF0QixLQUFLO2dCQUdXLFFBQVE7c0JBQXhCLEtBQUs7Z0JBR1UsMEJBQTBCO3NCQUF6QyxLQUFLO2dCQUdVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBR1UsWUFBWTtzQkFBM0IsS0FBSztnQkFHVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBR1UsWUFBWTtzQkFBM0IsS0FBSztnQkFXVSx5QkFBeUI7c0JBQXhDLEtBQUs7Z0JBTVUsU0FBUztzQkFBeEIsS0FBSztnQkFHVyxnQkFBZ0I7c0JBQWhDLEtBQUs7Z0JBR1csa0JBQWtCO3NCQUFsQyxLQUFLO2dCQUdJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFHRyx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBRzJCLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBR00sZ0JBQWdCO3NCQUFyRCxTQUFTO3VCQUFDLGtCQUFrQjs7QUFzZS9CLHFDQUFxQztBQUNyQyxNQUFNLGNBQWM7SUFBcEI7UUFLRSxnQ0FBZ0M7UUFDaEMsWUFBTyxHQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQUE7QUFFRCwrREFBK0Q7QUFDL0QsTUFBTSxtQkFBbUI7Q0FPeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBcclxuICBDb21wb25lbnQsIFxyXG4gIEVsZW1lbnRSZWYsIFxyXG4gIEV2ZW50RW1pdHRlciwgXHJcbiAgaW5qZWN0LCBcclxuICBJbnB1dCwgXHJcbiAgT25DaGFuZ2VzLCBcclxuICBPbkluaXQsIFxyXG4gIE91dHB1dCwgXHJcbiAgc2lnbmFsLCBcclxuICBTaW1wbGVDaGFuZ2VzLCBcclxuICBWaWV3Q2hpbGQsIFxyXG4gIFdyaXRhYmxlU2lnbmFsIFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgdGFrZSwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBcclxuICBDb2x1bW5EYXRhLCBcclxuICBDb2x1bW5PcHRpb25zRGF0YSwgXHJcbiAgU29mQ29sdW1uT3B0aW9uc0NvbXBvbmVudCBcclxufSBmcm9tICcuLi9jb2x1bW4tb3B0aW9ucy1tb2RhbC9jb2x1bW4tb3B0aW9ucy5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHtcclxuICBBcHBseUNvbHVtblN0YXRlUGFyYW1zLFxyXG4gIENvbERlZixcclxuICBDb2x1bW4sXHJcbiAgQ29sdW1uU3RhdGUsXHJcbiAgRmlsdGVyTW9kZWwsXHJcbiAgR3JpZEFwaSxcclxuICBHcmlkUmVhZHlFdmVudCxcclxuICBJUm93Tm9kZSxcclxuICBQYWdpbmF0aW9uQ2hhbmdlZEV2ZW50LFxyXG4gIFN1cHByZXNzS2V5Ym9hcmRFdmVudFBhcmFtcyxcclxuICBUZXh0RmlsdGVyTW9kZWxcclxufSBmcm9tIFwiYWctZ3JpZC1jb21tdW5pdHlcIjtcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbi8qKiBUaGUgU29mdGhlb24gQXJtYXR1cmUgVGFibGUgY29tcG9uZW50ICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc29mLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc29mLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc29mLXRhYmxlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU29mVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIC8qKiBUaGUgbGFuZ3VhZ2UgdGV4dCBvciBhIGtleSB0aGF0IHdpbGwgYmUgc2hvd24gaW4gdGhpcyBjb21wb25lbnQgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgcm93RGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG5cclxuICAvKiogQ29sdW1uIERlZmluaXRpb25zOiBEZWZpbmVzICYgY29udHJvbHMgZ3JpZCBjb2x1bW5zLiAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xEZWZzOiBBcnJheTxDb2xEZWY+ID0gW107XHJcblxyXG4gIC8qKiBTaXplIG1vZGVzIGZvciB0YWJsZSAqL1xyXG4gIEBJbnB1dCgpIHByaXZhdGUgc2l6ZU1vZGU6ICdDb21wYWN0JyB8ICdSb29teScgfCAnRGVmYXVsdCc7XHJcblxyXG4gIC8qKiBQYWdlcyBzaXplcyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwYWdpbmF0aW9uUGFnZVNpemVTZWxlY3RvcjogQXJyYXk8bnVtYmVyPiA9IFsxMCwgMjAsIDUwLCAxMDBdO1xyXG5cclxuICAvKiogRW5hYmxlIHNlYXJjaCAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKiogRW5hYmxlIGN1c3RvbSB0ZXh0IGZpbHRlciBkcm9wZG93bnMgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlRmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqIEVuYWJsZSBjb2x1bW4gb3B0aW9ucyBtb2RhbCBzZWxlY3Rpb24gKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlQ29sdW1uT3B0aW9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKiBFbmFibGUgZXhwb3J0IGJ1dHRvbiB0byBvdXRwdXQgZmlsdGVyZWQgcm93IGRhdGEgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlRXhwb3J0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBcclxuICAgKiBUbyBkaXNwbGF5IHRoZSB0ZXh0IG9uIHRoZSBjb2x1bW4gb3B0aW9ucyBtb2RhbCwgd2hpY2ggc3RhdGVzIC1cclxuICAgKiBgXCJPcHRpb25zIHdpbGwgYmUgc2F2ZWQgZm9yIHRoZSBuZXh0IHRpbWUgeW91IGxvZyBpbi5cImBcclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqIEBkZXNjcmlwdGlvbiBzZXQgdG8gdHJ1ZSBpZiBzZXQtdXAgZm9yIHNhdmluZyBwcmVmZXJlbmNlcyB0byBVc2VyIGRhdGEuXHJcbiAgICogQG5vdGUgWW91IGNhbiBzdGlsbCBzYXZlIHByZWZlcmVuY2VzIHRvIF9sb2NhbF8gb3IgX3Nlc3Npb25fIHN0b3JhZ2VcclxuICAgKiB1c2luZyB0aGUgYHNhdmVkQ29sdW1uU3RhdGVgIGlucHV0LCBhbmQgYHVwZGF0ZWRDb2x1bW5TdGF0ZWAgb3V0cHV0IGV2ZW50LlxyXG4gICAqIEBzZWUgVGhlIERlbW8gc2l0ZSBpcyBzYXZpbmcgdG8gbG9jYWwgc3RvcmFnZS5cclxuICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93U2F2ZUNvbHVtbk9wdGlvbnNUZXh0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBcclxuICAgKiBOYW1lL2xhYmVsIG9mIHRoZSB0YWJsZSBcclxuICAgKiBAbm90ZSBzaG91bGQgYmUgYSB0cmFuc2xhdGlvbiBrZXlcclxuICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0YWJsZU5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIFVzZXJzIHNhdmVkIGNvbHVtbiBvcHRpb25zIHN0YXRlICovXHJcbiAgQElucHV0KCkgcHJpdmF0ZSBzYXZlZENvbHVtblN0YXRlOiBBcHBseUNvbHVtblN0YXRlUGFyYW1zO1xyXG5cclxuICAvKiogSW5pdGlhbCBmaWx0ZXIgbW9kZWwgKi9cclxuICBASW5wdXQoKSBwcml2YXRlIGluaXRpYWxGaWx0ZXJNb2RlbDogRmlsdGVyTW9kZWw7XHJcblxyXG4gIC8qKiBPdXRwdXQgdXBkYXRlZCBjb2x1bW4gb3B0aW9ucyBldmVudCB0byBzYXZlIHRvIHVzZXIgb3IgYnJvd3NlciBzdG9yYWdlICovXHJcbiAgQE91dHB1dCgpIHVwZGF0ZWRDb2x1bW5TdGF0ZTogRXZlbnRFbWl0dGVyPEFwcGx5Q29sdW1uU3RhdGVQYXJhbXM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKiogT3V0cHV0IGZpbHRlcmVkL3NvcnRlZCByb3cgZGF0YSBhbmQgdGFibGUgaGVhZGVycywgYWxsIHZhbHVlcyByZXR1cm5lZCB3aWxsIGJlIGZvcm1hdHRlZCAmIHRyYW5zbGF0ZWQgKi9cclxuICBAT3V0cHV0KCkgZmlsdGVyZWRSb3dEYXRhRm9yRXhwb3J0OiBFdmVudEVtaXR0ZXI8RXhwb3J0VGFibGVEYXRhPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLyoqIHRoZSBzZWFyY2ggaW5wdXQgKi9cclxuICBAVmlld0NoaWxkKCdncmlkU2VhcmNoVGV4dElucHV0JykgZ3JpZFNlYXJjaFRleHRJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgLyoqIFRoZSBoaWRkZW4gZWxlbWVudCB0aGF0IGFubm91bmNlcyB3aGVuIHRoZSB0YWJsZSBjb250ZW50IGNoYW5nZXMgZnJvbSBmaWx0ZXIgKi9cclxuICBAVmlld0NoaWxkKCdhcmlhUmVzdWx0c0NvdW50JykgcHVibGljIGFyaWFSZXN1bHRzQ291bnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG5cclxuICAvKiogXHJcbiAgICogS2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCBjb2x1bW4gc3RhdGVcclxuICAgKiBAbm90ZSBJZiBjb2x1bW5zIGFyZSByZS1kZWZpbmVkIChvbkNoYW5nZXMpLCB0aGlzIHN0YXRlIHdpbGwgYmUgYXBwbGllZFxyXG4gICovXHJcbiAgcHJpdmF0ZSBjdXJyZW50Q29sdW1uU3RhdGU6IEFwcGx5Q29sdW1uU3RhdGVQYXJhbXM7XHJcblxyXG4gIC8qKiBDb2x1bW4gbmFtZXMgdGhhdCBzaG91bGQgYmUgZmlsdGVyYWJsZSAqL1xyXG4gIHB1YmxpYyBjb2xGaWx0ZXJzOiBBcnJheTxTb2ZUYWJsZUZpbHRlcj4gPSBbXTtcclxuXHJcbiAgLyoqIFJvdyBIZWlnaHQgZm9yIHRhYmxlICovXHJcbiAgcHVibGljIHJvd0hlaWdodDogbnVtYmVyID0gNDg7XHJcblxyXG4gIC8qKiBDdXJyZW50IFBhZ2UgSW5kZXggKi9cclxuICBwdWJsaWMgY3VycmVudFBhZ2U6IG51bWJlciA9IDA7XHJcblxyXG4gIC8qKiBHcmlkIEFQSSAqL1xyXG4gIHByaXZhdGUgZ3JpZEFwaSE6IEdyaWRBcGk7XHJcblxyXG4gIC8qKiBJcyB0aGUgdGFibGUgcmVhZHkgdG8gYmUgZGlzcGxheWVkICovXHJcbiAgcHVibGljIGlzR3JpZERhdGFSZW5kZXJlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xyXG5cclxuICAvKiogRGVmYXVsdCBQYWdlIFNpemUgKi9cclxuICBwdWJsaWMgcGFnaW5hdGlvblBhZ2VTaXplOiBudW1iZXIgPSAyMDsgXHJcblxyXG4gIC8qKiBUb29sIHRpcCBzaG93IGRlbGF5ICovXHJcbiAgcHVibGljIHRvb2x0aXBTaG93RGVsYXk6IG51bWJlciA9IDUwMDtcclxuICBcclxuICAvKiogTnVtYmVyIG9mIGZpbHRlcnMgdXNlZCAqL1xyXG4gIHB1YmxpYyBmaWx0ZXJDb3VudDogbnVtYmVyID0gMDtcclxuICAvKiogXHJcbiAgICogRGVmYXVsdCBDb2x1bW4gRGVmaW5pdGlvbiBcclxuICAgKiBAbm90ZSAoc3VwcHJlc3NLZXlib2FyZEV2ZW50KSBUYWJsZSBjZWxscyBjYW4gYmUgbmF2aWdhdGVkIHdpdGggdGhlIGFycm93IGtleXMsIFxyXG4gICAqIGlmIHRoZSBjZWxsIGNvbnRhaW5zIGEgYnV0dG9uIHlvdSBjYW4gVGFiIGludG8gdGhlIGJ1dHRvbiwgZW50ZXIgfCBzcGFjZSB0byBpbnRlcmFjdC5cclxuICAqL1xyXG4gIHB1YmxpYyBkZWZhdWx0Q29sRGVmOiBDb2xEZWYgPSB7XHJcbiAgICByZXNpemFibGU6IGZhbHNlLCAvLyBkaXNhYmxlIHJlc2l6ZSBcclxuICAgIHN1cHByZXNzSGVhZGVyTWVudUJ1dHRvbjogdHJ1ZSwgLy8gZGlzYWJsZSBkZWZhdWx0IGZpbHRlciBtZW51IFxyXG4gICAgc3VwcHJlc3NNb3ZhYmxlOiB0cnVlLCAvLyBkaXNhYmxlIGRlZmF1bHQgZHJhZyAmIGRyb3AgZm9yIGNvbHVtbnMgXHJcbiAgICBjZWxsU3R5bGU6IHsganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIgfSxcclxuICAgIHN1cHByZXNzS2V5Ym9hcmRFdmVudDogKHBhcmFtczogU3VwcHJlc3NLZXlib2FyZEV2ZW50UGFyYW1zKSA9PiB7XHJcbiAgICAgIHJldHVybiBwYXJhbXMuZXZlbnQua2V5ID09PSAnVGFiJyA/IHRydWUgOiBmYWxzZTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICAvKiogTGVuZ3RoIG9mIGRhdGEgKi9cclxuICBwdWJsaWMgdG90YWxMZW5ndGg6IG51bWJlciA9IDA7XHJcblxyXG4gIC8qKlRvdGFsIG51bWJlciBvZiBwYWdlcyAqL1xyXG4gIHB1YmxpYyB0b3RhbE51bWJlck9mUGFnZXM6IG51bWJlcjtcclxuXHJcbiAgLyoqIFBhZ2UgQ2hhbmdlIHRleHQgKi9cclxuICBwdWJsaWMgcGFnZUNoYW5nZVRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIFBhZ2Ugc2VsZWN0b3IgYXJyYXkgKi9cclxuICBwdWJsaWMgcGFnZVNlbGVjdG9yOiBBcnJheTxudW1iZXI+ID0gW107XHJcblxyXG4gIC8qKiBGaWx0ZXIgUGFuZWwgb3BlbiBzdGF0ZSAqL1xyXG4gIHB1YmxpYyBmaWx0ZXJPcGVuU3RhdGU6IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUaGUgbGlzdCBvZiBmaWx0ZXJzIGFuZCB0aGUgc2VsZWN0ZWQgdmFsdWVzICovXHJcbiAgcHVibGljIGZpbHRlclNlbGVjdGlvbnM6IEFycmF5PEFycmF5PHN0cmluZz4+ID0gW107XHJcblxyXG4gIC8qKiBtYXQtZGlhbG9nICovXHJcbiAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xyXG5cclxuICAvKiogVHJhbnNsYXRpb24gc2VydmljZSAqL1xyXG4gIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuXHJcbiAgLyoqIE9uIGNvbXBvbmVudCBpbml0ICovXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNpemVHcmlkKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBbmd1bGFyIE9uIENoYW5nZXNcclxuICAgKiBAcGFyYW0gY2hhbmdlcyBUaGUgaW5wdXQgY2hhbmdlc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5yb3dEYXRhICYmICFjaGFuZ2VzLnJvd0RhdGEuZmlyc3RDaGFuZ2UgJiYgISF0aGlzLmdyaWRBcGkpIHtcclxuICAgICAgdGhpcy50b3RhbExlbmd0aCA9IHRoaXMucm93RGF0YS5sZW5ndGg7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGaWx0ZXJzKCk7XHJcbiAgICAgIHRoaXMuaGFuZGxlUGFnZUNoYW5nZVRleHQoKTtcclxuICAgICAgdGhpcy5pc0dyaWREYXRhUmVuZGVyZWQuc2V0KHRydWUpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXMuY29sRGVmcyAmJiAhY2hhbmdlcy5jb2xEZWZzLmZpcnN0Q2hhbmdlICYmICEhdGhpcy5ncmlkQXBpKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ3JpZEFwaS5hcHBseUNvbHVtblN0YXRlKHRoaXMuY3VycmVudENvbHVtblN0YXRlKTtcclxuICAgICAgICB0aGlzLnBvcHVsYXRlRmlsdGVycygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGxlZCB3aGVuIHRoZSBncmlkIGhhcyBpbmdlc3RlZCB0aGUgaW5wdXQgZGF0YVxyXG4gICAqIEBwYXJhbSBwYXJhbXMgR3JpZCBSZWFkeSBFdmVudCxcclxuICAgKiBUaGUgZ3JpZCBoYXMgaW5pdGlhbGl6ZWQgYW5kIGlzIHJlYWR5IGZvciBtb3N0IGFwaSBjYWxscywgYnV0IG1heSBub3QgYmUgZnVsbHkgcmVuZGVyZWQgeWV0LlxyXG4gICAqIEBub3RlIHlvdSBjYW4gbm90IGFjY2VzcyB0aGlzLmdyaWRBcGkgYmVmb3JlIHRoaXMgZnVuY3Rpb24gaXMgcnVuLCBcclxuICAgKiBhbnkgYXR0ZW1wdHMgdG8gYWNjZXNzIHRoaXMuZ3JpZEFwaSBpbiB0aGlzIGNvbXBvbmVudHMgbmdPbkluaXQgb3IgdGhlIGZpcnN0IG5nT25DaGFuZ2VzIGN5Y2xlXHJcbiAgICogd2lsbCByZXN1bHQgaW4gYSB0eXBlIGVycm9yOyBiZWluZyB0aGlzLmdyaWRBcGkgaXMgdW5kZWZpbmVkIGF0IHRoYXQgdGltZS5cclxuICAgKi9cclxuICBwdWJsaWMgb25HcmlkUmVhZHkocGFyYW1zOiBHcmlkUmVhZHlFdmVudCkge1xyXG4gICAgdGhpcy5ncmlkQXBpID0gcGFyYW1zLmFwaTtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdldEN1cnJlbnRQYWdlKCkgKyAxO1xyXG4gICAgdGhpcy50b3RhbExlbmd0aCA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0Um93Q291bnQoKTtcclxuICAgIHdpbmRvdy5vbnJlc2l6ZSA9ICgpID0+IHtcclxuICAgICAgY29uc3QgbW9iaWxlV2lkdGhUaHJlc2hvbGQgPSA3NTI7XHJcbiAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8PSBtb2JpbGVXaWR0aFRocmVzaG9sZCkge1xyXG4gICAgICAgIHRoaXMucm93SGVpZ2h0ID0gNDA7XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uUGFnZVNpemUgPSAxMDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLnJlc2l6ZUdyaWQoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmhhbmRsZVBhZ2VDaGFuZ2VUZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogRmlyZWQgdGhlIGZpcnN0IHRpbWUgZGF0YSBpcyByZW5kZXJlZCBpbnRvIHRoZSBncmlkLiAqL1xyXG4gIHB1YmxpYyBvbkZpcnN0RGF0YVJlbmRlcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLnNhdmVkQ29sdW1uU3RhdGU/LnN0YXRlLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBjb2x1bW5TdGF0ZTogQXJyYXk8Q29sdW1uU3RhdGU+ID0gc3RydWN0dXJlZENsb25lKHRoaXMuZ3JpZEFwaS5nZXRDb2x1bW5TdGF0ZSgpKTtcclxuICAgICAgdGhpcy5zYXZlZENvbHVtblN0YXRlID0ge1xyXG4gICAgICAgIHN0YXRlOiBjb2x1bW5TdGF0ZSxcclxuICAgICAgICBhcHBseU9yZGVyOiB0cnVlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLmdyaWRBcGkuYXBwbHlDb2x1bW5TdGF0ZSh0aGlzLnNhdmVkQ29sdW1uU3RhdGUpO1xyXG4gICAgdGhpcy51cGRhdGVkQ29sdW1uU3RhdGUuZW1pdCh0aGlzLnNhdmVkQ29sdW1uU3RhdGUpO1xyXG4gICAgdGhpcy5jdXJyZW50Q29sdW1uU3RhdGUgPSB0aGlzLnNhdmVkQ29sdW1uU3RhdGU7XHJcbiAgICB0aGlzLnBvcHVsYXRlRmlsdGVycygpO1xyXG4gICAgdGhpcy5oYW5kbGVQYWdlQ2hhbmdlVGV4dCgpO1xyXG4gICAgdGhpcy5pc0dyaWREYXRhUmVuZGVyZWQuc2V0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJlc2l6ZSBncmlkIGZyb20gc2l6ZSBtb2RlICovXHJcbiAgcHJpdmF0ZSByZXNpemVHcmlkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2l6ZU1vZGUgPT09ICdDb21wYWN0Jykge1xyXG4gICAgICB0aGlzLnJvd0hlaWdodCA9IDQwO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5zaXplTW9kZSA9PT0gJ1Jvb215Jykge1xyXG4gICAgICB0aGlzLnJvd0hlaWdodCA9IDU2O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucm93SGVpZ2h0ID0gNDg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBwYWdlIHNlbGVjdGlvbiBjaGFuZ2VcclxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHNlbGVjdGVkIHBhZ2UgbnVtYmVyXHJcbiAgICovXHJcbiAgcHVibGljIG9uUGFnZU51bWJlckNoYW5nZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAvLyBUaGUgcGFnZSB2YWx1ZXMgYXJlIDEgb2ZmIHRvIG1ha2UgYSAxLWJhc2VkIGFycmF5LCBidXQgdGhlIGFjdHVhbCBwYWdlcyBhcmUgYSAwLWJhc2VkIGFycmF5LlxyXG4gICAgdGhpcy5ncmlkQXBpLnBhZ2luYXRpb25Hb1RvUGFnZSh2YWx1ZSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgLyoqIE9uIG5leHQgcGFnZSBldmVudCAqL1xyXG4gIHB1YmxpYyBuZXh0UGFnZSgpIHtcclxuICAgIHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR29Ub05leHRQYWdlKCk7XHJcbiAgICB0aGlzLmhhbmRsZVBhZ2VDaGFuZ2VUZXh0KClcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdldEN1cnJlbnRQYWdlKCkgKyAxO1xyXG4gIH1cclxuXHJcbiAgLyoqIE9uIFByZXZpb3VzIFBhZ2UgRXZlbnQgKi9cclxuICBwdWJsaWMgcHJldmlvdXNQYWdlKCkge1xyXG4gICAgdGhpcy5ncmlkQXBpLnBhZ2luYXRpb25Hb1RvUHJldmlvdXNQYWdlKCk7XHJcbiAgICB0aGlzLmhhbmRsZVBhZ2VDaGFuZ2VUZXh0KClcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdldEN1cnJlbnRQYWdlKCkgKyAxO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT24gQ2hhbmdlIFBhZ2UgU2l6ZSBFdmVudFxyXG4gICAqIEBwYXJhbSBldmVudCBUaGUgcGFnaW5hdGlvbiBldmVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyBjaGFuZ2VQYWdlU2l6ZShldmVudDogUGFnaW5hdGlvbkNoYW5nZWRFdmVudCkge1xyXG4gICAgLy8gT25seSBuZWVkIHRvIGRvIHRoaXMgd29yayBpZiB0aGUgcGFnZSBzaXplIGhhcyBjaGFuZ2VkLlxyXG4gICAgaWYgKGV2ZW50Lm5ld1BhZ2VTaXplKSB7XHJcbiAgICAgIC8vIFVwZGF0ZSB0aGUgdG90YWwgbnVtYmVyIG9mIGZpbHRlcmVkIHJvd3MuXHJcbiAgICAgIHRoaXMudG90YWxMZW5ndGggPSB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdldFJvd0NvdW50KCk7XHJcbiAgICAgIC8vIEhhbmRsZSB0ZXh0IGNoYW5nZXNcclxuICAgICAgdGhpcy5oYW5kbGVQYWdlQ2hhbmdlVGV4dCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFxyXG4gICAqIENhbGxlZCB3aGVuIHRoZSBncmlkIGZpbHRlciBpcyBjaGFuZ2VkIFxyXG4gICAqIEB0b2RvIHVwZGF0ZSB0aGUgZmlsdGVyIGRyb3Bkb3duIG9wdGlvbnMgYmFzZWQgb24gdGhlIGZpbHRlcmVkIGRhdGEgc2V0LCBpbnN0ZWFkIG9mIHRoZSBjb21wbGV0ZSBkYXRhIHNldC5cclxuICAgKi9cclxuICBwdWJsaWMgb25GaWx0ZXJDaGFuZ2VkKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcHJldmlvdXNUb3RhbExlbmd0aDogbnVtYmVyID0gTnVtYmVyKHRoaXMudG90YWxMZW5ndGgpO1xyXG4gICAgLy8gVXBkYXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgZmlsdGVyZWQgcm93cy5cclxuICAgIHRoaXMudG90YWxMZW5ndGggPSB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdldFJvd0NvdW50KCk7XHJcbiAgICBpZiAodGhpcy50b3RhbExlbmd0aCAhPT0gcHJldmlvdXNUb3RhbExlbmd0aCkge1xyXG4gICAgICB0aGlzLmFyaWFSZXN1bHRzQ291bnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSBcIlwiO1xyXG4gICAgICB0aGlzLmFyaWFSZXN1bHRzQ291bnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLnRvdGFsTGVuZ3RoID09PSAwXHJcbiAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnYXJtYXR1cmUuc29mLXRhYmxlLnNjcmVlbi1yZWFkZXIuZmlsdGVyZWQtcmVzdWx0cy5uby1yZXN1bHRzJylcclxuICAgICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2FybWF0dXJlLnNvZi10YWJsZS5zY3JlZW4tcmVhZGVyLmZpbHRlcmVkLXJlc3VsdHMuaGFzLXJlc3VsdHMnLCB7J3Jlc3VsdHNDb3VudCc6IHRoaXMudG90YWxMZW5ndGh9XHJcbiAgICAgICAgKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcmlhUmVzdWx0c0NvdW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gXCJcIjtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICAgIHRoaXMuaGFuZGxlUGFnZUNoYW5nZVRleHQoKTtcclxuICB9XHJcblxyXG4gIC8qKiBHZW5lcmF0ZWQgdGV4dCBmb3Igc2hvd2luZyBwYWdlcyBpbiBmb3JtYXQ6IDEtMTEgb2YgMTEgKi9cclxuICBwcml2YXRlIGhhbmRsZVBhZ2VDaGFuZ2VUZXh0KCk6IHZvaWQge1xyXG4gICAgLy8gSGFuZGxlIGVtcHR5IHRhYmxlXHJcbiAgICBpZiAoIXRoaXMudG90YWxMZW5ndGggfHwgdGhpcy5wYWdpbmF0aW9uUGFnZVNpemUgPT09IDApIHtcclxuICAgICAgLy8gUmVzZXQgdGhlIHBhZ2luYXRpb24gVUlcclxuICAgICAgdGhpcy50b3RhbE51bWJlck9mUGFnZXMgPSAxO1xyXG4gICAgICB0aGlzLnBhZ2VTZWxlY3RvciA9IFsxXTtcclxuICAgICAgdGhpcy5wYWdlQ2hhbmdlVGV4dCA9IGAwYDtcclxuICAgICAgdGhpcy5ncmlkQXBpLnNob3dOb1Jvd3NPdmVybGF5KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JpZEFwaS5oaWRlT3ZlcmxheSgpO1xyXG4gICAgfVxyXG4gICAgLy8gVXBkYXRlIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFnZXNcclxuICAgIHRoaXMudG90YWxOdW1iZXJPZlBhZ2VzID0gdGhpcy5ncmlkQXBpLnBhZ2luYXRpb25HZXRUb3RhbFBhZ2VzKCkgfHwgTWF0aC5jZWlsKHRoaXMudG90YWxMZW5ndGggLyB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgfHwgMTtcclxuICAgIC8vIFJlc2V0IHRoZSBwYWdlIHNlbGVjdG9yXHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIGNvbnN0IHBhZ2VTZWxlY3RvciA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdGhpcy50b3RhbE51bWJlck9mUGFnZXM7IGkrKykge1xyXG4gICAgICBwYWdlU2VsZWN0b3IucHVzaChpKTtcclxuICAgIH1cclxuICAgIHRoaXMucGFnZVNlbGVjdG9yID0gcGFnZVNlbGVjdG9yO1xyXG4gICAgY29uc3QgbGVuZ3RoID0gTWF0aC5tYXgodGhpcy50b3RhbExlbmd0aCwgMCk7XHJcbiAgICBjb25zdCBwYWdlU2l6ZSA9IHRoaXMucGFnaW5hdGlvblBhZ2VTaXplO1xyXG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0Q3VycmVudFBhZ2UoKSAqIHBhZ2VTaXplO1xyXG4gICAgY29uc3QgZW5kSW5kZXggPSBzdGFydEluZGV4IDwgbGVuZ3RoID8gTWF0aC5taW4oc3RhcnRJbmRleCArIHBhZ2VTaXplLCBsZW5ndGgpIDogc3RhcnRJbmRleCArIHBhZ2VTaXplO1xyXG4gICAgdGhpcy5wYWdlQ2hhbmdlVGV4dCA9IGAke3N0YXJ0SW5kZXggKyAxfSAtICR7ZW5kSW5kZXh9YDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFwcGx5IHRoZSBzZWFyY2ggZmlsdGVyIG9uIGRhdGEgd2hlbiBzZWFyY2ggdGV4dCBjaGFuZ2VkXHJcbiAgICovXHJcbiAgcHVibGljIG9uU2VhcmNoVGV4dENoYW5nZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbihcInF1aWNrRmlsdGVyVGV4dFwiLCB0aGlzLmdyaWRTZWFyY2hUZXh0SW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKiogVG9nZ2xlIHRoZSBmaWx0ZXIgcGFuZWwgZGlzcGxheSAqL1xyXG4gIHB1YmxpYyB0b2dnbGVGaWx0ZXJQYW5lbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyT3BlblN0YXRlID0gIXRoaXMuZmlsdGVyT3BlblN0YXRlO1xyXG4gIH1cclxuXHJcbiAgLyoqIEFwcGx5IHRoZSBzZWxlY3RlZCBmaWx0ZXJzICovXHJcbiAgcHVibGljIGFwcGx5RmlsdGVycygpOiB2b2lkIHtcclxuICAgIGxldCB0YWJsZUZpbHRlck1vZGVsOiBGaWx0ZXJNb2RlbCA9IHt9O1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNvbEZpbHRlcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgY29sRmlsdGVyID0gdGhpcy5jb2xGaWx0ZXJzW2ldO1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gdGhpcy5maWx0ZXJTZWxlY3Rpb25zW2ldO1xyXG4gICAgICBpZiAoIXNlbGVjdGVkRWxlbWVudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgLy8gUmVzZXQgb3V0IHRoZSBjb2x1bW4gZmlsdGVyc1xyXG4gICAgICAgIHRoaXMuZ3JpZEFwaS5zZXRDb2x1bW5GaWx0ZXJNb2RlbChjb2xGaWx0ZXIuaGVhZGVyLCBudWxsKTtcclxuICAgICAgICB0YWJsZUZpbHRlck1vZGVsW2NvbEZpbHRlci5oZWFkZXJdID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgLy8gU2V0IHRoZSBzaW5nbGUgZmlsdGVyIGZvciB0aGUgY29sdW1uXHJcbiAgICAgICAgbGV0IGZpbHRlck1vZGVsOiBUZXh0RmlsdGVyTW9kZWwgPSB7IGZpbHRlclR5cGU6ICd0ZXh0JywgdHlwZTogJ2VxdWFscycsIGZpbHRlcjogc2VsZWN0ZWRFbGVtZW50c1swXSB9O1xyXG4gICAgICAgIC8vIEFwcGx5IHRoZSBmaWx0ZXIgbW9kZWwgdG8gdGhlIGNvbHVtblxyXG4gICAgICAgIHRhYmxlRmlsdGVyTW9kZWxbY29sRmlsdGVyLmhlYWRlcl0gPSBmaWx0ZXJNb2RlbDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICAvLyBTZXQgbXVsdGlwbGUgT1IgZmlsdGVycyBmb3IgdGhlIGNvbHVtblxyXG4gICAgICAgIGxldCBmaWx0ZXJNb2RlbHM6IENvbWJpbmVkU2ltcGxlTW9kZWw8VGV4dEZpbHRlck1vZGVsPiA9IHsgZmlsdGVyVHlwZTogJ3RleHQnLCBvcGVyYXRvcjogJ09SJywgY29uZGl0aW9uczogW10gfTtcclxuICAgICAgICAvLyBTZXQgdGhlIHNlbGVjdGVkIGVsZW1lbnRzIGluIHRoZSBtb2RlbFxyXG4gICAgICAgIGZvciAoY29uc3Qgc2VsZWN0ZWRFbGVtZW50IG9mIHNlbGVjdGVkRWxlbWVudHMpIHtcclxuICAgICAgICAgIGZpbHRlck1vZGVscy5jb25kaXRpb25zLnB1c2goeyBmaWx0ZXJUeXBlOiAndGV4dCcsIHR5cGU6ICdlcXVhbHMnLCBmaWx0ZXI6IHNlbGVjdGVkRWxlbWVudCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQXBwbHkgdGhlIGZpbHRlciBtb2RlbCBjb2xsZWN0aW9uIHRvIHRoZSBjb2x1bW5cclxuICAgICAgICB0YWJsZUZpbHRlck1vZGVsW2NvbEZpbHRlci5oZWFkZXJdID0gZmlsdGVyTW9kZWxzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPbmNlIGV2ZXJ5dGhpbmcgaXMgc2V0LCB1cGRhdGUgdGhlIGZpbHRlcnNcclxuICAgIHRoaXMuZmlsdGVyQ291bnQgPSB0aGlzLmdldEZpbHRlckNvdW50KCk7XHJcbiAgICB0aGlzLmdyaWRBcGkuc2V0RmlsdGVyTW9kZWwodGFibGVGaWx0ZXJNb2RlbCk7XHJcbiAgICB0aGlzLmdyaWRBcGkub25GaWx0ZXJDaGFuZ2VkKCk7XHJcbiAgfVxyXG5cclxuICAvKiogQ2xlYXIgYWxsIGZpbHRlcnMgKi9cclxuICBwdWJsaWMgY2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgLy8gQ2xlYXIgYWxsIHNlbGVjdGlvbnNcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5maWx0ZXJTZWxlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyU2VsZWN0aW9uc1tpXSA9IFtdO1xyXG4gICAgfVxyXG4gICAgLy8gU2V0IHRoZSBmdWxsIGdyaWQgZmlsdGVyIG1vZGVsIHRvIG51bGxcclxuICAgIHRoaXMuZ3JpZEFwaS5zZXRGaWx0ZXJNb2RlbChudWxsKTtcclxuICAgIC8vIFVwZGF0ZSB0aGUgZGlzcGxheVxyXG4gICAgdGhpcy5ncmlkQXBpLm9uRmlsdGVyQ2hhbmdlZCgpO1xyXG4gICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuZ2V0RmlsdGVyQ291bnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBubyBmaWx0ZXJzIGFyZSBzZWxlY3RlZFxyXG4gICAqIEByZXR1cm5zIFRydWUgaWYgYSBmaWx0ZXIgaXMgc2VsZWN0ZWQsIGZhbHNlIG90aGVyd2lzZS5cclxuICAgKi9cclxuICBwdWJsaWMgaGFzRW1wdHlGaWx0ZXJzKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmZpbHRlclNlbGVjdGlvbnMgfHwgIXRoaXMuZmlsdGVyU2VsZWN0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGZpbHRlclNlbGVjdCBvZiB0aGlzLmZpbHRlclNlbGVjdGlvbnMpIHtcclxuICAgICAgLy8gSWYgYXQgbGVhc3Qgb25lIGZpbHRlciBoYXMgYmVlbiBzZWxlY3RlZCwgcmV0dXJuIGZhbHNlXHJcbiAgICAgIGlmIChmaWx0ZXJTZWxlY3QubGVuZ3RoKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKiBDYW5jZWwgdGhlIGNoYW5nZXMgdG8gdGhlIGZpbHRlciBhbmQgY2xvc2VzIHRoZSBmaWx0ZXIgcGFuZWwgKi9cclxuICBwdWJsaWMgY2FuY2VsRmlsdGVyQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIC8vU2V0cyB0aGUgZmlsdGVyIHNlbGVjdGlvbnMgb24gZmlsdGVyIHBhbmVsXHJcbiAgICB0aGlzLnNldEZpbHRlclNlbGVjdGlvbnMoKTtcclxuICAgIC8vIENsb3NlIHRoZSBmaWx0ZXIgcGFuZWxcclxuICAgIHRoaXMudG9nZ2xlRmlsdGVyUGFuZWwoKTtcclxuICB9XHJcblxyXG4gIC8qKiBQb3B1bGF0ZXMgdGhlIGZpbHRlciBkcm9wZG93bnMgKi9cclxuICBwcml2YXRlIHBvcHVsYXRlRmlsdGVycygpOiB2b2lkIHtcclxuICAgIC8vIFJlc2V0IHRoZSBmaWx0ZXIgZHJvcGRvd25zXHJcbiAgICB0aGlzLmZpbHRlclNlbGVjdGlvbnMgPSBbXTtcclxuICAgIHRoaXMuY29sRmlsdGVycyA9IFtdO1xyXG4gICAgLy8gR2V0IHRoZSBjb2x1bW4gZGVmaW5pdGlvbnMgdGhhdCBoYXZlIGEgZmlsdGVyXHJcbiAgICBjb25zdCBmaWx0ZXJlZENvbHM6IEFycmF5PENvbERlZj4gPSB0aGlzLmdyaWRBcGkuZ2V0Q29sdW1uRGVmcygpLmZpbHRlcigoZGVmKSA9PiBkZWZbJ2ZpbHRlciddKTtcclxuICAgIC8vIENyZWF0ZSBhIG1hcCB0byBzdG9yZSB1bmlxdWUgdmFsdWVzIGZvciBlYWNoIGZpZWxkXHJcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZXNNYXAgPSBuZXcgTWFwPHN0cmluZywgU2V0PGFueT4+KCk7XHJcbiAgICAvLyBJbml0aWFsaXplIHNldHMgZm9yIGVhY2ggZmllbGQgKGNvbHVtbikgXHJcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBmaWx0ZXJlZENvbHMpIHtcclxuICAgICAgY29uc3QgZmllbGQ6IHN0cmluZyA9IGNvbFtcImZpZWxkXCJdO1xyXG4gICAgICBmaWx0ZXJWYWx1ZXNNYXAuc2V0KGZpZWxkLCBuZXcgU2V0PGFueT4oKSk7XHJcbiAgICB9XHJcbiAgICAvLyBVc2UgZm9yRWFjaE5vZGUgdG8gaXRlcmF0ZSBvdmVyIHRoZSByb3dzXHJcbiAgICB0aGlzLmdyaWRBcGkuZm9yRWFjaE5vZGUoKG5vZGU6IElSb3dOb2RlKSA9PiB7XHJcbiAgICAgIGlmIChub2RlLmRhdGEpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGNvbCBvZiBmaWx0ZXJlZENvbHMpIHtcclxuICAgICAgICAgIGNvbnN0IGZpZWxkOiBzdHJpbmcgPSBjb2xbXCJmaWVsZFwiXTtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlOiBhbnkgPSB0aGlzLmdyaWRBcGkuZ2V0Q2VsbFZhbHVlKHtyb3dOb2RlOiBub2RlLCBjb2xLZXk6IGZpZWxkfSk7XHJcbiAgICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgZmlsdGVyVmFsdWVzTWFwLmdldChmaWVsZCk/LmFkZCh2YWx1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgdGhlIHVuaXF1ZSB2YWx1ZXMgZm9yIGVhY2ggZmllbGQsIHBvcHVsYXRlIGZpbHRlciBvcHRpb25zXHJcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBmaWx0ZXJlZENvbHMpIHtcclxuICAgICAgY29uc3QgZmllbGQ6IHN0cmluZyA9IGNvbFtcImZpZWxkXCJdO1xyXG4gICAgICBjb25zdCBsYWJlbDogc3RyaW5nID0gY29sW1wiaGVhZGVyTmFtZVwiXTtcclxuICAgICAgY29uc3QgdW5pcXVlVmFsdWVzOiBBcnJheTxhbnk+ID0gQXJyYXkuZnJvbShmaWx0ZXJWYWx1ZXNNYXAuZ2V0KGZpZWxkKSB8fCBbXSkuc29ydCgpO1xyXG4gICAgICBpZiAodW5pcXVlVmFsdWVzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAvLyBFbnN1cmUgdGhlcmUncyBzcGFjZSBmb3IgZmlsdGVyIHNlbGVjdGlvbnNcclxuICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGlvbnMucHVzaChbXSk7IFxyXG4gICAgICAgIHRoaXMuY29sRmlsdGVycy5wdXNoKHsgaGVhZGVyOiBmaWVsZCwgbGFiZWw6IGxhYmVsLCBvcHRpb25zOiB1bmlxdWVWYWx1ZXMgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZ3JpZEFwaS5zZXRGaWx0ZXJNb2RlbCh0aGlzLmluaXRpYWxGaWx0ZXJNb2RlbCk7XHJcbiAgICB0aGlzLnNldEZpbHRlclNlbGVjdGlvbnMoKTtcclxuICAgIHRoaXMuZmlsdGVyQ291bnQgPSB0aGlzLmdldEZpbHRlckNvdW50KCk7XHJcbiAgfVxyXG5cclxuICAvKiogT3BlbiB0aGUgY29sdW1uIG9wdGlvbnMgbW9kYWwgKi9cclxuICBwdWJsaWMgb3BlbkNvbHVtbk9wdGlvbnMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb2x1bW5TdGF0ZTogQXJyYXk8Q29sdW1uU3RhdGU+ID0gdGhpcy5ncmlkQXBpLmdldENvbHVtblN0YXRlKCk7XHJcbiAgICBjb25zdCBjb2x1bW5EYXRhOiBBcnJheTxDb2x1bW5EYXRhPiA9IHRoaXMuY29sdW1uU3RhdGVUb0RhdGEoY29sdW1uU3RhdGUpO1xyXG4gICAgY29uc3QgaW5pdGlhbENvbHVtbkRhdGE6IEFycmF5PENvbHVtbkRhdGE+ID0gdGhpcy5jb2x1bW5TdGF0ZVRvRGF0YSh0aGlzLnNhdmVkQ29sdW1uU3RhdGUuc3RhdGUpO1xyXG4gICAgY29uc3QgY29sdW1uT3B0aW9uc0RhdGE6IENvbHVtbk9wdGlvbnNEYXRhID0ge1xyXG4gICAgICB0YWJsZU5hbWU6IHRoaXMudGFibGVOYW1lLFxyXG4gICAgICBjb2x1bW5EYXRhLFxyXG4gICAgICBpbml0aWFsQ29sdW1uRGF0YSxcclxuICAgICAgc2hvd1NhdmVDb2x1bW5PcHRpb25zVGV4dDogdGhpcy5zaG93U2F2ZUNvbHVtbk9wdGlvbnNUZXh0XHJcbiAgICB9O1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihTb2ZDb2x1bW5PcHRpb25zQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnNTAwcHgnLFxyXG4gICAgICBwb3NpdGlvbjogeyBib3R0b206ICc0MHB4JywgcmlnaHQ6ICc0MHB4JyB9LFxyXG4gICAgICBhcmlhTGFiZWxsZWRCeTogJ2NvbHVtbi1vcHRpb25zLWhlYWRpbmcnLFxyXG4gICAgICBkYXRhOiBjb2x1bW5PcHRpb25zRGF0YVxyXG4gICAgfSk7XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKFxyXG4gICAgICB0YWtlKDEpLFxyXG4gICAgICB0YXAoKHVwZGF0ZWRDb2x1bW5TdGF0ZTogQXBwbHlDb2x1bW5TdGF0ZVBhcmFtcykgPT4ge1xyXG4gICAgICAgIGlmICh1cGRhdGVkQ29sdW1uU3RhdGUgJiYgdXBkYXRlZENvbHVtblN0YXRlLnN0YXRlLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5ncmlkQXBpLmFwcGx5Q29sdW1uU3RhdGUodXBkYXRlZENvbHVtblN0YXRlKTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlZENvbHVtblN0YXRlLmVtaXQodXBkYXRlZENvbHVtblN0YXRlKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudENvbHVtblN0YXRlID0gdXBkYXRlZENvbHVtblN0YXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNYXBzIGBBcnJheTxDb2x1bW5TdGF0ZT5gIHRvIGBBcnJheTxDb2x1bW5EYXRhPmAgXHJcbiAgICogQG5vdGUgZmlsdGVycyBvdXQgYW55IGNvbHVtbnMgbWFya2VkIGFzICdwaW5uZWQnIGJ5IHRoZSBjb2x1bW4gZGVmaW5pdGlvbnMuXHJcbiAgICogQG5vdGUgZmlsdGVycyBhbnkgY29sdW1ucyB3aXRob3V0IGEgJ2hlYWRlck5hbWUnLlxyXG4gICAqIEBwYXJhbSBjb2x1bW5TdGF0ZSB0aGUgY29sdW1uIHN0YXRlIHRvIG1vZGlmeVxyXG4gICAqIEByZXR1cm5zIGFuIGFycmF5IG9mIGNvbHVtbiBkYXRhIGZvcm1hdHRlZCB0byBiZSBpbmdlc3RlZCBieSB0aGUgYFNvZkNvbHVtbk9wdGlvbnNDb21wb25lbnRgXHJcbiAgKi9cclxuICBwcml2YXRlIGNvbHVtblN0YXRlVG9EYXRhKGNvbHVtblN0YXRlOiBBcnJheTxDb2x1bW5TdGF0ZT4pOiBBcnJheTxDb2x1bW5EYXRhPiB7XHJcbiAgICByZXR1cm4gY29sdW1uU3RhdGVcclxuICAgICAgLmZpbHRlcigoY29sdW1uKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaGVhZGVyTmFtZTogc3RyaW5nID0gdGhpcy5ncmlkQXBpLmdldENvbHVtbkRlZihjb2x1bW4uY29sSWQpPy5oZWFkZXJOYW1lIHx8IFwiXCI7XHJcbiAgICAgICAgaWYgKGhlYWRlck5hbWUgJiYgaGVhZGVyTmFtZS5sZW5ndGggJiYgIWNvbHVtbi5waW5uZWQpIHtcclxuICAgICAgICAgIHJldHVybiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICAubWFwKChjb2x1bW4pID0+IHtcclxuICAgICAgICBjb25zdCBoZWFkZXJOYW1lOiBzdHJpbmcgPSB0aGlzLmdyaWRBcGkuZ2V0Q29sdW1uRGVmKGNvbHVtbi5jb2xJZCkuaGVhZGVyTmFtZTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaWQ6IGNvbHVtbi5jb2xJZCxcclxuICAgICAgICAgIGlzQ2hlY2tlZDogIWNvbHVtbi5oaWRlLFxyXG4gICAgICAgICAgdGV4dDogaGVhZGVyTmFtZVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKiogRW1pdCB0aGUgY3VycmVudCBmaWx0ZXJlZC9zb3J0ZWQgcm93IGRhdGEgKi9cclxuICBwdWJsaWMgZXhwb3J0RmlsdGVyZWRSb3dEYXRhKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgcm93RGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgY29uc3QgY29sdW1uczogQXJyYXk8Q29sdW1uPiA9IHRoaXMuZ3JpZEFwaS5nZXRBbGxEaXNwbGF5ZWRDb2x1bW5zKCkuZmlsdGVyKChjb2wpID0+IGNvbC5nZXRDb2xEZWYoKS5oZWFkZXJOYW1lKTtcclxuICAgIGNvbnN0IHRhYmxlSGVhZGVyczogQXJyYXk8S2V5VmFsUGFpcj4gPSBbXTtcclxuICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbERlZjogQ29sRGVmID0gY29sLmdldENvbERlZigpO1xyXG4gICAgICB0YWJsZUhlYWRlcnMucHVzaCh7XHJcbiAgICAgICAga2V5OiBjb2xEZWYuZmllbGQsXHJcbiAgICAgICAgdmFsdWU6IGNvbERlZi5oZWFkZXJOYW1lXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdyaWRBcGkuZm9yRWFjaE5vZGVBZnRlckZpbHRlckFuZFNvcnQoKG5vZGU6IElSb3dOb2RlPGFueT4pID0+IHtcclxuICAgICAgY29uc3Qgbm9kZURhdGE6IGFueSA9IHt9O1xyXG4gICAgICBjb2x1bW5zLmZvckVhY2goKGNvbCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbElkOiBzdHJpbmcgPSBjb2wuZ2V0Q29sSWQoKTtcclxuICAgICAgICAvLyBVc2UgZ3JpZEFwaSdzIGdldENlbGxWYWx1ZSB0byBnZXQgdGhlIHZhbHVlIHRyYW5zZm9ybWVkIGJ5IHZhbHVlR2V0dGVyXHJcbiAgICAgICAgbm9kZURhdGFbY29sSWRdID0gdGhpcy5ncmlkQXBpLmdldENlbGxWYWx1ZSh7IHJvd05vZGU6IG5vZGUsIGNvbEtleTogY29sSWQgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByb3dEYXRhLnB1c2gobm9kZURhdGEpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBleHBvcnREYXRhOiBFeHBvcnRUYWJsZURhdGEgPSB7XHJcbiAgICAgIHRhYmxlSGVhZGVycyxcclxuICAgICAgcm93RGF0YVxyXG4gICAgfTtcclxuICAgIHRoaXMuZmlsdGVyZWRSb3dEYXRhRm9yRXhwb3J0LmVtaXQoZXhwb3J0RGF0YSk7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0cyBmaWx0ZXIgc2VsZWN0aW9ucyBmb3IgZmlsdGVyIHBhbmVsICovXHJcbiAgcHJpdmF0ZSBzZXRGaWx0ZXJTZWxlY3Rpb25zKCk6IHZvaWQge1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNvbEZpbHRlcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgLy8gR2V0IHRoZSBzdG9yZWQgZmlsdGVycyBmb3IgdGhlIGdpdmVuIG1vZGVsXHJcbiAgICAgIGNvbnN0IGNvbEZpbHRlciA9IHRoaXMuY29sRmlsdGVyc1tpXTtcclxuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLmdyaWRBcGkuZ2V0Q29sdW1uRmlsdGVyTW9kZWwoY29sRmlsdGVyLmhlYWRlcik7XHJcbiAgICAgIGxldCBmaWx0ZXJTZWxlY3Rpb25EYXRhID0gW107XHJcbiAgICAgIGlmIChtb2RlbCAmJiBtb2RlbFtcImNvbmRpdGlvbnNcIl0pIHtcclxuICAgICAgICAvLyBUaGUgbW9kZWwgaXMgYSBjb21iaW5lZCBtb2RlbCB3aXRoIG11bHRpcGxlIHNlbGVjdGlvbnNcclxuICAgICAgICBjb25zdCBmaWx0ZXJNb2RlbCA9IG1vZGVsIGFzIENvbWJpbmVkU2ltcGxlTW9kZWw8VGV4dEZpbHRlck1vZGVsPjtcclxuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgZmlsdGVyTW9kZWwuY29uZGl0aW9ucykge1xyXG4gICAgICAgICAgZmlsdGVyU2VsZWN0aW9uRGF0YS5wdXNoKGVsZW1lbnQuZmlsdGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobW9kZWwpIHtcclxuICAgICAgICAvLyBBc3N1bWUgdGhlIG1vZGVsIGlzIGEgc2luZ2xlIFRleHQgRmlsdGVyIE1vZGVsXHJcbiAgICAgICAgbGV0IGZpbHRlclNlbGVjdGlvbjogVGV4dEZpbHRlck1vZGVsID0gbW9kZWw7XHJcbiAgICAgICAgZmlsdGVyU2VsZWN0aW9uRGF0YS5wdXNoKGZpbHRlclNlbGVjdGlvbi5maWx0ZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFNldCB0aGUgZmlsdGVyIHNlbGVjdGlvbnNcclxuICAgICAgdGhpcy5maWx0ZXJTZWxlY3Rpb25zW2ldID0gZmlsdGVyU2VsZWN0aW9uRGF0YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBHZXRzIHRoZSBjb3VudCBvZiBjdXJyZW50IGZpbHRlciBzZWxlY3Rpb25zICovXHJcbiAgcHJpdmF0ZSBnZXRGaWx0ZXJDb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyU2VsZWN0aW9ucy5yZWR1Y2UoKGFjYywgY3VycikgPT4gYWNjLmNvbmNhdChjdXJyKSwgW10pLmxlbmd0aDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0VGFibGVEYXRhIHtcclxuICB0YWJsZUhlYWRlcnM/OiBBcnJheTxLZXlWYWxQYWlyPjtcclxuICByb3dEYXRhPzogQXJyYXk8YW55PlxyXG59XHJcblxyXG5pbnRlcmZhY2UgS2V5VmFsUGFpciB7IFxyXG4gIGtleT86IHN0cmluZztcclxuICB2YWx1ZT86IHN0cmluZztcclxufVxyXG5cclxuLyoqIFVzZWQgZm9yIHNldHRpbmcgZmlsdGVyIHZhbHVlcyAqL1xyXG5jbGFzcyBTb2ZUYWJsZUZpbHRlciB7XHJcbiAgLyoqIFRoZSBjb2x1bW4gaGVhZGVyICovXHJcbiAgaGVhZGVyOiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBjb2x1bW4gbGFiZWwgb3IgdHJhbnNsYXRpb24ga2V5ICovXHJcbiAgbGFiZWw6IHN0cmluZztcclxuICAvKiogVGhlIGNvbHVtbiBmaWx0ZXIgb3B0aW9ucyAqL1xyXG4gIG9wdGlvbnM6IHN0cmluZ1tdID0gW107XHJcbn1cclxuXHJcbi8qKiBBIGZpbHRlciBjb21iaW5pbmcgbXVsdGlwbGUgY29uZGl0aW9ucywgdGFrZW4gZnJvbSBBZ0dyaWQqL1xyXG5jbGFzcyBDb21iaW5lZFNpbXBsZU1vZGVsPFQ+IHtcclxuICAvKiogVGhlIGZpbHRlciB0eXBlLiBVc3VhbGx5ICd0ZXh0JyAqL1xyXG4gIGZpbHRlclR5cGU6IHN0cmluZztcclxuICAvKiogVGhlIG9wZXJhdG9yLiBVc3VhbGx5ICdPUicgKi9cclxuICBvcGVyYXRvcjogJ0FORCcgfCAnT1InO1xyXG4gIC8qKiBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgdGhlIEZpbHRlciBNb2RlbCAqL1xyXG4gIGNvbmRpdGlvbnM6IFRbXTtcclxufVxyXG4iLCI8ZGl2IFxyXG4gIFtmeFNob3ddPVwiaXNHcmlkRGF0YVJlbmRlcmVkKClcIlxyXG4gIGZ4TGF5b3V0R2FwPVwiMTZweFwiIG0tYi0yND5cclxuICBAaWYgKGVuYWJsZUZpbHRlciAmJiBjb2xGaWx0ZXJzLmxlbmd0aCkge1xyXG4gICAgPGJ1dHRvbiBcclxuICAgICAgKGNsaWNrKT1cInRvZ2dsZUZpbHRlclBhbmVsKClcIiBcclxuICAgICAgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwic29mLWJ1dHRvbi12MlwiXHJcbiAgICAgIFtjbGFzcy5maWx0ZXItc2VsZWN0ZWRdPVwiZmlsdGVyT3BlblN0YXRlXCIgXHJcbiAgICAgIFtpZF09XCJmaWx0ZXJDb3VudCA9PT0gMCA/ICdidG4tZW5hYmxlLWZpbHRlcicgOididG4tZW5hYmxlLWZpbHRlci1oYXMtZmlsdGVycydcIiBcclxuICAgICAgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIlxyXG4gICAgICBbbWF0QmFkZ2VdPVwiZmlsdGVyQ291bnRcIlxyXG4gICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxyXG4gICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwiZmlsdGVyQ291bnQgPT09IDAgPyB0cnVlIDogZmFsc2VcIlxyXG4gICAgICA+XHJcbiAgICAgIDxpIGNsYXNzPVwicGggcGgtYm9sZCBwaC1zbGlkZXJzLWhvcml6b250YWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgIHt7J2FybWF0dXJlLnNvZi10YWJsZS5maWx0ZXInIHwgdHJhbnNsYXRlfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGVuYWJsZVNlYXJjaCkge1xyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwic29mLWZvcm0tZmllbGQgdGFibGUtc2VhcmNoLWZpZWxkIGRlbnNlLTRcIiBmeEZsZXg9XCJhdXRvXCI+XHJcbiAgICAgIDxzcGFuIG1hdFByZWZpeD5cclxuICAgICAgICA8aSBjbGFzcz1cInBoLWJvbGQgcGgtbWFnbmlmeWluZy1nbGFzcyBzZWFyY2gtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8bWF0LWxhYmVsIGNsYXNzPVwic2VhcmNoLWxhYmVsXCI+e3snYXJtYXR1cmUuc29mLXRhYmxlLnNlYXJjaCcgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgXHJcbiAgICAgICAgKGlucHV0KT1cIm9uU2VhcmNoVGV4dENoYW5nZWQoKVwiIFxyXG4gICAgICAgICNncmlkU2VhcmNoVGV4dElucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJncmlkU2VhcmNoVGV4dElucHV0XCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidhcm1hdHVyZS5zb2YtdGFibGUuc2NyZWVuLXJlYWRlci5zZWFyY2gtZmlsdGVyLWRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgfVxyXG4gIEBpZiAoZW5hYmxlQ29sdW1uT3B0aW9ucykge1xyXG4gICAgPGJ1dHRvbiBcclxuICAgICAgKGNsaWNrKT1cIm9wZW5Db2x1bW5PcHRpb25zKClcIlxyXG4gICAgICBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJzb2YtYnV0dG9uLWljb24tdjJcIiBcclxuICAgICAgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIiBpZD1cIm9wZW4tY29sdW1uLW9wdGlvbnNcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidhcm1hdHVyZS5zb2YtdGFibGUuc2NyZWVuLXJlYWRlci5jb2x1bW4tb3B0aW9ucy1idG4nIHwgdHJhbnNsYXRlXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2FybWF0dXJlLnNvZi10YWJsZS5zY3JlZW4tcmVhZGVyLmNvbHVtbi1vcHRpb25zLWJ0bicgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJiZWxvd1wiIG1hdFRvb2x0aXBDbGFzcz1cIm1kYy10b29sdGlwX19zdXJmYWNlIGJlbG93XCI+XHJcbiAgICAgIDxpIGNsYXNzPVwicGgtYm9sZCBwaC1wYXVzZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYoZW5hYmxlRXhwb3J0KSB7XHJcbiAgICA8YnV0dG9uIFxyXG4gICAgICAoY2xpY2spPVwiZXhwb3J0RmlsdGVyZWRSb3dEYXRhKClcIlxyXG4gICAgICBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJzb2YtYnV0dG9uLWljb24tdjJcIiBcclxuICAgICAgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIiBpZD1cImV4cG9ydC10YWJsZVwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2FybWF0dXJlLnNvZi10YWJsZS5zY3JlZW4tcmVhZGVyLmV4cG9ydC10YWJsZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBbbWF0VG9vbHRpcF09XCInYXJtYXR1cmUuc29mLXRhYmxlLnNjcmVlbi1yZWFkZXIuZXhwb3J0LXRhYmxlJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlbG93XCIgbWF0VG9vbHRpcENsYXNzPVwibWRjLXRvb2x0aXBfX3N1cmZhY2UgYmVsb3dcIj5cclxuICAgICAgPGkgY2xhc3M9XCJwaC1ib2xkIHBoLWV4cG9ydFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLXRhYmxlLXJpZ2h0LWJ1dHRvbnNdXCI+PC9uZy1jb250ZW50PlxyXG4gIDwhLS0gXHJcbiAgT25seSBpbmplY3QgPGJ1dHRvbj4ncyBpbnNpZGUgYW4gPG5nLWNvbnRhaW5lciBzb2YtdGFibGUtcmlnaHQtYnV0dG9ucz5cclxuICAuLi4gXHJcbiAgPG5nLWNvbnRhaW5lciBzb2YtdGFibGUtcmlnaHQtYnV0dG9ucz5cclxuICAgIDxidXR0b24gXHJcbiAgICAgIChjbGljayk9XCJhbnlGdW5jdGlvbigpXCJcclxuICAgICAgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwic29mLWJ1dHRvbi1pY29uLXYyXCIgXHJcbiAgICAgIGNvbG9yPVwic2Vjb25kYXJ5XCIgc2l6ZT1cInNtYWxsXCIgYXJpYS1sYWJlbD1cImFueSBidXR0b25cIlxyXG4gICAgICBtYXRUb29sdGlwPVwiYW55IGJ1dHRvblwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlbG93XCIgbWF0VG9vbHRpcENsYXNzPVwibWRjLXRvb2x0aXBfX3N1cmZhY2UgYmVsb3dcIj5cclxuICAgICAgPGkgY2xhc3M9XCJwaC1ib2xkIHBoLWFjb3JuXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgLi4uIFxyXG4gIG5vdGU6IG1ha2Ugc3VyZSBidXR0b25zIGhhdmUgdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIHRvIG1hdGNoIG90aGVycyA9XHJcbiAgYG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cInNvZi1idXR0b24taWNvbi12MlwiIGNvbG9yPVwic2Vjb25kYXJ5XCIgc2l6ZT1cInNtYWxsXCJgXHJcbiAgKiByZW1lbWJlciB0byBhZGQgYXJpYS1sYWJlbCBhbmQgdG9vbHRpcCBmb3IgaWNvbiBidXR0b25cclxuICAtLT5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICNhcmlhUmVzdWx0c0NvdW50IGNsYXNzPVwic3Itb25seVwiIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiPjwvZGl2PlxyXG5cclxuQGlmIChpc0dyaWREYXRhUmVuZGVyZWQoKSAmJiBmaWx0ZXJPcGVuU3RhdGUpIHtcclxuICA8ZmllbGRzZXQgXHJcbiAgICBjbGFzcz1cImZpbHRlci1wYW5lbFwiIHJvbGU9XCJyZWdpb25cIlxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInYXJtYXR1cmUuc29mLXRhYmxlLnNjcmVlbi1yZWFkZXIuc2VsZWN0LWZpbHRlcnMtZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8cD5cclxuICAgICAgPGkgY2xhc3M9XCJwaCBwaC1ib2xkIHBoLXNsaWRlcnMtaG9yaXpvbnRhbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtLWwtOFwiPnt7J2FybWF0dXJlLnNvZi10YWJsZS5maWx0ZXInIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICA8L3A+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXBhbmVsLXNlbGVjdC1jb250YWluZXIgbS12LTIwXCI+XHJcbiAgICAgIEBmb3IgKGNvbEZpbHRlciBvZiBjb2xGaWx0ZXJzOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgaSkge1xyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwic29mLWZvcm0tZmllbGQgdGFibGUtZmlsdGVyLXNlbGVjdFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD57e2NvbEZpbHRlci5sYWJlbH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJTZWxlY3Rpb25zW2ldXCIgXHJcbiAgICAgICAgICAgIG11bHRpcGxlIFxyXG4gICAgICAgICAgICBpZD1cImZpbHRlckRyb3Bkb3due3tpfX1cIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7J2FybWF0dXJlLnNvZi10YWJsZS5hbGwnIHwgdHJhbnNsYXRlfX1cIiBkaXNhYmxlUmlwcGxlPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICBAZm9yIChjb2xPcHRpb24gb2YgY29sRmlsdGVyLm9wdGlvbnM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJjb2xPcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIHt7Y29sT3B0aW9ufX1cclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgICAgPGRpdiBmeEZsZXg9XCI1MCVcIj5cclxuICAgICAgICA8YnV0dG9uIFxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmlsdGVycygpXCIgW2Rpc2FibGVkXT1cImhhc0VtcHR5RmlsdGVycygpXCIgXHJcbiAgICAgICAgICBtYXQtYnV0dG9uIGNsYXNzPVwic29mLWJ1dHRvbi12MlwiIHNpemU9XCJtZWRpdW1cIlxyXG4gICAgICAgICAgaWQ9XCJ0YWJsZUZpbHRlckNsZWFyXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxyXG4gICAgICAgICAge3snYXJtYXR1cmUuc29mLXRhYmxlLnJlc2V0JyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGZ4RmxleD1cIjUwJVwiPlxyXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIlXCIgZnhMYXlvdXRBbGlnbj1cImZsZXgtZW5kXCI+XHJcbiAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjAgMSBhdXRvXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbEZpbHRlckNoYW5nZXMoKVwiIG1hdC1idXR0b24gY2xhc3M9XCJzb2YtYnV0dG9uLXYyXCIgXHJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiIGlkPVwidGFibGVGaWx0ZXJDYW5jZWxcIiBjb2xvcj1cInRlcnRpYXJ5XCI+XHJcbiAgICAgICAgICAgICAge3snYXJtYXR1cmUuc29mLXRhYmxlLmNhbmNlbCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBmeEZsZXg9XCIwIDEgYXV0b1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIFxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJhcHBseUZpbHRlcnMoKVwiIG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cInNvZi1idXR0b24tdjJcIlxyXG4gICAgICAgICAgICAgIHNpemU9XCJtZWRpdW1cIiBpZD1cInRhYmxlRmlsdGVyQXBwbHlcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgICB7eydhcm1hdHVyZS5zb2YtdGFibGUucmVzdWx0cycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZmllbGRzZXQ+XHJcbn1cclxuXHJcbjxhZy1ncmlkLWFuZ3VsYXIgXHJcbiAgW2Z4U2hvd109XCJpc0dyaWREYXRhUmVuZGVyZWQoKVwiXHJcbiAgKGdyaWRSZWFkeSk9XCJvbkdyaWRSZWFkeSgkZXZlbnQpXCIgXHJcbiAgKGZpcnN0RGF0YVJlbmRlcmVkKT1cIm9uRmlyc3REYXRhUmVuZGVyZWQoKVwiXHJcbiAgKGZpbHRlckNoYW5nZWQpPVwib25GaWx0ZXJDaGFuZ2VkKClcIlxyXG4gIChwYWdpbmF0aW9uQ2hhbmdlZCk9XCJjaGFuZ2VQYWdlU2l6ZSgkZXZlbnQpXCIgXHJcbiAgW3Jvd0RhdGFdPVwicm93RGF0YVwiIFxyXG4gIFtjb2x1bW5EZWZzXT1cImNvbERlZnNcIiBcclxuICBbZGVmYXVsdENvbERlZl09XCJkZWZhdWx0Q29sRGVmXCIgXHJcbiAgW3BhZ2luYXRpb25dPVwidHJ1ZVwiIFxyXG4gIFtzdXBwcmVzc1BhZ2luYXRpb25QYW5lbF09XCJ0cnVlXCJcclxuICBbcGFnaW5hdGlvblBhZ2VTaXplU2VsZWN0b3JdPVwicGFnaW5hdGlvblBhZ2VTaXplU2VsZWN0b3JcIiBcclxuICBbcGFnaW5hdGlvblBhZ2VTaXplXT1cInBhZ2luYXRpb25QYWdlU2l6ZVwiXHJcbiAgW2hlYWRlckhlaWdodF09XCJyb3dIZWlnaHRcIiBcclxuICBbcm93SGVpZ2h0XT1cInJvd0hlaWdodFwiIFxyXG4gIFtkb21MYXlvdXRdPVwiJ2F1dG9IZWlnaHQnXCIgXHJcbiAgW3Rvb2x0aXBTaG93RGVsYXldPVwidG9vbHRpcFNob3dEZWxheVwiXHJcbiAgW292ZXJsYXlOb1Jvd3NUZW1wbGF0ZV09XCInYXJtYXR1cmUuc29mLXRhYmxlLm5vLXJvd3MnIHwgdHJhbnNsYXRlXCJcclxuICBbY2xhc3Mubm8tcm93c109XCIhdG90YWxMZW5ndGhcIlxyXG4gIGNsYXNzPVwiYWctdGhlbWUtbWF0ZXJpYWxcIj5cclxuPC9hZy1ncmlkLWFuZ3VsYXI+XHJcblxyXG48ZGl2IFxyXG4gIFtmeFNob3ddPVwiaXNHcmlkRGF0YVJlbmRlcmVkKClcIlxyXG4gIGNsYXNzPVwiY3VzdG9tLXBhZ2luYXRvclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmaXJzdC1zZWN0aW9uXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLXBhcnQtMVwiIHR5cGU9XCJidXR0b25cIj5cclxuICAgICAgPG1hdC1zZWxlY3QgXHJcbiAgICAgICAgI3BhZ2VTaXplU2VsZWN0XHJcbiAgICAgICAgaWQ9XCJwYWdlU2l6ZUlucHV0XCIgbmFtZT1cInBhZ2VTaXplSW5wdXRcIiBcclxuICAgICAgICBbKHZhbHVlKV09XCJwYWdpbmF0aW9uUGFnZVNpemVcIiBkaXNhYmxlUmlwcGxlPVwidHJ1ZVwiPlxyXG4gICAgICAgIEBmb3IgKHNpemUgb2YgcGFnaW5hdGlvblBhZ2VTaXplU2VsZWN0b3I7IGxldCBpID0gJGluZGV4OyB0cmFjayBpKSB7XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiBcclxuICAgICAgICAgICAgY2xhc3M9XCJwYWdlLW9wdGlvblwiIGlkPVwic2l6ZXt7aX19XCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInBhZ2luYXRpb25QYWdlU2l6ZVNlbGVjdG9yW2ldXCI+XHJcbiAgICAgICAgICAgIHt7c2l6ZX19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJyZW50LXBhZ2VcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2VcIj57e3BhZ2luYXRpb25QYWdlU2l6ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0LWljb25cIj5cclxuICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiJ3BoLWJvbGQgcGgtY2FyZXQtJyArIChwYWdlU2l6ZVNlbGVjdC5wYW5lbE9wZW4gPyAndXAnOidkb3duJylcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxzcGFuIGNsYXNzPVwicGFnZUNoYW5nZVRleHRcIj5cclxuICAgICAge3twYWdlQ2hhbmdlVGV4dH19IHt7J2FybWF0dXJlLnNvZi10YWJsZS5vZicgfCB0cmFuc2xhdGV9fSB7e3RvdGFsTGVuZ3RofX1cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZ28tdG8tcGFnZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm91dGVyLWJveFwiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLXBhcnRcIiB0eXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgXHJcbiAgICAgICAgICAjcGFnZU51bWJlclNlbGVjdFxyXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblBhZ2VOdW1iZXJDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXHJcbiAgICAgICAgICBbKHZhbHVlKV09XCJjdXJyZW50UGFnZVwiIFxyXG4gICAgICAgICAgaWQ9XCJwYWdlU2VsZWxjdG9yXCIgbmFtZT1cInBhZ2VTZWxlY3RvclwiIGRpc2FibGVSaXBwbGU9XCJ0cnVlXCI+XHJcbiAgICAgICAgICBAZm9yIChwYWdlIG9mIHBhZ2VTZWxlY3RvcjsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJwYWdlXCIgY2xhc3M9XCJwYWdlLW9wdGlvblwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3VycmVudC1wYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2VcIj57e3BhZ2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3VycmVudC1wYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2VcIj57e2N1cnJlbnRQYWdlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9mLXBhZ2VcIj4ge3snYXJtYXR1cmUuc29mLXRhYmxlLm9mJyB8IHRyYW5zbGF0ZX19IHt7dG90YWxOdW1iZXJPZlBhZ2VzfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlbGVjdC1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiJ3BoLWJvbGQgcGgtY2FyZXQtJyArIChwYWdlTnVtYmVyU2VsZWN0LnBhbmVsT3BlbiA/ICd1cCc6J2Rvd24nKVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5hdiBjbGFzcz1cInNlY29uZC1zZWN0aW9uXCI+XHJcbiAgICAgIDxidXR0b24gXHJcbiAgICAgICAgKGNsaWNrKT1cInByZXZpb3VzUGFnZSgpXCJcclxuICAgICAgICBpZD1cInByZXYtYnV0dG9uXCIgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwic29mLWJ1dHRvbi1pY29uLXYyXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gMVwiIFxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NjcmVlbi1yZWFkZXIucGFnaW5hdGlvbi5wcmV2aW91cycgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cInBoLWJvbGQgcGgtY2FyZXQtbGVmdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gXHJcbiAgICAgICAgKGNsaWNrKT1cIm5leHRQYWdlKClcIiBcclxuICAgICAgICBpZD1cIm5leHQtYnV0dG9uXCIgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwic29mLWJ1dHRvbi1pY29uLXYyXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gdG90YWxOdW1iZXJPZlBhZ2VzXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidzY3JlZW4tcmVhZGVyLnBhZ2luYXRpb24ubmV4dCcgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cInBoLWJvbGQgcGgtY2FyZXQtcmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uYXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuQGlmICghaXNHcmlkRGF0YVJlbmRlcmVkKCkpIHtcclxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cclxuICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiLz5cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
|
|
@@ -9,6 +9,7 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
const materialModules = [
|
|
10
10
|
MatIconModule
|
|
11
11
|
];
|
|
12
|
+
/** @deprecated use sof-alert | sof-simple-alert moving forward. */
|
|
12
13
|
export class AlertBannerModule {
|
|
13
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: AlertBannerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
14
15
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: AlertBannerModule, declarations: [AlertBannerComponent], imports: [CommonModule,
|
|
@@ -38,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
|
|
|
38
39
|
]
|
|
39
40
|
}]
|
|
40
41
|
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtYmFubmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvYWxlcnQtYmFubmVyL2FsZXJ0LWJhbm5lci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFckUsTUFBTSxlQUFlLEdBQUc7SUFDdEIsYUFBYTtDQUNkLENBQUE7QUFFRCxtRUFBbUU7QUFnQm5FLE1BQU0sT0FBTyxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQWRiLG9CQUFvQixhQUVqQyxZQUFZO1lBQ1osZUFBZTtZQUNmLGdCQUFnQixFQVRsQixhQUFhLGFBZ0JYLG9CQUFvQjsrR0FHWCxpQkFBaUIsYUFQakI7WUFDVCxrQkFBa0I7U0FDbkIsWUFQQyxZQUFZO1lBQ1osZUFBZTtZQUNmLGdCQUFnQixFQUNiLGVBQWU7OzJGQVNULGlCQUFpQjtrQkFmN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLEdBQUcsZUFBZTtxQkFDbkI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBbGVydEJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hbGVydC1iYW5uZXIvYWxlcnQtYmFubmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFsZXJ0QmFubmVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYWxlcnQtYmFubmVyLnNlcnZpY2UnO1xyXG5cclxuY29uc3QgbWF0ZXJpYWxNb2R1bGVzID0gW1xyXG4gIE1hdEljb25Nb2R1bGVcclxuXVxyXG5cclxuLyoqIEBkZXByZWNhdGVkIHVzZSBzb2YtYWxlcnQgfCBzb2Ytc2ltcGxlLWFsZXJ0IG1vdmluZyBmb3J3YXJkLiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0FsZXJ0QmFubmVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgLi4ubWF0ZXJpYWxNb2R1bGVzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEFsZXJ0QmFubmVyU2VydmljZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQWxlcnRCYW5uZXJDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbGVydEJhbm5lck1vZHVsZSB7IH1cclxuIl19
|
|
@@ -7,10 +7,9 @@ import * as i3 from "@ngbracket/ngx-layout/flex";
|
|
|
7
7
|
import * as i4 from "@ngbracket/ngx-layout/extended";
|
|
8
8
|
import * as i5 from "@angular/material/icon";
|
|
9
9
|
import * as i6 from "@ngx-translate/core";
|
|
10
|
-
// I WOULD LIKE TO DEPRECATE THIS IN FAVOR OF THE SEPARATE BANNER (`sof-banner`) AND ALERT(`sof-alert`) COMPONENTS
|
|
11
|
-
// Will keep this component until ready to remove in place of the others
|
|
12
10
|
/**
|
|
13
11
|
* Alert Banner Component
|
|
12
|
+
* @deprecated please use `SofAlertComponent` instead
|
|
14
13
|
*/
|
|
15
14
|
export class AlertBannerComponent {
|
|
16
15
|
/** Display context */
|
|
@@ -80,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
|
|
|
80
79
|
type: ViewChild,
|
|
81
80
|
args: ["alertBannerContainer"]
|
|
82
81
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvYWxlcnQtYmFubmVyL2NvbXBvbmVudHMvYWxlcnQtYmFubmVyL2FsZXJ0LWJhbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2FsZXJ0LWJhbm5lci9jb21wb25lbnRzL2FsZXJ0LWJhbm5lci9hbGVydC1iYW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXBILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQUc3RCxrSEFBa0g7QUFDbEgsd0VBQXdFO0FBRXhFOztHQUVHO0FBTUgsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixzQkFBc0I7SUFDdEIsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQztJQUM3RSxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQVcsVUFBVTtRQUNuQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO0lBQ3hGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQ21ELFlBQStCLEVBQ3hFLGtCQUFzQyxFQUN0QyxRQUFtQjtRQUZzQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDeEUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQzFCLENBQUM7SUFFSixtQkFBbUI7SUFDWixlQUFlO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFL0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxXQUFXLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsV0FBVyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RSxJQUFJLENBQUMsV0FBVyxDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsV0FBVyxDQUFDLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsV0FBVyxDQUFDLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsV0FBVyxDQUFDLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsdUJBQXVCO0lBQ2hCLFVBQVU7UUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxXQUFXLENBQUMsWUFBb0IsRUFBRSxLQUFhO1FBQ3JELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLENBQUM7UUFDL0QsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMvRDtJQUNILENBQUM7OEdBakVVLG9CQUFvQixrQkF5QlQsbUJBQW1CO2tHQXpCOUIsb0JBQW9CLHlOQ2xCakMsNndFQWlDTTs7MkZEZk8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLHFCQUFxQjs7MEJBNkI1QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjtrR0F0QmhDLE9BQU87c0JBQWYsS0FBSztnQkFHNkIsb0JBQW9CO3NCQUF0RCxTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBbGVydEJhbm5lckNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9hbGVydC1iYW5uZXItY29uZmlnJztcclxuaW1wb3J0IHsgQWxlcnRCYW5uZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FsZXJ0LWJhbm5lci1jb250ZXh0JztcclxuaW1wb3J0IHsgQUxFUlRfQkFOTkVSX0NPTkZJRyB9IGZyb20gJy4uLy4uL21vZGVscy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBBbGVydEJhbm5lclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGVydC1iYW5uZXIuc2VydmljZSc7XHJcblxyXG4vLyBJIFdPVUxEIExJS0UgVE8gREVQUkVDQVRFIFRISVMgSU4gRkFWT1IgT0YgVEhFIFNFUEFSQVRFIEJBTk5FUiAoYHNvZi1iYW5uZXJgKSBBTkQgQUxFUlQoYHNvZi1hbGVydGApIENPTVBPTkVOVFNcclxuLy8gV2lsbCBrZWVwIHRoaXMgY29tcG9uZW50IHVudGlsIHJlYWR5IHRvIHJlbW92ZSBpbiBwbGFjZSBvZiB0aGUgb3RoZXJzXHJcblxyXG4vKipcclxuICogQWxlcnQgQmFubmVyIENvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzb2YtYXItYWxlcnQtYmFubmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQtYmFubmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hbGVydC1iYW5uZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWxlcnRCYW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgLyoqIENvbnRleHQsIGlmIHByb3ZpZGVkLCBpdCB3aWxsIHVzZSB0aGUgY29udGV4dCBkYXRhIHJhdGhlciB0aGFuIHRoZSBhbGVydCBzZXJ2aWNlIGNvbnRleHQgKi9cclxuICBASW5wdXQoKSBjb250ZXh0PzogQWxlcnRCYW5uZXJDb250ZXh0O1xyXG5cclxuICAvKiogQmFubmVyIENvbnRhaW5lciAqL1xyXG4gIEBWaWV3Q2hpbGQoXCJhbGVydEJhbm5lckNvbnRhaW5lclwiKSBhbGVydEJhbm5lckNvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqIERpc3BsYXkgY29udGV4dCAqL1xyXG4gIHB1YmxpYyBnZXQgZGlzcGxheUNvbnRleHQoKTogQWxlcnRCYW5uZXJDb250ZXh0IHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHQgPyB0aGlzLmNvbnRleHQgOiB0aGlzLmFsZXJ0QmFubmVyU2VydmljZS5iYW5uZXJDb250ZXh0O1xyXG4gIH1cclxuXHJcbiAgLyoqIFNob3VsZCBzaG93IGJhbm5lciAqL1xyXG4gIHB1YmxpYyBnZXQgc2hvd0Jhbm5lcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuY29udGV4dCA/ICF0aGlzLmNvbnRleHQuaGlkZUJhbm5lciA6IHRoaXMuYWxlcnRCYW5uZXJTZXJ2aWNlLnNob3dCYW5uZXI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBiYW5uZXJDb25maWcgQmFubmVyIENvbmZpZ1xyXG4gICAqIEBwYXJhbSBhbGVydEJhbm5lclNlcnZpY2UgQWxlcnQgQmFubmVyIFNlcnZpY2VcclxuICAgKiBAcGFyYW0gcmVuZGVyZXIgVGhlIEFuZ3VsYXIgcmVuZGVyZXJcclxuICAgKi9cclxuICBwdWJsaWMgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFMRVJUX0JBTk5FUl9DT05GSUcpIHByaXZhdGUgYmFubmVyQ29uZmlnOiBBbGVydEJhbm5lckNvbmZpZyxcclxuICAgIHByaXZhdGUgYWxlcnRCYW5uZXJTZXJ2aWNlOiBBbGVydEJhbm5lclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHt9XHJcblxyXG4gIC8qKiBVcGRhdGUgc3R5bGUgKi9cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgdGhlbWUgPSB0aGlzLmJhbm5lckNvbmZpZyB8fCB7IGxpbmVDb2xvcjoge30sIG91dGxpbmVTaWRlYmFyOiB7fSwgZmlsbGVkQmFja2dyb3VuZDoge30gfTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZVN0eWxlKCctLWVycm9yLWNvbG9yJywgdGhlbWUubGluZUNvbG9yLmVycm9yKTtcclxuICAgIHRoaXMudXBkYXRlU3R5bGUoJy0taW5mby1jb2xvcicsIHRoZW1lLmxpbmVDb2xvci5pbmZvcm1hdGlvbik7XHJcbiAgICB0aGlzLnVwZGF0ZVN0eWxlKCctLXN1Y2Nlc3MtY29sb3InLCB0aGVtZS5saW5lQ29sb3Iuc3VjY2Vzcyk7XHJcbiAgICB0aGlzLnVwZGF0ZVN0eWxlKCctLXdhcm4tY29sb3InLCB0aGVtZS5saW5lQ29sb3Iud2Fybik7XHJcblxyXG4gICAgdGhpcy51cGRhdGVTdHlsZSgnLS1vdXRsaW5lLXNpZGUtZXJyb3ItY29sb3InLCB0aGVtZS5vdXRsaW5lU2lkZWJhci5lcnJvcik7XHJcbiAgICB0aGlzLnVwZGF0ZVN0eWxlKCctLW91dGxpbmUtc2lkZS1pbmZvLWNvbG9yJywgdGhlbWUub3V0bGluZVNpZGViYXIuaW5mb3JtYXRpb24pO1xyXG4gICAgdGhpcy51cGRhdGVTdHlsZSgnLS1vdXRsaW5lLXNpZGUtc3VjY2Vzcy1jb2xvcicsIHRoZW1lLm91dGxpbmVTaWRlYmFyLnN1Y2Nlc3MpO1xyXG4gICAgdGhpcy51cGRhdGVTdHlsZSgnLS1vdXRsaW5lLXNpZGUtd2Fybi1jb2xvcicsIHRoZW1lLm91dGxpbmVTaWRlYmFyLndhcm4pO1xyXG5cclxuICAgIHRoaXMudXBkYXRlU3R5bGUoJy0tY29udGVudC1maWxsZWQtZXJyb3ItY29sb3InLCB0aGVtZS5maWxsZWRCYWNrZ3JvdW5kLmVycm9yKTtcclxuICAgIHRoaXMudXBkYXRlU3R5bGUoJy0tY29udGVudC1maWxsZWQtaW5mby1jb2xvcicsIHRoZW1lLmZpbGxlZEJhY2tncm91bmQuaW5mb3JtYXRpb24pO1xyXG4gICAgdGhpcy51cGRhdGVTdHlsZSgnLS1jb250ZW50LWZpbGxlZC1zdWNjZXNzLWNvbG9yJywgdGhlbWUuZmlsbGVkQmFja2dyb3VuZC5zdWNjZXNzKTtcclxuICAgIHRoaXMudXBkYXRlU3R5bGUoJy0tY29udGVudC1maWxsZWQtd2Fybi1jb2xvcicsIHRoZW1lLmZpbGxlZEJhY2tncm91bmQud2Fybik7XHJcbiAgfVxyXG5cclxuICAvKiogSGlkZXMgdGhlIGJhbm5lciAqL1xyXG4gIHB1YmxpYyBoaWRlQmFubmVyKCk6IHZvaWQge1xyXG4gICAgISF0aGlzLmNvbnRleHQgPyB0aGlzLmNvbnRleHQuaGlkZUJhbm5lciA9IHRydWUgOiB0aGlzLmFsZXJ0QmFubmVyU2VydmljZS5jbG9zZU1lc3NhZ2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBTdHlsZVxyXG4gICAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgVGhlIHByb3BlcnR5IG5hbWUgXHJcbiAgICogQHBhcmFtIGNvbG9yIFRoZSBjb2xvclxyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlU3R5bGUocHJvcGVydHlOYW1lOiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmFsZXJ0QmFubmVyQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGNvbG9yKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgcHJvcGVydHlOYW1lLCBjb2xvciwgMik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI2FsZXJ0QmFubmVyQ29udGFpbmVyIFtuZ0NsYXNzXT1cInsgJ3NvZi1hci1hbGVydC1iYW5uZXItY29udGFpbmVyJzogc2hvd0Jhbm5lciB9XCI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiICpuZ0lmPVwic2hvd0Jhbm5lclwiXHJcbiAgICBjbGFzcz1cInNvZi1hci1hbGVydC1iYW5uZXIte3tkaXNwbGF5Q29udGV4dC5iYW5uZXJUeXBlfX0gc29mLWFyLWFsZXJ0LWJhbm5lci1jb250ZW50IHt7KGRpc3BsYXlDb250ZXh0LmlzRmlsbGVkQmFubmVyKSA/ICdmaWxsZWQnIDogJ291dGxpbmVkJ319LXt7ZGlzcGxheUNvbnRleHQuYmFubmVyVHlwZX19XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic29mLWFyLWFsZXJ0LWJhbm5lci1zaWRlYmFyXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic29mLWFyLWFsZXJ0LWJhbm5lci1jb250ZW50LWNvbnRhaW5lclwiIGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGlzcGxheUNvbnRleHQuYmFubmVyVHlwZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCInZXJyb3InXCIgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLWljb25cIiBbZm9udFNldF09XCInZmFsJ1wiXHJcbiAgICAgICAgICAgIFtmb250SWNvbl09XCInZmEtZXhjbGFtYXRpb24tY2lyY2xlJ1wiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICA8bWF0LWljb24gKm5nU3dpdGNoQ2FzZT1cIid3YXJuJ1wiIGNsYXNzPVwic29mLWFyLWFsZXJ0LWJhbm5lci1pY29uXCIgW2ZvbnRTZXRdPVwiJ2ZhbCdcIlxyXG4gICAgICAgICAgICBbZm9udEljb25dPVwiJ2ZhLWV4Y2xhbWF0aW9uLWNpcmNsZSdcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCInaW5mb3JtYXRpb24nXCIgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLWljb25cIiBbZm9udFNldF09XCInZmFsJ1wiXHJcbiAgICAgICAgICAgIFtmb250SWNvbl09XCInZmEtaW5mby1jaXJjbGUnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxtYXQtaWNvbiAqbmdTd2l0Y2hDYXNlPVwiJ3N1Y2Nlc3MnXCIgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLWljb25cIiBbZm9udFNldF09XCInZmFsJ1wiXHJcbiAgICAgICAgICAgIFtmb250SWNvbl09XCInZmEtY2hlY2stY2lyY2xlJ1wiPjwvbWF0LWljb24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZGlzcGxheUNvbnRleHQuYmFubmVyVGl0bGVcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICA8aDQgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLXRpdGxlXCIgW2lubmVySHRtbF09XCJkaXNwbGF5Q29udGV4dC5iYW5uZXJUaXRsZSB8IHRyYW5zbGF0ZTogZGlzcGxheUNvbnRleHQudHJhbnNsYXRlUGFyYW1cIj48L2g0PlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJkaXNwbGF5Q29udGV4dC5zaG93Q2xvc2VcIiAoY2xpY2spPVwiaGlkZUJhbm5lcigpXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLTJ4IGZhLXRpbWVzXCI+PC9pPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5Q29udGV4dC5iYW5uZXJUZXh0XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlblwiPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLXRleHRcIiBbaW5uZXJIdG1sXT1cImRpc3BsYXlDb250ZXh0LmJhbm5lclRleHQgfCB0cmFuc2xhdGU6IGRpc3BsYXlDb250ZXh0LnRyYW5zbGF0ZVBhcmFtXCI+PC9wPlxyXG4gICAgICAgIDxzcGFuIChjbGljayk9XCJoaWRlQmFubmVyKClcIiAqbmdJZj1cIiFkaXNwbGF5Q29udGV4dC5iYW5uZXJUaXRsZSAmJiBkaXNwbGF5Q29udGV4dC5zaG93Q2xvc2VcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLTJ4IGZhLXRpbWVzXCI+PC9pPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvYWxlcnQtYmFubmVyL2NvbXBvbmVudHMvYWxlcnQtYmFubmVyL2FsZXJ0LWJhbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2FsZXJ0LWJhbm5lci9jb21wb25lbnRzL2FsZXJ0LWJhbm5lci9hbGVydC1iYW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXBILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQUc3RDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLHNCQUFzQjtJQUN0QixJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDO0lBQzdFLENBQUM7SUFFRCx5QkFBeUI7SUFDekIsSUFBVyxVQUFVO1FBQ25CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7SUFDeEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFDbUQsWUFBK0IsRUFDeEUsa0JBQXNDLEVBQ3RDLFFBQW1CO1FBRnNCLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUN4RSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQVc7SUFDMUIsQ0FBQztJQUVKLG1CQUFtQjtJQUNaLGVBQWU7UUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUUvRixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsV0FBVyxDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpFLElBQUksQ0FBQyxXQUFXLENBQUMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxXQUFXLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxXQUFXLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxXQUFXLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCx1QkFBdUI7SUFDaEIsVUFBVTtRQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxZQUFvQixFQUFFLEtBQWE7UUFDckQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGFBQWEsQ0FBQztRQUMvRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQzs4R0FqRVUsb0JBQW9CLGtCQXlCVCxtQkFBbUI7a0dBekI5QixvQkFBb0IseU5DaEJqQyw2d0VBaUNNOzsyRkRqQk8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLHFCQUFxQjs7MEJBNkI1QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjtrR0F0QmhDLE9BQU87c0JBQWYsS0FBSztnQkFHNkIsb0JBQW9CO3NCQUF0RCxTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBbGVydEJhbm5lckNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9hbGVydC1iYW5uZXItY29uZmlnJztcclxuaW1wb3J0IHsgQWxlcnRCYW5uZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FsZXJ0LWJhbm5lci1jb250ZXh0JztcclxuaW1wb3J0IHsgQUxFUlRfQkFOTkVSX0NPTkZJRyB9IGZyb20gJy4uLy4uL21vZGVscy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBBbGVydEJhbm5lclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGVydC1iYW5uZXIuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQWxlcnQgQmFubmVyIENvbXBvbmVudFxyXG4gKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIGBTb2ZBbGVydENvbXBvbmVudGAgaW5zdGVhZFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzb2YtYXItYWxlcnQtYmFubmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQtYmFubmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hbGVydC1iYW5uZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWxlcnRCYW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgLyoqIENvbnRleHQsIGlmIHByb3ZpZGVkLCBpdCB3aWxsIHVzZSB0aGUgY29udGV4dCBkYXRhIHJhdGhlciB0aGFuIHRoZSBhbGVydCBzZXJ2aWNlIGNvbnRleHQgKi9cclxuICBASW5wdXQoKSBjb250ZXh0PzogQWxlcnRCYW5uZXJDb250ZXh0O1xyXG5cclxuICAvKiogQmFubmVyIENvbnRhaW5lciAqL1xyXG4gIEBWaWV3Q2hpbGQoXCJhbGVydEJhbm5lckNvbnRhaW5lclwiKSBhbGVydEJhbm5lckNvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqIERpc3BsYXkgY29udGV4dCAqL1xyXG4gIHB1YmxpYyBnZXQgZGlzcGxheUNvbnRleHQoKTogQWxlcnRCYW5uZXJDb250ZXh0IHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHQgPyB0aGlzLmNvbnRleHQgOiB0aGlzLmFsZXJ0QmFubmVyU2VydmljZS5iYW5uZXJDb250ZXh0O1xyXG4gIH1cclxuXHJcbiAgLyoqIFNob3VsZCBzaG93IGJhbm5lciAqL1xyXG4gIHB1YmxpYyBnZXQgc2hvd0Jhbm5lcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuY29udGV4dCA/ICF0aGlzLmNvbnRleHQuaGlkZUJhbm5lciA6IHRoaXMuYWxlcnRCYW5uZXJTZXJ2aWNlLnNob3dCYW5uZXI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBiYW5uZXJDb25maWcgQmFubmVyIENvbmZpZ1xyXG4gICAqIEBwYXJhbSBhbGVydEJhbm5lclNlcnZpY2UgQWxlcnQgQmFubmVyIFNlcnZpY2VcclxuICAgKiBAcGFyYW0gcmVuZGVyZXIgVGhlIEFuZ3VsYXIgcmVuZGVyZXJcclxuICAgKi9cclxuICBwdWJsaWMgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFMRVJUX0JBTk5FUl9DT05GSUcpIHByaXZhdGUgYmFubmVyQ29uZmlnOiBBbGVydEJhbm5lckNvbmZpZyxcclxuICAgIHByaXZhdGUgYWxlcnRCYW5uZXJTZXJ2aWNlOiBBbGVydEJhbm5lclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHt9XHJcblxyXG4gIC8qKiBVcGRhdGUgc3R5bGUgKi9cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgdGhlbWUgPSB0aGlzLmJhbm5lckNvbmZpZyB8fCB7IGxpbmVDb2xvcjoge30sIG91dGxpbmVTaWRlYmFyOiB7fSwgZmlsbGVkQmFja2dyb3VuZDoge30gfTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZVN0eWxlKCctLWVycm9yLWNvbG9yJywgdGhlbWUubGluZUNvbG9yLmVycm9yKTtcclxuICAgIHRoaXMudXBkYXRlU3R5bGUoJy0taW5mby1jb2xvcicsIHRoZW1lLmxpbmVDb2xvci5pbmZvcm1hdGlvbik7XHJcbiAgICB0aGlzLnVwZGF0ZVN0eWxlKCctLXN1Y2Nlc3MtY29sb3InLCB0aGVtZS5saW5lQ29sb3Iuc3VjY2Vzcyk7XHJcbiAgICB0aGlzLnVwZGF0ZVN0eWxlKCctLXdhcm4tY29sb3InLCB0aGVtZS5saW5lQ29sb3Iud2Fybik7XHJcblxyXG4gICAgdGhpcy51cGRhdGVTdHlsZSgnLS1vdXRsaW5lLXNpZGUtZXJyb3ItY29sb3InLCB0aGVtZS5vdXRsaW5lU2lkZWJhci5lcnJvcik7XHJcbiAgICB0aGlzLnVwZGF0ZVN0eWxlKCctLW91dGxpbmUtc2lkZS1pbmZvLWNvbG9yJywgdGhlbWUub3V0bGluZVNpZGViYXIuaW5mb3JtYXRpb24pO1xyXG4gICAgdGhpcy51cGRhdGVTdHlsZSgnLS1vdXRsaW5lLXNpZGUtc3VjY2Vzcy1jb2xvcicsIHRoZW1lLm91dGxpbmVTaWRlYmFyLnN1Y2Nlc3MpO1xyXG4gICAgdGhpcy51cGRhdGVTdHlsZSgnLS1vdXRsaW5lLXNpZGUtd2Fybi1jb2xvcicsIHRoZW1lLm91dGxpbmVTaWRlYmFyLndhcm4pO1xyXG5cclxuICAgIHRoaXMudXBkYXRlU3R5bGUoJy0tY29udGVudC1maWxsZWQtZXJyb3ItY29sb3InLCB0aGVtZS5maWxsZWRCYWNrZ3JvdW5kLmVycm9yKTtcclxuICAgIHRoaXMudXBkYXRlU3R5bGUoJy0tY29udGVudC1maWxsZWQtaW5mby1jb2xvcicsIHRoZW1lLmZpbGxlZEJhY2tncm91bmQuaW5mb3JtYXRpb24pO1xyXG4gICAgdGhpcy51cGRhdGVTdHlsZSgnLS1jb250ZW50LWZpbGxlZC1zdWNjZXNzLWNvbG9yJywgdGhlbWUuZmlsbGVkQmFja2dyb3VuZC5zdWNjZXNzKTtcclxuICAgIHRoaXMudXBkYXRlU3R5bGUoJy0tY29udGVudC1maWxsZWQtd2Fybi1jb2xvcicsIHRoZW1lLmZpbGxlZEJhY2tncm91bmQud2Fybik7XHJcbiAgfVxyXG5cclxuICAvKiogSGlkZXMgdGhlIGJhbm5lciAqL1xyXG4gIHB1YmxpYyBoaWRlQmFubmVyKCk6IHZvaWQge1xyXG4gICAgISF0aGlzLmNvbnRleHQgPyB0aGlzLmNvbnRleHQuaGlkZUJhbm5lciA9IHRydWUgOiB0aGlzLmFsZXJ0QmFubmVyU2VydmljZS5jbG9zZU1lc3NhZ2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBTdHlsZVxyXG4gICAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgVGhlIHByb3BlcnR5IG5hbWUgXHJcbiAgICogQHBhcmFtIGNvbG9yIFRoZSBjb2xvclxyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlU3R5bGUocHJvcGVydHlOYW1lOiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmFsZXJ0QmFubmVyQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGNvbG9yKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgcHJvcGVydHlOYW1lLCBjb2xvciwgMik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI2FsZXJ0QmFubmVyQ29udGFpbmVyIFtuZ0NsYXNzXT1cInsgJ3NvZi1hci1hbGVydC1iYW5uZXItY29udGFpbmVyJzogc2hvd0Jhbm5lciB9XCI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiICpuZ0lmPVwic2hvd0Jhbm5lclwiXHJcbiAgICBjbGFzcz1cInNvZi1hci1hbGVydC1iYW5uZXIte3tkaXNwbGF5Q29udGV4dC5iYW5uZXJUeXBlfX0gc29mLWFyLWFsZXJ0LWJhbm5lci1jb250ZW50IHt7KGRpc3BsYXlDb250ZXh0LmlzRmlsbGVkQmFubmVyKSA/ICdmaWxsZWQnIDogJ291dGxpbmVkJ319LXt7ZGlzcGxheUNvbnRleHQuYmFubmVyVHlwZX19XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic29mLWFyLWFsZXJ0LWJhbm5lci1zaWRlYmFyXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic29mLWFyLWFsZXJ0LWJhbm5lci1jb250ZW50LWNvbnRhaW5lclwiIGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGlzcGxheUNvbnRleHQuYmFubmVyVHlwZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCInZXJyb3InXCIgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLWljb25cIiBbZm9udFNldF09XCInZmFsJ1wiXHJcbiAgICAgICAgICAgIFtmb250SWNvbl09XCInZmEtZXhjbGFtYXRpb24tY2lyY2xlJ1wiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICA8bWF0LWljb24gKm5nU3dpdGNoQ2FzZT1cIid3YXJuJ1wiIGNsYXNzPVwic29mLWFyLWFsZXJ0LWJhbm5lci1pY29uXCIgW2ZvbnRTZXRdPVwiJ2ZhbCdcIlxyXG4gICAgICAgICAgICBbZm9udEljb25dPVwiJ2ZhLWV4Y2xhbWF0aW9uLWNpcmNsZSdcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCInaW5mb3JtYXRpb24nXCIgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLWljb25cIiBbZm9udFNldF09XCInZmFsJ1wiXHJcbiAgICAgICAgICAgIFtmb250SWNvbl09XCInZmEtaW5mby1jaXJjbGUnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxtYXQtaWNvbiAqbmdTd2l0Y2hDYXNlPVwiJ3N1Y2Nlc3MnXCIgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLWljb25cIiBbZm9udFNldF09XCInZmFsJ1wiXHJcbiAgICAgICAgICAgIFtmb250SWNvbl09XCInZmEtY2hlY2stY2lyY2xlJ1wiPjwvbWF0LWljb24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZGlzcGxheUNvbnRleHQuYmFubmVyVGl0bGVcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICA8aDQgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLXRpdGxlXCIgW2lubmVySHRtbF09XCJkaXNwbGF5Q29udGV4dC5iYW5uZXJUaXRsZSB8IHRyYW5zbGF0ZTogZGlzcGxheUNvbnRleHQudHJhbnNsYXRlUGFyYW1cIj48L2g0PlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJkaXNwbGF5Q29udGV4dC5zaG93Q2xvc2VcIiAoY2xpY2spPVwiaGlkZUJhbm5lcigpXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLTJ4IGZhLXRpbWVzXCI+PC9pPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5Q29udGV4dC5iYW5uZXJUZXh0XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlblwiPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLXRleHRcIiBbaW5uZXJIdG1sXT1cImRpc3BsYXlDb250ZXh0LmJhbm5lclRleHQgfCB0cmFuc2xhdGU6IGRpc3BsYXlDb250ZXh0LnRyYW5zbGF0ZVBhcmFtXCI+PC9wPlxyXG4gICAgICAgIDxzcGFuIChjbGljayk9XCJoaWRlQmFubmVyKClcIiAqbmdJZj1cIiFkaXNwbGF5Q29udGV4dC5iYW5uZXJUaXRsZSAmJiBkaXNwbGF5Q29udGV4dC5zaG93Q2xvc2VcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLTJ4IGZhLXRpbWVzXCI+PC9pPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** Public api for the footer module */
|
|
2
1
|
export * from './base-component.module';
|
|
3
2
|
// components
|
|
4
3
|
export * from './sof-progress-bar/sof-progress-bar.component';
|
|
@@ -14,8 +13,7 @@ export * from './confirm-address/sof-confirm-address/sof-confirm-address.compone
|
|
|
14
13
|
export * from './confirm-address/sof-confirm-address-county-change/sof-confirm-address-county-change.component';
|
|
15
14
|
export * from './sof-radio-card/sof-radio-card.component';
|
|
16
15
|
export * from './sof-input-stepper/sof-input-stepper.component';
|
|
17
|
-
export * from './sof-links/sof-link.component';
|
|
18
16
|
export * from './sof-handle/sof-handle.component';
|
|
19
17
|
export * from './sof-utility-button/sof-utility-button.component';
|
|
20
18
|
export * from './confirm-address/sof-confirm-address/compare-address-pipe/compare-address.pipe';
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsYUFBYTtBQUNiLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxpR0FBaUcsQ0FBQztBQUNoSCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsaUZBQWlGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWNvbXBvbmVudC5tb2R1bGUnO1xyXG5cclxuLy8gY29tcG9uZW50c1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1wcm9ncmVzcy1iYXIvc29mLXByb2dyZXNzLWJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1iYW5uZXIvc29mLWJhbm5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1hbGVydC9zb2YtYWxlcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtbW9kYWwvc29mLW1vZGFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLWJ1dHRvbi10b2dnbGUtZ3JvdXAvc29mLWJ1dHRvbi10b2dnbGUtZ3JvdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2Ytc3Rhci1yYXRpbmcvc29mLXN0YXItcmF0aW5nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLWJhZGdlL3NvZi1iYWRnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1pbWFnZS1jaGVja2JveC9zb2YtaW1hZ2UtY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2Ytc2ltcGxlLWFsZXJ0L3NvZi1zaW1wbGUtYWxlcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtLWFkZHJlc3Mvc29mLWNvbmZpcm0tYWRkcmVzcy9zb2YtY29uZmlybS1hZGRyZXNzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlybS1hZGRyZXNzL3NvZi1jb25maXJtLWFkZHJlc3MtY291bnR5LWNoYW5nZS9zb2YtY29uZmlybS1hZGRyZXNzLWNvdW50eS1jaGFuZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtcmFkaW8tY2FyZC9zb2YtcmFkaW8tY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1pbnB1dC1zdGVwcGVyL3NvZi1pbnB1dC1zdGVwcGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLWhhbmRsZS9zb2YtaGFuZGxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLXV0aWxpdHktYnV0dG9uL3NvZi11dGlsaXR5LWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tYWRkcmVzcy9zb2YtY29uZmlybS1hZGRyZXNzL2NvbXBhcmUtYWRkcmVzcy1waXBlL2NvbXBhcmUtYWRkcmVzcy5waXBlJzsiXX0=
|
|
@@ -35,7 +35,6 @@ import { SofImageCheckboxComponent } from './sof-image-checkbox/sof-image-checkb
|
|
|
35
35
|
import { SofConfirmAddressComponent } from './confirm-address/sof-confirm-address/sof-confirm-address.component';
|
|
36
36
|
import { SofRadioCardComponent } from './sof-radio-card/sof-radio-card.component';
|
|
37
37
|
import { SofInputStepperComponent } from './sof-input-stepper/sof-input-stepper.component';
|
|
38
|
-
import { SofLinkComponent } from './sof-links/sof-link.component';
|
|
39
38
|
import { SofUtilityButtonComponent } from './sof-utility-button/sof-utility-button.component';
|
|
40
39
|
import { SofConfirmAddressCountyChangeComponent } from './confirm-address/sof-confirm-address-county-change/sof-confirm-address-county-change.component';
|
|
41
40
|
import { SofCompareAddressPipe } from './confirm-address/sof-confirm-address/compare-address-pipe/compare-address.pipe';
|
|
@@ -56,7 +55,6 @@ const components = [
|
|
|
56
55
|
SofConfirmAddressComponent,
|
|
57
56
|
SofConfirmAddressCountyChangeComponent,
|
|
58
57
|
SofInputStepperComponent,
|
|
59
|
-
SofLinkComponent,
|
|
60
58
|
SofHandleComponent,
|
|
61
59
|
SofCompareAddressPipe
|
|
62
60
|
];
|
|
@@ -104,7 +102,6 @@ export class BaseComponentModule {
|
|
|
104
102
|
SofConfirmAddressComponent,
|
|
105
103
|
SofConfirmAddressCountyChangeComponent,
|
|
106
104
|
SofInputStepperComponent,
|
|
107
|
-
SofLinkComponent,
|
|
108
105
|
SofHandleComponent,
|
|
109
106
|
SofCompareAddressPipe], imports: [RouterModule,
|
|
110
107
|
CommonModule,
|
|
@@ -145,7 +142,6 @@ export class BaseComponentModule {
|
|
|
145
142
|
SofConfirmAddressComponent,
|
|
146
143
|
SofConfirmAddressCountyChangeComponent,
|
|
147
144
|
SofInputStepperComponent,
|
|
148
|
-
SofLinkComponent,
|
|
149
145
|
SofHandleComponent,
|
|
150
146
|
SofCompareAddressPipe] }); }
|
|
151
147
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: BaseComponentModule, imports: [RouterModule,
|
|
@@ -172,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
|
|
|
172
168
|
exports: [...components]
|
|
173
169
|
}]
|
|
174
170
|
}] });
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxD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QkFDN0IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLEdBQUcsZUFBZTt3QkFDbEIsR0FBRyxVQUFVO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdIYW5kbGUsIENka0RyYWdQbGFjZWhvbGRlciwgQ2RrRHJvcExpc3QgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBNYXRNZW51IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5cclxuaW1wb3J0IHsgU29mTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3NvZi1tb2RhbC9zb2YtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mSGFuZGxlQ29tcG9uZW50IH0gZnJvbSAnLi9zb2YtaGFuZGxlL3NvZi1oYW5kbGUuY29tcG9uZW50J1xyXG5pbXBvcnQgeyBTb2ZBbGVydENvbXBvbmVudCB9IGZyb20gJy4vc29mLWFsZXJ0L3NvZi1hbGVydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb2ZTaW1wbGVBbGVydENvbXBvbmVudCB9IGZyb20gJy4vc29mLXNpbXBsZS1hbGVydC9zb2Ytc2ltcGxlLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvZkJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4vc29mLWJhbm5lci9zb2YtYmFubmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvZlByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zb2YtcHJvZ3Jlc3MtYmFyL3NvZi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mQnV0dG9uVG9nZ2xlR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3NvZi1idXR0b24tdG9nZ2xlLWdyb3VwL3NvZi1idXR0b24tdG9nZ2xlLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvZlN0YXJSYXRpbmdDb21wb25lbnQgfSBmcm9tICcuL3NvZi1zdGFyLXJhdGluZy9zb2Ytc3Rhci1yYXRpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuL3NvZi1iYWRnZS9zb2YtYmFkZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mSW1hZ2VDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vc29mLWltYWdlLWNoZWNrYm94L3NvZi1pbWFnZS1jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb2ZDb25maXJtQWRkcmVzc0NvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybS1hZGRyZXNzL3NvZi1jb25maXJtLWFkZHJlc3Mvc29mLWNvbmZpcm0tYWRkcmVzcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb2ZSYWRpb0NhcmRDb21wb25lbnQgfSBmcm9tICcuL3NvZi1yYWRpby1jYXJkL3NvZi1yYWRpby1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvZklucHV0U3RlcHBlckNvbXBvbmVudCB9IGZyb20gJy4vc29mLWlucHV0LXN0ZXBwZXIvc29mLWlucHV0LXN0ZXBwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mTGlua0NvbXBvbmVudCB9IGZyb20gJy4vc29mLWxpbmtzL3NvZi1saW5rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvZlV0aWxpdHlCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NvZi11dGlsaXR5LWJ1dHRvbi9zb2YtdXRpbGl0eS1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mQ29uZmlybUFkZHJlc3NDb3VudHlDaGFuZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbmZpcm0tYWRkcmVzcy9zb2YtY29uZmlybS1hZGRyZXNzLWNvdW50eS1jaGFuZ2Uvc29mLWNvbmZpcm0tYWRkcmVzcy1jb3VudHktY2hhbmdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvZkNvbXBhcmVBZGRyZXNzUGlwZSB9IGZyb20gJy4vY29uZmlybS1hZGRyZXNzL3NvZi1jb25maXJtLWFkZHJlc3MvY29tcGFyZS1hZGRyZXNzLXBpcGUvY29tcGFyZS1hZGRyZXNzLnBpcGUnO1xyXG5cclxuXHJcbi8qKiBUaGUgY29tcG9uZW50cyAqL1xyXG5jb25zdCBjb21wb25lbnRzID0gW1xyXG4gIFNvZlByb2dyZXNzQmFyQ29tcG9uZW50LFxyXG4gIFNvZlJhZGlvQ2FyZENvbXBvbmVudCxcclxuICBTb2ZCYW5uZXJDb21wb25lbnQsXHJcbiAgU29mQWxlcnRDb21wb25lbnQsXHJcbiAgU29mTW9kYWxDb21wb25lbnQsXHJcbiAgU29mQnV0dG9uVG9nZ2xlR3JvdXBDb21wb25lbnQsXHJcbiAgU29mU3RhclJhdGluZ0NvbXBvbmVudCxcclxuICBTb2ZCYWRnZUNvbXBvbmVudCxcclxuICBTb2ZVdGlsaXR5QnV0dG9uQ29tcG9uZW50LCBcclxuICBTb2ZJbWFnZUNoZWNrYm94Q29tcG9uZW50LFxyXG4gIFNvZlNpbXBsZUFsZXJ0Q29tcG9uZW50LFxyXG4gIFNvZkNvbmZpcm1BZGRyZXNzQ29tcG9uZW50LFxyXG4gIFNvZkNvbmZpcm1BZGRyZXNzQ291bnR5Q2hhbmdlQ29tcG9uZW50LFxyXG4gIFNvZklucHV0U3RlcHBlckNvbXBvbmVudCxcclxuICBTb2ZMaW5rQ29tcG9uZW50LFxyXG4gIFNvZkhhbmRsZUNvbXBvbmVudCxcclxuICBTb2ZDb21wYXJlQWRkcmVzc1BpcGVcclxuXTtcclxuXHJcbi8qKiBUaGUgbWF0ZXJpYWwgbW9kdWxlcyAqL1xyXG5jb25zdCBtYXRlcmlhbE1vZHVsZXMgPSBbXHJcbiAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gIE1hdE9wdGlvbk1vZHVsZSxcclxuICBNYXRDaGVja2JveE1vZHVsZSxcclxuICBNYXRJY29uTW9kdWxlLFxyXG4gIE1hdERpYWxvZ01vZHVsZSxcclxuICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gIE1hdFRvb2xiYXJNb2R1bGUsXHJcbiAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgTWF0Q2FyZE1vZHVsZSxcclxuICBNYXRSYWRpb01vZHVsZSxcclxuICBNYXRQYWdpbmF0b3IsXHJcbiAgTWF0TWVudSxcclxuICBNYXRNZW51TW9kdWxlLFxyXG4gIE1hdElucHV0TW9kdWxlLFxyXG4gIE1hdEljb25CdXR0b24sXHJcbiAgTWF0TGlzdE1vZHVsZVxyXG5dO1xyXG5cclxuY29uc3QgY2RrTW9kdWxlcyA9IFtcclxuICBDZGtEcm9wTGlzdCxcclxuICBDZGtEcmFnLFxyXG4gIENka0RyYWdQbGFjZWhvbGRlcixcclxuICBDZGtEcmFnSGFuZGxlXHJcbl07XHJcblxyXG4vKiogVGhlIEJhc2VDb21wb25lbnRNb2R1bGUgTW9kdWxlICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50c10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIC4uLm1hdGVyaWFsTW9kdWxlcyxcclxuICAgIC4uLmNka01vZHVsZXNcclxuICBdLFxyXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFzZUNvbXBvbmVudE1vZHVsZSB7IH1cclxuIl19
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxD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QUFlO3dCQUNmLEdBQUcsZUFBZTt3QkFDbEIsR0FBRyxVQUFVO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdIYW5kbGUsIENka0RyYWdQbGFjZWhvbGRlciwgQ2RrRHJvcExpc3QgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBNYXRNZW51IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5cclxuaW1wb3J0IHsgU29mTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3NvZi1tb2RhbC9zb2YtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mSGFuZGxlQ29tcG9uZW50IH0gZnJvbSAnLi9zb2YtaGFuZGxlL3NvZi1oYW5kbGUuY29tcG9uZW50J1xyXG5pbXBvcnQgeyBTb2ZBbGVydENvbXBvbmVudCB9IGZyb20gJy4vc29mLWFsZXJ0L3NvZi1hbGVydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb2ZTaW1wbGVBbGVydENvbXBvbmVudCB9IGZyb20gJy4vc29mLXNpbXBsZS1hbGVydC9zb2Ytc2ltcGxlLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvZkJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4vc29mLWJhbm5lci9zb2YtYmFubmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvZlByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zb2YtcHJvZ3Jlc3MtYmFyL3NvZi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mQnV0dG9uVG9nZ2xlR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3NvZi1idXR0b24tdG9nZ2xlLWdyb3VwL3NvZi1idXR0b24tdG9nZ2xlLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvZlN0YXJSYXRpbmdDb21wb25lbnQgfSBmcm9tICcuL3NvZi1zdGFyLXJhdGluZy9zb2Ytc3Rhci1yYXRpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuL3NvZi1iYWRnZS9zb2YtYmFkZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mSW1hZ2VDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vc29mLWltYWdlLWNoZWNrYm94L3NvZi1pbWFnZS1jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb2ZDb25maXJtQWRkcmVzc0NvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybS1hZGRyZXNzL3NvZi1jb25maXJtLWFkZHJlc3Mvc29mLWNvbmZpcm0tYWRkcmVzcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb2ZSYWRpb0NhcmRDb21wb25lbnQgfSBmcm9tICcuL3NvZi1yYWRpby1jYXJkL3NvZi1yYWRpby1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvZklucHV0U3RlcHBlckNvbXBvbmVudCB9IGZyb20gJy4vc29mLWlucHV0LXN0ZXBwZXIvc29mLWlucHV0LXN0ZXBwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mVXRpbGl0eUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vc29mLXV0aWxpdHktYnV0dG9uL3NvZi11dGlsaXR5LWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb2ZDb25maXJtQWRkcmVzc0NvdW50eUNoYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybS1hZGRyZXNzL3NvZi1jb25maXJtLWFkZHJlc3MtY291bnR5LWNoYW5nZS9zb2YtY29uZmlybS1hZGRyZXNzLWNvdW50eS1jaGFuZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU29mQ29tcGFyZUFkZHJlc3NQaXBlIH0gZnJvbSAnLi9jb25maXJtLWFkZHJlc3Mvc29mLWNvbmZpcm0tYWRkcmVzcy9jb21wYXJlLWFkZHJlc3MtcGlwZS9jb21wYXJlLWFkZHJlc3MucGlwZSc7XHJcblxyXG5cclxuLyoqIFRoZSBjb21wb25lbnRzICovXHJcbmNvbnN0IGNvbXBvbmVudHMgPSBbXHJcbiAgU29mUHJvZ3Jlc3NCYXJDb21wb25lbnQsXHJcbiAgU29mUmFkaW9DYXJkQ29tcG9uZW50LFxyXG4gIFNvZkJhbm5lckNvbXBvbmVudCxcclxuICBTb2ZBbGVydENvbXBvbmVudCxcclxuICBTb2ZNb2RhbENvbXBvbmVudCxcclxuICBTb2ZCdXR0b25Ub2dnbGVHcm91cENvbXBvbmVudCxcclxuICBTb2ZTdGFyUmF0aW5nQ29tcG9uZW50LFxyXG4gIFNvZkJhZGdlQ29tcG9uZW50LFxyXG4gIFNvZlV0aWxpdHlCdXR0b25Db21wb25lbnQsIFxyXG4gIFNvZkltYWdlQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgU29mU2ltcGxlQWxlcnRDb21wb25lbnQsXHJcbiAgU29mQ29uZmlybUFkZHJlc3NDb21wb25lbnQsXHJcbiAgU29mQ29uZmlybUFkZHJlc3NDb3VudHlDaGFuZ2VDb21wb25lbnQsXHJcbiAgU29mSW5wdXRTdGVwcGVyQ29tcG9uZW50LFxyXG4gIFNvZkhhbmRsZUNvbXBvbmVudCxcclxuICBTb2ZDb21wYXJlQWRkcmVzc1BpcGVcclxuXTtcclxuXHJcbi8qKiBUaGUgbWF0ZXJpYWwgbW9kdWxlcyAqL1xyXG5jb25zdCBtYXRlcmlhbE1vZHVsZXMgPSBbXHJcbiAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gIE1hdE9wdGlvbk1vZHVsZSxcclxuICBNYXRDaGVja2JveE1vZHVsZSxcclxuICBNYXRJY29uTW9kdWxlLFxyXG4gIE1hdERpYWxvZ01vZHVsZSxcclxuICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gIE1hdFRvb2xiYXJNb2R1bGUsXHJcbiAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgTWF0Q2FyZE1vZHVsZSxcclxuICBNYXRSYWRpb01vZHVsZSxcclxuICBNYXRQYWdpbmF0b3IsXHJcbiAgTWF0TWVudSxcclxuICBNYXRNZW51TW9kdWxlLFxyXG4gIE1hdElucHV0TW9kdWxlLFxyXG4gIE1hdEljb25CdXR0b24sXHJcbiAgTWF0TGlzdE1vZHVsZVxyXG5dO1xyXG5cclxuY29uc3QgY2RrTW9kdWxlcyA9IFtcclxuICBDZGtEcm9wTGlzdCxcclxuICBDZGtEcmFnLFxyXG4gIENka0RyYWdQbGFjZWhvbGRlcixcclxuICBDZGtEcmFnSGFuZGxlXHJcbl07XHJcblxyXG4vKiogVGhlIEJhc2VDb21wb25lbnRNb2R1bGUgTW9kdWxlICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50c10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIC4uLm1hdGVyaWFsTW9kdWxlcyxcclxuICAgIC4uLmNka01vZHVsZXNcclxuICBdLFxyXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFzZUNvbXBvbmVudE1vZHVsZSB7IH1cclxuIl19
|