@skyux/tiles 11.26.0 → 11.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +125 -125
- package/esm2022/lib/modules/shared/sky-tiles-resources.module.mjs +5 -5
- package/esm2022/lib/modules/tiles/tile/tile-summary.component.mjs +4 -4
- package/esm2022/lib/modules/tiles/tile/tile-title.component.mjs +4 -4
- package/esm2022/lib/modules/tiles/tile/tile.component.mjs +4 -4
- package/esm2022/lib/modules/tiles/tile/tile.module.mjs +5 -5
- package/esm2022/lib/modules/tiles/tile-content/tile-content-section.component.mjs +4 -4
- package/esm2022/lib/modules/tiles/tile-content/tile-content.component.mjs +4 -4
- package/esm2022/lib/modules/tiles/tile-content/tile-content.module.mjs +5 -5
- package/esm2022/lib/modules/tiles/tile-dashboard/tile-dashboard.component.mjs +4 -4
- package/esm2022/lib/modules/tiles/tile-dashboard/tile-dashboard.module.mjs +5 -5
- package/esm2022/lib/modules/tiles/tile-dashboard/tile-dashboard.service.mjs +4 -4
- package/esm2022/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.component.mjs +4 -4
- package/esm2022/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.module.mjs +5 -5
- package/esm2022/lib/modules/tiles/tiles.module.mjs +5 -5
- package/fesm2022/skyux-tiles.mjs +48 -48
- package/fesm2022/skyux-tiles.mjs.map +1 -1
- package/package.json +10 -10
|
@@ -536,12 +536,12 @@ export class SkyTileDashboardService {
|
|
|
536
536
|
}
|
|
537
537
|
}
|
|
538
538
|
}
|
|
539
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
540
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
539
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTileDashboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
540
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTileDashboardService }); }
|
|
541
541
|
}
|
|
542
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
542
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTileDashboardService, decorators: [{
|
|
543
543
|
type: Injectable
|
|
544
544
|
}], ctorParameters: () => [], propDecorators: { dashboardInitialized: [{
|
|
545
545
|
type: Output
|
|
546
546
|
}] } });
|
|
547
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQvdGlsZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBV3RDLE1BQU0sWUFBWSxHQUFHLDZCQUE2QixDQUFDO0FBRW5ELElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQUduQixNQUFNLE9BQU8sdUJBQXVCO0lBaUJsQyxRQUFRLENBQXlEO0lBQ2pFLE9BQU8sQ0FBcUM7SUFDNUMsYUFBYSxDQUE4QztJQUMzRCxZQUFZLENBQXFCO0lBQ2pDLGVBQWUsQ0FBa0M7SUFFeEMsV0FBVyxDQUVsQjtJQUVPLGVBQWUsQ0FBMEI7SUFDekMsd0JBQXdCLENBQXNDO0lBQzlELGdCQUFnQixDQUE4QjtJQUU5QyxLQUFLLENBSVg7SUFFSDtRQS9CQTs7V0FFRztRQUNJLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFakU7O1dBRUc7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBUTlDLGdCQUFXLEdBQUcsUUFBUSxD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LENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDbkQsS0FBSyxNQUFNLElBQUksSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3hDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0FyckJVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVO3dEQWdCRixvQkFBb0I7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0YWJsZSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIFNreUR5bmFtaWNDb21wb25lbnRMb2NhdGlvbixcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG4gIFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICBTa3lVSUNvbmZpZ1NlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgRHJhZ3VsYVNlcnZpY2UgfSBmcm9tICduZzItZHJhZ3VsYSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZyB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWcnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dENvbHVtbiB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWctbGF5b3V0LWNvbHVtbic7XG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWctbGF5b3V0LXRpbGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZ1RpbGUgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC1jb25maWcvdGlsZS1kYXNoYm9hcmQtY29uZmlnLXRpbGUnO1xuaW1wb3J0IHsgU2t5VGlsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RpbGUvdGlsZS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kZSB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uLW1vZGUnO1xuXG5jb25zdCBBVFRSX1RJTEVfSUQgPSAnX3NreS10aWxlLWRhc2hib2FyZC10aWxlLWlkJztcblxubGV0IGJhZ0lkSW5kZXggPSAwO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGlsZURhc2hib2FyZFNlcnZpY2Uge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYmFnSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY29uZmlnQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lUaWxlRGFzaGJvYXJkQ29uZmlnPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSB0aWxlIGRhc2hib2FyZCdzIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkYXNoYm9hcmRJbml0aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAjY29sdW1uczogUXVlcnlMaXN0PFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkO1xuICAjY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjc2luZ2xlQ29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICAjc2V0dGluZ3NLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI3RpbGVDb21wb25lbnRzOiBDb21wb25lbnRSZWY8YW55PltdIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5ICNicmVha3BvaW50ID0gdG9TaWduYWwoXG4gICAgaW5qZWN0KFNreU1lZGlhUXVlcnlTZXJ2aWNlKS5icmVha3BvaW50Q2hhbmdlLFxuICApO1xuXG4gIHJlYWRvbmx5ICNkcmFndWxhU2VydmljZSA9IGluamVjdChEcmFndWxhU2VydmljZSk7XG4gIHJlYWRvbmx5ICNkeW5hbWljQ29tcG9uZW50U2VydmljZSA9IGluamVjdChTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSk7XG4gIHJlYWRvbmx5ICN1aUNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoU2t5VUlDb25maWdTZXJ2aWNlKTtcblxuICByZWFkb25seSAjbW9kZSA9IGNvbXB1dGVkPFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Nb2RlPigoKSA9PiB7XG4gICAgY29uc3QgYnJlYWtwb2ludCA9IHRoaXMuI2JyZWFrcG9pbnQoKTtcblxuICAgIHJldHVybiBicmVha3BvaW50ID09PSAneHMnIHx8IGJyZWFrcG9pbnQgPT09ICdzbScgPyAnc2luZ2xlJyA6ICdtdWx0aSc7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBtb2RlID0gdGhpcy4jbW9kZSgpO1xuICAgICAgdGhpcy5jaGFuZ2VDb2x1bW5Nb2RlKG1vZGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5iYWdJZCA9IGBza3ktdGlsZS1kYXNoYm9hcmQtYmFnLSR7KytiYWdJZEluZGV4fWA7XG5cbiAgICB0aGlzLiNpbml0RHJhZ3VsYSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGluaXQoXG4gICAgY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnLFxuICAgIGNvbHVtbnM/OiBRdWVyeUxpc3Q8U2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudD4sXG4gICAgc2luZ2xlQ29sdW1uPzogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCxcbiAgICBzZXR0aW5nc0tleT86IHN0cmluZyxcbiAgKTogdm9pZCB7XG4gICAgaWYgKHNldHRpbmdzS2V5KSB7XG4gICAgICAvLyBDbG9uZSB0aGlzIHNvIGNoYW5nZXMgdG8gdGhlIGNvbmZpZyBvYmplY3Qgb3V0c2lkZSBvZiB0aGlzIGNsYXNzIGRvbid0IG1vZGlmeVxuICAgICAgLy8gdGhlIGNvbmZpZyB1c2VkIGluc2lkZSBhbmQgdmljZSB2ZXJzYS5cbiAgICAgIHRoaXMuI2NvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZykgYXMgU2t5VGlsZURhc2hib2FyZENvbmZpZztcblxuICAgICAgdGhpcy4jc2V0dGluZ3NLZXkgPSBzZXR0aW5nc0tleTtcblxuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5nZXRDb25maWcoc2V0dGluZ3NLZXksIGNvbmZpZylcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB2YWx1ZS5wZXJzaXN0ZWQpIHtcbiAgICAgICAgICAgICAgdGhpcy4jY29uZmlnLmxheW91dCA9IHZhbHVlLmxheW91dDtcbiAgICAgICAgICAgICAgdGhpcy4jY2hlY2tGb3JOZXdUaWxlcyh2YWx1ZS50aWxlSWRzKTtcbiAgICAgICAgICAgICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdCh0aGlzLiNjb25maWcpO1xuXG4gICAgICAgICAgICAgIHRoaXMuI2NvbHVtbnMgPSBjb2x1bW5zO1xuICAgICAgICAgICAgICB0aGlzLiNzaW5nbGVDb2x1bW4gPSBzaW5nbGVDb2x1bW47XG4gICAgICAgICAgICAgIHRoaXMuI2NoZWNrUmVhZHlBbmRMb2FkVGlsZXMoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIEJhZCBkYXRhLCBvciBjb25maWcgaXMgdGhlIGRlZmF1bHQgY29uZmlnLlxuICAgICAgICAgICAgICB0aGlzLiNpbml0VG9EZWZhdWx0cyhjb25maWcsIGNvbHVtbnMsIHNpbmdsZUNvbHVtbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAvLyBDb25maWcgc2V0dGluZyBrZXkgZG9lc24ndCBleGlzdCBvciBvdGhlciBjb25maWcgc2VydmljZSBlcnJvclxuICAgICAgICAgICAgdGhpcy4jaW5pdFRvRGVmYXVsdHMoY29uZmlnLCBjb2x1bW5zLCBzaW5nbGVDb2x1bW4pO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2luaXRUb0RlZmF1bHRzKGNvbmZpZywgY29sdW1ucywgc2luZ2xlQ29sdW1uKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyB0aWxlIHRvIHRoZSB0aWxlIGRhc2hib2FyZC5cbiAgICogQHBhcmFtIHRpbGUgU3BlY2lmaWVzIHRoZSB0aWxlIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBwYXJhbSBjb21wb25lbnQgU3BlY2lmaWVzIHRoZSB0aWxlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkVGlsZUNvbXBvbmVudChcbiAgICB0aWxlOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSxcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiN0aWxlQ29tcG9uZW50cyA9IHRoaXMuI3RpbGVDb21wb25lbnRzIHx8IFtdO1xuXG4gICAgdGhpcy4jdGlsZUNvbXBvbmVudHMucHVzaChjb21wb25lbnQpO1xuXG4gICAgY29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCwgdGlsZS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgYSBzcGVjaWZpZWQgdGlsZSBpcyBjb2xsYXBzZWQuXG4gICAqIEBwYXJhbSB0aWxlIFNwZWNpZmllcyB0aGUgdGlsZSBjb21wb25lbnQgdG8gY2hlY2suXG4gICAqL1xuICBwdWJsaWMgdGlsZUlzQ29sbGFwc2VkKHRpbGU6IFNreVRpbGVDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCB0aWxlQ29uZmlnID0gdGhpcy4jZmluZFRpbGUodGhpcy4jZ2V0VGlsZUlkKHRpbGUpKTtcblxuICAgIGlmICh0aWxlQ29uZmlnKSB7XG4gICAgICByZXR1cm4gdGlsZUNvbmZpZy5pc0NvbGxhcHNlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sbGFwc2VkIHN0YXRlIG9mIGFsbCB0aWxlcy5cbiAgICogQHBhcmFtIGlzQ29sbGFwc2VkIEluZGljYXRlcyB3aGV0aGVyIHRpbGVzIGFyZSBjb2xsYXBzZWQuXG4gICAqL1xuICBwdWJsaWMgc2V0QWxsVGlsZXNDb2xsYXBzZWQoaXNDb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLiNjb25maWcubGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLiNzZXRVc2VyQ29uZmlnKHRoaXMuI2NvbmZpZyk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdCh0aGlzLiNjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbGxhcHNlZCBzdGF0ZSBvZiBhIHNwZWNpZmllZCB0aWxlLlxuICAgKiBAcGFyYW0gdGlsZSBTcGVjaWZpZXMgdGhlIHRpbGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gaXNDb2xsYXBzZWQgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRpbGUgaXMgY29sbGFwc2VkLlxuICAgKi9cbiAgcHVibGljIHNldFRpbGVDb2xsYXBzZWQoXG4gICAgdGlsZTogU2t5VGlsZUNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBpc0NvbGxhcHNlZDogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgdGlsZUNvbmZpZyA9IHRoaXMuI2ZpbmRUaWxlKHRoaXMuI2dldFRpbGVJZCh0aWxlKSk7XG5cbiAgICBpZiAodGlsZUNvbmZpZykge1xuICAgICAgdGlsZUNvbmZpZy5pc0NvbGxhcHNlZCA9IGlzQ29sbGFwc2VkO1xuXG4gICAgICBpZiAodGhpcy4jc2V0dGluZ3NLZXkpIHtcbiAgICAgICAgdGhpcy4jc2V0VXNlckNvbmZpZyh0aGlzLiNjb25maWcpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvbmZpZ0NoYW5nZS5lbWl0KHRoaXMuI2NvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldFRpbGVDb21wb25lbnRUeXBlKFxuICAgIGxheW91dFRpbGU6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlIHwgdW5kZWZpbmVkLFxuICApOiBhbnkge1xuICAgIGlmIChsYXlvdXRUaWxlICYmIHRoaXMuI2NvbmZpZykge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHRoaXMuI2NvbmZpZy50aWxlcykge1xuICAgICAgICBpZiAodGlsZS5pZCA9PT0gbGF5b3V0VGlsZS5pZCkge1xuICAgICAgICAgIHJldHVybiB0aWxlLmNvbXBvbmVudFR5cGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNoYW5nZUNvbHVtbk1vZGUobW9kZTogU2t5VGlsZURhc2hib2FyZENvbHVtbk1vZGUpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZykge1xuICAgICAgaWYgKG1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgIHRoaXMuI21vdmVUaWxlc1RvU2luZ2xlQ29sdW1uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNtb3ZlVGlsZXNUb011bHRpQ29sdW1uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldFRpbGVDb21wb25lbnQodGlsZUlkOiBzdHJpbmcpOiBDb21wb25lbnRSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuI3RpbGVDb21wb25lbnRzKSB7XG4gICAgICBmb3IgKGNvbnN0IHRpbGVDb21wb25lbnQgb2YgdGhpcy4jdGlsZUNvbXBvbmVudHMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRpbGVDb21wb25lbnQubG9jYXRpb24ubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoQVRUUl9USUxFX0lEKSA9PT1cbiAgICAgICAgICB0aWxlSWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRpbGVDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBtb3ZlVGlsZU9uS2V5RG93bihcbiAgICB0aWxlQ21wOiBTa3lUaWxlQ29tcG9uZW50LFxuICAgIGRpcmVjdGlvbjogc3RyaW5nLFxuICAgIHRpbGVEZXNjcmlwdGlvbjogc3RyaW5nLFxuICApOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jY29uZmlnKSB7XG4gICAgICBjb25zdCBtb2RlID0gdGhpcy4jbW9kZSgpO1xuICAgICAgY29uc3QgdGlsZUlkID0gdGhpcy4jZ2V0VGlsZUlkKHRpbGVDbXApO1xuICAgICAgY29uc3QgdGlsZSA9IHRoaXMuI2ZpbmRUaWxlKHRpbGVJZCk7XG5cbiAgICAgIGxldCBjb2x1bW46IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gfCB1bmRlZmluZWQ7XG4gICAgICBsZXQgY29sSW5kZXggPSAwO1xuXG4gICAgICBpZiAobW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgY29sdW1uID0gdGhpcy4jY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb2x1bW4gPSB0aGlzLiNmaW5kVGlsZUNvbHVtbih0aWxlSWQpO1xuICAgICAgICBjb2xJbmRleCA9IHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4uZmluZEluZGV4KFxuICAgICAgICAgICh2YWx1ZSkgPT4gdmFsdWUgPT09IGNvbHVtbixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbHVtbiAmJiB0aWxlICYmIHRpbGVJZCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKGRpcmVjdGlvbiA9PT0gJ2xlZnQnIHx8IGRpcmVjdGlvbiA9PT0gJ3JpZ2h0JykgJiZcbiAgICAgICAgICBtb2RlID09PSAnbXVsdGknXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyAtMSA6IDE7XG4gICAgICAgICAgY29uc3QgbmV3Q29sdW1uID1cbiAgICAgICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW5bY29sSW5kZXggKyBvcGVyYXRvcl07XG5cbiAgICAgICAgICBpZiAobmV3Q29sdW1uKSB7XG4gICAgICAgICAgICAvLyBNb3ZlIHRoZSB0aWxlIHRvIHRoZSBlbmQgb2YgdGhlIG5ldyBjb2x1bW5cbiAgICAgICAgICAgIG5ld0NvbHVtbi50aWxlcy5wdXNoKHRpbGUpO1xuICAgICAgICAgICAgY29sdW1uLnRpbGVzID0gY29sdW1uLnRpbGVzLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gdGlsZSk7XG4gICAgICAgICAgICB0aGlzLiNtb3ZlVGlsZXNUb0NvbHVtbihcbiAgICAgICAgICAgICAgdGhpcy4jY29sdW1ucz8udG9BcnJheSgpW2NvbEluZGV4ICsgb3BlcmF0b3JdLFxuICAgICAgICAgICAgICBbdGlsZV0sXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBSZXBvcnQgdGhlIGNoYW5nZSBpbiBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICBjb25zdCByZXBvcnRDb25maWcgPSB0aGlzLiNjb25maWc7XG4gICAgICAgICAgICByZXBvcnRDb25maWcubW92ZWRUaWxlID0ge1xuICAgICAgICAgICAgICB0aWxlRGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgdGlsZURlc2NyaXB0aW9uIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHRpbGUuaWQsXG4gICAgICAgICAgICAgIGNvbHVtbjogY29sSW5kZXggKyBvcGVyYXRvciArIDEsXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBuZXdDb2x1bW4udGlsZXMubGVuZ3RoLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQocmVwb3J0Q29uZmlnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBkaXJlY3Rpb24gPT09ICd1cCcgPyAtMSA6IDE7XG4gICAgICAgICAgY29uc3QgY3VySW5kZXggPSBjb2x1bW4udGlsZXMuZmluZEluZGV4KFxuICAgICAgICAgICAgKHZhbHVlKSA9PiB2YWx1ZS5pZCA9PT0gdGlsZS5pZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHRpbGVDb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuZ2V0VGlsZUNvbXBvbmVudCh0aWxlSWQpO1xuXG4gICAgICAgICAgaWYgKHRpbGVDb21wb25lbnRJbnN0YW5jZSAmJiBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0pIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXAgPSBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl07XG4gICAgICAgICAgICBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0gPSB0aWxlO1xuICAgICAgICAgICAgY29sdW1uLnRpbGVzW2N1ckluZGV4XSA9IHRlbXA7XG5cbiAgICAgICAgICAgIC8vIEdldCB0aGUgY29sdW1uIGVsZW1lbnRcbiAgICAgICAgICAgIGxldCBjb2x1bW5FbDogRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChtb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgICAgICAgICBjb2x1bW5FbCA9IHRoaXMuI2dldENvbHVtbkVsKHRoaXMuI3NpbmdsZUNvbHVtbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb2x1bW5FbCA9IHRoaXMuI2dldENvbHVtbkVsKHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKVtjb2xJbmRleF0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBNb3ZlIHRoZSB0aWxlIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50XG4gICAgICAgICAgICBpZiAoY3VySW5kZXggKyBvcGVyYXRvciA9PT0gY29sdW1uLnRpbGVzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgY29sdW1uRWw/LmFwcGVuZENoaWxkKFxuICAgICAgICAgICAgICAgIHRpbGVDb21wb25lbnRJbnN0YW5jZS5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29sdW1uRWw/Lmluc2VydEJlZm9yZShcbiAgICAgICAgICAgICAgICB0aWxlQ29tcG9uZW50SW5zdGFuY2UubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFRpbGVDb21wb25lbnQoY29sdW1uLnRpbGVzW2N1ckluZGV4ICsgb3BlcmF0b3IgKyAxXS5pZClcbiAgICAgICAgICAgICAgICAgID8ubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmVwb3J0IHRoZSBjaGFuZ2UgaW4gY29uZmlndXJhdGlvblxuICAgICAgICAgICAgY29uc3QgcmVwb3J0Q29uZmlnID0gdGhpcy4jY29uZmlnO1xuICAgICAgICAgICAgcmVwb3J0Q29uZmlnLm1vdmVkVGlsZSA9IHtcbiAgICAgICAgICAgICAgdGlsZURlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIHRpbGVEZXNjcmlwdGlvbiB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyB0aWxlLmlkLFxuICAgICAgICAgICAgICBjb2x1bW46IG1vZGUgPT09ICdzaW5nbGUnID8gMSA6IGNvbEluZGV4ICsgMSxcbiAgICAgICAgICAgICAgcG9zaXRpb246IGN1ckluZGV4ICsgb3BlcmF0b3IgKyAxLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQocmVwb3J0Q29uZmlnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0VGlsZUlkKHRpbGU6IFNreVRpbGVDb21wb25lbnQgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aWxlKSB7XG4gICAgICBsZXQgZWwgPSB0aWxlLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIGxldCB0aWxlSWQ6IHN0cmluZztcblxuICAgICAgd2hpbGUgKGVsKSB7XG4gICAgICAgIHRpbGVJZCA9IGVsLmdldEF0dHJpYnV0ZShBVFRSX1RJTEVfSUQpO1xuXG4gICAgICAgIGlmICh0aWxlSWQpIHtcbiAgICAgICAgICByZXR1cm4gdGlsZUlkO1xuICAgICAgICB9XG5cbiAgICAgICAgZWwgPSBlbC5wYXJlbnRFbGVtZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZ2V0VGlsZU9yUmVtb3ZlRnJvbUxheW91dChcbiAgICBsYXlvdXRUaWxlOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSxcbiAgKTogU2t5VGlsZURhc2hib2FyZENvbmZpZ1RpbGUgfCB1bmRlZmluZWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobGF5b3V0VGlsZSAmJiB0aGlzLiNjb25maWcpIHtcbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLiNjb25maWcudGlsZXMpIHtcbiAgICAgICAgaWYgKHRpbGUuaWQgPT09IGxheW91dFRpbGUuaWQpIHtcbiAgICAgICAgICByZXR1cm4gdGlsZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgbGF5b3V0IHRpbGUgd2FzIG5vdCBmb3VuZCBpbiB0aGUgbGlzdCBvZiB0aWxlcywgaXQgd2FzIHJlbW92ZWQgc2luY2UgbGFzdCB0aGUgdXNlciB1cGRhdGVkIHNldHRpbmdzXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy4jY29uZmlnPy5sYXlvdXQuc2luZ2xlQ29sdW1uKSB7XG4gICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQuc2luZ2xlQ29sdW1uLnRpbGVzID1cbiAgICAgICAgICB0aGlzLiNjb25maWcubGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcy5maWx0ZXIoXG4gICAgICAgICAgICAoZWxlbSkgPT4gZWxlbS5pZCAhPT0gbGF5b3V0VGlsZS5pZCxcbiAgICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy4jY29uZmlnPy5sYXlvdXQubXVsdGlDb2x1bW4pIHtcbiAgICAgICAgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbi5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICAgICAgZWxlbS50aWxlcyA9IGVsZW0udGlsZXMuZmlsdGVyKChyZXMpID0+IHJlcy5pZCAhPT0gbGF5b3V0VGlsZS5pZCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgI2NoZWNrUmVhZHlBbmRMb2FkVGlsZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb2x1bW5zKSB7XG4gICAgICB0aGlzLiNsb2FkVGlsZXModGhpcy4jY29uZmlnKTtcbiAgICAgIHRoaXMuZGFzaGJvYXJkSW5pdGlhbGl6ZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gICNsb2FkVGlsZXMoY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgbGF5b3V0ID0gY29uZmlnLmxheW91dDtcblxuICAgIGlmICh0aGlzLiNtb2RlKCkgPT09ICdzaW5nbGUnKSB7XG4gICAgICBmb3IgKGNvbnN0IHRpbGUgb2YgbGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aGlzLiNsb2FkVGlsZUludG9Db2x1bW4odGhpcy4jc2luZ2xlQ29sdW1uLCB0aWxlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGNvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHRoaXMuI2NvbHVtbnMpIHtcbiAgICAgICAgY29sdW1ucyA9IHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSBsYXlvdXQubXVsdGlDb2x1bW4ubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNbaV07XG5cbiAgICAgICAgZm9yIChjb25zdCB0aWxlIG9mIGxheW91dC5tdWx0aUNvbHVtbltpXS50aWxlcykge1xuICAgICAgICAgIHRoaXMuI2xvYWRUaWxlSW50b0NvbHVtbihjb2x1bW4sIHRpbGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2xvYWRUaWxlSW50b0NvbHVtbihcbiAgICBjb2x1bW46IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQgfCB1bmRlZmluZWQsXG4gICAgbGF5b3V0VGlsZTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGUsXG4gICk6IHZvaWQge1xuICAgIGlmIChjb2x1bW4pIHtcbiAgICAgIGNvbnN0IHRpbGUgPSB0aGlzLiNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KGxheW91dFRpbGUpO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGlsZSAmJiB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gdGlsZS5jb21wb25lbnRUeXBlO1xuICAgICAgICBjb25zdCBwcm92aWRlcnMgPSB0aWxlLnByb3ZpZGVycyAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyB8fCBbXTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgY29tcG9uZW50VHlwZSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsb2NhdGlvbjogU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRCb3R0b20sXG4gICAgICAgICAgICBwcm92aWRlcnM6IHByb3ZpZGVycyxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IGNvbHVtbi5jb250ZW50LFxuICAgICAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogY29sdW1uLmluamVjdG9yLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hZGRUaWxlQ29tcG9uZW50KGxheW91dFRpbGUsIGNvbXBvbmVudFJlZik7XG5cbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBjb21wb25lbnQgaXMgbWFya2VkIGZvciBjaGFuZ2VzIGluIGNhc2UgdGhlIHBhcmVudCBjb21wb25lbnQgdXNlc1xuICAgICAgICAvLyB0aGUgT25QdXNoIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kuXG4gICAgICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbW92ZVRpbGVzVG9TaW5nbGVDb2x1bW4oKTogdm9pZCB7XG4gICAgdGhpcy4jbW92ZVRpbGVzVG9Db2x1bW4oXG4gICAgICB0aGlzLiNzaW5nbGVDb2x1bW4sXG4gICAgICB0aGlzLiNjb25maWc/LmxheW91dC5zaW5nbGVDb2x1bW4udGlsZXMsXG4gICAgKTtcbiAgfVxuXG4gICNtb3ZlVGlsZXNUb011bHRpQ29sdW1uKCk6IHZvaWQge1xuICAgIGxldCBsYXlvdXRDb2x1bW5zOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uW10gPSBbXTtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZykge1xuICAgICAgbGF5b3V0Q29sdW1ucyA9IHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW47XG4gICAgfVxuICAgIGxldCBjb2x1bW5zOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50W10gPSBbXTtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbHVtbnMpIHtcbiAgICAgIGNvbHVtbnMgPSB0aGlzLiNjb2x1bW5zPy50b0FycmF5KCk7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSBsYXlvdXRDb2x1bW5zLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgdGhpcy4jbW92ZVRpbGVzVG9Db2x1bW4oY29sdW1uc1tpXSwgbGF5b3V0Q29sdW1uc1tpXS50aWxlcyk7XG4gICAgfVxuICB9XG5cbiAgI21vdmVUaWxlc1RvQ29sdW1uKFxuICAgIGNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBsYXlvdXRUaWxlczogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGVbXSB8IHVuZGVmaW5lZCxcbiAgKTogdm9pZCB7XG4gICAgaWYgKGNvbHVtbiAmJiBsYXlvdXRUaWxlcykge1xuICAgICAgY29uc3QgY29sdW1uRWwgPSB0aGlzLiNnZXRDb2x1bW5FbChjb2x1bW4pO1xuXG4gICAgICBmb3IgKGNvbnN0IGxheW91dFRpbGUgb2YgbGF5b3V0VGlsZXMpIHtcbiAgICAgICAgY29uc3QgdGlsZUNvbXBvbmVudEluc3RhbmNlID0gdGhpcy5nZXRUaWxlQ29tcG9uZW50KGxheW91dFRpbGUuaWQpO1xuXG4gICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRpbGVDb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgICAgIGNvbHVtbkVsPy5hcHBlbmRDaGlsZCh0aWxlQ29tcG9uZW50SW5zdGFuY2UubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0Q29uZmlnRm9yVUlTdGF0ZSgpOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZykge1xuICAgICAgdGhpcy4jY29uZmlnID0ge1xuICAgICAgICB0aWxlczogdGhpcy4jY29uZmlnLnRpbGVzLFxuICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICBzaW5nbGVDb2x1bW46IHRoaXMuI2dldFNpbmdsZUNvbHVtbkxheW91dEZvclVJU3RhdGUodGhpcy4jY29uZmlnKSxcbiAgICAgICAgICBtdWx0aUNvbHVtbjogdGhpcy4jZ2V0TXVsdGlDb2x1bW5MYXlvdXRGb3JVSVN0YXRlKHRoaXMuI2NvbmZpZyksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNjb25maWc7XG4gIH1cblxuICAjZ2V0U2luZ2xlQ29sdW1uTGF5b3V0Rm9yVUlTdGF0ZShcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICk6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4ge1xuICAgIGlmICh0aGlzLiNtb2RlKCkgPT09ICdzaW5nbGUnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aWxlczogdGhpcy4jZ2V0VGlsZXNJbkVsKHRoaXMuI2dldENvbHVtbkVsKHRoaXMuI3NpbmdsZUNvbHVtbikpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW47XG4gIH1cblxuICAjZ2V0TXVsdGlDb2x1bW5MYXlvdXRGb3JVSVN0YXRlKFxuICAgIGNvbmZpZzogU2t5VGlsZURhc2hib2FyZENvbmZpZyxcbiAgKTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dENvbHVtbltdIHtcbiAgICBpZiAodGhpcy4jbW9kZSgpID09PSAnbXVsdGknKSB7XG4gICAgICBjb25zdCBsYXlvdXRDb2x1bW5zOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uW10gPSBbXTtcbiAgICAgIGxldCBjb2x1bW5zOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50W10gPSBbXTtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLiNjb2x1bW5zKSB7XG4gICAgICAgIGNvbHVtbnMgPSB0aGlzLiNjb2x1bW5zPy50b0FycmF5KCk7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgY29sdW1uIG9mIGNvbHVtbnMpIHtcbiAgICAgICAgaWYgKGNvbHVtbiAhPT0gdGhpcy4jc2luZ2xlQ29sdW1uKSB7XG4gICAgICAgICAgY29uc3QgbGF5b3V0Q29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uID0ge1xuICAgICAgICAgICAgdGlsZXM6IHRoaXMuI2dldFRpbGVzSW5FbCh0aGlzLiNnZXRDb2x1bW5FbChjb2x1bW4pKSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgbGF5b3V0Q29sdW1ucy5wdXNoKGxheW91dENvbHVtbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxheW91dENvbHVtbnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW47XG4gIH1cblxuICAjZ2V0VGlsZXNJbkVsKGVsOiBFbGVtZW50IHwgdW5kZWZpbmVkKTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGVbXSB7XG4gICAgY29uc3QgdGlsZUVscyA9IGVsPy5xdWVyeVNlbGVjdG9yQWxsKCdbJyArIEFUVFJfVElMRV9JRCArICddJyk7XG4gICAgY29uc3QgbGF5b3V0VGlsZXM6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlW10gPSBbXTtcblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGlsZUVscykge1xuICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSB0aWxlRWxzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICBjb25zdCB0aWxlRWwgPSB0aWxlRWxzW2ldO1xuICAgICAgICBjb25zdCB0aWxlSWQgPSB0aWxlRWwuZ2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCk7XG4gICAgICAgIGNvbnN0IHRpbGUgPSB0aGlzLiNmaW5kVGlsZSh0aWxlSWQpO1xuXG4gICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRpbGUpIHtcbiAgICAgICAgICBsYXlvdXRUaWxlcy5wdXNoKHRpbGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxheW91dFRpbGVzO1xuICB9XG5cbiAgI2luaXREcmFndWxhKCk6IHZvaWQge1xuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlLmNyZWF0ZUdyb3VwKHRoaXMuYmFnSWQsIHtcbiAgICAgIG1vdmVzOiAoZWwsIGNvbnRhaW5lciwgaGFuZGxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVsPy5xdWVyeVNlbGVjdG9yKCcuc2t5LXRpbGUtZ3JhYi1oYW5kbGUnKTtcbiAgICAgICAgcmV0dXJuICEhdGFyZ2V0ICYmIHRhcmdldC5jb250YWlucyhoYW5kbGUhKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLiNkcmFndWxhU2VydmljZS5kcm9wKHRoaXMuYmFnSWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLiNnZXRDb25maWdGb3JVSVN0YXRlKCk7XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgaWYgKHRoaXMuI3NldHRpbmdzS2V5KSB7XG4gICAgICAgICAgdGhpcy4jc2V0VXNlckNvbmZpZyhjb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdChjb25maWcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI2dldENvbHVtbkVsKFxuICAgIGNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgKTogRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGNvbHVtbj8uY29udGVudD8uZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XG4gIH1cblxuICAjZmluZFRpbGUoXG4gICAgdGlsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsLFxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSB8IHVuZGVmaW5lZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNjb25maWcgJiYgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbikge1xuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbikge1xuICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHRpbGUgb2YgY29sdW1uLnRpbGVzKSB7XG4gICAgICAgICAgICBpZiAodGlsZS5pZCA9PT0gdGlsZUlkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZmluZFRpbGVDb2x1bW4oXG4gICAgdGlsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICk6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gfCB1bmRlZmluZWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29uZmlnICYmIHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4pIHtcbiAgICAgIHJldHVybiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uLmZpbmQoXG4gICAgICAgIChjb2wpID0+IGNvbC50aWxlcyAmJiAhIWNvbC50aWxlcy5maW5kKCh0aWxlKSA9PiB0aWxlLmlkID09PSB0aWxlSWQpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNpbml0VG9EZWZhdWx0cyhcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICAgY29sdW1uczogUXVlcnlMaXN0PFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkLFxuICAgIHNpbmdsZUNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy4jY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuI2NvbHVtbnMgPSBjb2x1bW5zO1xuICAgIHRoaXMuI3NpbmdsZUNvbHVtbiA9IHNpbmdsZUNvbHVtbjtcbiAgICB0aGlzLiNjaGVja1JlYWR5QW5kTG9hZFRpbGVzKCk7XG4gIH1cblxuICAjc2V0VXNlckNvbmZpZyhjb25maWc/OiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpZyAmJiB0aGlzLiNzZXR0aW5nc0tleSlcbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuc2V0Q29uZmlnKHRoaXMuI3NldHRpbmdzS2V5LCB7XG4gICAgICAgICAgbGF5b3V0OiBjb25maWcubGF5b3V0LFxuICAgICAgICAgIHBlcnNpc3RlZDogdHJ1ZSxcbiAgICAgICAgICB0aWxlSWRzOiBjb25maWcudGlsZXMubWFwKChlbGVtKSA9PiBlbGVtLmlkKSxcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc2F2ZSB0aWxlIGRhc2hib2FyZCBzZXR0aW5ncy4nKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gIH1cblxuICAjY2hlY2tGb3JOZXdUaWxlcyhvbGRVc2VyVGlsZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgLy8gR2V0IGEgbGlzdCBvZiB0aWxlcyB0aGF0IGFyZSBpbiB0aGUgY29uZmlnJ3MgZGVmYXVsdCBsaXN0IGJ1dCBub3QgaW4gdGhlIHVzZXIncyBzZXR0aW5nc1xuICAgIGNvbnN0IG5ld1RpbGVzID0gdGhpcy4jY29uZmlnPy50aWxlcy5maWx0ZXIoKGVsZW0pID0+IHtcbiAgICAgIHJldHVybiBvbGRVc2VyVGlsZXMuaW5kZXhPZihlbGVtLmlkKSA9PT0gLTE7XG4gICAgfSk7XG5cbiAgICBjb25zdCBtdWx0aUNvbHVtbiA9IHRoaXMuI2NvbmZpZz8ubGF5b3V0Lm11bHRpQ29sdW1uO1xuICAgIGNvbnN0IHNpbmdsZUNvbHVtbiA9IHRoaXMuI2NvbmZpZz8ubGF5b3V0LnNpbmdsZUNvbHVtbjtcblxuICAgIC8vIEFwcGVuZCBuZXcgdGlsZXMgdG8gdGhlIGVuZCBvZiB0aGUgbGF5b3V0c1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobmV3VGlsZXM/Lmxlbmd0aCkge1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKG11bHRpQ29sdW1uKSB7XG4gICAgICAgIG5ld1RpbGVzPy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICAgICAgbGV0IGxvY2F0aW9uVG9BZGQgPSAwO1xuICAgICAgICAgIGxldCBzbWFsbGVzdCA9IG11bHRpQ29sdW1uWzBdLnRpbGVzLmxlbmd0aDtcbiAgICAgICAgICBtdWx0aUNvbHVtbi5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0udGlsZXMubGVuZ3RoIDwgc21hbGxlc3QpIHtcbiAgICAgICAgICAgICAgbG9jYXRpb25Ub0FkZCA9IGluZGV4O1xuICAgICAgICAgICAgICBzbWFsbGVzdCA9IGl0ZW0udGlsZXMubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG11bHRpQ29sdW1uW2xvY2F0aW9uVG9BZGRdLnRpbGVzLnB1c2goe1xuICAgICAgICAgICAgaWQ6IGVsZW0uaWQsXG4gICAgICAgICAgICBpc0NvbGxhcHNlZDogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoc2luZ2xlQ29sdW1uKSB7XG4gICAgICAgIG5ld1RpbGVzPy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICAgICAgc2luZ2xlQ29sdW1uLnRpbGVzLnB1c2goeyBpZDogZWxlbS5pZCwgaXNDb2xsYXBzZWQ6IGZhbHNlIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHNpbmdsZUNvbHVtbikge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aGlzLiNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KHRpbGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobXVsdGlDb2x1bW4pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gbXVsdGlDb2x1bW4ubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBtdWx0aUNvbHVtbltpXS50aWxlcykge1xuICAgICAgICAgIHRoaXMuI2dldFRpbGVPclJlbW92ZUZyb21MYXlvdXQodGlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
547
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQvdGlsZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBV3RDLE1BQU0sWUFBWSxHQUFHLDZCQUE2QixDQUFDO0FBRW5ELElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQUduQixNQUFNLE9BQU8sdUJBQXVCO0lBaUJsQyxRQUFRLENBQXlEO0lBQ2pFLE9BQU8sQ0FBcUM7SUFDNUMsYUFBYSxDQUE4QztJQUMzRCxZQUFZLENBQXFCO0lBQ2pDLGVBQWUsQ0FBa0M7SUFFeEMsV0FBVyxDQUVsQjtJQUVPLGVBQWUsQ0FBMEI7SUFDekMsd0JBQXdCLENBQXNDO0lBQzlELGdCQUFnQixDQUE4QjtJQUU5QyxLQUFLLENBSVg7SUFFSDtRQS9CQTs7V0FFRztRQUNJLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFakU7O1dBRUc7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBUTlDLGdCQUFXLEdBQUcsUUFBUSxD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LENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDbkQsS0FBSyxNQUFNLElBQUksSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3hDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0FyckJVLHVCQUF1QjttSEFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVO3dEQWdCRixvQkFBb0I7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0YWJsZSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIFNreUR5bmFtaWNDb21wb25lbnRMb2NhdGlvbixcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG4gIFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICBTa3lVSUNvbmZpZ1NlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgRHJhZ3VsYVNlcnZpY2UgfSBmcm9tICduZzItZHJhZ3VsYSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZyB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWcnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dENvbHVtbiB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWctbGF5b3V0LWNvbHVtbic7XG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWctbGF5b3V0LXRpbGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZ1RpbGUgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC1jb25maWcvdGlsZS1kYXNoYm9hcmQtY29uZmlnLXRpbGUnO1xuaW1wb3J0IHsgU2t5VGlsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RpbGUvdGlsZS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kZSB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uLW1vZGUnO1xuXG5jb25zdCBBVFRSX1RJTEVfSUQgPSAnX3NreS10aWxlLWRhc2hib2FyZC10aWxlLWlkJztcblxubGV0IGJhZ0lkSW5kZXggPSAwO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGlsZURhc2hib2FyZFNlcnZpY2Uge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYmFnSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY29uZmlnQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lUaWxlRGFzaGJvYXJkQ29uZmlnPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSB0aWxlIGRhc2hib2FyZCdzIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkYXNoYm9hcmRJbml0aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAjY29sdW1uczogUXVlcnlMaXN0PFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkO1xuICAjY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjc2luZ2xlQ29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICAjc2V0dGluZ3NLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI3RpbGVDb21wb25lbnRzOiBDb21wb25lbnRSZWY8YW55PltdIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5ICNicmVha3BvaW50ID0gdG9TaWduYWwoXG4gICAgaW5qZWN0KFNreU1lZGlhUXVlcnlTZXJ2aWNlKS5icmVha3BvaW50Q2hhbmdlLFxuICApO1xuXG4gIHJlYWRvbmx5ICNkcmFndWxhU2VydmljZSA9IGluamVjdChEcmFndWxhU2VydmljZSk7XG4gIHJlYWRvbmx5ICNkeW5hbWljQ29tcG9uZW50U2VydmljZSA9IGluamVjdChTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSk7XG4gIHJlYWRvbmx5ICN1aUNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoU2t5VUlDb25maWdTZXJ2aWNlKTtcblxuICByZWFkb25seSAjbW9kZSA9IGNvbXB1dGVkPFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Nb2RlPigoKSA9PiB7XG4gICAgY29uc3QgYnJlYWtwb2ludCA9IHRoaXMuI2JyZWFrcG9pbnQoKTtcblxuICAgIHJldHVybiBicmVha3BvaW50ID09PSAneHMnIHx8IGJyZWFrcG9pbnQgPT09ICdzbScgPyAnc2luZ2xlJyA6ICdtdWx0aSc7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBtb2RlID0gdGhpcy4jbW9kZSgpO1xuICAgICAgdGhpcy5jaGFuZ2VDb2x1bW5Nb2RlKG1vZGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5iYWdJZCA9IGBza3ktdGlsZS1kYXNoYm9hcmQtYmFnLSR7KytiYWdJZEluZGV4fWA7XG5cbiAgICB0aGlzLiNpbml0RHJhZ3VsYSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGluaXQoXG4gICAgY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnLFxuICAgIGNvbHVtbnM/OiBRdWVyeUxpc3Q8U2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudD4sXG4gICAgc2luZ2xlQ29sdW1uPzogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCxcbiAgICBzZXR0aW5nc0tleT86IHN0cmluZyxcbiAgKTogdm9pZCB7XG4gICAgaWYgKHNldHRpbmdzS2V5KSB7XG4gICAgICAvLyBDbG9uZSB0aGlzIHNvIGNoYW5nZXMgdG8gdGhlIGNvbmZpZyBvYmplY3Qgb3V0c2lkZSBvZiB0aGlzIGNsYXNzIGRvbid0IG1vZGlmeVxuICAgICAgLy8gdGhlIGNvbmZpZyB1c2VkIGluc2lkZSBhbmQgdmljZSB2ZXJzYS5cbiAgICAgIHRoaXMuI2NvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZykgYXMgU2t5VGlsZURhc2hib2FyZENvbmZpZztcblxuICAgICAgdGhpcy4jc2V0dGluZ3NLZXkgPSBzZXR0aW5nc0tleTtcblxuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5nZXRDb25maWcoc2V0dGluZ3NLZXksIGNvbmZpZylcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB2YWx1ZS5wZXJzaXN0ZWQpIHtcbiAgICAgICAgICAgICAgdGhpcy4jY29uZmlnLmxheW91dCA9IHZhbHVlLmxheW91dDtcbiAgICAgICAgICAgICAgdGhpcy4jY2hlY2tGb3JOZXdUaWxlcyh2YWx1ZS50aWxlSWRzKTtcbiAgICAgICAgICAgICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdCh0aGlzLiNjb25maWcpO1xuXG4gICAgICAgICAgICAgIHRoaXMuI2NvbHVtbnMgPSBjb2x1bW5zO1xuICAgICAgICAgICAgICB0aGlzLiNzaW5nbGVDb2x1bW4gPSBzaW5nbGVDb2x1bW47XG4gICAgICAgICAgICAgIHRoaXMuI2NoZWNrUmVhZHlBbmRMb2FkVGlsZXMoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIEJhZCBkYXRhLCBvciBjb25maWcgaXMgdGhlIGRlZmF1bHQgY29uZmlnLlxuICAgICAgICAgICAgICB0aGlzLiNpbml0VG9EZWZhdWx0cyhjb25maWcsIGNvbHVtbnMsIHNpbmdsZUNvbHVtbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAvLyBDb25maWcgc2V0dGluZyBrZXkgZG9lc24ndCBleGlzdCBvciBvdGhlciBjb25maWcgc2VydmljZSBlcnJvclxuICAgICAgICAgICAgdGhpcy4jaW5pdFRvRGVmYXVsdHMoY29uZmlnLCBjb2x1bW5zLCBzaW5nbGVDb2x1bW4pO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2luaXRUb0RlZmF1bHRzKGNvbmZpZywgY29sdW1ucywgc2luZ2xlQ29sdW1uKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyB0aWxlIHRvIHRoZSB0aWxlIGRhc2hib2FyZC5cbiAgICogQHBhcmFtIHRpbGUgU3BlY2lmaWVzIHRoZSB0aWxlIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBwYXJhbSBjb21wb25lbnQgU3BlY2lmaWVzIHRoZSB0aWxlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkVGlsZUNvbXBvbmVudChcbiAgICB0aWxlOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSxcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiN0aWxlQ29tcG9uZW50cyA9IHRoaXMuI3RpbGVDb21wb25lbnRzIHx8IFtdO1xuXG4gICAgdGhpcy4jdGlsZUNvbXBvbmVudHMucHVzaChjb21wb25lbnQpO1xuXG4gICAgY29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCwgdGlsZS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgYSBzcGVjaWZpZWQgdGlsZSBpcyBjb2xsYXBzZWQuXG4gICAqIEBwYXJhbSB0aWxlIFNwZWNpZmllcyB0aGUgdGlsZSBjb21wb25lbnQgdG8gY2hlY2suXG4gICAqL1xuICBwdWJsaWMgdGlsZUlzQ29sbGFwc2VkKHRpbGU6IFNreVRpbGVDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCB0aWxlQ29uZmlnID0gdGhpcy4jZmluZFRpbGUodGhpcy4jZ2V0VGlsZUlkKHRpbGUpKTtcblxuICAgIGlmICh0aWxlQ29uZmlnKSB7XG4gICAgICByZXR1cm4gdGlsZUNvbmZpZy5pc0NvbGxhcHNlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sbGFwc2VkIHN0YXRlIG9mIGFsbCB0aWxlcy5cbiAgICogQHBhcmFtIGlzQ29sbGFwc2VkIEluZGljYXRlcyB3aGV0aGVyIHRpbGVzIGFyZSBjb2xsYXBzZWQuXG4gICAqL1xuICBwdWJsaWMgc2V0QWxsVGlsZXNDb2xsYXBzZWQoaXNDb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLiNjb25maWcubGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLiNzZXRVc2VyQ29uZmlnKHRoaXMuI2NvbmZpZyk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdCh0aGlzLiNjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbGxhcHNlZCBzdGF0ZSBvZiBhIHNwZWNpZmllZCB0aWxlLlxuICAgKiBAcGFyYW0gdGlsZSBTcGVjaWZpZXMgdGhlIHRpbGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gaXNDb2xsYXBzZWQgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRpbGUgaXMgY29sbGFwc2VkLlxuICAgKi9cbiAgcHVibGljIHNldFRpbGVDb2xsYXBzZWQoXG4gICAgdGlsZTogU2t5VGlsZUNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBpc0NvbGxhcHNlZDogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgdGlsZUNvbmZpZyA9IHRoaXMuI2ZpbmRUaWxlKHRoaXMuI2dldFRpbGVJZCh0aWxlKSk7XG5cbiAgICBpZiAodGlsZUNvbmZpZykge1xuICAgICAgdGlsZUNvbmZpZy5pc0NvbGxhcHNlZCA9IGlzQ29sbGFwc2VkO1xuXG4gICAgICBpZiAodGhpcy4jc2V0dGluZ3NLZXkpIHtcbiAgICAgICAgdGhpcy4jc2V0VXNlckNvbmZpZyh0aGlzLiNjb25maWcpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvbmZpZ0NoYW5nZS5lbWl0KHRoaXMuI2NvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldFRpbGVDb21wb25lbnRUeXBlKFxuICAgIGxheW91dFRpbGU6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlIHwgdW5kZWZpbmVkLFxuICApOiBhbnkge1xuICAgIGlmIChsYXlvdXRUaWxlICYmIHRoaXMuI2NvbmZpZykge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHRoaXMuI2NvbmZpZy50aWxlcykge1xuICAgICAgICBpZiAodGlsZS5pZCA9PT0gbGF5b3V0VGlsZS5pZCkge1xuICAgICAgICAgIHJldHVybiB0aWxlLmNvbXBvbmVudFR5cGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNoYW5nZUNvbHVtbk1vZGUobW9kZTogU2t5VGlsZURhc2hib2FyZENvbHVtbk1vZGUpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZykge1xuICAgICAgaWYgKG1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgIHRoaXMuI21vdmVUaWxlc1RvU2luZ2xlQ29sdW1uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNtb3ZlVGlsZXNUb011bHRpQ29sdW1uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldFRpbGVDb21wb25lbnQodGlsZUlkOiBzdHJpbmcpOiBDb21wb25lbnRSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuI3RpbGVDb21wb25lbnRzKSB7XG4gICAgICBmb3IgKGNvbnN0IHRpbGVDb21wb25lbnQgb2YgdGhpcy4jdGlsZUNvbXBvbmVudHMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRpbGVDb21wb25lbnQubG9jYXRpb24ubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoQVRUUl9USUxFX0lEKSA9PT1cbiAgICAgICAgICB0aWxlSWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRpbGVDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBtb3ZlVGlsZU9uS2V5RG93bihcbiAgICB0aWxlQ21wOiBTa3lUaWxlQ29tcG9uZW50LFxuICAgIGRpcmVjdGlvbjogc3RyaW5nLFxuICAgIHRpbGVEZXNjcmlwdGlvbjogc3RyaW5nLFxuICApOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jY29uZmlnKSB7XG4gICAgICBjb25zdCBtb2RlID0gdGhpcy4jbW9kZSgpO1xuICAgICAgY29uc3QgdGlsZUlkID0gdGhpcy4jZ2V0VGlsZUlkKHRpbGVDbXApO1xuICAgICAgY29uc3QgdGlsZSA9IHRoaXMuI2ZpbmRUaWxlKHRpbGVJZCk7XG5cbiAgICAgIGxldCBjb2x1bW46IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gfCB1bmRlZmluZWQ7XG4gICAgICBsZXQgY29sSW5kZXggPSAwO1xuXG4gICAgICBpZiAobW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgY29sdW1uID0gdGhpcy4jY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb2x1bW4gPSB0aGlzLiNmaW5kVGlsZUNvbHVtbih0aWxlSWQpO1xuICAgICAgICBjb2xJbmRleCA9IHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4uZmluZEluZGV4KFxuICAgICAgICAgICh2YWx1ZSkgPT4gdmFsdWUgPT09IGNvbHVtbixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbHVtbiAmJiB0aWxlICYmIHRpbGVJZCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKGRpcmVjdGlvbiA9PT0gJ2xlZnQnIHx8IGRpcmVjdGlvbiA9PT0gJ3JpZ2h0JykgJiZcbiAgICAgICAgICBtb2RlID09PSAnbXVsdGknXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyAtMSA6IDE7XG4gICAgICAgICAgY29uc3QgbmV3Q29sdW1uID1cbiAgICAgICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW5bY29sSW5kZXggKyBvcGVyYXRvcl07XG5cbiAgICAgICAgICBpZiAobmV3Q29sdW1uKSB7XG4gICAgICAgICAgICAvLyBNb3ZlIHRoZSB0aWxlIHRvIHRoZSBlbmQgb2YgdGhlIG5ldyBjb2x1bW5cbiAgICAgICAgICAgIG5ld0NvbHVtbi50aWxlcy5wdXNoKHRpbGUpO1xuICAgICAgICAgICAgY29sdW1uLnRpbGVzID0gY29sdW1uLnRpbGVzLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gdGlsZSk7XG4gICAgICAgICAgICB0aGlzLiNtb3ZlVGlsZXNUb0NvbHVtbihcbiAgICAgICAgICAgICAgdGhpcy4jY29sdW1ucz8udG9BcnJheSgpW2NvbEluZGV4ICsgb3BlcmF0b3JdLFxuICAgICAgICAgICAgICBbdGlsZV0sXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBSZXBvcnQgdGhlIGNoYW5nZSBpbiBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICBjb25zdCByZXBvcnRDb25maWcgPSB0aGlzLiNjb25maWc7XG4gICAgICAgICAgICByZXBvcnRDb25maWcubW92ZWRUaWxlID0ge1xuICAgICAgICAgICAgICB0aWxlRGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgdGlsZURlc2NyaXB0aW9uIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHRpbGUuaWQsXG4gICAgICAgICAgICAgIGNvbHVtbjogY29sSW5kZXggKyBvcGVyYXRvciArIDEsXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBuZXdDb2x1bW4udGlsZXMubGVuZ3RoLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQocmVwb3J0Q29uZmlnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBkaXJlY3Rpb24gPT09ICd1cCcgPyAtMSA6IDE7XG4gICAgICAgICAgY29uc3QgY3VySW5kZXggPSBjb2x1bW4udGlsZXMuZmluZEluZGV4KFxuICAgICAgICAgICAgKHZhbHVlKSA9PiB2YWx1ZS5pZCA9PT0gdGlsZS5pZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHRpbGVDb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuZ2V0VGlsZUNvbXBvbmVudCh0aWxlSWQpO1xuXG4gICAgICAgICAgaWYgKHRpbGVDb21wb25lbnRJbnN0YW5jZSAmJiBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0pIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXAgPSBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl07XG4gICAgICAgICAgICBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0gPSB0aWxlO1xuICAgICAgICAgICAgY29sdW1uLnRpbGVzW2N1ckluZGV4XSA9IHRlbXA7XG5cbiAgICAgICAgICAgIC8vIEdldCB0aGUgY29sdW1uIGVsZW1lbnRcbiAgICAgICAgICAgIGxldCBjb2x1bW5FbDogRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChtb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgICAgICAgICBjb2x1bW5FbCA9IHRoaXMuI2dldENvbHVtbkVsKHRoaXMuI3NpbmdsZUNvbHVtbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb2x1bW5FbCA9IHRoaXMuI2dldENvbHVtbkVsKHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKVtjb2xJbmRleF0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBNb3ZlIHRoZSB0aWxlIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50XG4gICAgICAgICAgICBpZiAoY3VySW5kZXggKyBvcGVyYXRvciA9PT0gY29sdW1uLnRpbGVzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgY29sdW1uRWw/LmFwcGVuZENoaWxkKFxuICAgICAgICAgICAgICAgIHRpbGVDb21wb25lbnRJbnN0YW5jZS5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29sdW1uRWw/Lmluc2VydEJlZm9yZShcbiAgICAgICAgICAgICAgICB0aWxlQ29tcG9uZW50SW5zdGFuY2UubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFRpbGVDb21wb25lbnQoY29sdW1uLnRpbGVzW2N1ckluZGV4ICsgb3BlcmF0b3IgKyAxXS5pZClcbiAgICAgICAgICAgICAgICAgID8ubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmVwb3J0IHRoZSBjaGFuZ2UgaW4gY29uZmlndXJhdGlvblxuICAgICAgICAgICAgY29uc3QgcmVwb3J0Q29uZmlnID0gdGhpcy4jY29uZmlnO1xuICAgICAgICAgICAgcmVwb3J0Q29uZmlnLm1vdmVkVGlsZSA9IHtcbiAgICAgICAgICAgICAgdGlsZURlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIHRpbGVEZXNjcmlwdGlvbiB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyB0aWxlLmlkLFxuICAgICAgICAgICAgICBjb2x1bW46IG1vZGUgPT09ICdzaW5nbGUnID8gMSA6IGNvbEluZGV4ICsgMSxcbiAgICAgICAgICAgICAgcG9zaXRpb246IGN1ckluZGV4ICsgb3BlcmF0b3IgKyAxLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQocmVwb3J0Q29uZmlnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0VGlsZUlkKHRpbGU6IFNreVRpbGVDb21wb25lbnQgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aWxlKSB7XG4gICAgICBsZXQgZWwgPSB0aWxlLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIGxldCB0aWxlSWQ6IHN0cmluZztcblxuICAgICAgd2hpbGUgKGVsKSB7XG4gICAgICAgIHRpbGVJZCA9IGVsLmdldEF0dHJpYnV0ZShBVFRSX1RJTEVfSUQpO1xuXG4gICAgICAgIGlmICh0aWxlSWQpIHtcbiAgICAgICAgICByZXR1cm4gdGlsZUlkO1xuICAgICAgICB9XG5cbiAgICAgICAgZWwgPSBlbC5wYXJlbnRFbGVtZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZ2V0VGlsZU9yUmVtb3ZlRnJvbUxheW91dChcbiAgICBsYXlvdXRUaWxlOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSxcbiAgKTogU2t5VGlsZURhc2hib2FyZENvbmZpZ1RpbGUgfCB1bmRlZmluZWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobGF5b3V0VGlsZSAmJiB0aGlzLiNjb25maWcpIHtcbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLiNjb25maWcudGlsZXMpIHtcbiAgICAgICAgaWYgKHRpbGUuaWQgPT09IGxheW91dFRpbGUuaWQpIHtcbiAgICAgICAgICByZXR1cm4gdGlsZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgbGF5b3V0IHRpbGUgd2FzIG5vdCBmb3VuZCBpbiB0aGUgbGlzdCBvZiB0aWxlcywgaXQgd2FzIHJlbW92ZWQgc2luY2UgbGFzdCB0aGUgdXNlciB1cGRhdGVkIHNldHRpbmdzXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy4jY29uZmlnPy5sYXlvdXQuc2luZ2xlQ29sdW1uKSB7XG4gICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQuc2luZ2xlQ29sdW1uLnRpbGVzID1cbiAgICAgICAgICB0aGlzLiNjb25maWcubGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcy5maWx0ZXIoXG4gICAgICAgICAgICAoZWxlbSkgPT4gZWxlbS5pZCAhPT0gbGF5b3V0VGlsZS5pZCxcbiAgICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy4jY29uZmlnPy5sYXlvdXQubXVsdGlDb2x1bW4pIHtcbiAgICAgICAgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbi5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICAgICAgZWxlbS50aWxlcyA9IGVsZW0udGlsZXMuZmlsdGVyKChyZXMpID0+IHJlcy5pZCAhPT0gbGF5b3V0VGlsZS5pZCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgI2NoZWNrUmVhZHlBbmRMb2FkVGlsZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb2x1bW5zKSB7XG4gICAgICB0aGlzLiNsb2FkVGlsZXModGhpcy4jY29uZmlnKTtcbiAgICAgIHRoaXMuZGFzaGJvYXJkSW5pdGlhbGl6ZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gICNsb2FkVGlsZXMoY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgbGF5b3V0ID0gY29uZmlnLmxheW91dDtcblxuICAgIGlmICh0aGlzLiNtb2RlKCkgPT09ICdzaW5nbGUnKSB7XG4gICAgICBmb3IgKGNvbnN0IHRpbGUgb2YgbGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aGlzLiNsb2FkVGlsZUludG9Db2x1bW4odGhpcy4jc2luZ2xlQ29sdW1uLCB0aWxlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGNvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHRoaXMuI2NvbHVtbnMpIHtcbiAgICAgICAgY29sdW1ucyA9IHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSBsYXlvdXQubXVsdGlDb2x1bW4ubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNbaV07XG5cbiAgICAgICAgZm9yIChjb25zdCB0aWxlIG9mIGxheW91dC5tdWx0aUNvbHVtbltpXS50aWxlcykge1xuICAgICAgICAgIHRoaXMuI2xvYWRUaWxlSW50b0NvbHVtbihjb2x1bW4sIHRpbGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2xvYWRUaWxlSW50b0NvbHVtbihcbiAgICBjb2x1bW46IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQgfCB1bmRlZmluZWQsXG4gICAgbGF5b3V0VGlsZTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGUsXG4gICk6IHZvaWQge1xuICAgIGlmIChjb2x1bW4pIHtcbiAgICAgIGNvbnN0IHRpbGUgPSB0aGlzLiNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KGxheW91dFRpbGUpO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGlsZSAmJiB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gdGlsZS5jb21wb25lbnRUeXBlO1xuICAgICAgICBjb25zdCBwcm92aWRlcnMgPSB0aWxlLnByb3ZpZGVycyAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyB8fCBbXTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgY29tcG9uZW50VHlwZSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsb2NhdGlvbjogU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRCb3R0b20sXG4gICAgICAgICAgICBwcm92aWRlcnM6IHByb3ZpZGVycyxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IGNvbHVtbi5jb250ZW50LFxuICAgICAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogY29sdW1uLmluamVjdG9yLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hZGRUaWxlQ29tcG9uZW50KGxheW91dFRpbGUsIGNvbXBvbmVudFJlZik7XG5cbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBjb21wb25lbnQgaXMgbWFya2VkIGZvciBjaGFuZ2VzIGluIGNhc2UgdGhlIHBhcmVudCBjb21wb25lbnQgdXNlc1xuICAgICAgICAvLyB0aGUgT25QdXNoIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kuXG4gICAgICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbW92ZVRpbGVzVG9TaW5nbGVDb2x1bW4oKTogdm9pZCB7XG4gICAgdGhpcy4jbW92ZVRpbGVzVG9Db2x1bW4oXG4gICAgICB0aGlzLiNzaW5nbGVDb2x1bW4sXG4gICAgICB0aGlzLiNjb25maWc/LmxheW91dC5zaW5nbGVDb2x1bW4udGlsZXMsXG4gICAgKTtcbiAgfVxuXG4gICNtb3ZlVGlsZXNUb011bHRpQ29sdW1uKCk6IHZvaWQge1xuICAgIGxldCBsYXlvdXRDb2x1bW5zOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uW10gPSBbXTtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZykge1xuICAgICAgbGF5b3V0Q29sdW1ucyA9IHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW47XG4gICAgfVxuICAgIGxldCBjb2x1bW5zOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50W10gPSBbXTtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbHVtbnMpIHtcbiAgICAgIGNvbHVtbnMgPSB0aGlzLiNjb2x1bW5zPy50b0FycmF5KCk7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSBsYXlvdXRDb2x1bW5zLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgdGhpcy4jbW92ZVRpbGVzVG9Db2x1bW4oY29sdW1uc1tpXSwgbGF5b3V0Q29sdW1uc1tpXS50aWxlcyk7XG4gICAgfVxuICB9XG5cbiAgI21vdmVUaWxlc1RvQ29sdW1uKFxuICAgIGNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBsYXlvdXRUaWxlczogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGVbXSB8IHVuZGVmaW5lZCxcbiAgKTogdm9pZCB7XG4gICAgaWYgKGNvbHVtbiAmJiBsYXlvdXRUaWxlcykge1xuICAgICAgY29uc3QgY29sdW1uRWwgPSB0aGlzLiNnZXRDb2x1bW5FbChjb2x1bW4pO1xuXG4gICAgICBmb3IgKGNvbnN0IGxheW91dFRpbGUgb2YgbGF5b3V0VGlsZXMpIHtcbiAgICAgICAgY29uc3QgdGlsZUNvbXBvbmVudEluc3RhbmNlID0gdGhpcy5nZXRUaWxlQ29tcG9uZW50KGxheW91dFRpbGUuaWQpO1xuXG4gICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRpbGVDb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgICAgIGNvbHVtbkVsPy5hcHBlbmRDaGlsZCh0aWxlQ29tcG9uZW50SW5zdGFuY2UubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0Q29uZmlnRm9yVUlTdGF0ZSgpOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZykge1xuICAgICAgdGhpcy4jY29uZmlnID0ge1xuICAgICAgICB0aWxlczogdGhpcy4jY29uZmlnLnRpbGVzLFxuICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICBzaW5nbGVDb2x1bW46IHRoaXMuI2dldFNpbmdsZUNvbHVtbkxheW91dEZvclVJU3RhdGUodGhpcy4jY29uZmlnKSxcbiAgICAgICAgICBtdWx0aUNvbHVtbjogdGhpcy4jZ2V0TXVsdGlDb2x1bW5MYXlvdXRGb3JVSVN0YXRlKHRoaXMuI2NvbmZpZyksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNjb25maWc7XG4gIH1cblxuICAjZ2V0U2luZ2xlQ29sdW1uTGF5b3V0Rm9yVUlTdGF0ZShcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICk6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4ge1xuICAgIGlmICh0aGlzLiNtb2RlKCkgPT09ICdzaW5nbGUnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aWxlczogdGhpcy4jZ2V0VGlsZXNJbkVsKHRoaXMuI2dldENvbHVtbkVsKHRoaXMuI3NpbmdsZUNvbHVtbikpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW47XG4gIH1cblxuICAjZ2V0TXVsdGlDb2x1bW5MYXlvdXRGb3JVSVN0YXRlKFxuICAgIGNvbmZpZzogU2t5VGlsZURhc2hib2FyZENvbmZpZyxcbiAgKTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dENvbHVtbltdIHtcbiAgICBpZiAodGhpcy4jbW9kZSgpID09PSAnbXVsdGknKSB7XG4gICAgICBjb25zdCBsYXlvdXRDb2x1bW5zOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uW10gPSBbXTtcbiAgICAgIGxldCBjb2x1bW5zOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50W10gPSBbXTtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLiNjb2x1bW5zKSB7XG4gICAgICAgIGNvbHVtbnMgPSB0aGlzLiNjb2x1bW5zPy50b0FycmF5KCk7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgY29sdW1uIG9mIGNvbHVtbnMpIHtcbiAgICAgICAgaWYgKGNvbHVtbiAhPT0gdGhpcy4jc2luZ2xlQ29sdW1uKSB7XG4gICAgICAgICAgY29uc3QgbGF5b3V0Q29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uID0ge1xuICAgICAgICAgICAgdGlsZXM6IHRoaXMuI2dldFRpbGVzSW5FbCh0aGlzLiNnZXRDb2x1bW5FbChjb2x1bW4pKSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgbGF5b3V0Q29sdW1ucy5wdXNoKGxheW91dENvbHVtbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxheW91dENvbHVtbnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW47XG4gIH1cblxuICAjZ2V0VGlsZXNJbkVsKGVsOiBFbGVtZW50IHwgdW5kZWZpbmVkKTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGVbXSB7XG4gICAgY29uc3QgdGlsZUVscyA9IGVsPy5xdWVyeVNlbGVjdG9yQWxsKCdbJyArIEFUVFJfVElMRV9JRCArICddJyk7XG4gICAgY29uc3QgbGF5b3V0VGlsZXM6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlW10gPSBbXTtcblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGlsZUVscykge1xuICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSB0aWxlRWxzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICBjb25zdCB0aWxlRWwgPSB0aWxlRWxzW2ldO1xuICAgICAgICBjb25zdCB0aWxlSWQgPSB0aWxlRWwuZ2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCk7XG4gICAgICAgIGNvbnN0IHRpbGUgPSB0aGlzLiNmaW5kVGlsZSh0aWxlSWQpO1xuXG4gICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRpbGUpIHtcbiAgICAgICAgICBsYXlvdXRUaWxlcy5wdXNoKHRpbGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxheW91dFRpbGVzO1xuICB9XG5cbiAgI2luaXREcmFndWxhKCk6IHZvaWQge1xuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlLmNyZWF0ZUdyb3VwKHRoaXMuYmFnSWQsIHtcbiAgICAgIG1vdmVzOiAoZWwsIGNvbnRhaW5lciwgaGFuZGxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVsPy5xdWVyeVNlbGVjdG9yKCcuc2t5LXRpbGUtZ3JhYi1oYW5kbGUnKTtcbiAgICAgICAgcmV0dXJuICEhdGFyZ2V0ICYmIHRhcmdldC5jb250YWlucyhoYW5kbGUhKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLiNkcmFndWxhU2VydmljZS5kcm9wKHRoaXMuYmFnSWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLiNnZXRDb25maWdGb3JVSVN0YXRlKCk7XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgaWYgKHRoaXMuI3NldHRpbmdzS2V5KSB7XG4gICAgICAgICAgdGhpcy4jc2V0VXNlckNvbmZpZyhjb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdChjb25maWcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI2dldENvbHVtbkVsKFxuICAgIGNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgKTogRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGNvbHVtbj8uY29udGVudD8uZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XG4gIH1cblxuICAjZmluZFRpbGUoXG4gICAgdGlsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsLFxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSB8IHVuZGVmaW5lZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNjb25maWcgJiYgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbikge1xuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbikge1xuICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHRpbGUgb2YgY29sdW1uLnRpbGVzKSB7XG4gICAgICAgICAgICBpZiAodGlsZS5pZCA9PT0gdGlsZUlkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZmluZFRpbGVDb2x1bW4oXG4gICAgdGlsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICk6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gfCB1bmRlZmluZWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29uZmlnICYmIHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4pIHtcbiAgICAgIHJldHVybiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uLmZpbmQoXG4gICAgICAgIChjb2wpID0+IGNvbC50aWxlcyAmJiAhIWNvbC50aWxlcy5maW5kKCh0aWxlKSA9PiB0aWxlLmlkID09PSB0aWxlSWQpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNpbml0VG9EZWZhdWx0cyhcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICAgY29sdW1uczogUXVlcnlMaXN0PFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkLFxuICAgIHNpbmdsZUNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy4jY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuI2NvbHVtbnMgPSBjb2x1bW5zO1xuICAgIHRoaXMuI3NpbmdsZUNvbHVtbiA9IHNpbmdsZUNvbHVtbjtcbiAgICB0aGlzLiNjaGVja1JlYWR5QW5kTG9hZFRpbGVzKCk7XG4gIH1cblxuICAjc2V0VXNlckNvbmZpZyhjb25maWc/OiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpZyAmJiB0aGlzLiNzZXR0aW5nc0tleSlcbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuc2V0Q29uZmlnKHRoaXMuI3NldHRpbmdzS2V5LCB7XG4gICAgICAgICAgbGF5b3V0OiBjb25maWcubGF5b3V0LFxuICAgICAgICAgIHBlcnNpc3RlZDogdHJ1ZSxcbiAgICAgICAgICB0aWxlSWRzOiBjb25maWcudGlsZXMubWFwKChlbGVtKSA9PiBlbGVtLmlkKSxcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc2F2ZSB0aWxlIGRhc2hib2FyZCBzZXR0aW5ncy4nKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gIH1cblxuICAjY2hlY2tGb3JOZXdUaWxlcyhvbGRVc2VyVGlsZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgLy8gR2V0IGEgbGlzdCBvZiB0aWxlcyB0aGF0IGFyZSBpbiB0aGUgY29uZmlnJ3MgZGVmYXVsdCBsaXN0IGJ1dCBub3QgaW4gdGhlIHVzZXIncyBzZXR0aW5nc1xuICAgIGNvbnN0IG5ld1RpbGVzID0gdGhpcy4jY29uZmlnPy50aWxlcy5maWx0ZXIoKGVsZW0pID0+IHtcbiAgICAgIHJldHVybiBvbGRVc2VyVGlsZXMuaW5kZXhPZihlbGVtLmlkKSA9PT0gLTE7XG4gICAgfSk7XG5cbiAgICBjb25zdCBtdWx0aUNvbHVtbiA9IHRoaXMuI2NvbmZpZz8ubGF5b3V0Lm11bHRpQ29sdW1uO1xuICAgIGNvbnN0IHNpbmdsZUNvbHVtbiA9IHRoaXMuI2NvbmZpZz8ubGF5b3V0LnNpbmdsZUNvbHVtbjtcblxuICAgIC8vIEFwcGVuZCBuZXcgdGlsZXMgdG8gdGhlIGVuZCBvZiB0aGUgbGF5b3V0c1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobmV3VGlsZXM/Lmxlbmd0aCkge1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKG11bHRpQ29sdW1uKSB7XG4gICAgICAgIG5ld1RpbGVzPy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICAgICAgbGV0IGxvY2F0aW9uVG9BZGQgPSAwO1xuICAgICAgICAgIGxldCBzbWFsbGVzdCA9IG11bHRpQ29sdW1uWzBdLnRpbGVzLmxlbmd0aDtcbiAgICAgICAgICBtdWx0aUNvbHVtbi5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0udGlsZXMubGVuZ3RoIDwgc21hbGxlc3QpIHtcbiAgICAgICAgICAgICAgbG9jYXRpb25Ub0FkZCA9IGluZGV4O1xuICAgICAgICAgICAgICBzbWFsbGVzdCA9IGl0ZW0udGlsZXMubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG11bHRpQ29sdW1uW2xvY2F0aW9uVG9BZGRdLnRpbGVzLnB1c2goe1xuICAgICAgICAgICAgaWQ6IGVsZW0uaWQsXG4gICAgICAgICAgICBpc0NvbGxhcHNlZDogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoc2luZ2xlQ29sdW1uKSB7XG4gICAgICAgIG5ld1RpbGVzPy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICAgICAgc2luZ2xlQ29sdW1uLnRpbGVzLnB1c2goeyBpZDogZWxlbS5pZCwgaXNDb2xsYXBzZWQ6IGZhbHNlIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHNpbmdsZUNvbHVtbikge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aGlzLiNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KHRpbGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobXVsdGlDb2x1bW4pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gbXVsdGlDb2x1bW4ubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBtdWx0aUNvbHVtbltpXS50aWxlcykge1xuICAgICAgICAgIHRoaXMuI2dldFRpbGVPclJlbW92ZUZyb21MYXlvdXQodGlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -15,10 +15,10 @@ export class SkyTileDashboardColumnComponent {
|
|
|
15
15
|
this.columnId = `tile-dashboard-column-${++columnIdIndex}`;
|
|
16
16
|
this.bagId = this.#dashboardService.bagId;
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTileDashboardColumnComponent, deps: [{ token: i0.EnvironmentInjector }, { token: i1.SkyTileDashboardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkyTileDashboardColumnComponent, isStandalone: true, 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}@media (min-width: 768px){:host-context(.sky-theme-modern .sky-layout-host-blocks) :host.sky-tile-dashboard-layout-multi-first{padding-left:0}:host-context(.sky-theme-modern .sky-layout-host-blocks) :host.sky-tile-dashboard-layout-multi-last{padding-right:0}:host-context(.sky-theme-modern .sky-layout-host-blocks) :host.sky-tile-dashboard-layout-single{padding-left:0;padding-right:0}}:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-sm).sky-tile-dashboard-layout-multi-first,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-md).sky-tile-dashboard-layout-multi-first,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-lg).sky-tile-dashboard-layout-multi-first{padding-left:0}:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-sm).sky-tile-dashboard-layout-multi-last,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-md).sky-tile-dashboard-layout-multi-last,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-lg).sky-tile-dashboard-layout-multi-last{padding-right:0}:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-sm).sky-tile-dashboard-layout-single,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-md).sky-tile-dashboard-layout-single,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-lg).sky-tile-dashboard-layout-single{padding-left:0;padding-right:0}\n"], dependencies: [{ kind: "ngmodule", type: DragulaModule }, { kind: "directive", type: i2.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }] }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTileDashboardColumnComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{ standalone: true, selector: 'sky-tile-dashboard-column', imports: [DragulaModule], 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}@media (min-width: 768px){:host-context(.sky-theme-modern .sky-layout-host-blocks) :host.sky-tile-dashboard-layout-multi-first{padding-left:0}:host-context(.sky-theme-modern .sky-layout-host-blocks) :host.sky-tile-dashboard-layout-multi-last{padding-right:0}:host-context(.sky-theme-modern .sky-layout-host-blocks) :host.sky-tile-dashboard-layout-single{padding-left:0;padding-right:0}}:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-sm).sky-tile-dashboard-layout-multi-first,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-md).sky-tile-dashboard-layout-multi-first,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-lg).sky-tile-dashboard-layout-multi-first{padding-left:0}:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-sm).sky-tile-dashboard-layout-multi-last,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-md).sky-tile-dashboard-layout-multi-last,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-lg).sky-tile-dashboard-layout-multi-last{padding-right:0}:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-sm).sky-tile-dashboard-layout-single,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-md).sky-tile-dashboard-layout-single,:host-context(.sky-theme-modern .sky-layout-host-blocks) :host-context(.sky-responsive-container-lg).sky-tile-dashboard-layout-single{padding-left:0;padding-right:0}\n"] }]
|
|
24
24
|
}], ctorParameters: () => [{ type: i0.EnvironmentInjector }, { type: i1.SkyTileDashboardService }], propDecorators: { content: [{
|
|
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
28
28
|
static: false,
|
|
29
29
|
}]
|
|
30
30
|
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGlsZXMvc3JjL2xpYi9tb2R1bGVzL3RpbGVzL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFJNUMsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBRXRCOztHQUVHO0FBUUgsTUFBTSxPQUFPLCtCQUErQjtJQVcxQyxpQkFBaUIsQ0FBMEI7SUFFM0MsWUFDUyxRQUE2QixFQUNwQyxnQkFBeUM7UUFEbEMsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFHcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO1FBRTFDLElBQUksQ0FBQyxRQUFRLEdBQUcseUJBQXlCLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFFM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO0lBQzVDLENBQUM7K0dBdEJVLCtCQUErQjttR0FBL0IsK0JBQStCLG9LQU1sQyxnQkFBZ0IsNkJDN0IxQixpR0FHQSxpeEZEa0JZLGFBQWE7OzRGQUVaLCtCQUErQjtrQkFQM0MsU0FBUztpQ0FDSSxJQUFJLFlBQ04sMkJBQTJCLFdBRzVCLENBQUMsYUFBYSxDQUFDOzhIQVdqQixPQUFPO3NCQUpiLFNBQVM7dUJBQUMsU0FBUyxFQUFFO3dCQUNwQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsS0FBSztxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJhZ3VsYU1vZHVsZSB9IGZyb20gJ25nMi1kcmFndWxhJztcblxuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC90aWxlLWRhc2hib2FyZC5zZXJ2aWNlJztcblxubGV0IGNvbHVtbklkSW5kZXggPSAwO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktdGlsZS1kYXNoYm9hcmQtY29sdW1uJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbRHJhZ3VsYU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQge1xuICBwdWJsaWMgYmFnSWQ6IHN0cmluZztcblxuICBwdWJsaWMgY29sdW1uSWQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdjb250ZW50Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHVibGljIGNvbnRlbnQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2Rhc2hib2FyZFNlcnZpY2U6IFNreVRpbGVEYXNoYm9hcmRTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBkYXNoYm9hcmRTZXJ2aWNlOiBTa3lUaWxlRGFzaGJvYXJkU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jZGFzaGJvYXJkU2VydmljZSA9IGRhc2hib2FyZFNlcnZpY2U7XG5cbiAgICB0aGlzLmNvbHVtbklkID0gYHRpbGUtZGFzaGJvYXJkLWNvbHVtbi0keysrY29sdW1uSWRJbmRleH1gO1xuXG4gICAgdGhpcy5iYWdJZCA9IHRoaXMuI2Rhc2hib2FyZFNlcnZpY2UuYmFnSWQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktdGlsZS1kYXNoYm9hcmQtY29sdW1uXCIgW2RyYWd1bGFdPVwiYmFnSWRcIj5cbiAgPGRpdiAjY29udGVudD48L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -2,15 +2,15 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { SkyTileDashboardColumnComponent } from './tile-dashboard-column.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class SkyTileDashboardColumnModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTileDashboardColumnModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyTileDashboardColumnModule, imports: [SkyTileDashboardColumnComponent], exports: [SkyTileDashboardColumnComponent] }); }
|
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTileDashboardColumnModule, imports: [SkyTileDashboardColumnComponent] }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTileDashboardColumnModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
imports: [SkyTileDashboardColumnComponent],
|
|
13
13
|
exports: [SkyTileDashboardColumnComponent],
|
|
14
14
|
}]
|
|
15
15
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQtY29sdW1uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFNcEYsTUFBTSxPQUFPLDRCQUE0QjsrR0FBNUIsNEJBQTRCO2dIQUE1Qiw0QkFBNEIsWUFIN0IsK0JBQStCLGFBQy9CLCtCQUErQjtnSEFFOUIsNEJBQTRCLFlBSDdCLCtCQUErQjs7NEZBRzlCLDRCQUE0QjtrQkFKeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlIHt9XG4iXX0=
|
|
@@ -5,17 +5,17 @@ import { SkyTileDashboardModule } from './tile-dashboard/tile-dashboard.module';
|
|
|
5
5
|
import { SkyTileModule } from './tile/tile.module';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class SkyTilesModule {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTilesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyTilesModule, exports: [SkyTileContentModule,
|
|
10
10
|
SkyTileModule,
|
|
11
11
|
SkyTileDashboardColumnModule,
|
|
12
12
|
SkyTileDashboardModule] }); }
|
|
13
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
13
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTilesModule, imports: [SkyTileContentModule,
|
|
14
14
|
SkyTileModule,
|
|
15
15
|
SkyTileDashboardColumnModule,
|
|
16
16
|
SkyTileDashboardModule] }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTilesModule, decorators: [{
|
|
19
19
|
type: NgModule,
|
|
20
20
|
args: [{
|
|
21
21
|
exports: [
|
|
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
26
26
|
],
|
|
27
27
|
}]
|
|
28
28
|
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbGVzL3NyYy9saWIvbW9kdWxlcy90aWxlcy90aWxlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBVW5ELE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxZQU52QixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLDRCQUE0QjtZQUM1QixzQkFBc0I7Z0hBR2IsY0FBYyxZQU52QixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLDRCQUE0QjtZQUM1QixzQkFBc0I7OzRGQUdiLGNBQWM7a0JBUjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYiw0QkFBNEI7d0JBQzVCLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUaWxlQ29udGVudE1vZHVsZSB9IGZyb20gJy4vdGlsZS1jb250ZW50L3RpbGUtY29udGVudC5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbHVtbk1vZHVsZSB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZE1vZHVsZSB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQvdGlsZS1kYXNoYm9hcmQubW9kdWxlJztcbmltcG9ydCB7IFNreVRpbGVNb2R1bGUgfSBmcm9tICcuL3RpbGUvdGlsZS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbXG4gICAgU2t5VGlsZUNvbnRlbnRNb2R1bGUsXG4gICAgU2t5VGlsZU1vZHVsZSxcbiAgICBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlLFxuICAgIFNreVRpbGVEYXNoYm9hcmRNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVzTW9kdWxlIHt9XG4iXX0=
|