@skyux/tiles 7.7.0 → 8.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/documentation.json +766 -711
  2. package/esm2020/lib/modules/shared/sky-tiles-resources.module.mjs +5 -5
  3. package/esm2020/lib/modules/tiles/tile/tile-summary.component.mjs +4 -4
  4. package/esm2020/lib/modules/tiles/tile/tile-title.component.mjs +4 -4
  5. package/esm2020/lib/modules/tiles/tile/tile.component.mjs +5 -5
  6. package/esm2020/lib/modules/tiles/tile/tile.module.mjs +5 -5
  7. package/esm2020/lib/modules/tiles/tile-content/tile-content-section.component.mjs +4 -4
  8. package/esm2020/lib/modules/tiles/tile-content/tile-content.component.mjs +4 -4
  9. package/esm2020/lib/modules/tiles/tile-content/tile-content.module.mjs +5 -5
  10. package/esm2020/lib/modules/tiles/tile-dashboard/tile-dashboard.component.mjs +4 -4
  11. package/esm2020/lib/modules/tiles/tile-dashboard/tile-dashboard.module.mjs +5 -5
  12. package/esm2020/lib/modules/tiles/tile-dashboard/tile-dashboard.service.mjs +4 -4
  13. package/esm2020/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.component.mjs +4 -4
  14. package/esm2020/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.module.mjs +5 -5
  15. package/esm2020/lib/modules/tiles/tiles.module.mjs +5 -5
  16. package/fesm2015/skyux-tiles.mjs +49 -49
  17. package/fesm2015/skyux-tiles.mjs.map +1 -1
  18. package/fesm2020/skyux-tiles.mjs +49 -49
  19. package/fesm2020/skyux-tiles.mjs.map +1 -1
  20. package/lib/modules/tiles/tile/tile-summary.component.d.ts +1 -1
  21. package/lib/modules/tiles/tile/tile-title.component.d.ts +1 -1
  22. package/lib/modules/tiles/tile/tile.component.d.ts +1 -1
  23. package/lib/modules/tiles/tile-content/tile-content-section.component.d.ts +1 -1
  24. package/lib/modules/tiles/tile-content/tile-content.component.d.ts +1 -1
  25. package/lib/modules/tiles/tile-dashboard/tile-dashboard.component.d.ts +1 -1
  26. package/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.component.d.ts +1 -1
  27. package/package.json +8 -8
@@ -7,14 +7,14 @@ import { SkyTileDashboardComponent } from './tile-dashboard.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class SkyTileDashboardModule {
9
9
  }
10
- SkyTileDashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- SkyTileDashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardModule, declarations: [SkyTileDashboardComponent], imports: [CommonModule,
10
+ SkyTileDashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ SkyTileDashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardModule, declarations: [SkyTileDashboardComponent], imports: [CommonModule,
12
12
  SkyTileDashboardColumnModule,
13
13
  SkyTilesResourcesModule], exports: [SkyTileDashboardComponent] });
14
- SkyTileDashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardModule, providers: [DragulaService], imports: [CommonModule,
14
+ SkyTileDashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardModule, providers: [DragulaService], imports: [CommonModule,
15
15
  SkyTileDashboardColumnModule,
16
16
  SkyTilesResourcesModule] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardModule, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardModule, decorators: [{
18
18
  type: NgModule,
19
19
  args: [{
20
20
  declarations: [SkyTileDashboardComponent],
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
27
27
  exports: [SkyTileDashboardComponent],
28
28
  }]
29
29
  }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbGVzL3NyYy9saWIvbW9kdWxlcy90aWxlcy90aWxlLWRhc2hib2FyZC90aWxlLWRhc2hib2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUVyRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFZdkUsTUFBTSxPQUFPLHNCQUFzQjs7b0hBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCLGlCQVRsQix5QkFBeUIsYUFHdEMsWUFBWTtRQUNaLDRCQUE0QjtRQUM1Qix1QkFBdUIsYUFFZix5QkFBeUI7cUhBRXhCLHNCQUFzQixhQVJ0QixDQUFDLGNBQWMsQ0FBQyxZQUV6QixZQUFZO1FBQ1osNEJBQTRCO1FBQzVCLHVCQUF1Qjs0RkFJZCxzQkFBc0I7a0JBVmxDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDM0IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osNEJBQTRCO3dCQUM1Qix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEcmFndWxhU2VydmljZSB9IGZyb20gJ25nMi1kcmFndWxhJztcblxuaW1wb3J0IHsgU2t5VGlsZXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2t5LXRpbGVzLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbHVtbk1vZHVsZSB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi90aWxlLWRhc2hib2FyZC1jb2x1bW4ubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5VGlsZURhc2hib2FyZENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW0RyYWd1bGFTZXJ2aWNlXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlLFxuICAgIFNreVRpbGVzUmVzb3VyY2VzTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2t5VGlsZURhc2hib2FyZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVEYXNoYm9hcmRNb2R1bGUge31cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbGVzL3NyYy9saWIvbW9kdWxlcy90aWxlcy90aWxlLWRhc2hib2FyZC90aWxlLWRhc2hib2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUVyRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFZdkUsTUFBTSxPQUFPLHNCQUFzQjs7bUhBQXRCLHNCQUFzQjtvSEFBdEIsc0JBQXNCLGlCQVRsQix5QkFBeUIsYUFHdEMsWUFBWTtRQUNaLDRCQUE0QjtRQUM1Qix1QkFBdUIsYUFFZix5QkFBeUI7b0hBRXhCLHNCQUFzQixhQVJ0QixDQUFDLGNBQWMsQ0FBQyxZQUV6QixZQUFZO1FBQ1osNEJBQTRCO1FBQzVCLHVCQUF1QjsyRkFJZCxzQkFBc0I7a0JBVmxDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDM0IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osNEJBQTRCO3dCQUM1Qix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEcmFndWxhU2VydmljZSB9IGZyb20gJ25nMi1kcmFndWxhJztcblxuaW1wb3J0IHsgU2t5VGlsZXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2t5LXRpbGVzLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbHVtbk1vZHVsZSB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi90aWxlLWRhc2hib2FyZC1jb2x1bW4ubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5VGlsZURhc2hib2FyZENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW0RyYWd1bGFTZXJ2aWNlXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlLFxuICAgIFNreVRpbGVzUmVzb3VyY2VzTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2t5VGlsZURhc2hib2FyZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVEYXNoYm9hcmRNb2R1bGUge31cbiJdfQ==
@@ -539,13 +539,13 @@ _SkyTileDashboardService_columns = new WeakMap(), _SkyTileDashboardService_confi
539
539
  }
540
540
  }
541
541
  };
542
- SkyTileDashboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardService, deps: [{ token: i1.DragulaService }, { token: i2.SkyMediaQueryService }, { token: i2.SkyUIConfigService }, { token: i2.SkyDynamicComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
543
- SkyTileDashboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardService });
544
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardService, decorators: [{
542
+ SkyTileDashboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardService, deps: [{ token: i1.DragulaService }, { token: i2.SkyMediaQueryService }, { token: i2.SkyUIConfigService }, { token: i2.SkyDynamicComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
543
+ SkyTileDashboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardService });
544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardService, decorators: [{
545
545
  type: Injectable
546
546
  }], ctorParameters: function () { return [{ type: i1.DragulaService }, { type: i2.SkyMediaQueryService }, { type: i2.SkyUIConfigService }, { type: i2.SkyDynamicComponentService, decorators: [{
547
547
  type: Optional
548
548
  }] }]; }, propDecorators: { dashboardInitialized: [{
549
549
  type: Output
550
550
  }] } });
551
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQvdGlsZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osVUFBVSxFQUNWLFFBQVEsRUFDUixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixtQkFBbUIsR0FHcEIsTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBU3RDLE1BQU0sWUFBWSxHQUFHLDZCQUE2QixDQUFDO0FBRW5ELElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQUduQixNQUFNLE9BQU8sdUJBQXVCO0lBNEJsQyx5REFBeUQ7SUFDekQsWUFDRSxjQUE4QixFQUM5QixVQUFnQyxFQUNoQyxlQUFtQyxFQUN2Qix1QkFBb0Q7O1FBM0JsRTs7V0FFRztRQUNJLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFakU7O1dBRUc7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZELG1EQUFpRTtRQUNqRSxrREFBNEM7UUFDNUMsMERBQWdDO1FBQ2hDLG1FQUFpRTtRQUNqRSw2REFBNkM7UUFDN0Msc0RBQWtDO1FBQ2xDLHdEQUEyRDtRQUMzRCx1REFBaUM7UUFDakMsMERBQWlEO1FBQ2pELDJEQUFxQztRQVNuQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDNUIsT0FBTyxDQUFDLElBQUksQ0FDVix3U0FBd1MsQ0FDelMsQ0FBQztTQUNIO1FBRUQsdUJBQUEsSUFBSSwyQ0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEs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QUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDdkMsdUJBQUEsSUFBSSw4RkFBMkIsTUFBL0IsSUFBSSxFQUE0QixJQUFJLENBQUMsQ0FBQzthQUN2QztTQUNGO0tBQ0Y7QUFDSCxDQUFDO3FIQTd0QlUsdUJBQXVCO3lIQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7MEJBa0NOLFFBQVE7NENBbEJKLG9CQUFvQjtzQkFEMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RhYmxlLFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLFxuICBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVVJQ29uZmlnU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBEcmFndWxhU2VydmljZSB9IGZyb20gJ25nMi1kcmFndWxhJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRpbGVEYXNoYm9hcmRDb25maWcgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC1jb25maWcvdGlsZS1kYXNoYm9hcmQtY29uZmlnJztcbmltcG9ydCB7IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC1jb25maWcvdGlsZS1kYXNoYm9hcmQtY29uZmlnLWxheW91dC1jb2x1bW4nO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGUgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC1jb25maWcvdGlsZS1kYXNoYm9hcmQtY29uZmlnLWxheW91dC10aWxlJztcbmltcG9ydCB7IFNreVRpbGVEYXNoYm9hcmRDb25maWdUaWxlIH0gZnJvbSAnLi4vdGlsZS1kYXNoYm9hcmQtY29uZmlnL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy10aWxlJztcbmltcG9ydCB7IFNreVRpbGVDb21wb25lbnQgfSBmcm9tICcuLi90aWxlL3RpbGUuY29tcG9uZW50JztcblxuY29uc3QgQVRUUl9USUxFX0lEID0gJ19za3ktdGlsZS1kYXNoYm9hcmQtdGlsZS1pZCc7XG5cbmxldCBiYWdJZEluZGV4ID0gMDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVRpbGVEYXNoYm9hcmRTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGJhZ0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNvbmZpZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VGlsZURhc2hib2FyZENvbmZpZz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgdGlsZSBkYXNoYm9hcmQncyBpbml0aWFsaXphdGlvbiBpcyBjb21wbGV0ZS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGFzaGJvYXJkSW5pdGlhbGl6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgI2NvbHVtbnM6IFF1ZXJ5TGlzdDxTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcbiAgI2NvbmZpZzogU2t5VGlsZURhc2hib2FyZENvbmZpZyB8IHVuZGVmaW5lZDtcbiAgI2RyYWd1bGFTZXJ2aWNlOiBEcmFndWxhU2VydmljZTtcbiAgI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSB8IHVuZGVmaW5lZDtcbiAgI21lZGlhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICNtZWRpYVF1ZXJ5OiBTa3lNZWRpYVF1ZXJ5U2VydmljZTtcbiAgI3NpbmdsZUNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgI3NldHRpbmdzS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICN0aWxlQ29tcG9uZW50czogQ29tcG9uZW50UmVmPGFueT5bXSB8IHVuZGVmaW5lZDtcbiAgI3VpQ29uZmlnU2VydmljZTogU2t5VUlDb25maWdTZXJ2aWNlO1xuXG4gIC8vIFRPRE86IHJlbW92ZSBAb3B0aW9uYWwgdGFnIGluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZVxuICBjb25zdHJ1Y3RvcihcbiAgICBkcmFndWxhU2VydmljZTogRHJhZ3VsYVNlcnZpY2UsXG4gICAgbWVkaWFRdWVyeTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgdWlDb25maWdTZXJ2aWNlOiBTa3lVSUNvbmZpZ1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgZHluYW1pY0NvbXBvbmVudFNlcnZpY2U/OiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZVxuICApIHtcbiAgICBpZiAoIWR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdUaGUgU2t5VGlsZURhc2hib2FyZFNlcnZpY2Ugd2FzIGNyZWF0ZWQgd2l0aG91dCBhIHJlZmVyZW5jZSB0byB0aGUgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UuIFRoZSBzZXJ2aWNlIHdpbGwgYmUgdW5hYmxlIHRvIGNyZWF0ZSB0aWxlcyBmcm9tIHRoZSBkYXNoYm9hcmQgY29uZmlndXJhdGlvbi4gQ29uc3RydWN0aW5nIHRoZSBTa3lUaWxlRGFzaGJvYXJkU2VydmljZSB3aXRob3V0IGEgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2Ugd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZS4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlID0gZHJhZ3VsYVNlcnZpY2U7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgICB0aGlzLiNtZWRpYVF1ZXJ5ID0gbWVkaWFRdWVyeTtcbiAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2UgPSB1aUNvbmZpZ1NlcnZpY2U7XG5cbiAgICB0aGlzLmJhZ0lkID0gYHNreS10aWxlLWRhc2hib2FyZC1iYWctJHsrK2JhZ0lkSW5kZXh9YDtcblxuICAgIHRoaXMuI2luaXREcmFndWxhKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgaW5pdChcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICAgY29sdW1ucz86IFF1ZXJ5TGlzdDxTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50PixcbiAgICBzaW5nbGVDb2x1bW4/OiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50LFxuICAgIHNldHRpbmdzS2V5Pzogc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIGlmIChzZXR0aW5nc0tleSkge1xuICAgICAgLy8gQ2xvbmUgdGhpcyBzbyBjaGFuZ2VzIHRvIHRoZSBjb25maWcgb2JqZWN0IG91dHNpZGUgb2YgdGhpcyBjbGFzcyBkb24ndCBtb2RpZnlcbiAgICAgIC8vIHRoZSBjb25maWcgdXNlZCBpbnNpZGUgYW5kIHZpY2UgdmVyc2EuXG4gICAgICB0aGlzLiNjb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpIGFzIFNreVRpbGVEYXNoYm9hcmRDb25maWc7XG5cbiAgICAgIHRoaXMuI3NldHRpbmdzS2V5ID0gc2V0dGluZ3NLZXk7XG5cbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuZ2V0Q29uZmlnKHNldHRpbmdzS2V5LCBjb25maWcpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLiNjb25maWcgJiYgdmFsdWUucGVyc2lzdGVkKSB7XG4gICAgICAgICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQgPSB2YWx1ZS5sYXlvdXQ7XG4gICAgICAgICAgICAgIHRoaXMuI2NoZWNrRm9yTmV3VGlsZXModmFsdWUudGlsZUlkcyk7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQodGhpcy4jY29uZmlnKTtcblxuICAgICAgICAgICAgICB0aGlzLiNjb2x1bW5zID0gY29sdW1ucztcbiAgICAgICAgICAgICAgdGhpcy4jc2luZ2xlQ29sdW1uID0gc2luZ2xlQ29sdW1uO1xuICAgICAgICAgICAgICB0aGlzLiNjaGVja1JlYWR5QW5kTG9hZFRpbGVzKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBCYWQgZGF0YSwgb3IgY29uZmlnIGlzIHRoZSBkZWZhdWx0IGNvbmZpZy5cbiAgICAgICAgICAgICAgdGhpcy4jaW5pdFRvRGVmYXVsdHMoY29uZmlnLCBjb2x1bW5zLCBzaW5nbGVDb2x1bW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIC8vIENvbmZpZyBzZXR0aW5nIGtleSBkb2Vzbid0IGV4aXN0IG9yIG90aGVyIGNvbmZpZyBzZXJ2aWNlIGVycm9yXG4gICAgICAgICAgICB0aGlzLiNpbml0VG9EZWZhdWx0cyhjb25maWcsIGNvbHVtbnMsIHNpbmdsZUNvbHVtbik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNpbml0VG9EZWZhdWx0cyhjb25maWcsIGNvbHVtbnMsIHNpbmdsZUNvbHVtbik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgdGlsZSB0byB0aGUgdGlsZSBkYXNoYm9hcmQuXG4gICAqIEBwYXJhbSB0aWxlIFNwZWNpZmllcyB0aGUgdGlsZSBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0gY29tcG9uZW50IFNwZWNpZmllcyB0aGUgdGlsZSBjb21wb25lbnQgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZFRpbGVDb21wb25lbnQoXG4gICAgdGlsZTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGUsXG4gICAgY29tcG9uZW50OiBDb21wb25lbnRSZWY8YW55PlxuICApOiB2b2lkIHtcbiAgICB0aGlzLiN0aWxlQ29tcG9uZW50cyA9IHRoaXMuI3RpbGVDb21wb25lbnRzIHx8IFtdO1xuXG4gICAgdGhpcy4jdGlsZUNvbXBvbmVudHMucHVzaChjb21wb25lbnQpO1xuXG4gICAgY29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCwgdGlsZS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgYSBzcGVjaWZpZWQgdGlsZSBpcyBjb2xsYXBzZWQuXG4gICAqIEBwYXJhbSB0aWxlIFNwZWNpZmllcyB0aGUgdGlsZSBjb21wb25lbnQgdG8gY2hlY2suXG4gICAqL1xuICBwdWJsaWMgdGlsZUlzQ29sbGFwc2VkKHRpbGU6IFNreVRpbGVDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCB0aWxlQ29uZmlnID0gdGhpcy4jZmluZFRpbGUodGhpcy4jZ2V0VGlsZUlkKHRpbGUpKTtcblxuICAgIGlmICh0aWxlQ29uZmlnKSB7XG4gICAgICByZXR1cm4gdGlsZUNvbmZpZy5pc0NvbGxhcHNlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sbGFwc2VkIHN0YXRlIG9mIGFsbCB0aWxlcy5cbiAgICogQHBhcmFtIGlzQ29sbGFwc2VkIEluZGljYXRlcyB3aGV0aGVyIHRpbGVzIGFyZSBjb2xsYXBzZWQuXG4gICAqL1xuICBwdWJsaWMgc2V0QWxsVGlsZXNDb2xsYXBzZWQoaXNDb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLiNjb25maWcubGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLiNzZXRVc2VyQ29uZmlnKHRoaXMuI2NvbmZpZyk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdCh0aGlzLiNjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbGxhcHNlZCBzdGF0ZSBvZiBhIHNwZWNpZmllZCB0aWxlLlxuICAgKiBAcGFyYW0gdGlsZSBTcGVjaWZpZXMgdGhlIHRpbGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gaXNDb2xsYXBzZWQgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRpbGUgaXMgY29sbGFwc2VkLlxuICAgKi9cbiAgcHVibGljIHNldFRpbGVDb2xsYXBzZWQoXG4gICAgdGlsZTogU2t5VGlsZUNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBpc0NvbGxhcHNlZDogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICBjb25zdCB0aWxlQ29uZmlnID0gdGhpcy4jZmluZFRpbGUodGhpcy4jZ2V0VGlsZUlkKHRpbGUpKTtcblxuICAgIGlmICh0aWxlQ29uZmlnKSB7XG4gICAgICB0aWxlQ29uZmlnLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG5cbiAgICAgIGlmICh0aGlzLiNzZXR0aW5nc0tleSkge1xuICAgICAgICB0aGlzLiNzZXRVc2VyQ29uZmlnKHRoaXMuI2NvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQodGhpcy4jY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0VGlsZUNvbXBvbmVudFR5cGUoXG4gICAgbGF5b3V0VGlsZTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGUgfCB1bmRlZmluZWRcbiAgKTogYW55IHtcbiAgICBpZiAobGF5b3V0VGlsZSAmJiB0aGlzLiNjb25maWcpIHtcbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLiNjb25maWcudGlsZXMpIHtcbiAgICAgICAgaWYgKHRpbGUuaWQgPT09IGxheW91dFRpbGUuaWQpIHtcbiAgICAgICAgICByZXR1cm4gdGlsZS5jb21wb25lbnRUeXBlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBjaGFuZ2VDb2x1bW5Nb2RlKGlzU2luZ2xlQ29sdW1uOiBib29sZWFuKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNjb25maWcpIHtcbiAgICAgIGlmIChpc1NpbmdsZUNvbHVtbikge1xuICAgICAgICB0aGlzLiNtb3ZlVGlsZXNUb1NpbmdsZUNvbHVtbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jbW92ZVRpbGVzVG9NdWx0aUNvbHVtbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXRUaWxlQ29tcG9uZW50KHRpbGVJZDogc3RyaW5nKTogQ29tcG9uZW50UmVmPGFueT4gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLiN0aWxlQ29tcG9uZW50cykge1xuICAgICAgZm9yIChjb25zdCB0aWxlQ29tcG9uZW50IG9mIHRoaXMuI3RpbGVDb21wb25lbnRzKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aWxlQ29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCkgPT09XG4gICAgICAgICAgdGlsZUlkXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0aWxlQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI21lZGlhU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLiNtZWRpYVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBtb3ZlVGlsZU9uS2V5RG93bihcbiAgICB0aWxlQ21wOiBTa3lUaWxlQ29tcG9uZW50LFxuICAgIGRpcmVjdGlvbjogc3RyaW5nLFxuICAgIHRpbGVEZXNjcmlwdGlvbjogc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjb25maWcpIHtcbiAgICAgIGNvbnN0IGlzU2luZ2xlQ29sdW1uTW9kZSA9XG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc207XG5cbiAgICAgIGNvbnN0IHRpbGVJZCA9IHRoaXMuI2dldFRpbGVJZCh0aWxlQ21wKTtcbiAgICAgIGNvbnN0IHRpbGUgPSB0aGlzLiNmaW5kVGlsZSh0aWxlSWQpO1xuXG4gICAgICBsZXQgY29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uIHwgdW5kZWZpbmVkO1xuICAgICAgbGV0IGNvbEluZGV4ID0gMDtcbiAgICAgIGlmIChpc1NpbmdsZUNvbHVtbk1vZGUpIHtcbiAgICAgICAgY29sdW1uID0gdGhpcy4jY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb2x1bW4gPSB0aGlzLiNmaW5kVGlsZUNvbHVtbih0aWxlSWQpO1xuICAgICAgICBjb2xJbmRleCA9IHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4uZmluZEluZGV4KFxuICAgICAgICAgICh2YWx1ZSkgPT4gdmFsdWUgPT09IGNvbHVtblxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29sdW1uICYmIHRpbGUgJiYgdGlsZUlkKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAoZGlyZWN0aW9uID09PSAnbGVmdCcgfHwgZGlyZWN0aW9uID09PSAncmlnaHQnKSAmJlxuICAgICAgICAgICFpc1NpbmdsZUNvbHVtbk1vZGVcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBkaXJlY3Rpb24gPT09ICdsZWZ0JyA/IC0xIDogMTtcbiAgICAgICAgICBjb25zdCBuZXdDb2x1bW4gPVxuICAgICAgICAgICAgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbltjb2xJbmRleCArIG9wZXJhdG9yXTtcblxuICAgICAgICAgIGlmIChuZXdDb2x1bW4pIHtcbiAgICAgICAgICAgIC8vIE1vdmUgdGhlIHRpbGUgdG8gdGhlIGVuZCBvZiB0aGUgbmV3IGNvbHVtblxuICAgICAgICAgICAgbmV3Q29sdW1uLnRpbGVzLnB1c2godGlsZSk7XG4gICAgICAgICAgICBjb2x1bW4udGlsZXMgPSBjb2x1bW4udGlsZXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSB0aWxlKTtcbiAgICAgICAgICAgIHRoaXMuI21vdmVUaWxlc1RvQ29sdW1uKFxuICAgICAgICAgICAgICB0aGlzLiNjb2x1bW5zPy50b0FycmF5KClbY29sSW5kZXggKyBvcGVyYXRvcl0sXG4gICAgICAgICAgICAgIFt0aWxlXVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gUmVwb3J0IHRoZSBjaGFuZ2UgaW4gY29uZmlndXJhdGlvblxuICAgICAgICAgICAgY29uc3QgcmVwb3J0Q29uZmlnID0gdGhpcy4jY29uZmlnO1xuICAgICAgICAgICAgcmVwb3J0Q29uZmlnLm1vdmVkVGlsZSA9IHtcbiAgICAgICAgICAgICAgdGlsZURlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIHRpbGVEZXNjcmlwdGlvbiB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyB0aWxlLmlkLFxuICAgICAgICAgICAgICBjb2x1bW46IGNvbEluZGV4ICsgb3BlcmF0b3IgKyAxLFxuICAgICAgICAgICAgICBwb3NpdGlvbjogbmV3Q29sdW1uLnRpbGVzLmxlbmd0aCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ0NoYW5nZS5lbWl0KHJlcG9ydENvbmZpZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gZGlyZWN0aW9uID09PSAndXAnID8gLTEgOiAxO1xuICAgICAgICAgIGNvbnN0IGN1ckluZGV4ID0gY29sdW1uLnRpbGVzLmZpbmRJbmRleChcbiAgICAgICAgICAgICh2YWx1ZSkgPT4gdmFsdWUuaWQgPT09IHRpbGUuaWRcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHRpbGVDb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuZ2V0VGlsZUNvbXBvbmVudCh0aWxlSWQpO1xuXG4gICAgICAgICAgaWYgKHRpbGVDb21wb25lbnRJbnN0YW5jZSAmJiBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0pIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXAgPSBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl07XG4gICAgICAgICAgICBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0gPSB0aWxlO1xuICAgICAgICAgICAgY29sdW1uLnRpbGVzW2N1ckluZGV4XSA9IHRlbXA7XG5cbiAgICAgICAgICAgIC8vIEdldCB0aGUgY29sdW1uIGVsZW1lbnRcbiAgICAgICAgICAgIGxldCBjb2x1bW5FbDogRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChpc1NpbmdsZUNvbHVtbk1vZGUpIHtcbiAgICAgICAgICAgICAgY29sdW1uRWwgPSB0aGlzLiNnZXRDb2x1bW5FbCh0aGlzLiNzaW5nbGVDb2x1bW4pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29sdW1uRWwgPSB0aGlzLiNnZXRDb2x1bW5FbCh0aGlzLiNjb2x1bW5zPy50b0FycmF5KClbY29sSW5kZXhdKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTW92ZSB0aGUgdGlsZSBlbGVtZW50IGluIHRoZSBkb2N1bWVudFxuICAgICAgICAgICAgaWYgKGN1ckluZGV4ICsgb3BlcmF0b3IgPT09IGNvbHVtbi50aWxlcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGNvbHVtbkVsPy5hcHBlbmRDaGlsZChcbiAgICAgICAgICAgICAgICB0aWxlQ29tcG9uZW50SW5zdGFuY2UubG9jYXRpb24ubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29sdW1uRWw/Lmluc2VydEJlZm9yZShcbiAgICAgICAgICAgICAgICB0aWxlQ29tcG9uZW50SW5zdGFuY2UubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFRpbGVDb21wb25lbnQoY29sdW1uLnRpbGVzW2N1ckluZGV4ICsgb3BlcmF0b3IgKyAxXS5pZClcbiAgICAgICAgICAgICAgICAgID8ubG9jYXRpb24ubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBSZXBvcnQgdGhlIGNoYW5nZSBpbiBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICBjb25zdCByZXBvcnRDb25maWcgPSB0aGlzLiNjb25maWc7XG4gICAgICAgICAgICByZXBvcnRDb25maWcubW92ZWRUaWxlID0ge1xuICAgICAgICAgICAgICB0aWxlRGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgdGlsZURlc2NyaXB0aW9uIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHRpbGUuaWQsXG4gICAgICAgICAgICAgIGNvbHVtbjogaXNTaW5nbGVDb2x1bW5Nb2RlID8gMSA6IGNvbEluZGV4ICsgMSxcbiAgICAgICAgICAgICAgcG9zaXRpb246IGN1ckluZGV4ICsgb3BlcmF0b3IgKyAxLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQocmVwb3J0Q29uZmlnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0VGlsZUlkKHRpbGU6IFNreVRpbGVDb21wb25lbnQgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aWxlKSB7XG4gICAgICBsZXQgZWwgPSB0aWxlLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIGxldCB0aWxlSWQ6IHN0cmluZztcblxuICAgICAgd2hpbGUgKGVsKSB7XG4gICAgICAgIHRpbGVJZCA9IGVsLmdldEF0dHJpYnV0ZShBVFRSX1RJTEVfSUQpO1xuXG4gICAgICAgIGlmICh0aWxlSWQpIHtcbiAgICAgICAgICByZXR1cm4gdGlsZUlkO1xuICAgICAgICB9XG5cbiAgICAgICAgZWwgPSBlbC5wYXJlbnRFbGVtZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZ2V0VGlsZU9yUmVtb3ZlRnJvbUxheW91dChcbiAgICBsYXlvdXRUaWxlOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZVxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnVGlsZSB8IHVuZGVmaW5lZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChsYXlvdXRUaWxlICYmIHRoaXMuI2NvbmZpZykge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHRoaXMuI2NvbmZpZy50aWxlcykge1xuICAgICAgICBpZiAodGlsZS5pZCA9PT0gbGF5b3V0VGlsZS5pZCkge1xuICAgICAgICAgIHJldHVybiB0aWxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBsYXlvdXQgdGlsZSB3YXMgbm90IGZvdW5kIGluIHRoZSBsaXN0IG9mIHRpbGVzLCBpdCB3YXMgcmVtb3ZlZCBzaW5jZSBsYXN0IHRoZSB1c2VyIHVwZGF0ZWQgc2V0dGluZ3NcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLiNjb25maWc/LmxheW91dC5zaW5nbGVDb2x1bW4pIHtcbiAgICAgICAgdGhpcy4jY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW4udGlsZXMgPVxuICAgICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQuc2luZ2xlQ29sdW1uLnRpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIChlbGVtKSA9PiBlbGVtLmlkICE9PSBsYXlvdXRUaWxlLmlkXG4gICAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHRoaXMuI2NvbmZpZz8ubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4uZm9yRWFjaCgoZWxlbSkgPT4ge1xuICAgICAgICAgIGVsZW0udGlsZXMgPSBlbGVtLnRpbGVzLmZpbHRlcigocmVzKSA9PiByZXMuaWQgIT09IGxheW91dFRpbGUuaWQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNjaGVja1JlYWR5QW5kTG9hZFRpbGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjb25maWcgJiYgdGhpcy4jY29sdW1ucykge1xuICAgICAgdGhpcy4jbG9hZFRpbGVzKHRoaXMuI2NvbmZpZyk7XG4gICAgICB0aGlzLiNpbml0TWVkaWFRdWVyaWVzKCk7XG4gICAgICB0aGlzLmRhc2hib2FyZEluaXRpYWxpemVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICAjbG9hZFRpbGVzKGNvbmZpZzogU2t5VGlsZURhc2hib2FyZENvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGxheW91dCA9IGNvbmZpZy5sYXlvdXQ7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMgfHxcbiAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy5zbVxuICAgICkge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIGxheW91dC5zaW5nbGVDb2x1bW4udGlsZXMpIHtcbiAgICAgICAgdGhpcy4jbG9hZFRpbGVJbnRvQ29sdW1uKHRoaXMuI3NpbmdsZUNvbHVtbiwgdGlsZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBjb2x1bW5zOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50W10gPSBbXTtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLiNjb2x1bW5zKSB7XG4gICAgICAgIGNvbHVtbnMgPSB0aGlzLiNjb2x1bW5zPy50b0FycmF5KCk7XG4gICAgICB9XG5cbiAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gbGF5b3V0Lm11bHRpQ29sdW1uLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zW2ldO1xuXG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBsYXlvdXQubXVsdGlDb2x1bW5baV0udGlsZXMpIHtcbiAgICAgICAgICB0aGlzLiNsb2FkVGlsZUludG9Db2x1bW4oY29sdW1uLCB0aWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNsb2FkVGlsZUludG9Db2x1bW4oXG4gICAgY29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IHwgdW5kZWZpbmVkLFxuICAgIGxheW91dFRpbGU6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlXG4gICk6IHZvaWQge1xuICAgIGlmIChjb2x1bW4pIHtcbiAgICAgIGNvbnN0IHRpbGUgPSB0aGlzLiNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KGxheW91dFRpbGUpO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGlsZSAmJiB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gdGlsZS5jb21wb25lbnRUeXBlO1xuICAgICAgICBjb25zdCBwcm92aWRlcnMgPSB0aWxlLnByb3ZpZGVycyAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyB8fCBbXTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgY29tcG9uZW50VHlwZSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsb2NhdGlvbjogU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRCb3R0b20sXG4gICAgICAgICAgICBwcm92aWRlcnM6IHByb3ZpZGVycyxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IGNvbHVtbi5jb250ZW50LFxuICAgICAgICAgICAgcGFyZW50SW5qZWN0b3I6IGNvbHVtbi5pbmplY3RvcixcbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hZGRUaWxlQ29tcG9uZW50KGxheW91dFRpbGUsIGNvbXBvbmVudFJlZik7XG5cbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBjb21wb25lbnQgaXMgbWFya2VkIGZvciBjaGFuZ2VzIGluIGNhc2UgdGhlIHBhcmVudCBjb21wb25lbnQgdXNlc1xuICAgICAgICAvLyB0aGUgT25QdXNoIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kuXG4gICAgICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbW92ZVRpbGVzVG9TaW5nbGVDb2x1bW4oKTogdm9pZCB7XG4gICAgdGhpcy4jbW92ZVRpbGVzVG9Db2x1bW4oXG4gICAgICB0aGlzLiNzaW5nbGVDb2x1bW4sXG4gICAgICB0aGlzLiNjb25maWc/LmxheW91dC5zaW5nbGVDb2x1bW4udGlsZXNcbiAgICApO1xuICB9XG5cbiAgI21vdmVUaWxlc1RvTXVsdGlDb2x1bW4oKTogdm9pZCB7XG4gICAgbGV0IGxheW91dENvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW5bXSA9IFtdO1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29uZmlnKSB7XG4gICAgICBsYXlvdXRDb2x1bW5zID0gdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbjtcbiAgICB9XG4gICAgbGV0IGNvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29sdW1ucykge1xuICAgICAgY29sdW1ucyA9IHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbiA9IGxheW91dENvbHVtbnMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICB0aGlzLiNtb3ZlVGlsZXNUb0NvbHVtbihjb2x1bW5zW2ldLCBsYXlvdXRDb2x1bW5zW2ldLnRpbGVzKTtcbiAgICB9XG4gIH1cblxuICAjbW92ZVRpbGVzVG9Db2x1bW4oXG4gICAgY29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IHwgdW5kZWZpbmVkLFxuICAgIGxheW91dFRpbGVzOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZVtdIHwgdW5kZWZpbmVkXG4gICk6IHZvaWQge1xuICAgIGlmIChjb2x1bW4gJiYgbGF5b3V0VGlsZXMpIHtcbiAgICAgIGNvbnN0IGNvbHVtbkVsID0gdGhpcy4jZ2V0Q29sdW1uRWwoY29sdW1uKTtcblxuICAgICAgZm9yIChjb25zdCBsYXlvdXRUaWxlIG9mIGxheW91dFRpbGVzKSB7XG4gICAgICAgIGNvbnN0IHRpbGVDb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuZ2V0VGlsZUNvbXBvbmVudChsYXlvdXRUaWxlLmlkKTtcblxuICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aWxlQ29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgICAgICBjb2x1bW5FbD8uYXBwZW5kQ2hpbGQodGlsZUNvbXBvbmVudEluc3RhbmNlLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2dldENvbmZpZ0ZvclVJU3RhdGUoKTogU2t5VGlsZURhc2hib2FyZENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNjb25maWcpIHtcbiAgICAgIHRoaXMuI2NvbmZpZyA9IHtcbiAgICAgICAgdGlsZXM6IHRoaXMuI2NvbmZpZy50aWxlcyxcbiAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgc2luZ2xlQ29sdW1uOiB0aGlzLiNnZXRTaW5nbGVDb2x1bW5MYXlvdXRGb3JVSVN0YXRlKHRoaXMuI2NvbmZpZyksXG4gICAgICAgICAgbXVsdGlDb2x1bW46IHRoaXMuI2dldE11bHRpQ29sdW1uTGF5b3V0Rm9yVUlTdGF0ZSh0aGlzLiNjb25maWcpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jY29uZmlnO1xuICB9XG5cbiAgI2dldFNpbmdsZUNvbHVtbkxheW91dEZvclVJU3RhdGUoXG4gICAgY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnXG4gICk6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyB8fFxuICAgICAgdGhpcy4jbWVkaWFRdWVyeS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtXG4gICAgKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aWxlczogdGhpcy4jZ2V0VGlsZXNJbkVsKHRoaXMuI2dldENvbHVtbkVsKHRoaXMuI3NpbmdsZUNvbHVtbikpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW47XG4gIH1cblxuICAjZ2V0TXVsdGlDb2x1bW5MYXlvdXRGb3JVSVN0YXRlKFxuICAgIGNvbmZpZzogU2t5VGlsZURhc2hib2FyZENvbmZpZ1xuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uW10ge1xuICAgIGlmIChcbiAgICAgICEoXG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IGxheW91dENvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW5bXSA9IFtdO1xuICAgICAgbGV0IGNvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHRoaXMuI2NvbHVtbnMpIHtcbiAgICAgICAgY29sdW1ucyA9IHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgY29sdW1ucykge1xuICAgICAgICBpZiAoY29sdW1uICE9PSB0aGlzLiNzaW5nbGVDb2x1bW4pIHtcbiAgICAgICAgICBjb25zdCBsYXlvdXRDb2x1bW46IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gPSB7XG4gICAgICAgICAgICB0aWxlczogdGhpcy4jZ2V0VGlsZXNJbkVsKHRoaXMuI2dldENvbHVtbkVsKGNvbHVtbikpLFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBsYXlvdXRDb2x1bW5zLnB1c2gobGF5b3V0Q29sdW1uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbGF5b3V0Q29sdW1ucztcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbjtcbiAgfVxuXG4gICNnZXRUaWxlc0luRWwoZWw6IEVsZW1lbnQgfCB1bmRlZmluZWQpOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZVtdIHtcbiAgICBjb25zdCB0aWxlRWxzID0gZWw/LnF1ZXJ5U2VsZWN0b3JBbGwoJ1snICsgQVRUUl9USUxFX0lEICsgJ10nKTtcbiAgICBjb25zdCBsYXlvdXRUaWxlczogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGVbXSA9IFtdO1xuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aWxlRWxzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMCwgbiA9IHRpbGVFbHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHRpbGVFbCA9IHRpbGVFbHNbaV07XG4gICAgICAgIGNvbnN0IHRpbGVJZCA9IHRpbGVFbC5nZXRBdHRyaWJ1dGUoQVRUUl9USUxFX0lEKTtcbiAgICAgICAgY29uc3QgdGlsZSA9IHRoaXMuI2ZpbmRUaWxlKHRpbGVJZCk7XG5cbiAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGlsZSkge1xuICAgICAgICAgIGxheW91dFRpbGVzLnB1c2godGlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGF5b3V0VGlsZXM7XG4gIH1cblxuICAjaW5pdE1lZGlhUXVlcmllcygpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLiNtZWRpYVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jbWVkaWFTdWJzY3JpcHRpb24gPSB0aGlzLiNtZWRpYVF1ZXJ5LnN1YnNjcmliZShcbiAgICAgICAgKGFyZ3M6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgICB0aGlzLmNoYW5nZUNvbHVtbk1vZGUoXG4gICAgICAgICAgICBhcmdzID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzIHx8IGFyZ3MgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICNpbml0RHJhZ3VsYSgpOiB2b2lkIHtcbiAgICB0aGlzLiNkcmFndWxhU2VydmljZS5jcmVhdGVHcm91cCh0aGlzLmJhZ0lkLCB7XG4gICAgICBtb3ZlczogKGVsLCBjb250YWluZXIsIGhhbmRsZSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBlbD8ucXVlcnlTZWxlY3RvcignLnNreS10aWxlLWdyYWItaGFuZGxlJyk7XG4gICAgICAgIHJldHVybiAhIXRhcmdldCAmJiB0YXJnZXQuY29udGFpbnMoaGFuZGxlISk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy4jZHJhZ3VsYVNlcnZpY2UuZHJvcCh0aGlzLmJhZ0lkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgY29uZmlnID0gdGhpcy4jZ2V0Q29uZmlnRm9yVUlTdGF0ZSgpO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgIGlmICh0aGlzLiNzZXR0aW5nc0tleSkge1xuICAgICAgICAgIHRoaXMuI3NldFVzZXJDb25maWcoY29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQoY29uZmlnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gICNnZXRDb2x1bW5FbChcbiAgICBjb2x1bW46IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQgfCB1bmRlZmluZWRcbiAgKTogRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGNvbHVtbj8uY29udGVudD8uZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XG4gIH1cblxuICAjZmluZFRpbGUoXG4gICAgdGlsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG4gICk6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlIHwgdW5kZWZpbmVkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGNvbHVtbi50aWxlcykge1xuICAgICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICAgIGlmICh0aWxlLmlkID09PSB0aWxlSWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRpbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNmaW5kVGlsZUNvbHVtbihcbiAgICB0aWxlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uIHwgdW5kZWZpbmVkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICByZXR1cm4gdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbi5maW5kKFxuICAgICAgICAoY29sKSA9PiBjb2wudGlsZXMgJiYgISFjb2wudGlsZXMuZmluZCgodGlsZSkgPT4gdGlsZS5pZCA9PT0gdGlsZUlkKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNpbml0VG9EZWZhdWx0cyhcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICAgY29sdW1uczogUXVlcnlMaXN0PFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkLFxuICAgIHNpbmdsZUNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNjb25maWcgPSBjb25maWc7XG4gICAgdGhpcy4jY29sdW1ucyA9IGNvbHVtbnM7XG4gICAgdGhpcy4jc2luZ2xlQ29sdW1uID0gc2luZ2xlQ29sdW1uO1xuICAgIHRoaXMuI2NoZWNrUmVhZHlBbmRMb2FkVGlsZXMoKTtcbiAgfVxuXG4gICNzZXRVc2VyQ29uZmlnKGNvbmZpZz86IFNreVRpbGVEYXNoYm9hcmRDb25maWcpOiB2b2lkIHtcbiAgICBpZiAoY29uZmlnICYmIHRoaXMuI3NldHRpbmdzS2V5KVxuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5zZXRDb25maWcodGhpcy4jc2V0dGluZ3NLZXksIHtcbiAgICAgICAgICBsYXlvdXQ6IGNvbmZpZy5sYXlvdXQsXG4gICAgICAgICAgcGVyc2lzdGVkOiB0cnVlLFxuICAgICAgICAgIHRpbGVJZHM6IGNvbmZpZy50aWxlcy5tYXAoKGVsZW0pID0+IGVsZW0uaWQpLFxuICAgICAgICB9KVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0NvdWxkIG5vdCBzYXZlIHRpbGUgZGFzaGJvYXJkIHNldHRpbmdzLicpO1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGVycik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICB9XG5cbiAgI2NoZWNrRm9yTmV3VGlsZXMob2xkVXNlclRpbGVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIC8vIEdldCBhIGxpc3Qgb2YgdGlsZXMgdGhhdCBhcmUgaW4gdGhlIGNvbmZpZydzIGRlZmF1bHQgbGlzdCBidXQgbm90IGluIHRoZSB1c2VyJ3Mgc2V0dGluZ3NcbiAgICBjb25zdCBuZXdUaWxlcyA9IHRoaXMuI2NvbmZpZz8udGlsZXMuZmlsdGVyKChlbGVtKSA9PiB7XG4gICAgICByZXR1cm4gb2xkVXNlclRpbGVzLmluZGV4T2YoZWxlbS5pZCkgPT09IC0xO1xuICAgIH0pO1xuXG4gICAgY29uc3QgbXVsdGlDb2x1bW4gPSB0aGlzLiNjb25maWc/LmxheW91dC5tdWx0aUNvbHVtbjtcbiAgICBjb25zdCBzaW5nbGVDb2x1bW4gPSB0aGlzLiNjb25maWc/LmxheW91dC5zaW5nbGVDb2x1bW47XG5cbiAgICAvLyBBcHBlbmQgbmV3IHRpbGVzIHRvIHRoZSBlbmQgb2YgdGhlIGxheW91dHNcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKG5ld1RpbGVzPy5sZW5ndGgpIHtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChtdWx0aUNvbHVtbikge1xuICAgICAgICBuZXdUaWxlcz8uZm9yRWFjaCgoZWxlbSkgPT4ge1xuICAgICAgICAgIGxldCBsb2NhdGlvblRvQWRkID0gMDtcbiAgICAgICAgICBsZXQgc21hbGxlc3QgPSBtdWx0aUNvbHVtblswXS50aWxlcy5sZW5ndGg7XG4gICAgICAgICAgbXVsdGlDb2x1bW4uZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLnRpbGVzLmxlbmd0aCA8IHNtYWxsZXN0KSB7XG4gICAgICAgICAgICAgIGxvY2F0aW9uVG9BZGQgPSBpbmRleDtcbiAgICAgICAgICAgICAgc21hbGxlc3QgPSBpdGVtLnRpbGVzLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBtdWx0aUNvbHVtbltsb2NhdGlvblRvQWRkXS50aWxlcy5wdXNoKHtcbiAgICAgICAgICAgIGlkOiBlbGVtLmlkLFxuICAgICAgICAgICAgaXNDb2xsYXBzZWQ6IGZhbHNlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHNpbmdsZUNvbHVtbikge1xuICAgICAgICBuZXdUaWxlcz8uZm9yRWFjaCgoZWxlbSkgPT4ge1xuICAgICAgICAgIHNpbmdsZUNvbHVtbi50aWxlcy5wdXNoKHsgaWQ6IGVsZW0uaWQsIGlzQ29sbGFwc2VkOiBmYWxzZSB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChzaW5nbGVDb2x1bW4pIHtcbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBzaW5nbGVDb2x1bW4udGlsZXMpIHtcbiAgICAgICAgdGhpcy4jZ2V0VGlsZU9yUmVtb3ZlRnJvbUxheW91dCh0aWxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKG11bHRpQ29sdW1uKSB7XG4gICAgICBmb3IgKGxldCBpID0gMCwgbiA9IG11bHRpQ29sdW1uLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICBmb3IgKGNvbnN0IHRpbGUgb2YgbXVsdGlDb2x1bW5baV0udGlsZXMpIHtcbiAgICAgICAgICB0aGlzLiNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KHRpbGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
551
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQvdGlsZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osVUFBVSxFQUNWLFFBQVEsRUFDUixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixtQkFBbUIsR0FHcEIsTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBU3RDLE1BQU0sWUFBWSxHQUFHLDZCQUE2QixDQUFDO0FBRW5ELElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQUduQixNQUFNLE9BQU8sdUJBQXVCO0lBNEJsQyx5REFBeUQ7SUFDekQsWUFDRSxjQUE4QixFQUM5QixVQUFnQyxFQUNoQyxlQUFtQyxFQUN2Qix1QkFBb0Q7O1FBM0JsRTs7V0FFRztRQUNJLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFakU7O1dBRUc7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZELG1EQUFpRTtRQUNqRSxrREFBNEM7UUFDNUMsMERBQWdDO1FBQ2hDLG1FQUFpRTtRQUNqRSw2REFBNkM7UUFDN0Msc0RBQWtDO1FBQ2xDLHdEQUEyRDtRQUMzRCx1REFBaUM7UUFDakMsMERBQWlEO1FBQ2pELDJEQUFxQztRQVNuQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDNUIsT0FBTyxDQUFDLElBQUksQ0FDVix3U0FBd1MsQ0FDelMsQ0FBQztTQUNIO1FBRUQsdUJBQUEsSUFBSSwyQ0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEs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QUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDdkMsdUJBQUEsSUFBSSw4RkFBMkIsTUFBL0IsSUFBSSxFQUE0QixJQUFJLENBQUMsQ0FBQzthQUN2QztTQUNGO0tBQ0Y7QUFDSCxDQUFDO29IQTd0QlUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7MEJBa0NOLFFBQVE7NENBbEJKLG9CQUFvQjtzQkFEMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RhYmxlLFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLFxuICBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVVJQ29uZmlnU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBEcmFndWxhU2VydmljZSB9IGZyb20gJ25nMi1kcmFndWxhJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRpbGVEYXNoYm9hcmRDb25maWcgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC1jb25maWcvdGlsZS1kYXNoYm9hcmQtY29uZmlnJztcbmltcG9ydCB7IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC1jb25maWcvdGlsZS1kYXNoYm9hcmQtY29uZmlnLWxheW91dC1jb2x1bW4nO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGUgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC1jb25maWcvdGlsZS1kYXNoYm9hcmQtY29uZmlnLWxheW91dC10aWxlJztcbmltcG9ydCB7IFNreVRpbGVEYXNoYm9hcmRDb25maWdUaWxlIH0gZnJvbSAnLi4vdGlsZS1kYXNoYm9hcmQtY29uZmlnL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy10aWxlJztcbmltcG9ydCB7IFNreVRpbGVDb21wb25lbnQgfSBmcm9tICcuLi90aWxlL3RpbGUuY29tcG9uZW50JztcblxuY29uc3QgQVRUUl9USUxFX0lEID0gJ19za3ktdGlsZS1kYXNoYm9hcmQtdGlsZS1pZCc7XG5cbmxldCBiYWdJZEluZGV4ID0gMDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVRpbGVEYXNoYm9hcmRTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGJhZ0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNvbmZpZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VGlsZURhc2hib2FyZENvbmZpZz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgdGlsZSBkYXNoYm9hcmQncyBpbml0aWFsaXphdGlvbiBpcyBjb21wbGV0ZS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGFzaGJvYXJkSW5pdGlhbGl6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgI2NvbHVtbnM6IFF1ZXJ5TGlzdDxTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcbiAgI2NvbmZpZzogU2t5VGlsZURhc2hib2FyZENvbmZpZyB8IHVuZGVmaW5lZDtcbiAgI2RyYWd1bGFTZXJ2aWNlOiBEcmFndWxhU2VydmljZTtcbiAgI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSB8IHVuZGVmaW5lZDtcbiAgI21lZGlhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICNtZWRpYVF1ZXJ5OiBTa3lNZWRpYVF1ZXJ5U2VydmljZTtcbiAgI3NpbmdsZUNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgI3NldHRpbmdzS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICN0aWxlQ29tcG9uZW50czogQ29tcG9uZW50UmVmPGFueT5bXSB8IHVuZGVmaW5lZDtcbiAgI3VpQ29uZmlnU2VydmljZTogU2t5VUlDb25maWdTZXJ2aWNlO1xuXG4gIC8vIFRPRE86IHJlbW92ZSBAb3B0aW9uYWwgdGFnIGluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZVxuICBjb25zdHJ1Y3RvcihcbiAgICBkcmFndWxhU2VydmljZTogRHJhZ3VsYVNlcnZpY2UsXG4gICAgbWVkaWFRdWVyeTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgdWlDb25maWdTZXJ2aWNlOiBTa3lVSUNvbmZpZ1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgZHluYW1pY0NvbXBvbmVudFNlcnZpY2U/OiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZVxuICApIHtcbiAgICBpZiAoIWR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdUaGUgU2t5VGlsZURhc2hib2FyZFNlcnZpY2Ugd2FzIGNyZWF0ZWQgd2l0aG91dCBhIHJlZmVyZW5jZSB0byB0aGUgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UuIFRoZSBzZXJ2aWNlIHdpbGwgYmUgdW5hYmxlIHRvIGNyZWF0ZSB0aWxlcyBmcm9tIHRoZSBkYXNoYm9hcmQgY29uZmlndXJhdGlvbi4gQ29uc3RydWN0aW5nIHRoZSBTa3lUaWxlRGFzaGJvYXJkU2VydmljZSB3aXRob3V0IGEgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2Ugd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZS4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlID0gZHJhZ3VsYVNlcnZpY2U7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgICB0aGlzLiNtZWRpYVF1ZXJ5ID0gbWVkaWFRdWVyeTtcbiAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2UgPSB1aUNvbmZpZ1NlcnZpY2U7XG5cbiAgICB0aGlzLmJhZ0lkID0gYHNreS10aWxlLWRhc2hib2FyZC1iYWctJHsrK2JhZ0lkSW5kZXh9YDtcblxuICAgIHRoaXMuI2luaXREcmFndWxhKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgaW5pdChcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICAgY29sdW1ucz86IFF1ZXJ5TGlzdDxTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50PixcbiAgICBzaW5nbGVDb2x1bW4/OiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50LFxuICAgIHNldHRpbmdzS2V5Pzogc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIGlmIChzZXR0aW5nc0tleSkge1xuICAgICAgLy8gQ2xvbmUgdGhpcyBzbyBjaGFuZ2VzIHRvIHRoZSBjb25maWcgb2JqZWN0IG91dHNpZGUgb2YgdGhpcyBjbGFzcyBkb24ndCBtb2RpZnlcbiAgICAgIC8vIHRoZSBjb25maWcgdXNlZCBpbnNpZGUgYW5kIHZpY2UgdmVyc2EuXG4gICAgICB0aGlzLiNjb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpIGFzIFNreVRpbGVEYXNoYm9hcmRDb25maWc7XG5cbiAgICAgIHRoaXMuI3NldHRpbmdzS2V5ID0gc2V0dGluZ3NLZXk7XG5cbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuZ2V0Q29uZmlnKHNldHRpbmdzS2V5LCBjb25maWcpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLiNjb25maWcgJiYgdmFsdWUucGVyc2lzdGVkKSB7XG4gICAgICAgICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQgPSB2YWx1ZS5sYXlvdXQ7XG4gICAgICAgICAgICAgIHRoaXMuI2NoZWNrRm9yTmV3VGlsZXModmFsdWUudGlsZUlkcyk7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQodGhpcy4jY29uZmlnKTtcblxuICAgICAgICAgICAgICB0aGlzLiNjb2x1bW5zID0gY29sdW1ucztcbiAgICAgICAgICAgICAgdGhpcy4jc2luZ2xlQ29sdW1uID0gc2luZ2xlQ29sdW1uO1xuICAgICAgICAgICAgICB0aGlzLiNjaGVja1JlYWR5QW5kTG9hZFRpbGVzKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBCYWQgZGF0YSwgb3IgY29uZmlnIGlzIHRoZSBkZWZhdWx0IGNvbmZpZy5cbiAgICAgICAgICAgICAgdGhpcy4jaW5pdFRvRGVmYXVsdHMoY29uZmlnLCBjb2x1bW5zLCBzaW5nbGVDb2x1bW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIC8vIENvbmZpZyBzZXR0aW5nIGtleSBkb2Vzbid0IGV4aXN0IG9yIG90aGVyIGNvbmZpZyBzZXJ2aWNlIGVycm9yXG4gICAgICAgICAgICB0aGlzLiNpbml0VG9EZWZhdWx0cyhjb25maWcsIGNvbHVtbnMsIHNpbmdsZUNvbHVtbik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNpbml0VG9EZWZhdWx0cyhjb25maWcsIGNvbHVtbnMsIHNpbmdsZUNvbHVtbik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgdGlsZSB0byB0aGUgdGlsZSBkYXNoYm9hcmQuXG4gICAqIEBwYXJhbSB0aWxlIFNwZWNpZmllcyB0aGUgdGlsZSBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0gY29tcG9uZW50IFNwZWNpZmllcyB0aGUgdGlsZSBjb21wb25lbnQgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZFRpbGVDb21wb25lbnQoXG4gICAgdGlsZTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGUsXG4gICAgY29tcG9uZW50OiBDb21wb25lbnRSZWY8YW55PlxuICApOiB2b2lkIHtcbiAgICB0aGlzLiN0aWxlQ29tcG9uZW50cyA9IHRoaXMuI3RpbGVDb21wb25lbnRzIHx8IFtdO1xuXG4gICAgdGhpcy4jdGlsZUNvbXBvbmVudHMucHVzaChjb21wb25lbnQpO1xuXG4gICAgY29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCwgdGlsZS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgYSBzcGVjaWZpZWQgdGlsZSBpcyBjb2xsYXBzZWQuXG4gICAqIEBwYXJhbSB0aWxlIFNwZWNpZmllcyB0aGUgdGlsZSBjb21wb25lbnQgdG8gY2hlY2suXG4gICAqL1xuICBwdWJsaWMgdGlsZUlzQ29sbGFwc2VkKHRpbGU6IFNreVRpbGVDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCB0aWxlQ29uZmlnID0gdGhpcy4jZmluZFRpbGUodGhpcy4jZ2V0VGlsZUlkKHRpbGUpKTtcblxuICAgIGlmICh0aWxlQ29uZmlnKSB7XG4gICAgICByZXR1cm4gdGlsZUNvbmZpZy5pc0NvbGxhcHNlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sbGFwc2VkIHN0YXRlIG9mIGFsbCB0aWxlcy5cbiAgICogQHBhcmFtIGlzQ29sbGFwc2VkIEluZGljYXRlcyB3aGV0aGVyIHRpbGVzIGFyZSBjb2xsYXBzZWQuXG4gICAqL1xuICBwdWJsaWMgc2V0QWxsVGlsZXNDb2xsYXBzZWQoaXNDb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLiNjb25maWcubGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLiNzZXRVc2VyQ29uZmlnKHRoaXMuI2NvbmZpZyk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdCh0aGlzLiNjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbGxhcHNlZCBzdGF0ZSBvZiBhIHNwZWNpZmllZCB0aWxlLlxuICAgKiBAcGFyYW0gdGlsZSBTcGVjaWZpZXMgdGhlIHRpbGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gaXNDb2xsYXBzZWQgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRpbGUgaXMgY29sbGFwc2VkLlxuICAgKi9cbiAgcHVibGljIHNldFRpbGVDb2xsYXBzZWQoXG4gICAgdGlsZTogU2t5VGlsZUNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBpc0NvbGxhcHNlZDogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICBjb25zdCB0aWxlQ29uZmlnID0gdGhpcy4jZmluZFRpbGUodGhpcy4jZ2V0VGlsZUlkKHRpbGUpKTtcblxuICAgIGlmICh0aWxlQ29uZmlnKSB7XG4gICAgICB0aWxlQ29uZmlnLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG5cbiAgICAgIGlmICh0aGlzLiNzZXR0aW5nc0tleSkge1xuICAgICAgICB0aGlzLiNzZXRVc2VyQ29uZmlnKHRoaXMuI2NvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQodGhpcy4jY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0VGlsZUNvbXBvbmVudFR5cGUoXG4gICAgbGF5b3V0VGlsZTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGUgfCB1bmRlZmluZWRcbiAgKTogYW55IHtcbiAgICBpZiAobGF5b3V0VGlsZSAmJiB0aGlzLiNjb25maWcpIHtcbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLiNjb25maWcudGlsZXMpIHtcbiAgICAgICAgaWYgKHRpbGUuaWQgPT09IGxheW91dFRpbGUuaWQpIHtcbiAgICAgICAgICByZXR1cm4gdGlsZS5jb21wb25lbnRUeXBlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBjaGFuZ2VDb2x1bW5Nb2RlKGlzU2luZ2xlQ29sdW1uOiBib29sZWFuKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNjb25maWcpIHtcbiAgICAgIGlmIChpc1NpbmdsZUNvbHVtbikge1xuICAgICAgICB0aGlzLiNtb3ZlVGlsZXNUb1NpbmdsZUNvbHVtbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jbW92ZVRpbGVzVG9NdWx0aUNvbHVtbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXRUaWxlQ29tcG9uZW50KHRpbGVJZDogc3RyaW5nKTogQ29tcG9uZW50UmVmPGFueT4gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLiN0aWxlQ29tcG9uZW50cykge1xuICAgICAgZm9yIChjb25zdCB0aWxlQ29tcG9uZW50IG9mIHRoaXMuI3RpbGVDb21wb25lbnRzKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aWxlQ29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCkgPT09XG4gICAgICAgICAgdGlsZUlkXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0aWxlQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI21lZGlhU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLiNtZWRpYVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBtb3ZlVGlsZU9uS2V5RG93bihcbiAgICB0aWxlQ21wOiBTa3lUaWxlQ29tcG9uZW50LFxuICAgIGRpcmVjdGlvbjogc3RyaW5nLFxuICAgIHRpbGVEZXNjcmlwdGlvbjogc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjb25maWcpIHtcbiAgICAgIGNvbnN0IGlzU2luZ2xlQ29sdW1uTW9kZSA9XG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc207XG5cbiAgICAgIGNvbnN0IHRpbGVJZCA9IHRoaXMuI2dldFRpbGVJZCh0aWxlQ21wKTtcbiAgICAgIGNvbnN0IHRpbGUgPSB0aGlzLiNmaW5kVGlsZSh0aWxlSWQpO1xuXG4gICAgICBsZXQgY29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uIHwgdW5kZWZpbmVkO1xuICAgICAgbGV0IGNvbEluZGV4ID0gMDtcbiAgICAgIGlmIChpc1NpbmdsZUNvbHVtbk1vZGUpIHtcbiAgICAgICAgY29sdW1uID0gdGhpcy4jY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb2x1bW4gPSB0aGlzLiNmaW5kVGlsZUNvbHVtbih0aWxlSWQpO1xuICAgICAgICBjb2xJbmRleCA9IHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4uZmluZEluZGV4KFxuICAgICAgICAgICh2YWx1ZSkgPT4gdmFsdWUgPT09IGNvbHVtblxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29sdW1uICYmIHRpbGUgJiYgdGlsZUlkKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAoZGlyZWN0aW9uID09PSAnbGVmdCcgfHwgZGlyZWN0aW9uID09PSAncmlnaHQnKSAmJlxuICAgICAgICAgICFpc1NpbmdsZUNvbHVtbk1vZGVcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBkaXJlY3Rpb24gPT09ICdsZWZ0JyA/IC0xIDogMTtcbiAgICAgICAgICBjb25zdCBuZXdDb2x1bW4gPVxuICAgICAgICAgICAgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbltjb2xJbmRleCArIG9wZXJhdG9yXTtcblxuICAgICAgICAgIGlmIChuZXdDb2x1bW4pIHtcbiAgICAgICAgICAgIC8vIE1vdmUgdGhlIHRpbGUgdG8gdGhlIGVuZCBvZiB0aGUgbmV3IGNvbHVtblxuICAgICAgICAgICAgbmV3Q29sdW1uLnRpbGVzLnB1c2godGlsZSk7XG4gICAgICAgICAgICBjb2x1bW4udGlsZXMgPSBjb2x1bW4udGlsZXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSB0aWxlKTtcbiAgICAgICAgICAgIHRoaXMuI21vdmVUaWxlc1RvQ29sdW1uKFxuICAgICAgICAgICAgICB0aGlzLiNjb2x1bW5zPy50b0FycmF5KClbY29sSW5kZXggKyBvcGVyYXRvcl0sXG4gICAgICAgICAgICAgIFt0aWxlXVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gUmVwb3J0IHRoZSBjaGFuZ2UgaW4gY29uZmlndXJhdGlvblxuICAgICAgICAgICAgY29uc3QgcmVwb3J0Q29uZmlnID0gdGhpcy4jY29uZmlnO1xuICAgICAgICAgICAgcmVwb3J0Q29uZmlnLm1vdmVkVGlsZSA9IHtcbiAgICAgICAgICAgICAgdGlsZURlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIHRpbGVEZXNjcmlwdGlvbiB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyB0aWxlLmlkLFxuICAgICAgICAgICAgICBjb2x1bW46IGNvbEluZGV4ICsgb3BlcmF0b3IgKyAxLFxuICAgICAgICAgICAgICBwb3NpdGlvbjogbmV3Q29sdW1uLnRpbGVzLmxlbmd0aCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ0NoYW5nZS5lbWl0KHJlcG9ydENvbmZpZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gZGlyZWN0aW9uID09PSAndXAnID8gLTEgOiAxO1xuICAgICAgICAgIGNvbnN0IGN1ckluZGV4ID0gY29sdW1uLnRpbGVzLmZpbmRJbmRleChcbiAgICAgICAgICAgICh2YWx1ZSkgPT4gdmFsdWUuaWQgPT09IHRpbGUuaWRcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHRpbGVDb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuZ2V0VGlsZUNvbXBvbmVudCh0aWxlSWQpO1xuXG4gICAgICAgICAgaWYgKHRpbGVDb21wb25lbnRJbnN0YW5jZSAmJiBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0pIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXAgPSBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl07XG4gICAgICAgICAgICBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0gPSB0aWxlO1xuICAgICAgICAgICAgY29sdW1uLnRpbGVzW2N1ckluZGV4XSA9IHRlbXA7XG5cbiAgICAgICAgICAgIC8vIEdldCB0aGUgY29sdW1uIGVsZW1lbnRcbiAgICAgICAgICAgIGxldCBjb2x1bW5FbDogRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChpc1NpbmdsZUNvbHVtbk1vZGUpIHtcbiAgICAgICAgICAgICAgY29sdW1uRWwgPSB0aGlzLiNnZXRDb2x1bW5FbCh0aGlzLiNzaW5nbGVDb2x1bW4pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29sdW1uRWwgPSB0aGlzLiNnZXRDb2x1bW5FbCh0aGlzLiNjb2x1bW5zPy50b0FycmF5KClbY29sSW5kZXhdKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTW92ZSB0aGUgdGlsZSBlbGVtZW50IGluIHRoZSBkb2N1bWVudFxuICAgICAgICAgICAgaWYgKGN1ckluZGV4ICsgb3BlcmF0b3IgPT09IGNvbHVtbi50aWxlcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGNvbHVtbkVsPy5hcHBlbmRDaGlsZChcbiAgICAgICAgICAgICAgICB0aWxlQ29tcG9uZW50SW5zdGFuY2UubG9jYXRpb24ubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29sdW1uRWw/Lmluc2VydEJlZm9yZShcbiAgICAgICAgICAgICAgICB0aWxlQ29tcG9uZW50SW5zdGFuY2UubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFRpbGVDb21wb25lbnQoY29sdW1uLnRpbGVzW2N1ckluZGV4ICsgb3BlcmF0b3IgKyAxXS5pZClcbiAgICAgICAgICAgICAgICAgID8ubG9jYXRpb24ubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBSZXBvcnQgdGhlIGNoYW5nZSBpbiBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICBjb25zdCByZXBvcnRDb25maWcgPSB0aGlzLiNjb25maWc7XG4gICAgICAgICAgICByZXBvcnRDb25maWcubW92ZWRUaWxlID0ge1xuICAgICAgICAgICAgICB0aWxlRGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgdGlsZURlc2NyaXB0aW9uIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHRpbGUuaWQsXG4gICAgICAgICAgICAgIGNvbHVtbjogaXNTaW5nbGVDb2x1bW5Nb2RlID8gMSA6IGNvbEluZGV4ICsgMSxcbiAgICAgICAgICAgICAgcG9zaXRpb246IGN1ckluZGV4ICsgb3BlcmF0b3IgKyAxLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQocmVwb3J0Q29uZmlnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0VGlsZUlkKHRpbGU6IFNreVRpbGVDb21wb25lbnQgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aWxlKSB7XG4gICAgICBsZXQgZWwgPSB0aWxlLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIGxldCB0aWxlSWQ6IHN0cmluZztcblxuICAgICAgd2hpbGUgKGVsKSB7XG4gICAgICAgIHRpbGVJZCA9IGVsLmdldEF0dHJpYnV0ZShBVFRSX1RJTEVfSUQpO1xuXG4gICAgICAgIGlmICh0aWxlSWQpIHtcbiAgICAgICAgICByZXR1cm4gdGlsZUlkO1xuICAgICAgICB9XG5cbiAgICAgICAgZWwgPSBlbC5wYXJlbnRFbGVtZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZ2V0VGlsZU9yUmVtb3ZlRnJvbUxheW91dChcbiAgICBsYXlvdXRUaWxlOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZVxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnVGlsZSB8IHVuZGVmaW5lZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChsYXlvdXRUaWxlICYmIHRoaXMuI2NvbmZpZykge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHRoaXMuI2NvbmZpZy50aWxlcykge1xuICAgICAgICBpZiAodGlsZS5pZCA9PT0gbGF5b3V0VGlsZS5pZCkge1xuICAgICAgICAgIHJldHVybiB0aWxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBsYXlvdXQgdGlsZSB3YXMgbm90IGZvdW5kIGluIHRoZSBsaXN0IG9mIHRpbGVzLCBpdCB3YXMgcmVtb3ZlZCBzaW5jZSBsYXN0IHRoZSB1c2VyIHVwZGF0ZWQgc2V0dGluZ3NcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLiNjb25maWc/LmxheW91dC5zaW5nbGVDb2x1bW4pIHtcbiAgICAgICAgdGhpcy4jY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW4udGlsZXMgPVxuICAgICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQuc2luZ2xlQ29sdW1uLnRpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIChlbGVtKSA9PiBlbGVtLmlkICE9PSBsYXlvdXRUaWxlLmlkXG4gICAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHRoaXMuI2NvbmZpZz8ubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4uZm9yRWFjaCgoZWxlbSkgPT4ge1xuICAgICAgICAgIGVsZW0udGlsZXMgPSBlbGVtLnRpbGVzLmZpbHRlcigocmVzKSA9PiByZXMuaWQgIT09IGxheW91dFRpbGUuaWQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNjaGVja1JlYWR5QW5kTG9hZFRpbGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjb25maWcgJiYgdGhpcy4jY29sdW1ucykge1xuICAgICAgdGhpcy4jbG9hZFRpbGVzKHRoaXMuI2NvbmZpZyk7XG4gICAgICB0aGlzLiNpbml0TWVkaWFRdWVyaWVzKCk7XG4gICAgICB0aGlzLmRhc2hib2FyZEluaXRpYWxpemVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICAjbG9hZFRpbGVzKGNvbmZpZzogU2t5VGlsZURhc2hib2FyZENvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGxheW91dCA9IGNvbmZpZy5sYXlvdXQ7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMgfHxcbiAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy5zbVxuICAgICkge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIGxheW91dC5zaW5nbGVDb2x1bW4udGlsZXMpIHtcbiAgICAgICAgdGhpcy4jbG9hZFRpbGVJbnRvQ29sdW1uKHRoaXMuI3NpbmdsZUNvbHVtbiwgdGlsZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBjb2x1bW5zOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50W10gPSBbXTtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLiNjb2x1bW5zKSB7XG4gICAgICAgIGNvbHVtbnMgPSB0aGlzLiNjb2x1bW5zPy50b0FycmF5KCk7XG4gICAgICB9XG5cbiAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gbGF5b3V0Lm11bHRpQ29sdW1uLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zW2ldO1xuXG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBsYXlvdXQubXVsdGlDb2x1bW5baV0udGlsZXMpIHtcbiAgICAgICAgICB0aGlzLiNsb2FkVGlsZUludG9Db2x1bW4oY29sdW1uLCB0aWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNsb2FkVGlsZUludG9Db2x1bW4oXG4gICAgY29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IHwgdW5kZWZpbmVkLFxuICAgIGxheW91dFRpbGU6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlXG4gICk6IHZvaWQge1xuICAgIGlmIChjb2x1bW4pIHtcbiAgICAgIGNvbnN0IHRpbGUgPSB0aGlzLiNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KGxheW91dFRpbGUpO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGlsZSAmJiB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gdGlsZS5jb21wb25lbnRUeXBlO1xuICAgICAgICBjb25zdCBwcm92aWRlcnMgPSB0aWxlLnByb3ZpZGVycyAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyB8fCBbXTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgY29tcG9uZW50VHlwZSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsb2NhdGlvbjogU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRCb3R0b20sXG4gICAgICAgICAgICBwcm92aWRlcnM6IHByb3ZpZGVycyxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IGNvbHVtbi5jb250ZW50LFxuICAgICAgICAgICAgcGFyZW50SW5qZWN0b3I6IGNvbHVtbi5pbmplY3RvcixcbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hZGRUaWxlQ29tcG9uZW50KGxheW91dFRpbGUsIGNvbXBvbmVudFJlZik7XG5cbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBjb21wb25lbnQgaXMgbWFya2VkIGZvciBjaGFuZ2VzIGluIGNhc2UgdGhlIHBhcmVudCBjb21wb25lbnQgdXNlc1xuICAgICAgICAvLyB0aGUgT25QdXNoIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kuXG4gICAgICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbW92ZVRpbGVzVG9TaW5nbGVDb2x1bW4oKTogdm9pZCB7XG4gICAgdGhpcy4jbW92ZVRpbGVzVG9Db2x1bW4oXG4gICAgICB0aGlzLiNzaW5nbGVDb2x1bW4sXG4gICAgICB0aGlzLiNjb25maWc/LmxheW91dC5zaW5nbGVDb2x1bW4udGlsZXNcbiAgICApO1xuICB9XG5cbiAgI21vdmVUaWxlc1RvTXVsdGlDb2x1bW4oKTogdm9pZCB7XG4gICAgbGV0IGxheW91dENvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW5bXSA9IFtdO1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29uZmlnKSB7XG4gICAgICBsYXlvdXRDb2x1bW5zID0gdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbjtcbiAgICB9XG4gICAgbGV0IGNvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29sdW1ucykge1xuICAgICAgY29sdW1ucyA9IHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbiA9IGxheW91dENvbHVtbnMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICB0aGlzLiNtb3ZlVGlsZXNUb0NvbHVtbihjb2x1bW5zW2ldLCBsYXlvdXRDb2x1bW5zW2ldLnRpbGVzKTtcbiAgICB9XG4gIH1cblxuICAjbW92ZVRpbGVzVG9Db2x1bW4oXG4gICAgY29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IHwgdW5kZWZpbmVkLFxuICAgIGxheW91dFRpbGVzOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZVtdIHwgdW5kZWZpbmVkXG4gICk6IHZvaWQge1xuICAgIGlmIChjb2x1bW4gJiYgbGF5b3V0VGlsZXMpIHtcbiAgICAgIGNvbnN0IGNvbHVtbkVsID0gdGhpcy4jZ2V0Q29sdW1uRWwoY29sdW1uKTtcblxuICAgICAgZm9yIChjb25zdCBsYXlvdXRUaWxlIG9mIGxheW91dFRpbGVzKSB7XG4gICAgICAgIGNvbnN0IHRpbGVDb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuZ2V0VGlsZUNvbXBvbmVudChsYXlvdXRUaWxlLmlkKTtcblxuICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aWxlQ29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgICAgICBjb2x1bW5FbD8uYXBwZW5kQ2hpbGQodGlsZUNvbXBvbmVudEluc3RhbmNlLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2dldENvbmZpZ0ZvclVJU3RhdGUoKTogU2t5VGlsZURhc2hib2FyZENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNjb25maWcpIHtcbiAgICAgIHRoaXMuI2NvbmZpZyA9IHtcbiAgICAgICAgdGlsZXM6IHRoaXMuI2NvbmZpZy50aWxlcyxcbiAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgc2luZ2xlQ29sdW1uOiB0aGlzLiNnZXRTaW5nbGVDb2x1bW5MYXlvdXRGb3JVSVN0YXRlKHRoaXMuI2NvbmZpZyksXG4gICAgICAgICAgbXVsdGlDb2x1bW46IHRoaXMuI2dldE11bHRpQ29sdW1uTGF5b3V0Rm9yVUlTdGF0ZSh0aGlzLiNjb25maWcpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jY29uZmlnO1xuICB9XG5cbiAgI2dldFNpbmdsZUNvbHVtbkxheW91dEZvclVJU3RhdGUoXG4gICAgY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnXG4gICk6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyB8fFxuICAgICAgdGhpcy4jbWVkaWFRdWVyeS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtXG4gICAgKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aWxlczogdGhpcy4jZ2V0VGlsZXNJbkVsKHRoaXMuI2dldENvbHVtbkVsKHRoaXMuI3NpbmdsZUNvbHVtbikpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW47XG4gIH1cblxuICAjZ2V0TXVsdGlDb2x1bW5MYXlvdXRGb3JVSVN0YXRlKFxuICAgIGNvbmZpZzogU2t5VGlsZURhc2hib2FyZENvbmZpZ1xuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uW10ge1xuICAgIGlmIChcbiAgICAgICEoXG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IGxheW91dENvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW5bXSA9IFtdO1xuICAgICAgbGV0IGNvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHRoaXMuI2NvbHVtbnMpIHtcbiAgICAgICAgY29sdW1ucyA9IHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgY29sdW1ucykge1xuICAgICAgICBpZiAoY29sdW1uICE9PSB0aGlzLiNzaW5nbGVDb2x1bW4pIHtcbiAgICAgICAgICBjb25zdCBsYXlvdXRDb2x1bW46IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gPSB7XG4gICAgICAgICAgICB0aWxlczogdGhpcy4jZ2V0VGlsZXNJbkVsKHRoaXMuI2dldENvbHVtbkVsKGNvbHVtbikpLFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBsYXlvdXRDb2x1bW5zLnB1c2gobGF5b3V0Q29sdW1uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbGF5b3V0Q29sdW1ucztcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbjtcbiAgfVxuXG4gICNnZXRUaWxlc0luRWwoZWw6IEVsZW1lbnQgfCB1bmRlZmluZWQpOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZVtdIHtcbiAgICBjb25zdCB0aWxlRWxzID0gZWw/LnF1ZXJ5U2VsZWN0b3JBbGwoJ1snICsgQVRUUl9USUxFX0lEICsgJ10nKTtcbiAgICBjb25zdCBsYXlvdXRUaWxlczogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGVbXSA9IFtdO1xuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aWxlRWxzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMCwgbiA9IHRpbGVFbHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHRpbGVFbCA9IHRpbGVFbHNbaV07XG4gICAgICAgIGNvbnN0IHRpbGVJZCA9IHRpbGVFbC5nZXRBdHRyaWJ1dGUoQVRUUl9USUxFX0lEKTtcbiAgICAgICAgY29uc3QgdGlsZSA9IHRoaXMuI2ZpbmRUaWxlKHRpbGVJZCk7XG5cbiAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGlsZSkge1xuICAgICAgICAgIGxheW91dFRpbGVzLnB1c2godGlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGF5b3V0VGlsZXM7XG4gIH1cblxuICAjaW5pdE1lZGlhUXVlcmllcygpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLiNtZWRpYVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jbWVkaWFTdWJzY3JpcHRpb24gPSB0aGlzLiNtZWRpYVF1ZXJ5LnN1YnNjcmliZShcbiAgICAgICAgKGFyZ3M6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgICB0aGlzLmNoYW5nZUNvbHVtbk1vZGUoXG4gICAgICAgICAgICBhcmdzID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzIHx8IGFyZ3MgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICNpbml0RHJhZ3VsYSgpOiB2b2lkIHtcbiAgICB0aGlzLiNkcmFndWxhU2VydmljZS5jcmVhdGVHcm91cCh0aGlzLmJhZ0lkLCB7XG4gICAgICBtb3ZlczogKGVsLCBjb250YWluZXIsIGhhbmRsZSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBlbD8ucXVlcnlTZWxlY3RvcignLnNreS10aWxlLWdyYWItaGFuZGxlJyk7XG4gICAgICAgIHJldHVybiAhIXRhcmdldCAmJiB0YXJnZXQuY29udGFpbnMoaGFuZGxlISk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy4jZHJhZ3VsYVNlcnZpY2UuZHJvcCh0aGlzLmJhZ0lkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgY29uZmlnID0gdGhpcy4jZ2V0Q29uZmlnRm9yVUlTdGF0ZSgpO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgIGlmICh0aGlzLiNzZXR0aW5nc0tleSkge1xuICAgICAgICAgIHRoaXMuI3NldFVzZXJDb25maWcoY29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQoY29uZmlnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gICNnZXRDb2x1bW5FbChcbiAgICBjb2x1bW46IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQgfCB1bmRlZmluZWRcbiAgKTogRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGNvbHVtbj8uY29udGVudD8uZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XG4gIH1cblxuICAjZmluZFRpbGUoXG4gICAgdGlsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG4gICk6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlIHwgdW5kZWZpbmVkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGNvbHVtbi50aWxlcykge1xuICAgICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICAgIGlmICh0aWxlLmlkID09PSB0aWxlSWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRpbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNmaW5kVGlsZUNvbHVtbihcbiAgICB0aWxlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uIHwgdW5kZWZpbmVkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICByZXR1cm4gdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbi5maW5kKFxuICAgICAgICAoY29sKSA9PiBjb2wudGlsZXMgJiYgISFjb2wudGlsZXMuZmluZCgodGlsZSkgPT4gdGlsZS5pZCA9PT0gdGlsZUlkKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNpbml0VG9EZWZhdWx0cyhcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICAgY29sdW1uczogUXVlcnlMaXN0PFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkLFxuICAgIHNpbmdsZUNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNjb25maWcgPSBjb25maWc7XG4gICAgdGhpcy4jY29sdW1ucyA9IGNvbHVtbnM7XG4gICAgdGhpcy4jc2luZ2xlQ29sdW1uID0gc2luZ2xlQ29sdW1uO1xuICAgIHRoaXMuI2NoZWNrUmVhZHlBbmRMb2FkVGlsZXMoKTtcbiAgfVxuXG4gICNzZXRVc2VyQ29uZmlnKGNvbmZpZz86IFNreVRpbGVEYXNoYm9hcmRDb25maWcpOiB2b2lkIHtcbiAgICBpZiAoY29uZmlnICYmIHRoaXMuI3NldHRpbmdzS2V5KVxuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5zZXRDb25maWcodGhpcy4jc2V0dGluZ3NLZXksIHtcbiAgICAgICAgICBsYXlvdXQ6IGNvbmZpZy5sYXlvdXQsXG4gICAgICAgICAgcGVyc2lzdGVkOiB0cnVlLFxuICAgICAgICAgIHRpbGVJZHM6IGNvbmZpZy50aWxlcy5tYXAoKGVsZW0pID0+IGVsZW0uaWQpLFxuICAgICAgICB9KVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0NvdWxkIG5vdCBzYXZlIHRpbGUgZGFzaGJvYXJkIHNldHRpbmdzLicpO1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGVycik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICB9XG5cbiAgI2NoZWNrRm9yTmV3VGlsZXMob2xkVXNlclRpbGVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIC8vIEdldCBhIGxpc3Qgb2YgdGlsZXMgdGhhdCBhcmUgaW4gdGhlIGNvbmZpZydzIGRlZmF1bHQgbGlzdCBidXQgbm90IGluIHRoZSB1c2VyJ3Mgc2V0dGluZ3NcbiAgICBjb25zdCBuZXdUaWxlcyA9IHRoaXMuI2NvbmZpZz8udGlsZXMuZmlsdGVyKChlbGVtKSA9PiB7XG4gICAgICByZXR1cm4gb2xkVXNlclRpbGVzLmluZGV4T2YoZWxlbS5pZCkgPT09IC0xO1xuICAgIH0pO1xuXG4gICAgY29uc3QgbXVsdGlDb2x1bW4gPSB0aGlzLiNjb25maWc/LmxheW91dC5tdWx0aUNvbHVtbjtcbiAgICBjb25zdCBzaW5nbGVDb2x1bW4gPSB0aGlzLiNjb25maWc/LmxheW91dC5zaW5nbGVDb2x1bW47XG5cbiAgICAvLyBBcHBlbmQgbmV3IHRpbGVzIHRvIHRoZSBlbmQgb2YgdGhlIGxheW91dHNcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKG5ld1RpbGVzPy5sZW5ndGgpIHtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChtdWx0aUNvbHVtbikge1xuICAgICAgICBuZXdUaWxlcz8uZm9yRWFjaCgoZWxlbSkgPT4ge1xuICAgICAgICAgIGxldCBsb2NhdGlvblRvQWRkID0gMDtcbiAgICAgICAgICBsZXQgc21hbGxlc3QgPSBtdWx0aUNvbHVtblswXS50aWxlcy5sZW5ndGg7XG4gICAgICAgICAgbXVsdGlDb2x1bW4uZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLnRpbGVzLmxlbmd0aCA8IHNtYWxsZXN0KSB7XG4gICAgICAgICAgICAgIGxvY2F0aW9uVG9BZGQgPSBpbmRleDtcbiAgICAgICAgICAgICAgc21hbGxlc3QgPSBpdGVtLnRpbGVzLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBtdWx0aUNvbHVtbltsb2NhdGlvblRvQWRkXS50aWxlcy5wdXNoKHtcbiAgICAgICAgICAgIGlkOiBlbGVtLmlkLFxuICAgICAgICAgICAgaXNDb2xsYXBzZWQ6IGZhbHNlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHNpbmdsZUNvbHVtbikge1xuICAgICAgICBuZXdUaWxlcz8uZm9yRWFjaCgoZWxlbSkgPT4ge1xuICAgICAgICAgIHNpbmdsZUNvbHVtbi50aWxlcy5wdXNoKHsgaWQ6IGVsZW0uaWQsIGlzQ29sbGFwc2VkOiBmYWxzZSB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChzaW5nbGVDb2x1bW4pIHtcbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBzaW5nbGVDb2x1bW4udGlsZXMpIHtcbiAgICAgICAgdGhpcy4jZ2V0VGlsZU9yUmVtb3ZlRnJvbUxheW91dCh0aWxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKG11bHRpQ29sdW1uKSB7XG4gICAgICBmb3IgKGxldCBpID0gMCwgbiA9IG11bHRpQ29sdW1uLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICBmb3IgKGNvbnN0IHRpbGUgb2YgbXVsdGlDb2x1bW5baV0udGlsZXMpIHtcbiAgICAgICAgICB0aGlzLiNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KHRpbGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -18,9 +18,9 @@ export class SkyTileDashboardColumnComponent {
18
18
  }
19
19
  }
20
20
  _SkyTileDashboardColumnComponent_dashboardService = new WeakMap();
21
- SkyTileDashboardColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardColumnComponent, deps: [{ token: i0.Injector }, { token: i1.SkyTileDashboardService }], target: i0.ɵɵFactoryTarget.Component });
22
- SkyTileDashboardColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyTileDashboardColumnComponent, selector: "sky-tile-dashboard-column", viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n", styles: [":host{display:flex;flex-grow:1;overflow:hidden}:host{padding:0}:host-context(.sky-responsive-container-xs),:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0}@media (min-width: 768px){:host{padding:0 10px}}:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0 10px}.sky-tile-dashboard-column{min-height:100px;width:100%}@media (min-width: 768px){:host-context(.sky-theme-modern) :host{padding:0 15px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg){padding:0 15px}@media (min-width: 768px){.sky-theme-modern :host{padding:0 15px}}.sky-theme-modern :host-context(.sky-responsive-container-sm),.sky-theme-modern :host-context(.sky-responsive-container-md),.sky-theme-modern :host-context(.sky-responsive-container-lg){padding:0 15px}\n"], dependencies: [{ kind: "directive", type: i2.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }] });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardColumnComponent, decorators: [{
21
+ SkyTileDashboardColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardColumnComponent, deps: [{ token: i0.Injector }, { token: i1.SkyTileDashboardService }], target: i0.ɵɵFactoryTarget.Component });
22
+ SkyTileDashboardColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyTileDashboardColumnComponent, selector: "sky-tile-dashboard-column", viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n", styles: [":host{display:flex;flex-grow:1;overflow:hidden}:host{padding:0}:host-context(.sky-responsive-container-xs),:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0}@media (min-width: 768px){:host{padding:0 10px}}:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0 10px}.sky-tile-dashboard-column{min-height:100px;width:100%}@media (min-width: 768px){:host-context(.sky-theme-modern) :host{padding:0 15px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg){padding:0 15px}@media (min-width: 768px){.sky-theme-modern :host{padding:0 15px}}.sky-theme-modern :host-context(.sky-responsive-container-sm),.sky-theme-modern :host-context(.sky-responsive-container-md),.sky-theme-modern :host-context(.sky-responsive-container-lg){padding:0 15px}\n"], dependencies: [{ kind: "directive", type: i2.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }] });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardColumnComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{ selector: 'sky-tile-dashboard-column', template: "<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n", styles: [":host{display:flex;flex-grow:1;overflow:hidden}:host{padding:0}:host-context(.sky-responsive-container-xs),:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0}@media (min-width: 768px){:host{padding:0 10px}}:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0 10px}.sky-tile-dashboard-column{min-height:100px;width:100%}@media (min-width: 768px){:host-context(.sky-theme-modern) :host{padding:0 15px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg){padding:0 15px}@media (min-width: 768px){.sky-theme-modern :host{padding:0 15px}}.sky-theme-modern :host-context(.sky-responsive-container-sm),.sky-theme-modern :host-context(.sky-responsive-container-md),.sky-theme-modern :host-context(.sky-responsive-container-lg){padding:0 15px}\n"] }]
26
26
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.SkyTileDashboardService }]; }, propDecorators: { content: [{
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
30
30
  static: false,
31
31
  }]
32
32
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGlsZXMvc3JjL2xpYi9tb2R1bGVzL3RpbGVzL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7Ozs7QUFJdkIsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBRXRCOztHQUVHO0FBTUgsTUFBTSxPQUFPLCtCQUErQjtJQWExQyxZQUNTLFFBQWtCLEVBQ3pCLGdCQUF5QztRQURsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSDNCLG9FQUEyQztRQU16Qyx1QkFBQSxJQUFJLHFEQUFxQixnQkFBZ0IsTUFBQSxDQUFDO1FBRTFDLElBQUksQ0FBQyxRQUFRLEdBQUcseUJBQXlCLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFFM0QsSUFBSSxDQUFDLEtBQUssR0FBRyx1QkFBQSxJQUFJLHlEQUFrQixDQUFDLEtBQUssQ0FBQztJQUM1QyxDQUFDOzs7NkhBdEJVLCtCQUErQjtpSEFBL0IsK0JBQStCLGdKQU1sQyxnQkFBZ0IsNkJDekIxQixpR0FHQTs0RkRnQmEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLDJCQUEyQjtxSUFhOUIsT0FBTztzQkFKYixTQUFTO3VCQUFDLFNBQVMsRUFBRTt3QkFDcEIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLEtBQUs7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEluamVjdG9yLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkU2VydmljZSB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkL3RpbGUtZGFzaGJvYXJkLnNlcnZpY2UnO1xuXG5sZXQgY29sdW1uSWRJbmRleCA9IDA7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10aWxlLWRhc2hib2FyZC1jb2x1bW4nLFxuICBzdHlsZVVybHM6IFsnLi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQge1xuICBwdWJsaWMgYmFnSWQ6IHN0cmluZztcblxuICBwdWJsaWMgY29sdW1uSWQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdjb250ZW50Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHVibGljIGNvbnRlbnQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2Rhc2hib2FyZFNlcnZpY2U6IFNreVRpbGVEYXNoYm9hcmRTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgZGFzaGJvYXJkU2VydmljZTogU2t5VGlsZURhc2hib2FyZFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jZGFzaGJvYXJkU2VydmljZSA9IGRhc2hib2FyZFNlcnZpY2U7XG5cbiAgICB0aGlzLmNvbHVtbklkID0gYHRpbGUtZGFzaGJvYXJkLWNvbHVtbi0keysrY29sdW1uSWRJbmRleH1gO1xuXG4gICAgdGhpcy5iYWdJZCA9IHRoaXMuI2Rhc2hib2FyZFNlcnZpY2UuYmFnSWQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktdGlsZS1kYXNoYm9hcmQtY29sdW1uXCIgW2RyYWd1bGFdPVwiYmFnSWRcIj5cbiAgPGRpdiAjY29udGVudD48L2Rpdj5cbjwvZGl2PlxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGlsZXMvc3JjL2xpYi9tb2R1bGVzL3RpbGVzL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7Ozs7QUFJdkIsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBRXRCOztHQUVHO0FBTUgsTUFBTSxPQUFPLCtCQUErQjtJQWExQyxZQUNTLFFBQWtCLEVBQ3pCLGdCQUF5QztRQURsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSDNCLG9FQUEyQztRQU16Qyx1QkFBQSxJQUFJLHFEQUFxQixnQkFBZ0IsTUFBQSxDQUFDO1FBRTFDLElBQUksQ0FBQyxRQUFRLEdBQUcseUJBQXlCLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFFM0QsSUFBSSxDQUFDLEtBQUssR0FBRyx1QkFBQSxJQUFJLHlEQUFrQixDQUFDLEtBQUssQ0FBQztJQUM1QyxDQUFDOzs7NEhBdEJVLCtCQUErQjtnSEFBL0IsK0JBQStCLGdKQU1sQyxnQkFBZ0IsNkJDekIxQixpR0FHQTsyRkRnQmEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLDJCQUEyQjtxSUFhOUIsT0FBTztzQkFKYixTQUFTO3VCQUFDLFNBQVMsRUFBRTt3QkFDcEIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLEtBQUs7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEluamVjdG9yLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkU2VydmljZSB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkL3RpbGUtZGFzaGJvYXJkLnNlcnZpY2UnO1xuXG5sZXQgY29sdW1uSWRJbmRleCA9IDA7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10aWxlLWRhc2hib2FyZC1jb2x1bW4nLFxuICBzdHlsZVVybHM6IFsnLi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQge1xuICBwdWJsaWMgYmFnSWQ6IHN0cmluZztcblxuICBwdWJsaWMgY29sdW1uSWQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdjb250ZW50Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHVibGljIGNvbnRlbnQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2Rhc2hib2FyZFNlcnZpY2U6IFNreVRpbGVEYXNoYm9hcmRTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgZGFzaGJvYXJkU2VydmljZTogU2t5VGlsZURhc2hib2FyZFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jZGFzaGJvYXJkU2VydmljZSA9IGRhc2hib2FyZFNlcnZpY2U7XG5cbiAgICB0aGlzLmNvbHVtbklkID0gYHRpbGUtZGFzaGJvYXJkLWNvbHVtbi0keysrY29sdW1uSWRJbmRleH1gO1xuXG4gICAgdGhpcy5iYWdJZCA9IHRoaXMuI2Rhc2hib2FyZFNlcnZpY2UuYmFnSWQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktdGlsZS1kYXNoYm9hcmQtY29sdW1uXCIgW2RyYWd1bGFdPVwiYmFnSWRcIj5cbiAgPGRpdiAjY29udGVudD48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -5,10 +5,10 @@ import { SkyTileDashboardColumnComponent } from './tile-dashboard-column.compone
5
5
  import * as i0 from "@angular/core";
6
6
  export class SkyTileDashboardColumnModule {
7
7
  }
8
- SkyTileDashboardColumnModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardColumnModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- SkyTileDashboardColumnModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardColumnModule, declarations: [SkyTileDashboardColumnComponent], imports: [CommonModule, DragulaModule], exports: [SkyTileDashboardColumnComponent] });
10
- SkyTileDashboardColumnModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardColumnModule, imports: [CommonModule, DragulaModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTileDashboardColumnModule, decorators: [{
8
+ SkyTileDashboardColumnModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardColumnModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ SkyTileDashboardColumnModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardColumnModule, declarations: [SkyTileDashboardColumnComponent], imports: [CommonModule, DragulaModule], exports: [SkyTileDashboardColumnComponent] });
10
+ SkyTileDashboardColumnModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardColumnModule, imports: [CommonModule, DragulaModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTileDashboardColumnModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [SkyTileDashboardColumnComponent],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
16
16
  exports: [SkyTileDashboardColumnComponent],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQtY29sdW1uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFPcEYsTUFBTSxPQUFPLDRCQUE0Qjs7MEhBQTVCLDRCQUE0QjsySEFBNUIsNEJBQTRCLGlCQUp4QiwrQkFBK0IsYUFDcEMsWUFBWSxFQUFFLGFBQWEsYUFDM0IsK0JBQStCOzJIQUU5Qiw0QkFBNEIsWUFIN0IsWUFBWSxFQUFFLGFBQWE7NEZBRzFCLDRCQUE0QjtrQkFMeEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyYWd1bGFNb2R1bGUgfSBmcm9tICduZzItZHJhZ3VsYSc7XG5cbmltcG9ydCB7IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHJhZ3VsYU1vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGlsZURhc2hib2FyZENvbHVtbk1vZHVsZSB7fVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQtY29sdW1uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFPcEYsTUFBTSxPQUFPLDRCQUE0Qjs7eUhBQTVCLDRCQUE0QjswSEFBNUIsNEJBQTRCLGlCQUp4QiwrQkFBK0IsYUFDcEMsWUFBWSxFQUFFLGFBQWEsYUFDM0IsK0JBQStCOzBIQUU5Qiw0QkFBNEIsWUFIN0IsWUFBWSxFQUFFLGFBQWE7MkZBRzFCLDRCQUE0QjtrQkFMeEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyYWd1bGFNb2R1bGUgfSBmcm9tICduZzItZHJhZ3VsYSc7XG5cbmltcG9ydCB7IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHJhZ3VsYU1vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGlsZURhc2hib2FyZENvbHVtbk1vZHVsZSB7fVxuIl19
@@ -8,16 +8,16 @@ import { SkyTileModule } from './tile/tile.module';
8
8
  import * as i0 from "@angular/core";
9
9
  export class SkyTilesModule {
10
10
  }
11
- SkyTilesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTilesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SkyTilesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyTilesModule, imports: [CommonModule], exports: [SkyTileContentModule,
11
+ SkyTilesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTilesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SkyTilesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyTilesModule, imports: [CommonModule], exports: [SkyTileContentModule,
13
13
  SkyTileModule,
14
14
  SkyTileDashboardColumnModule,
15
15
  SkyTileDashboardModule] });
16
- SkyTilesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTilesModule, providers: [DragulaService], imports: [CommonModule, SkyTileContentModule,
16
+ SkyTilesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTilesModule, providers: [DragulaService], imports: [CommonModule, SkyTileContentModule,
17
17
  SkyTileModule,
18
18
  SkyTileDashboardColumnModule,
19
19
  SkyTileDashboardModule] });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTilesModule, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTilesModule, decorators: [{
21
21
  type: NgModule,
22
22
  args: [{
23
23
  imports: [CommonModule],
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
30
30
  providers: [DragulaService],
31
31
  }]
32
32
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbGVzL3NyYy9saWIvbW9kdWxlcy90aWxlcy90aWxlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBWW5ELE1BQU0sT0FBTyxjQUFjOzs0R0FBZCxjQUFjOzZHQUFkLGNBQWMsWUFUZixZQUFZLGFBRXBCLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsNEJBQTRCO1FBQzVCLHNCQUFzQjs2R0FJYixjQUFjLGFBRmQsQ0FBQyxjQUFjLENBQUMsWUFQakIsWUFBWSxFQUVwQixvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLDRCQUE0QjtRQUM1QixzQkFBc0I7NEZBSWIsY0FBYztrQkFWMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsNEJBQTRCO3dCQUM1QixzQkFBc0I7cUJBQ3ZCO29CQUNELFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJhZ3VsYVNlcnZpY2UgfSBmcm9tICduZzItZHJhZ3VsYSc7XG5cbmltcG9ydCB7IFNreVRpbGVDb250ZW50TW9kdWxlIH0gZnJvbSAnLi90aWxlLWNvbnRlbnQvdGlsZS1jb250ZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlIH0gZnJvbSAnLi90aWxlLWRhc2hib2FyZC1jb2x1bW4vdGlsZS1kYXNoYm9hcmQtY29sdW1uLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkTW9kdWxlIH0gZnJvbSAnLi90aWxlLWRhc2hib2FyZC90aWxlLWRhc2hib2FyZC5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZU1vZHVsZSB9IGZyb20gJy4vdGlsZS90aWxlLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5VGlsZUNvbnRlbnRNb2R1bGUsXG4gICAgU2t5VGlsZU1vZHVsZSxcbiAgICBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlLFxuICAgIFNreVRpbGVEYXNoYm9hcmRNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW0RyYWd1bGFTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGlsZXNNb2R1bGUge31cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbGVzL3NyYy9saWIvbW9kdWxlcy90aWxlcy90aWxlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBWW5ELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsWUFUZixZQUFZLGFBRXBCLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsNEJBQTRCO1FBQzVCLHNCQUFzQjs0R0FJYixjQUFjLGFBRmQsQ0FBQyxjQUFjLENBQUMsWUFQakIsWUFBWSxFQUVwQixvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLDRCQUE0QjtRQUM1QixzQkFBc0I7MkZBSWIsY0FBYztrQkFWMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsNEJBQTRCO3dCQUM1QixzQkFBc0I7cUJBQ3ZCO29CQUNELFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJhZ3VsYVNlcnZpY2UgfSBmcm9tICduZzItZHJhZ3VsYSc7XG5cbmltcG9ydCB7IFNreVRpbGVDb250ZW50TW9kdWxlIH0gZnJvbSAnLi90aWxlLWNvbnRlbnQvdGlsZS1jb250ZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlIH0gZnJvbSAnLi90aWxlLWRhc2hib2FyZC1jb2x1bW4vdGlsZS1kYXNoYm9hcmQtY29sdW1uLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkTW9kdWxlIH0gZnJvbSAnLi90aWxlLWRhc2hib2FyZC90aWxlLWRhc2hib2FyZC5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZU1vZHVsZSB9IGZyb20gJy4vdGlsZS90aWxlLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5VGlsZUNvbnRlbnRNb2R1bGUsXG4gICAgU2t5VGlsZU1vZHVsZSxcbiAgICBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlLFxuICAgIFNreVRpbGVEYXNoYm9hcmRNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW0RyYWd1bGFTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGlsZXNNb2R1bGUge31cbiJdfQ==