@myrmidon/cadmus-part-codicology-decorations 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/cadmus-part-codicology-decorations.module.mjs +5 -5
- package/esm2020/lib/cod-decoration-artist/cod-decoration-artist.component.mjs +4 -4
- package/esm2020/lib/cod-decorations-part.mjs +1 -1
- package/fesm2015/myrmidon-cadmus-part-codicology-decorations.mjs +7 -7
- package/fesm2015/myrmidon-cadmus-part-codicology-decorations.mjs.map +1 -1
- package/fesm2020/myrmidon-cadmus-part-codicology-decorations.mjs +7 -7
- package/fesm2020/myrmidon-cadmus-part-codicology-decorations.mjs.map +1 -1
- package/lib/cadmus-part-codicology-decorations.module.d.ts +4 -4
- package/lib/cod-decoration-artist/cod-decoration-artist.component.d.ts +4 -4
- package/lib/cod-decorations-part.d.ts +2 -2
- package/package.json +1 -1
|
@@ -18,7 +18,6 @@ import { CadmusMatPhysicalSizeModule } from '@myrmidon/cadmus-mat-physical-size'
|
|
|
18
18
|
import { CadmusRefsAssertionModule } from '@myrmidon/cadmus-refs-assertion';
|
|
19
19
|
import { CadmusRefsAssertedChronotopeModule } from '@myrmidon/cadmus-refs-asserted-chronotope';
|
|
20
20
|
import { CadmusRefsDocReferencesModule } from '@myrmidon/cadmus-refs-doc-references';
|
|
21
|
-
import { CadmusRefsExternalIdsModule } from '@myrmidon/cadmus-refs-external-ids';
|
|
22
21
|
import { CadmusRefsHistoricalDateModule } from '@myrmidon/cadmus-refs-historical-date';
|
|
23
22
|
import { CadmusStateModule } from '@myrmidon/cadmus-state';
|
|
24
23
|
import { CadmusUiModule } from '@myrmidon/cadmus-ui';
|
|
@@ -32,6 +31,7 @@ import { CodDecorationArtistComponent } from './cod-decoration-artist/cod-decora
|
|
|
32
31
|
import { CodDecorationComponent } from './cod-decoration/cod-decoration.component';
|
|
33
32
|
import { CodDecorationsPartComponent } from './cod-decorations-part/cod-decorations-part.component';
|
|
34
33
|
import { CodDecorationsPartFeatureComponent } from './cod-decorations-part-feature/cod-decorations-part-feature.component';
|
|
34
|
+
import { CadmusRefsAssertedIdsModule } from '@myrmidon/cadmus-refs-asserted-ids';
|
|
35
35
|
import * as i0 from "@angular/core";
|
|
36
36
|
export class CadmusPartCodicologyDecorationsModule {
|
|
37
37
|
}
|
|
@@ -66,9 +66,9 @@ CadmusPartCodicologyDecorationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVers
|
|
|
66
66
|
CadmusUiPgModule,
|
|
67
67
|
CadmusMatPhysicalSizeModule,
|
|
68
68
|
CadmusRefsAssertedChronotopeModule,
|
|
69
|
+
CadmusRefsAssertedIdsModule,
|
|
69
70
|
CadmusRefsAssertionModule,
|
|
70
71
|
CadmusRefsDocReferencesModule,
|
|
71
|
-
CadmusRefsExternalIdsModule,
|
|
72
72
|
CadmusRefsHistoricalDateModule,
|
|
73
73
|
CadmusUiFlagsPickerModule,
|
|
74
74
|
CadmusCodLocationModule,
|
|
@@ -103,9 +103,9 @@ CadmusPartCodicologyDecorationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVers
|
|
|
103
103
|
CadmusUiPgModule,
|
|
104
104
|
CadmusMatPhysicalSizeModule,
|
|
105
105
|
CadmusRefsAssertedChronotopeModule,
|
|
106
|
+
CadmusRefsAssertedIdsModule,
|
|
106
107
|
CadmusRefsAssertionModule,
|
|
107
108
|
CadmusRefsDocReferencesModule,
|
|
108
|
-
CadmusRefsExternalIdsModule,
|
|
109
109
|
CadmusRefsHistoricalDateModule,
|
|
110
110
|
CadmusUiFlagsPickerModule,
|
|
111
111
|
CadmusCodLocationModule,
|
|
@@ -147,9 +147,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
147
147
|
CadmusUiPgModule,
|
|
148
148
|
CadmusMatPhysicalSizeModule,
|
|
149
149
|
CadmusRefsAssertedChronotopeModule,
|
|
150
|
+
CadmusRefsAssertedIdsModule,
|
|
150
151
|
CadmusRefsAssertionModule,
|
|
151
152
|
CadmusRefsDocReferencesModule,
|
|
152
|
-
CadmusRefsExternalIdsModule,
|
|
153
153
|
CadmusRefsHistoricalDateModule,
|
|
154
154
|
CadmusUiFlagsPickerModule,
|
|
155
155
|
CadmusCodLocationModule,
|
|
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
166
166
|
],
|
|
167
167
|
}]
|
|
168
168
|
}] });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkbXVzLXBhcnQtY29kaWNvbG9neS1kZWNvcmF0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9jYWRtdXMtcGFydC1jb2RpY29sb2d5LWRlY29yYXRpb25zL3NyYy9saWIvY2FkbXVzLXBhcnQtY29kaWNvbG9neS1kZWNvcmF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0Is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eUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2Qix3QkFBd0I7MkZBWWYscUNBQXFDO2tCQXJEakQsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3Qiw0QkFBNEI7d0JBQzVCLGlDQUFpQzt3QkFDakMsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0Isa0NBQWtDO3FCQUNuQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGtCQUFrQjt3QkFDbEIsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQiwyQkFBMkI7d0JBQzNCLGtDQUFrQzt3QkFDbEMseUJBQXlCO3dCQUN6Qiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0IsOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsNkJBQTZCO3dCQUM3Qiw0QkFBNEI7d0JBQzVCLGlDQUFpQzt3QkFDakMsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0Isa0NBQWtDO3FCQUNuQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBNb25hY29FZGl0b3JNb2R1bGUgfSBmcm9tICduZ3gtbW9uYWNvLWVkaXRvcic7XHJcblxyXG5pbXBvcnQgeyBOZ1Rvb2xzTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL25nLXRvb2xzJztcclxuaW1wb3J0IHsgTmdNYXRUb29sc01vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9uZy1tYXQtdG9vbHMnO1xyXG5pbXBvcnQgeyBDYWRtdXNDb2RpY29sb2d5VWlNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLWNvZGljb2xvZ3ktdWknO1xyXG5pbXBvcnQgeyBDYWRtdXNNYXRQaHlzaWNhbFNpemVNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLW1hdC1waHlzaWNhbC1zaXplJztcclxuaW1wb3J0IHsgQ2FkbXVzUmVmc0Fzc2VydGlvbk1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtcmVmcy1hc3NlcnRpb24nO1xyXG5pbXBvcnQgeyBDYWRtdXNSZWZzQXNzZXJ0ZWRDaHJvbm90b3BlTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy1yZWZzLWFzc2VydGVkLWNocm9ub3RvcGUnO1xyXG5pbXBvcnQgeyBDYWRtdXNSZWZzRG9jUmVmZXJlbmNlc01vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtcmVmcy1kb2MtcmVmZXJlbmNlcyc7XHJcbmltcG9ydCB7IENhZG11c1JlZnNFeHRlcm5hbElkc01vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtcmVmcy1leHRlcm5hbC1pZHMnO1xyXG5pbXBvcnQgeyBDYWRtdXNSZWZzSGlzdG9yaWNhbERhdGVNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLXJlZnMtaGlzdG9yaWNhbC1kYXRlJztcclxuaW1wb3J0IHsgQ2FkbXVzU3RhdGVNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLXN0YXRlJztcclxuaW1wb3J0IHsgQ2FkbXVzVWlNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLXVpJztcclxuaW1wb3J0IHsgQ2FkbXVzVWlQZ01vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtdWktcGcnO1xyXG5pbXBvcnQgeyBDYWRtdXNDb2RMb2NhdGlvbk1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtY29kLWxvY2F0aW9uJztcclxuaW1wb3J0IHsgQ2FkbXVzVWlGbGFnc1BpY2tlck1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtdWktZmxhZ3MtcGlja2VyJztcclxuXHJcbmltcG9ydCB7IENvZERlY29yYXRpb25FbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb2QtZGVjb3JhdGlvbi1lbGVtZW50L2NvZC1kZWNvcmF0aW9uLWVsZW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dE9yRW50cnlTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1vci1lbnRyeS1zZWxlY3Rvci90ZXh0LW9yLWVudHJ5LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZERlY29yYXRpb25BcnRpc3RTdHlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29kLWRlY29yYXRpb24tYXJ0aXN0LXN0eWxlL2NvZC1kZWNvcmF0aW9uLWFydGlzdC1zdHlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2REZWNvcmF0aW9uQXJ0aXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb2QtZGVjb3JhdGlvbi1hcnRpc3QvY29kLWRlY29yYXRpb24tYXJ0aXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZERlY29yYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvZC1kZWNvcmF0aW9uL2NvZC1kZWNvcmF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZERlY29yYXRpb25zUGFydENvbXBvbmVudCB9IGZyb20gJy4vY29kLWRlY29yYXRpb25zLXBhcnQvY29kLWRlY29yYXRpb25zLXBhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29kRGVjb3JhdGlvbnNQYXJ0RmVhdHVyZUNvbXBvbmVudCB9IGZyb20gJy4vY29kLWRlY29yYXRpb25zLXBhcnQtZmVhdHVyZS9jb2QtZGVjb3JhdGlvbnMtcGFydC1mZWF0dXJlLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ29kRGVjb3JhdGlvbkVsZW1lbnRDb21wb25lbnQsXHJcbiAgICBUZXh0T3JFbnRyeVNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgQ29kRGVjb3JhdGlvbkFydGlzdFN0eWxlQ29tcG9uZW50LFxyXG4gICAgQ29kRGVjb3JhdGlvbkFydGlzdENvbXBvbmVudCxcclxuICAgIENvZERlY29yYXRpb25Db21wb25lbnQsXHJcbiAgICBDb2REZWNvcmF0aW9uc1BhcnRDb21wb25lbnQsXHJcbiAgICBDb2REZWNvcmF0aW9uc1BhcnRGZWF0dXJlQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgLy8gbWF0ZXJpYWxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgLy8gbW9uYWNvXHJcbiAgICBNb25hY29FZGl0b3JNb2R1bGUsXHJcbiAgICAvLyBnZW5lcmFsXHJcbiAgICBOZ1Rvb2xzTW9kdWxlLFxyXG4gICAgTmdNYXRUb29sc01vZHVsZSxcclxuICAgIC8vIGNhZG11c1xyXG4gICAgQ2FkbXVzU3RhdGVNb2R1bGUsXHJcbiAgICBDYWRtdXNVaU1vZHVsZSxcclxuICAgIENhZG11c1VpUGdNb2R1bGUsXHJcbiAgICBDYWRtdXNNYXRQaHlzaWNhbFNpemVNb2R1bGUsXHJcbiAgICBDYWRtdXNSZWZzQXNzZXJ0ZWRDaHJvbm90b3BlTW9kdWxlLFxyXG4gICAgQ2FkbXVzUmVmc0Fzc2VydGlvbk1vZHVsZSxcclxuICAgIENhZG11c1JlZnNEb2NSZWZlcmVuY2VzTW9kdWxlLFxyXG4gICAgQ2FkbXVzUmVmc0V4dGVybmFsSWRzTW9kdWxlLFxyXG4gICAgQ2FkbXVzUmVmc0hpc3RvcmljYWxEYXRlTW9kdWxlLFxyXG4gICAgQ2FkbXVzVWlGbGFnc1BpY2tlck1vZHVsZSxcclxuICAgIENhZG11c0NvZExvY2F0aW9uTW9kdWxlLFxyXG4gICAgQ2FkbXVzQ29kaWNvbG9neVVpTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29kRGVjb3JhdGlvbkVsZW1lbnRDb21wb25lbnQsXHJcbiAgICBUZXh0T3JFbnRyeVNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgQ29kRGVjb3JhdGlvbkFydGlzdFN0eWxlQ29tcG9uZW50LFxyXG4gICAgQ29kRGVjb3JhdGlvbkFydGlzdENvbXBvbmVudCxcclxuICAgIENvZERlY29yYXRpb25Db21wb25lbnQsXHJcbiAgICBDb2REZWNvcmF0aW9uc1BhcnRDb21wb25lbnQsXHJcbiAgICBDb2REZWNvcmF0aW9uc1BhcnRGZWF0dXJlQ29tcG9uZW50LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYWRtdXNQYXJ0Q29kaWNvbG9neURlY29yYXRpb25zTW9kdWxlIHt9XHJcbiJdfQ==
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkbXVzLXBhcnQtY29kaWNvbG9neS1kZWNvcmF0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9jYWRtdXMtcGFydC1jb2RpY29sb2d5LWRlY29yYXRpb25zL3NyYy9saWIvY2FkbXVzLXBhcnQtY29kaWNvbG9neS1kZWNvcmF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0Is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eUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2Qix3QkFBd0I7MkZBWWYscUNBQXFDO2tCQXJEakQsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3Qiw0QkFBNEI7d0JBQzVCLGlDQUFpQzt3QkFDakMsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0Isa0NBQWtDO3FCQUNuQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGtCQUFrQjt3QkFDbEIsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQiwyQkFBMkI7d0JBQzNCLGtDQUFrQzt3QkFDbEMsMkJBQTJCO3dCQUMzQix5QkFBeUI7d0JBQ3pCLDZCQUE2Qjt3QkFDN0IsOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsNkJBQTZCO3dCQUM3Qiw0QkFBNEI7d0JBQzVCLGlDQUFpQzt3QkFDakMsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0Isa0NBQWtDO3FCQUNuQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBNb25hY29FZGl0b3JNb2R1bGUgfSBmcm9tICduZ3gtbW9uYWNvLWVkaXRvcic7XHJcblxyXG5pbXBvcnQgeyBOZ1Rvb2xzTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL25nLXRvb2xzJztcclxuaW1wb3J0IHsgTmdNYXRUb29sc01vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9uZy1tYXQtdG9vbHMnO1xyXG5pbXBvcnQgeyBDYWRtdXNDb2RpY29sb2d5VWlNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLWNvZGljb2xvZ3ktdWknO1xyXG5pbXBvcnQgeyBDYWRtdXNNYXRQaHlzaWNhbFNpemVNb2R1bGUgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLW1hdC1waHlzaWNhbC1zaXplJztcclxuaW1wb3J0IHsgQ2FkbXVzUmVmc0Fzc2VydGlvbk1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtcmVmcy1hc3NlcnRpb24nO1xyXG5pbXBvcnQgeyBDYWRtdXNSZWZzQXNzZXJ0ZWRDaHJvbm90b3BlTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy1yZWZzLWFzc2VydGVkLWNocm9ub3RvcGUnO1xyXG5pbXBvcnQgeyBDYWRtdXNSZWZzRG9jUmVmZXJlbmNlc01vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtcmVmcy1kb2MtcmVmZXJlbmNlcyc7XHJcbmltcG9ydCB7IENhZG11c1JlZnNIaXN0b3JpY2FsRGF0ZU1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtcmVmcy1oaXN0b3JpY2FsLWRhdGUnO1xyXG5pbXBvcnQgeyBDYWRtdXNTdGF0ZU1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtc3RhdGUnO1xyXG5pbXBvcnQgeyBDYWRtdXNVaU1vZHVsZSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtdWknO1xyXG5pbXBvcnQgeyBDYWRtdXNVaVBnTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy11aS1wZyc7XHJcbmltcG9ydCB7IENhZG11c0NvZExvY2F0aW9uTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy1jb2QtbG9jYXRpb24nO1xyXG5pbXBvcnQgeyBDYWRtdXNVaUZsYWdzUGlja2VyTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy11aS1mbGFncy1waWNrZXInO1xyXG5cclxuaW1wb3J0IHsgQ29kRGVjb3JhdGlvbkVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvZC1kZWNvcmF0aW9uLWVsZW1lbnQvY29kLWRlY29yYXRpb24tZWxlbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0T3JFbnRyeVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LW9yLWVudHJ5LXNlbGVjdG9yL3RleHQtb3ItZW50cnktc2VsZWN0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29kRGVjb3JhdGlvbkFydGlzdFN0eWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb2QtZGVjb3JhdGlvbi1hcnRpc3Qtc3R5bGUvY29kLWRlY29yYXRpb24tYXJ0aXN0LXN0eWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZERlY29yYXRpb25BcnRpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvZC1kZWNvcmF0aW9uLWFydGlzdC9jb2QtZGVjb3JhdGlvbi1hcnRpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29kRGVjb3JhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29kLWRlY29yYXRpb24vY29kLWRlY29yYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29kRGVjb3JhdGlvbnNQYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb2QtZGVjb3JhdGlvbnMtcGFydC9jb2QtZGVjb3JhdGlvbnMtcGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2REZWNvcmF0aW9uc1BhcnRGZWF0dXJlQ29tcG9uZW50IH0gZnJvbSAnLi9jb2QtZGVjb3JhdGlvbnMtcGFydC1mZWF0dXJlL2NvZC1kZWNvcmF0aW9ucy1wYXJ0LWZlYXR1cmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FkbXVzUmVmc0Fzc2VydGVkSWRzTW9kdWxlIH0gZnJvbSAnQG15cm1pZG9uL2NhZG11cy1yZWZzLWFzc2VydGVkLWlkcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ29kRGVjb3JhdGlvbkVsZW1lbnRDb21wb25lbnQsXHJcbiAgICBUZXh0T3JFbnRyeVNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgQ29kRGVjb3JhdGlvbkFydGlzdFN0eWxlQ29tcG9uZW50LFxyXG4gICAgQ29kRGVjb3JhdGlvbkFydGlzdENvbXBvbmVudCxcclxuICAgIENvZERlY29yYXRpb25Db21wb25lbnQsXHJcbiAgICBDb2REZWNvcmF0aW9uc1BhcnRDb21wb25lbnQsXHJcbiAgICBDb2REZWNvcmF0aW9uc1BhcnRGZWF0dXJlQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgLy8gbWF0ZXJpYWxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgLy8gbW9uYWNvXHJcbiAgICBNb25hY29FZGl0b3JNb2R1bGUsXHJcbiAgICAvLyBnZW5lcmFsXHJcbiAgICBOZ1Rvb2xzTW9kdWxlLFxyXG4gICAgTmdNYXRUb29sc01vZHVsZSxcclxuICAgIC8vIGNhZG11c1xyXG4gICAgQ2FkbXVzU3RhdGVNb2R1bGUsXHJcbiAgICBDYWRtdXNVaU1vZHVsZSxcclxuICAgIENhZG11c1VpUGdNb2R1bGUsXHJcbiAgICBDYWRtdXNNYXRQaHlzaWNhbFNpemVNb2R1bGUsXHJcbiAgICBDYWRtdXNSZWZzQXNzZXJ0ZWRDaHJvbm90b3BlTW9kdWxlLFxyXG4gICAgQ2FkbXVzUmVmc0Fzc2VydGVkSWRzTW9kdWxlLFxyXG4gICAgQ2FkbXVzUmVmc0Fzc2VydGlvbk1vZHVsZSxcclxuICAgIENhZG11c1JlZnNEb2NSZWZlcmVuY2VzTW9kdWxlLFxyXG4gICAgQ2FkbXVzUmVmc0hpc3RvcmljYWxEYXRlTW9kdWxlLFxyXG4gICAgQ2FkbXVzVWlGbGFnc1BpY2tlck1vZHVsZSxcclxuICAgIENhZG11c0NvZExvY2F0aW9uTW9kdWxlLFxyXG4gICAgQ2FkbXVzQ29kaWNvbG9neVVpTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29kRGVjb3JhdGlvbkVsZW1lbnRDb21wb25lbnQsXHJcbiAgICBUZXh0T3JFbnRyeVNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgQ29kRGVjb3JhdGlvbkFydGlzdFN0eWxlQ29tcG9uZW50LFxyXG4gICAgQ29kRGVjb3JhdGlvbkFydGlzdENvbXBvbmVudCxcclxuICAgIENvZERlY29yYXRpb25Db21wb25lbnQsXHJcbiAgICBDb2REZWNvcmF0aW9uc1BhcnRDb21wb25lbnQsXHJcbiAgICBDb2REZWNvcmF0aW9uc1BhcnRGZWF0dXJlQ29tcG9uZW50LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYWRtdXNQYXJ0Q29kaWNvbG9neURlY29yYXRpb25zTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -13,7 +13,7 @@ import * as i8 from "@angular/material/input";
|
|
|
13
13
|
import * as i9 from "@angular/material/select";
|
|
14
14
|
import * as i10 from "@angular/material/core";
|
|
15
15
|
import * as i11 from "@angular/material/tooltip";
|
|
16
|
-
import * as i12 from "@myrmidon/cadmus-refs-
|
|
16
|
+
import * as i12 from "@myrmidon/cadmus-refs-asserted-ids";
|
|
17
17
|
import * as i13 from "../cod-decoration-artist-style/cod-decoration-artist-style.component";
|
|
18
18
|
export class CodDecorationArtistComponent {
|
|
19
19
|
constructor(formBuilder, _dialogService) {
|
|
@@ -179,10 +179,10 @@ export class CodDecorationArtistComponent {
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
CodDecorationArtistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CodDecorationArtistComponent, deps: [{ token: i1.FormBuilder }, { token: i2.DialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
182
|
-
CodDecorationArtistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: CodDecorationArtistComponent, selector: "cadmus-cod-decoration-artist", inputs: { artist: "artist", artTypeEntries: "artTypeEntries", artStyleEntries: "artStyleEntries", ctTagEntries: "ctTagEntries", assTagEntries: "assTagEntries", refTypeEntries: "refTypeEntries", refTagEntries: "refTagEntries", idTagEntries: "idTagEntries", idScopeEntries: "idScopeEntries" }, outputs: { artistChange: "artistChange", editorClose: "editorClose" }, ngImport: i0, template: "<form [formGroup]=\"form\" (submit)=\"save()\">\r\n <div style=\"display: flex; gap: 8px; align-items: center\">\r\n <!-- type (bound) -->\r\n <mat-form-field *ngIf=\"artTypeEntries?.length\" style=\"flex: 0 0 auto\">\r\n <mat-select [formControl]=\"type\" placeholder=\"type\">\r\n <mat-option *ngFor=\"let e of artTypeEntries\" [value]=\"e.id\">{{\r\n e.value\r\n }}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.required && (type.dirty || type.touched)\"\r\n >type required</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- type (free) -->\r\n <mat-form-field *ngIf=\"!artTypeEntries?.length\" style=\"flex: 0 0 auto\">\r\n <input matInput [formControl]=\"type\" placeholder=\"type\" />\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.required && (type.dirty || type.touched)\"\r\n >type required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.maxLength && (type.dirty || type.touched)\"\r\n >type too long</mat-error\r\n >\r\n </mat-form-field>\r\n\r\n <!-- eid -->\r\n <mat-form-field>\r\n <input matInput [formControl]=\"eid\" placeholder=\"EID\" />\r\n <mat-error\r\n *ngIf=\"$any(eid).errors?.maxLength && (eid.dirty || eid.touched)\"\r\n >EID too long</mat-error\r\n >\r\n </mat-form-field>\r\n\r\n <!-- name -->\r\n <mat-form-field>\r\n <input matInput [formControl]=\"name\" placeholder=\"name\" />\r\n <mat-error\r\n *ngIf=\"$any(name).errors?.required && (name.dirty || name.touched)\"\r\n >name required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"$any(name).errors?.maxLength && (name.dirty || name.touched)\"\r\n >name too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <!-- ids -->\r\n <cadmus-refs-external-ids\r\n [tagEntries]=\"idTagEntries\"\r\n [scopeEntries]=\"idScopeEntries\"\r\n [assTagEntries]=\"assTagEntries\"\r\n [refTagEntries]=\"refTagEntries\"\r\n [refTypeEntries]=\"refTypeEntries\"\r\n [ids]=\"initialIds || []\"\r\n (idsChange)=\"onIdsChange($event)\"\r\n ></cadmus-refs-external-ids>\r\n </div>\r\n <div>\r\n <!-- elementKeys -->\r\n <mat-form-field class=\"long-text\">\r\n <input\r\n matInput\r\n [formControl]=\"elementKeys\"\r\n placeholder=\"element keys (space delimited)\"\r\n maxlength=\"500\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <!-- note -->\r\n <mat-form-field class=\"long-text\">\r\n <textarea\r\n matInput\r\n rows=\"2\"\r\n [formControl]=\"note\"\r\n placeholder=\"note\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"$any(note).errors?.maxLength && (note.dirty || note.touched)\"\r\n >note too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <!-- styles -->\r\n <fieldset>\r\n <legend>styles</legend>\r\n <button mat-icon-button type=\"button\" color=\"primary\" (click)=\"addStyle()\">\r\n <mat-icon>add_circle</mat-icon>\r\n add style\r\n </button>\r\n <table>\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>name</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"\r\n let s of styles.value || [];\r\n let i = index;\r\n let first = first;\r\n let last = last\r\n \"\r\n >\r\n <td>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Edit this style\"\r\n color=\"primary\"\r\n (click)=\"editStyle(i)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Remove this style\"\r\n color=\"warn\"\r\n (click)=\"removeStyle(i)\"\r\n >\r\n <mat-icon>remove_circle</mat-icon>\r\n </button>\r\n <button\r\n [disabled]=\"first\"\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Move style up\"\r\n (click)=\"moveStyleUp(i)\"\r\n >\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button\r\n [disabled]=\"last\"\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Move style down\"\r\n (click)=\"moveStyleDown(i)\"\r\n >\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button>\r\n </td>\r\n <td>{{ s.name }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <mat-expansion-panel [expanded]=\"editedStyle\" [disabled]=\"!editedStyle\">\r\n <mat-expansion-panel-header\r\n >style {{ editedStyle?.name }}</mat-expansion-panel-header\r\n >\r\n <cadmus-cod-decoration-artist-style\r\n [ctTagEntries]=\"ctTagEntries\"\r\n [assTagEntries]=\"assTagEntries\"\r\n [refTagEntries]=\"refTagEntries\"\r\n [refTypeEntries]=\"refTypeEntries\"\r\n [style]=\"editedStyle\"\r\n (styleChange)=\"onStyleSave($event)\"\r\n (editorClose)=\"onStyleClose()\"\r\n ></cadmus-cod-decoration-artist-style>\r\n </mat-expansion-panel>\r\n </fieldset>\r\n\r\n <!-- buttons -->\r\n <div>\r\n <button\r\n type=\"button\"\r\n color=\"warn\"\r\n mat-icon-button\r\n matTooltip=\"Discard changes\"\r\n (click)=\"cancel()\"\r\n >\r\n <mat-icon>clear</mat-icon>\r\n </button>\r\n <button\r\n type=\"submit\"\r\n color=\"primary\"\r\n mat-icon-button\r\n matTooltip=\"Accept changes\"\r\n [disabled]=\"form.invalid || form.pristine\"\r\n >\r\n <mat-icon>check_circle</mat-icon>\r\n </button>\r\n </div>\r\n</form>\r\n", styles: ["fieldset{border:1px solid silver;border-radius:6px;padding:6px 12px}.long-text{width:100%;max-width:800px}th{font-weight:400;color:silver}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i5.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i12.ExternalIdsComponent, selector: "cadmus-refs-external-ids", inputs: ["ids", "scopeEntries", "tagEntries", "assTagEntries", "refTypeEntries", "refTagEntries"], outputs: ["idsChange"] }, { kind: "component", type: i13.CodDecorationArtistStyleComponent, selector: "cadmus-cod-decoration-artist-style", inputs: ["style", "ctTagEntries", "assTagEntries", "refTypeEntries", "refTagEntries"], outputs: ["styleChange", "editorClose"] }] });
|
|
182
|
+
CodDecorationArtistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: CodDecorationArtistComponent, selector: "cadmus-cod-decoration-artist", inputs: { artist: "artist", artTypeEntries: "artTypeEntries", artStyleEntries: "artStyleEntries", ctTagEntries: "ctTagEntries", assTagEntries: "assTagEntries", refTypeEntries: "refTypeEntries", refTagEntries: "refTagEntries", idTagEntries: "idTagEntries", idScopeEntries: "idScopeEntries" }, outputs: { artistChange: "artistChange", editorClose: "editorClose" }, ngImport: i0, template: "<form [formGroup]=\"form\" (submit)=\"save()\">\r\n <div style=\"display: flex; gap: 8px; align-items: center\">\r\n <!-- type (bound) -->\r\n <mat-form-field *ngIf=\"artTypeEntries?.length\" style=\"flex: 0 0 auto\">\r\n <mat-select [formControl]=\"type\" placeholder=\"type\">\r\n <mat-option *ngFor=\"let e of artTypeEntries\" [value]=\"e.id\">{{\r\n e.value\r\n }}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.required && (type.dirty || type.touched)\"\r\n >type required</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- type (free) -->\r\n <mat-form-field *ngIf=\"!artTypeEntries?.length\" style=\"flex: 0 0 auto\">\r\n <input matInput [formControl]=\"type\" placeholder=\"type\" />\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.required && (type.dirty || type.touched)\"\r\n >type required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.maxLength && (type.dirty || type.touched)\"\r\n >type too long</mat-error\r\n >\r\n </mat-form-field>\r\n\r\n <!-- eid -->\r\n <mat-form-field>\r\n <input matInput [formControl]=\"eid\" placeholder=\"EID\" />\r\n <mat-error\r\n *ngIf=\"$any(eid).errors?.maxLength && (eid.dirty || eid.touched)\"\r\n >EID too long</mat-error\r\n >\r\n </mat-form-field>\r\n\r\n <!-- name -->\r\n <mat-form-field>\r\n <input matInput [formControl]=\"name\" placeholder=\"name\" />\r\n <mat-error\r\n *ngIf=\"$any(name).errors?.required && (name.dirty || name.touched)\"\r\n >name required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"$any(name).errors?.maxLength && (name.dirty || name.touched)\"\r\n >name too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <!-- ids -->\r\n <cadmus-refs-asserted-ids\r\n [tagEntries]=\"idTagEntries\"\r\n [scopeEntries]=\"idScopeEntries\"\r\n [assTagEntries]=\"assTagEntries\"\r\n [refTagEntries]=\"refTagEntries\"\r\n [refTypeEntries]=\"refTypeEntries\"\r\n [ids]=\"initialIds || []\"\r\n (idsChange)=\"onIdsChange($event)\"\r\n ></cadmus-refs-asserted-ids>\r\n </div>\r\n <div>\r\n <!-- elementKeys -->\r\n <mat-form-field class=\"long-text\">\r\n <input\r\n matInput\r\n [formControl]=\"elementKeys\"\r\n placeholder=\"element keys (space delimited)\"\r\n maxlength=\"500\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <!-- note -->\r\n <mat-form-field class=\"long-text\">\r\n <textarea\r\n matInput\r\n rows=\"2\"\r\n [formControl]=\"note\"\r\n placeholder=\"note\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"$any(note).errors?.maxLength && (note.dirty || note.touched)\"\r\n >note too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <!-- styles -->\r\n <fieldset>\r\n <legend>styles</legend>\r\n <button mat-icon-button type=\"button\" color=\"primary\" (click)=\"addStyle()\">\r\n <mat-icon>add_circle</mat-icon>\r\n add style\r\n </button>\r\n <table>\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>name</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"\r\n let s of styles.value || [];\r\n let i = index;\r\n let first = first;\r\n let last = last\r\n \"\r\n >\r\n <td>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Edit this style\"\r\n color=\"primary\"\r\n (click)=\"editStyle(i)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Remove this style\"\r\n color=\"warn\"\r\n (click)=\"removeStyle(i)\"\r\n >\r\n <mat-icon>remove_circle</mat-icon>\r\n </button>\r\n <button\r\n [disabled]=\"first\"\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Move style up\"\r\n (click)=\"moveStyleUp(i)\"\r\n >\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button\r\n [disabled]=\"last\"\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Move style down\"\r\n (click)=\"moveStyleDown(i)\"\r\n >\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button>\r\n </td>\r\n <td>{{ s.name }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <mat-expansion-panel [expanded]=\"editedStyle\" [disabled]=\"!editedStyle\">\r\n <mat-expansion-panel-header\r\n >style {{ editedStyle?.name }}</mat-expansion-panel-header\r\n >\r\n <cadmus-cod-decoration-artist-style\r\n [ctTagEntries]=\"ctTagEntries\"\r\n [assTagEntries]=\"assTagEntries\"\r\n [refTagEntries]=\"refTagEntries\"\r\n [refTypeEntries]=\"refTypeEntries\"\r\n [style]=\"editedStyle\"\r\n (styleChange)=\"onStyleSave($event)\"\r\n (editorClose)=\"onStyleClose()\"\r\n ></cadmus-cod-decoration-artist-style>\r\n </mat-expansion-panel>\r\n </fieldset>\r\n\r\n <!-- buttons -->\r\n <div>\r\n <button\r\n type=\"button\"\r\n color=\"warn\"\r\n mat-icon-button\r\n matTooltip=\"Discard changes\"\r\n (click)=\"cancel()\"\r\n >\r\n <mat-icon>clear</mat-icon>\r\n </button>\r\n <button\r\n type=\"submit\"\r\n color=\"primary\"\r\n mat-icon-button\r\n matTooltip=\"Accept changes\"\r\n [disabled]=\"form.invalid || form.pristine\"\r\n >\r\n <mat-icon>check_circle</mat-icon>\r\n </button>\r\n </div>\r\n</form>\r\n", styles: ["fieldset{border:1px solid silver;border-radius:6px;padding:6px 12px}.long-text{width:100%;max-width:800px}th{font-weight:400;color:silver}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i5.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i12.AssertedIdsComponent, selector: "cadmus-refs-asserted-ids", inputs: ["ids", "scopeEntries", "tagEntries", "assTagEntries", "refTypeEntries", "refTagEntries"], outputs: ["idsChange"] }, { kind: "component", type: i13.CodDecorationArtistStyleComponent, selector: "cadmus-cod-decoration-artist-style", inputs: ["style", "ctTagEntries", "assTagEntries", "refTypeEntries", "refTagEntries"], outputs: ["styleChange", "editorClose"] }] });
|
|
183
183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CodDecorationArtistComponent, decorators: [{
|
|
184
184
|
type: Component,
|
|
185
|
-
args: [{ selector: 'cadmus-cod-decoration-artist', template: "<form [formGroup]=\"form\" (submit)=\"save()\">\r\n <div style=\"display: flex; gap: 8px; align-items: center\">\r\n <!-- type (bound) -->\r\n <mat-form-field *ngIf=\"artTypeEntries?.length\" style=\"flex: 0 0 auto\">\r\n <mat-select [formControl]=\"type\" placeholder=\"type\">\r\n <mat-option *ngFor=\"let e of artTypeEntries\" [value]=\"e.id\">{{\r\n e.value\r\n }}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.required && (type.dirty || type.touched)\"\r\n >type required</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- type (free) -->\r\n <mat-form-field *ngIf=\"!artTypeEntries?.length\" style=\"flex: 0 0 auto\">\r\n <input matInput [formControl]=\"type\" placeholder=\"type\" />\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.required && (type.dirty || type.touched)\"\r\n >type required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.maxLength && (type.dirty || type.touched)\"\r\n >type too long</mat-error\r\n >\r\n </mat-form-field>\r\n\r\n <!-- eid -->\r\n <mat-form-field>\r\n <input matInput [formControl]=\"eid\" placeholder=\"EID\" />\r\n <mat-error\r\n *ngIf=\"$any(eid).errors?.maxLength && (eid.dirty || eid.touched)\"\r\n >EID too long</mat-error\r\n >\r\n </mat-form-field>\r\n\r\n <!-- name -->\r\n <mat-form-field>\r\n <input matInput [formControl]=\"name\" placeholder=\"name\" />\r\n <mat-error\r\n *ngIf=\"$any(name).errors?.required && (name.dirty || name.touched)\"\r\n >name required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"$any(name).errors?.maxLength && (name.dirty || name.touched)\"\r\n >name too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <!-- ids -->\r\n <cadmus-refs-
|
|
185
|
+
args: [{ selector: 'cadmus-cod-decoration-artist', template: "<form [formGroup]=\"form\" (submit)=\"save()\">\r\n <div style=\"display: flex; gap: 8px; align-items: center\">\r\n <!-- type (bound) -->\r\n <mat-form-field *ngIf=\"artTypeEntries?.length\" style=\"flex: 0 0 auto\">\r\n <mat-select [formControl]=\"type\" placeholder=\"type\">\r\n <mat-option *ngFor=\"let e of artTypeEntries\" [value]=\"e.id\">{{\r\n e.value\r\n }}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.required && (type.dirty || type.touched)\"\r\n >type required</mat-error\r\n >\r\n </mat-form-field>\r\n <!-- type (free) -->\r\n <mat-form-field *ngIf=\"!artTypeEntries?.length\" style=\"flex: 0 0 auto\">\r\n <input matInput [formControl]=\"type\" placeholder=\"type\" />\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.required && (type.dirty || type.touched)\"\r\n >type required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"$any(type).errors?.maxLength && (type.dirty || type.touched)\"\r\n >type too long</mat-error\r\n >\r\n </mat-form-field>\r\n\r\n <!-- eid -->\r\n <mat-form-field>\r\n <input matInput [formControl]=\"eid\" placeholder=\"EID\" />\r\n <mat-error\r\n *ngIf=\"$any(eid).errors?.maxLength && (eid.dirty || eid.touched)\"\r\n >EID too long</mat-error\r\n >\r\n </mat-form-field>\r\n\r\n <!-- name -->\r\n <mat-form-field>\r\n <input matInput [formControl]=\"name\" placeholder=\"name\" />\r\n <mat-error\r\n *ngIf=\"$any(name).errors?.required && (name.dirty || name.touched)\"\r\n >name required</mat-error\r\n >\r\n <mat-error\r\n *ngIf=\"$any(name).errors?.maxLength && (name.dirty || name.touched)\"\r\n >name too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <!-- ids -->\r\n <cadmus-refs-asserted-ids\r\n [tagEntries]=\"idTagEntries\"\r\n [scopeEntries]=\"idScopeEntries\"\r\n [assTagEntries]=\"assTagEntries\"\r\n [refTagEntries]=\"refTagEntries\"\r\n [refTypeEntries]=\"refTypeEntries\"\r\n [ids]=\"initialIds || []\"\r\n (idsChange)=\"onIdsChange($event)\"\r\n ></cadmus-refs-asserted-ids>\r\n </div>\r\n <div>\r\n <!-- elementKeys -->\r\n <mat-form-field class=\"long-text\">\r\n <input\r\n matInput\r\n [formControl]=\"elementKeys\"\r\n placeholder=\"element keys (space delimited)\"\r\n maxlength=\"500\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <!-- note -->\r\n <mat-form-field class=\"long-text\">\r\n <textarea\r\n matInput\r\n rows=\"2\"\r\n [formControl]=\"note\"\r\n placeholder=\"note\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"$any(note).errors?.maxLength && (note.dirty || note.touched)\"\r\n >note too long</mat-error\r\n >\r\n </mat-form-field>\r\n </div>\r\n <!-- styles -->\r\n <fieldset>\r\n <legend>styles</legend>\r\n <button mat-icon-button type=\"button\" color=\"primary\" (click)=\"addStyle()\">\r\n <mat-icon>add_circle</mat-icon>\r\n add style\r\n </button>\r\n <table>\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>name</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"\r\n let s of styles.value || [];\r\n let i = index;\r\n let first = first;\r\n let last = last\r\n \"\r\n >\r\n <td>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Edit this style\"\r\n color=\"primary\"\r\n (click)=\"editStyle(i)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Remove this style\"\r\n color=\"warn\"\r\n (click)=\"removeStyle(i)\"\r\n >\r\n <mat-icon>remove_circle</mat-icon>\r\n </button>\r\n <button\r\n [disabled]=\"first\"\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Move style up\"\r\n (click)=\"moveStyleUp(i)\"\r\n >\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button\r\n [disabled]=\"last\"\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Move style down\"\r\n (click)=\"moveStyleDown(i)\"\r\n >\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button>\r\n </td>\r\n <td>{{ s.name }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <mat-expansion-panel [expanded]=\"editedStyle\" [disabled]=\"!editedStyle\">\r\n <mat-expansion-panel-header\r\n >style {{ editedStyle?.name }}</mat-expansion-panel-header\r\n >\r\n <cadmus-cod-decoration-artist-style\r\n [ctTagEntries]=\"ctTagEntries\"\r\n [assTagEntries]=\"assTagEntries\"\r\n [refTagEntries]=\"refTagEntries\"\r\n [refTypeEntries]=\"refTypeEntries\"\r\n [style]=\"editedStyle\"\r\n (styleChange)=\"onStyleSave($event)\"\r\n (editorClose)=\"onStyleClose()\"\r\n ></cadmus-cod-decoration-artist-style>\r\n </mat-expansion-panel>\r\n </fieldset>\r\n\r\n <!-- buttons -->\r\n <div>\r\n <button\r\n type=\"button\"\r\n color=\"warn\"\r\n mat-icon-button\r\n matTooltip=\"Discard changes\"\r\n (click)=\"cancel()\"\r\n >\r\n <mat-icon>clear</mat-icon>\r\n </button>\r\n <button\r\n type=\"submit\"\r\n color=\"primary\"\r\n mat-icon-button\r\n matTooltip=\"Accept changes\"\r\n [disabled]=\"form.invalid || form.pristine\"\r\n >\r\n <mat-icon>check_circle</mat-icon>\r\n </button>\r\n </div>\r\n</form>\r\n", styles: ["fieldset{border:1px solid silver;border-radius:6px;padding:6px 12px}.long-text{width:100%;max-width:800px}th{font-weight:400;color:silver}\n"] }]
|
|
186
186
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.DialogService }]; }, propDecorators: { artist: [{
|
|
187
187
|
type: Input
|
|
188
188
|
}], artTypeEntries: [{
|
|
@@ -206,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
206
206
|
}], editorClose: [{
|
|
207
207
|
type: Output
|
|
208
208
|
}] } });
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWRlY29yYXRpb24tYXJ0aXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktZGVjb3JhdGlvbnMvc3JjL2xpYi9jb2QtZGVjb3JhdGlvbi1hcnRpc3QvY29kLWRlY29yYXRpb24tYXJ0aXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktZGVjb3JhdGlvbnMvc3JjL2xpYi9jb2QtZGVjb3JhdGlvbi1hcnRpc3QvY29kLWRlY29yYXRpb24tYXJ0aXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUlMLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBUXhCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVk1QixNQUFNLE9BQU8sNEJBQTRCO0lBd0R2QyxZQUFZLFdBQXdCLEVBQVUsY0FBNkI7UUFBN0IsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDekUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU87UUFDUCxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsSUFBSSxHQUFH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QUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxZQUFZO0lBRUwsTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7O3lIQXhPVSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwrYUMxQnpDLHErTEE4TEE7MkZEcEthLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSw4QkFBOEI7OEhBUzdCLE1BQU07c0JBRGhCLEtBQUs7Z0JBV0MsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLE1BQU07Z0JBSUEsV0FBVztzQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbiAgVmFsaWRhdG9ycyxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBUaGVzYXVydXNFbnRyeSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgRXh0ZXJuYWxJZCxcclxuICBSYW5rZWRFeHRlcm5hbElkLFxyXG59IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtcmVmcy1leHRlcm5hbC1pZHMnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQG15cm1pZG9uL25nLW1hdC10b29scyc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgQ29kRGVjb3JhdGlvbkFydGlzdCxcclxuICBDb2REZWNvcmF0aW9uQXJ0aXN0U3R5bGUsXHJcbn0gZnJvbSAnLi4vY29kLWRlY29yYXRpb25zLXBhcnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjYWRtdXMtY29kLWRlY29yYXRpb24tYXJ0aXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWRlY29yYXRpb24tYXJ0aXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2QtZGVjb3JhdGlvbi1hcnRpc3QuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29kRGVjb3JhdGlvbkFydGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBfYXJ0aXN0OiBDb2REZWNvcmF0aW9uQXJ0aXN0IHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgX2VkaXRlZFN0eWxlSW5kZXg6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGFydGlzdCgpOiBDb2REZWNvcmF0aW9uQXJ0aXN0IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl9hcnRpc3Q7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgYXJ0aXN0KHZhbHVlOiBDb2REZWNvcmF0aW9uQXJ0aXN0IHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLl9hcnRpc3QgPSB2YWx1ZTtcclxuICAgIHRoaXMudXBkYXRlRm9ybSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyBjb2QtZGVjb3JhdGlvbi1hcnRpc3QtdHlwZXNcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRUeXBlRW50cmllczogVGhlc2F1cnVzRW50cnlbXSB8IHVuZGVmaW5lZDtcclxuICAvLyBjb2QtZGVjb3JhdGlvbi1hcnRpc3Qtc3R5bGUtbmFtZXNcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRTdHlsZUVudHJpZXM6IFRoZXNhdXJ1c0VudHJ5W10gfCB1bmRlZmluZWQ7XHJcbiAgLy8gY2hyb25vdG9wZS10YWdzXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY3RUYWdFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xyXG4gIC8vIGFzc2VydGlvbi10YWdzXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXNzVGFnRW50cmllczogVGhlc2F1cnVzRW50cnlbXSB8IHVuZGVmaW5lZDtcclxuICAvLyBkb2MtcmVmZXJlbmNlLXR5cGVzXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVmVHlwZUVudHJpZXM6IFRoZXNhdXJ1c0VudHJ5W10gfCB1bmRlZmluZWQ7XHJcbiAgLy8gZG9jLXJlZmVyZW5jZS10YWdzXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVmVGFnRW50cmllczogVGhlc2F1cnVzRW50cnlbXSB8IHVuZGVmaW5lZDtcclxuICAvLyBleHRlcm5hbC1pZC10YWdzXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaWRUYWdFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xyXG4gIC8vIGV4dGVybmFsLWlkLXNjb3Blc1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlkU2NvcGVFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYXJ0aXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q29kRGVjb3JhdGlvbkFydGlzdD47XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBlZGl0b3JDbG9zZTogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gIHB1YmxpYyBlaWQ6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xyXG4gIHB1YmxpYyB0eXBlOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcclxuICBwdWJsaWMgbmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XHJcbiAgcHVibGljIGlkczogRm9ybUNvbnRyb2w8RXh0ZXJuYWxJZFtdPjtcclxuICBwdWJsaWMgc3R5bGVzOiBGb3JtQ29udHJvbDxDb2REZWNvcmF0aW9uQXJ0aXN0U3R5bGVbXT47XHJcbiAgcHVibGljIGVsZW1lbnRLZXlzOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcclxuICBwdWJsaWMgbm90ZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XHJcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgcHVibGljIGluaXRpYWxJZHM/OiBFeHRlcm5hbElkW107XHJcbiAgcHVibGljIGVkaXRlZFN0eWxlPzogQ29kRGVjb3JhdGlvbkFydGlzdFN0eWxlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHtcclxuICAgIHRoaXMuYXJ0aXN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb2REZWNvcmF0aW9uQXJ0aXN0PigpO1xyXG4gICAgdGhpcy5lZGl0b3JDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgdGhpcy5fZWRpdGVkU3R5bGVJbmRleCA9IC0xO1xyXG4gICAgLy8gZm9ybVxyXG4gICAgdGhpcy5laWQgPSBmb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwMCkpO1xyXG4gICAgdGhpcy50eXBlID0gZm9ybUJ1aWxkZXIuY29udHJvbChudWxsLCBbXHJcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwKSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5uYW1lID0gZm9ybUJ1aWxkZXIuY29udHJvbChudWxsLCBbXHJcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwMCksXHJcbiAgICBdKTtcclxuICAgIHRoaXMuaWRzID0gZm9ybUJ1aWxkZXIuY29udHJvbChbXSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcclxuICAgIHRoaXMuc3R5bGVzID0gZm9ybUJ1aWxkZXIuY29udHJvbChbXSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcclxuICAgIC8vIHNwYWNlLWRlbGltaXRlZCB0ZXh0XHJcbiAgICB0aGlzLmVsZW1lbnRLZXlzID0gZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKTtcclxuICAgIHRoaXMubm90ZSA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwMCkpO1xyXG4gICAgdGhpcy5mb3JtID0gZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBlaWQ6IHRoaXMuZWlkLFxyXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgaWRzOiB0aGlzLmlkcyxcclxuICAgICAgc3R5bGVzOiB0aGlzLnN0eWxlcyxcclxuICAgICAgZWxlbWVudEtleXM6IHRoaXMuZWxlbWVudEtleXMsXHJcbiAgICAgIG5vdGU6IHRoaXMubm90ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fYXJ0aXN0KSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRm9ybSh0aGlzLl9hcnRpc3QpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVGb3JtKGFydGlzdDogQ29kRGVjb3JhdGlvbkFydGlzdCB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgaWYgKCFhcnRpc3QpIHtcclxuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVpZC5zZXRWYWx1ZShhcnRpc3QuZWlkIHx8IG51bGwpO1xyXG4gICAgdGhpcy50eXBlLnNldFZhbHVlKGFydGlzdC50eXBlKTtcclxuICAgIHRoaXMubmFtZS5zZXRWYWx1ZShhcnRpc3QubmFtZSk7XHJcbiAgICB0aGlzLmluaXRpYWxJZHMgPSBhcnRpc3QuaWRzIHx8IFtdO1xyXG4gICAgdGhpcy5zdHlsZXMuc2V0VmFsdWUoYXJ0aXN0LnN0eWxlcyB8fCBbXSk7XHJcbiAgICAvLyBlbGVtZW50IGtleXMgYXJlIGVkaXRlZCBhcyB0ZXh0IHNlcGFyYXRlZCBieSBzcGFjZVxyXG4gICAgdGhpcy5lbGVtZW50S2V5cy5zZXRWYWx1ZShcclxuICAgICAgYXJ0aXN0LmVsZW1lbnRLZXlzID8gYXJ0aXN0LmVsZW1lbnRLZXlzLmpvaW4oJyAnKSA6ICcnXHJcbiAgICApO1xyXG4gICAgdGhpcy5ub3RlLnNldFZhbHVlKGFydGlzdC5ub3RlIHx8IG51bGwpO1xyXG4gICAgdGhpcy5mb3JtLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlRWxlbWVudEtleXMoXHJcbiAgICB0ZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXHJcbiAgKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKCF0ZXh0KSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBjb25zdCBrZXlzID0gW1xyXG4gICAgICAuLi5uZXcgU2V0KFxyXG4gICAgICAgIHRleHQuc3BsaXQoJyAnKS5maWx0ZXIoKGspID0+IHtcclxuICAgICAgICAgIHJldHVybiBrLnRyaW0oKT8ubGVuZ3RoID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICBdO1xyXG4gICAgcmV0dXJuIGtleXMubGVuZ3RoID8ga2V5cy5zb3J0KCkgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFydGlzdCgpOiBDb2REZWNvcmF0aW9uQXJ0aXN0IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGVpZDogdGhpcy5laWQudmFsdWU/LnRyaW0oKSxcclxuICAgICAgdHlwZTogdGhpcy50eXBlLnZhbHVlPy50cmltKCkgfHwgJycsXHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZS52YWx1ZT8udHJpbSgpIHx8ICcnLFxyXG4gICAgICBpZHM6IHRoaXMuaWRzLnZhbHVlPy5sZW5ndGggPyB0aGlzLmlkcy52YWx1ZSA6IHVuZGVmaW5lZCxcclxuICAgICAgc3R5bGVzOiB0aGlzLnN0eWxlcy52YWx1ZT8ubGVuZ3RoID8gdGhpcy5zdHlsZXMudmFsdWUgOiB1bmRlZmluZWQsXHJcbiAgICAgIGVsZW1lbnRLZXlzOiB0aGlzLnBhcnNlRWxlbWVudEtleXModGhpcy5lbGVtZW50S2V5cy52YWx1ZSksXHJcbiAgICAgIG5vdGU6IHRoaXMubm90ZS52YWx1ZT8udHJpbSgpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbklkc0NoYW5nZShpZHM6IFJhbmtlZEV4dGVybmFsSWRbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5pZHMuc2V0VmFsdWUoaWRzKTtcclxuICAgIHRoaXMuaWRzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuaWRzLm1hcmtBc0RpcnR5KCk7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gc3R5bGVzXHJcbiAgcHVibGljIGFkZFN0eWxlKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3R5bGU6IENvZERlY29yYXRpb25BcnRpc3RTdHlsZSA9IHtcclxuICAgICAgbmFtZTogdGhpcy5hcnRTdHlsZUVudHJpZXM/Lmxlbmd0aCA/IHRoaXMuYXJ0U3R5bGVFbnRyaWVzWzBdLmlkIDogJycsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zdHlsZXMuc2V0VmFsdWUoWy4uLnRoaXMuc3R5bGVzLnZhbHVlLCBzdHlsZV0pO1xyXG4gICAgdGhpcy5zdHlsZXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgdGhpcy5zdHlsZXMubWFya0FzRGlydHkoKTtcclxuICAgIHRoaXMuZWRpdFN0eWxlKHRoaXMuc3R5bGVzLnZhbHVlLmxlbmd0aCAtIDEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVkaXRTdHlsZShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgIHRoaXMuX2VkaXRlZFN0eWxlSW5kZXggPSAtMTtcclxuICAgICAgdGhpcy5lZGl0ZWRTdHlsZSA9IHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2VkaXRlZFN0eWxlSW5kZXggPSBpbmRleDtcclxuICAgICAgdGhpcy5lZGl0ZWRTdHlsZSA9IHRoaXMuc3R5bGVzLnZhbHVlW2luZGV4XTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblN0eWxlU2F2ZShpdGVtOiBDb2REZWNvcmF0aW9uQXJ0aXN0U3R5bGUpOiB2b2lkIHtcclxuICAgIHRoaXMuc3R5bGVzLnNldFZhbHVlKFxyXG4gICAgICB0aGlzLnN0eWxlcy52YWx1ZS5tYXAoKHg6IENvZERlY29yYXRpb25BcnRpc3RTdHlsZSwgaTogbnVtYmVyKSA9PlxyXG4gICAgICAgIGkgPT09IHRoaXMuX2VkaXRlZFN0eWxlSW5kZXggPyBpdGVtIDogeFxyXG4gICAgICApXHJcbiAgICApO1xyXG4gICAgdGhpcy5zdHlsZXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgdGhpcy5zdHlsZXMubWFya0FzRGlydHkoKTtcclxuICAgIHRoaXMuZWRpdFN0eWxlKC0xKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblN0eWxlQ2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRTdHlsZSgtMSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlU3R5bGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlhbG9nU2VydmljZVxyXG4gICAgICAuY29uZmlybSgnQ29uZmlybWF0aW9uJywgJ0RlbGV0ZSBzdHlsZT8nKVxyXG4gICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh5ZXMpID0+IHtcclxuICAgICAgICBpZiAoeWVzKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IFsuLi50aGlzLnN0eWxlcy52YWx1ZV07XHJcbiAgICAgICAgICBpdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgdGhpcy5zdHlsZXMuc2V0VmFsdWUoaXRlbXMpO1xyXG4gICAgICAgICAgdGhpcy5zdHlsZXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgICAgdGhpcy5zdHlsZXMubWFya0FzRGlydHkoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1vdmVTdHlsZVVwKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChpbmRleCA8IDEpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaXRlbSA9IHRoaXMuc3R5bGVzLnZhbHVlW2luZGV4XTtcclxuICAgIGNvbnN0IGl0ZW1zID0gWy4uLnRoaXMuc3R5bGVzLnZhbHVlXTtcclxuICAgIGl0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICBpdGVtcy5zcGxpY2UoaW5kZXggLSAxLCAwLCBpdGVtKTtcclxuICAgIHRoaXMuc3R5bGVzLnNldFZhbHVlKGl0ZW1zKTtcclxuICAgIHRoaXMuc3R5bGVzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuc3R5bGVzLm1hcmtBc0RpcnR5KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbW92ZVN0eWxlRG93bihpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoaW5kZXggKyAxID49IHRoaXMuc3R5bGVzLnZhbHVlLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5zdHlsZXMudmFsdWVbaW5kZXhdO1xyXG4gICAgY29uc3QgaXRlbXMgPSBbLi4udGhpcy5zdHlsZXMudmFsdWVdO1xyXG4gICAgaXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIGl0ZW1zLnNwbGljZShpbmRleCArIDEsIDAsIGl0ZW0pO1xyXG4gICAgdGhpcy5zdHlsZXMuc2V0VmFsdWUoaXRlbXMpO1xyXG4gICAgdGhpcy5zdHlsZXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgdGhpcy5zdHlsZXMubWFya0FzRGlydHkoKTtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRvckNsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYXJ0aXN0Q2hhbmdlLmVtaXQodGhpcy5nZXRBcnRpc3QoKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChzdWJtaXQpPVwic2F2ZSgpXCI+XHJcbiAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBhbGlnbi1pdGVtczogY2VudGVyXCI+XHJcbiAgICA8IS0tIHR5cGUgKGJvdW5kKSAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImFydFR5cGVFbnRyaWVzPy5sZW5ndGhcIiBzdHlsZT1cImZsZXg6IDAgMCBhdXRvXCI+XHJcbiAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJ0eXBlXCIgcGxhY2Vob2xkZXI9XCJ0eXBlXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGUgb2YgYXJ0VHlwZUVudHJpZXNcIiBbdmFsdWVdPVwiZS5pZFwiPnt7XHJcbiAgICAgICAgICBlLnZhbHVlXHJcbiAgICAgICAgfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiJGFueSh0eXBlKS5lcnJvcnM/LnJlcXVpcmVkICYmICh0eXBlLmRpcnR5IHx8IHR5cGUudG91Y2hlZClcIlxyXG4gICAgICAgID50eXBlIHJlcXVpcmVkPC9tYXQtZXJyb3JcclxuICAgICAgPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwhLS0gdHlwZSAoZnJlZSkgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCIhYXJ0VHlwZUVudHJpZXM/Lmxlbmd0aFwiIHN0eWxlPVwiZmxleDogMCAwIGF1dG9cIj5cclxuICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJ0eXBlXCIgcGxhY2Vob2xkZXI9XCJ0eXBlXCIgLz5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiJGFueSh0eXBlKS5lcnJvcnM/LnJlcXVpcmVkICYmICh0eXBlLmRpcnR5IHx8IHR5cGUudG91Y2hlZClcIlxyXG4gICAgICAgID50eXBlIHJlcXVpcmVkPC9tYXQtZXJyb3JcclxuICAgICAgPlxyXG4gICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgKm5nSWY9XCIkYW55KHR5cGUpLmVycm9ycz8ubWF4TGVuZ3RoICYmICh0eXBlLmRpcnR5IHx8IHR5cGUudG91Y2hlZClcIlxyXG4gICAgICAgID50eXBlIHRvbyBsb25nPC9tYXQtZXJyb3JcclxuICAgICAgPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICA8IS0tIGVpZCAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJlaWRcIiBwbGFjZWhvbGRlcj1cIkVJRFwiIC8+XHJcbiAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAqbmdJZj1cIiRhbnkoZWlkKS5lcnJvcnM/Lm1heExlbmd0aCAmJiAoZWlkLmRpcnR5IHx8IGVpZC50b3VjaGVkKVwiXHJcbiAgICAgICAgPkVJRCB0b28gbG9uZzwvbWF0LWVycm9yXHJcbiAgICAgID5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgPCEtLSBuYW1lIC0tPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cIm5hbWVcIiBwbGFjZWhvbGRlcj1cIm5hbWVcIiAvPlxyXG4gICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgKm5nSWY9XCIkYW55KG5hbWUpLmVycm9ycz8ucmVxdWlyZWQgJiYgKG5hbWUuZGlydHkgfHwgbmFtZS50b3VjaGVkKVwiXHJcbiAgICAgICAgPm5hbWUgcmVxdWlyZWQ8L21hdC1lcnJvclxyXG4gICAgICA+XHJcbiAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAqbmdJZj1cIiRhbnkobmFtZSkuZXJyb3JzPy5tYXhMZW5ndGggJiYgKG5hbWUuZGlydHkgfHwgbmFtZS50b3VjaGVkKVwiXHJcbiAgICAgICAgPm5hbWUgdG9vIGxvbmc8L21hdC1lcnJvclxyXG4gICAgICA+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8IS0tIGlkcyAtLT5cclxuICAgIDxjYWRtdXMtcmVmcy1leHRlcm5hbC1pZHNcclxuICAgICAgW3RhZ0VudHJpZXNdPVwiaWRUYWdFbnRyaWVzXCJcclxuICAgICAgW3Njb3BlRW50cmllc109XCJpZFNjb3BlRW50cmllc1wiXHJcbiAgICAgIFthc3NUYWdFbnRyaWVzXT1cImFzc1RhZ0VudHJpZXNcIlxyXG4gICAgICBbcmVmVGFnRW50cmllc109XCJyZWZUYWdFbnRyaWVzXCJcclxuICAgICAgW3JlZlR5cGVFbnRyaWVzXT1cInJlZlR5cGVFbnRyaWVzXCJcclxuICAgICAgW2lkc109XCJpbml0aWFsSWRzIHx8IFtdXCJcclxuICAgICAgKGlkc0NoYW5nZSk9XCJvbklkc0NoYW5nZSgkZXZlbnQpXCJcclxuICAgID48L2NhZG11cy1yZWZzLWV4dGVybmFsLWlkcz5cclxuICA8L2Rpdj5cclxuICA8ZGl2PlxyXG4gICAgPCEtLSBlbGVtZW50S2V5cyAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImxvbmctdGV4dFwiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJlbGVtZW50S2V5c1wiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJlbGVtZW50IGtleXMgKHNwYWNlIGRlbGltaXRlZClcIlxyXG4gICAgICAgIG1heGxlbmd0aD1cIjUwMFwiXHJcbiAgICAgIC8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8IS0tIG5vdGUgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJsb25nLXRleHRcIj5cclxuICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICByb3dzPVwiMlwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cIm5vdGVcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwibm90ZVwiXHJcbiAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgKm5nSWY9XCIkYW55KG5vdGUpLmVycm9ycz8ubWF4TGVuZ3RoICYmIChub3RlLmRpcnR5IHx8IG5vdGUudG91Y2hlZClcIlxyXG4gICAgICAgID5ub3RlIHRvbyBsb25nPC9tYXQtZXJyb3JcclxuICAgICAgPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8IS0tIHN0eWxlcyAtLT5cclxuICA8ZmllbGRzZXQ+XHJcbiAgICA8bGVnZW5kPnN0eWxlczwvbGVnZW5kPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJhZGRTdHlsZSgpXCI+XHJcbiAgICAgIDxtYXQtaWNvbj5hZGRfY2lyY2xlPC9tYXQtaWNvbj5cclxuICAgICAgYWRkIHN0eWxlXHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDx0YWJsZT5cclxuICAgICAgPHRoZWFkPlxyXG4gICAgICAgIDx0cj5cclxuICAgICAgICAgIDx0aD48L3RoPlxyXG4gICAgICAgICAgPHRoPm5hbWU8L3RoPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGhlYWQ+XHJcbiAgICAgIDx0Ym9keT5cclxuICAgICAgICA8dHJcclxuICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICBsZXQgcyBvZiBzdHlsZXMudmFsdWUgfHwgW107XHJcbiAgICAgICAgICAgIGxldCBpID0gaW5kZXg7XHJcbiAgICAgICAgICAgIGxldCBmaXJzdCA9IGZpcnN0O1xyXG4gICAgICAgICAgICBsZXQgbGFzdCA9IGxhc3RcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkVkaXQgdGhpcyBzdHlsZVwiXHJcbiAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdFN0eWxlKGkpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiUmVtb3ZlIHRoaXMgc3R5bGVcIlxyXG4gICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVN0eWxlKGkpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5yZW1vdmVfY2lyY2xlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmlyc3RcIlxyXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb3ZlIHN0eWxlIHVwXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwibW92ZVN0eWxlVXAoaSlcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X3Vwd2FyZDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxhc3RcIlxyXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb3ZlIHN0eWxlIGRvd25cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJtb3ZlU3R5bGVEb3duKGkpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5hcnJvd19kb3dud2FyZDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDx0ZD57eyBzLm5hbWUgfX08L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwgW2V4cGFuZGVkXT1cImVkaXRlZFN0eWxlXCIgW2Rpc2FibGVkXT1cIiFlZGl0ZWRTdHlsZVwiPlxyXG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJcclxuICAgICAgICA+c3R5bGUge3sgZWRpdGVkU3R5bGU/Lm5hbWUgfX08L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyXHJcbiAgICAgID5cclxuICAgICAgPGNhZG11cy1jb2QtZGVjb3JhdGlvbi1hcnRpc3Qtc3R5bGVcclxuICAgICAgICBbY3RUYWdFbnRyaWVzXT1cImN0VGFnRW50cmllc1wiXHJcbiAgICAgICAgW2Fzc1RhZ0VudHJpZXNdPVwiYXNzVGFnRW50cmllc1wiXHJcbiAgICAgICAgW3JlZlRhZ0VudHJpZXNdPVwicmVmVGFnRW50cmllc1wiXHJcbiAgICAgICAgW3JlZlR5cGVFbnRyaWVzXT1cInJlZlR5cGVFbnRyaWVzXCJcclxuICAgICAgICBbc3R5bGVdPVwiZWRpdGVkU3R5bGVcIlxyXG4gICAgICAgIChzdHlsZUNoYW5nZSk9XCJvblN0eWxlU2F2ZSgkZXZlbnQpXCJcclxuICAgICAgICAoZWRpdG9yQ2xvc2UpPVwib25TdHlsZUNsb3NlKClcIlxyXG4gICAgICA+PC9jYWRtdXMtY29kLWRlY29yYXRpb24tYXJ0aXN0LXN0eWxlPlxyXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG4gIDwvZmllbGRzZXQ+XHJcblxyXG4gIDwhLS0gYnV0dG9ucyAtLT5cclxuICA8ZGl2PlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY29sb3I9XCJ3YXJuXCJcclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIG1hdFRvb2x0aXA9XCJEaXNjYXJkIGNoYW5nZXNcIlxyXG4gICAgICAoY2xpY2spPVwiY2FuY2VsKClcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24+Y2xlYXI8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgbWF0VG9vbHRpcD1cIkFjY2VwdCBjaGFuZ2VzXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBmb3JtLnByaXN0aW5lXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWRlY29yYXRpb24tYXJ0aXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktZGVjb3JhdGlvbnMvc3JjL2xpYi9jb2QtZGVjb3JhdGlvbi1hcnRpc3QvY29kLWRlY29yYXRpb24tYXJ0aXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2NhZG11cy1wYXJ0LWNvZGljb2xvZ3ktZGVjb3JhdGlvbnMvc3JjL2xpYi9jb2QtZGVjb3JhdGlvbi1hcnRpc3QvY29kLWRlY29yYXRpb24tYXJ0aXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUlMLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBS3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVk1QixNQUFNLE9BQU8sNEJBQTRCO0lBd0R2QyxZQUFZLFdBQXdCLEVBQVUsY0FBNkI7UUFBN0IsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDekUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU87UUFDUCxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3BDLFVBQVUsQ0FBQyxRQUFRO1lBQ25CLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1NBQ3pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDcEMsVUFBVSxDQUFDLFFBQVE7WUFDbkIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RCx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBaEZELElBQ1csTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsS0FBc0M7UUFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBMkVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQXVDO1FBQ3hELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUMscURBQXFEO1FBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUN2QixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN2RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxnQkFBZ0IsQ0FDdEIsSUFBK0I7UUFFL0IsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsTUFBTSxJQUFJLEdBQUc7WUFDWCxHQUFHLElBQUksR0FBRyxDQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQ0g7U0FDRixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sU0FBUztRQUNmLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ25DLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ25DLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3hELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ2pFLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDMUQsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRTtTQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFpQjtRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZ0JBQWdCO0lBQ1QsUUFBUTtRQUNiLE1BQU0sS0FBSyxHQUE2QjtZQUN0QyxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ3JFLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1NBQzlCO2FBQU07WUFDTCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLElBQThCO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUEyQixFQUFFLENBQVMsRUFBRSxFQUFFLENBQy9ELENBQUMsS0FBSyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN4QyxDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsY0FBYzthQUNoQixPQUFPLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQzthQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQzNCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2IsT0FBTztTQUNSO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQWE7UUFDaEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUN6QyxPQUFPO1NBQ1I7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2QixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxZQUFZO0lBRUwsTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7O3lIQXhPVSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwrYUN2QnpDLHErTEE4TEE7MkZEdkthLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSw4QkFBOEI7OEhBUzdCLE1BQU07c0JBRGhCLEtBQUs7Z0JBV0MsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLE1BQU07Z0JBSUEsV0FBVztzQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbiAgVmFsaWRhdG9ycyxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBUaGVzYXVydXNFbnRyeSB9IGZyb20gJ0BteXJtaWRvbi9jYWRtdXMtY29yZSc7XHJcbmltcG9ydCB7IEFzc2VydGVkSWQgfSBmcm9tICdAbXlybWlkb24vY2FkbXVzLXJlZnMtYXNzZXJ0ZWQtaWRzJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BteXJtaWRvbi9uZy1tYXQtdG9vbHMnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvZERlY29yYXRpb25BcnRpc3QsXHJcbiAgQ29kRGVjb3JhdGlvbkFydGlzdFN0eWxlLFxyXG59IGZyb20gJy4uL2NvZC1kZWNvcmF0aW9ucy1wYXJ0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2FkbXVzLWNvZC1kZWNvcmF0aW9uLWFydGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1kZWNvcmF0aW9uLWFydGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29kLWRlY29yYXRpb24tYXJ0aXN0LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZERlY29yYXRpb25BcnRpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUgX2FydGlzdDogQ29kRGVjb3JhdGlvbkFydGlzdCB8IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIF9lZGl0ZWRTdHlsZUluZGV4OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBhcnRpc3QoKTogQ29kRGVjb3JhdGlvbkFydGlzdCB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXJ0aXN0O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGFydGlzdCh2YWx1ZTogQ29kRGVjb3JhdGlvbkFydGlzdCB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fYXJ0aXN0ID0gdmFsdWU7XHJcbiAgICB0aGlzLnVwZGF0ZUZvcm0odmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gY29kLWRlY29yYXRpb24tYXJ0aXN0LXR5cGVzXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0VHlwZUVudHJpZXM6IFRoZXNhdXJ1c0VudHJ5W10gfCB1bmRlZmluZWQ7XHJcbiAgLy8gY29kLWRlY29yYXRpb24tYXJ0aXN0LXN0eWxlLW5hbWVzXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0U3R5bGVFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xyXG4gIC8vIGNocm9ub3RvcGUtdGFnc1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN0VGFnRW50cmllczogVGhlc2F1cnVzRW50cnlbXSB8IHVuZGVmaW5lZDtcclxuICAvLyBhc3NlcnRpb24tdGFnc1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFzc1RhZ0VudHJpZXM6IFRoZXNhdXJ1c0VudHJ5W10gfCB1bmRlZmluZWQ7XHJcbiAgLy8gZG9jLXJlZmVyZW5jZS10eXBlc1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlZlR5cGVFbnRyaWVzOiBUaGVzYXVydXNFbnRyeVtdIHwgdW5kZWZpbmVkO1xyXG4gIC8vIGRvYy1yZWZlcmVuY2UtdGFnc1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlZlRhZ0VudHJpZXM6IFRoZXNhdXJ1c0VudHJ5W10gfCB1bmRlZmluZWQ7XHJcbiAgLy8gZXh0ZXJuYWwtaWQtdGFnc1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlkVGFnRW50cmllczogVGhlc2F1cnVzRW50cnlbXSB8IHVuZGVmaW5lZDtcclxuICAvLyBleHRlcm5hbC1pZC1zY29wZXNcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpZFNjb3BlRW50cmllczogVGhlc2F1cnVzRW50cnlbXSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFydGlzdENoYW5nZTogRXZlbnRFbWl0dGVyPENvZERlY29yYXRpb25BcnRpc3Q+O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZWRpdG9yQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICBwdWJsaWMgZWlkOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcclxuICBwdWJsaWMgdHlwZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XHJcbiAgcHVibGljIG5hbWU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xyXG4gIHB1YmxpYyBpZHM6IEZvcm1Db250cm9sPEFzc2VydGVkSWRbXT47XHJcbiAgcHVibGljIHN0eWxlczogRm9ybUNvbnRyb2w8Q29kRGVjb3JhdGlvbkFydGlzdFN0eWxlW10+O1xyXG4gIHB1YmxpYyBlbGVtZW50S2V5czogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XHJcbiAgcHVibGljIG5vdGU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xyXG4gIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIHB1YmxpYyBpbml0aWFsSWRzPzogQXNzZXJ0ZWRJZFtdO1xyXG4gIHB1YmxpYyBlZGl0ZWRTdHlsZT86IENvZERlY29yYXRpb25BcnRpc3RTdHlsZTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmFydGlzdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29kRGVjb3JhdGlvbkFydGlzdD4oKTtcclxuICAgIHRoaXMuZWRpdG9yQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIHRoaXMuX2VkaXRlZFN0eWxlSW5kZXggPSAtMTtcclxuICAgIC8vIGZvcm1cclxuICAgIHRoaXMuZWlkID0gZm9ybUJ1aWxkZXIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApKTtcclxuICAgIHRoaXMudHlwZSA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgW1xyXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCksXHJcbiAgICBdKTtcclxuICAgIHRoaXMubmFtZSA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgW1xyXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApLFxyXG4gICAgXSk7XHJcbiAgICB0aGlzLmlkcyA9IGZvcm1CdWlsZGVyLmNvbnRyb2woW10sIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XHJcbiAgICB0aGlzLnN0eWxlcyA9IGZvcm1CdWlsZGVyLmNvbnRyb2woW10sIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XHJcbiAgICAvLyBzcGFjZS1kZWxpbWl0ZWQgdGV4dFxyXG4gICAgdGhpcy5lbGVtZW50S2V5cyA9IGZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCk7XHJcbiAgICB0aGlzLm5vdGUgPSBmb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwMDApKTtcclxuICAgIHRoaXMuZm9ybSA9IGZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgZWlkOiB0aGlzLmVpZCxcclxuICAgICAgdHlwZTogdGhpcy50eXBlLFxyXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgIGlkczogdGhpcy5pZHMsXHJcbiAgICAgIHN0eWxlczogdGhpcy5zdHlsZXMsXHJcbiAgICAgIGVsZW1lbnRLZXlzOiB0aGlzLmVsZW1lbnRLZXlzLFxyXG4gICAgICBub3RlOiB0aGlzLm5vdGUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2FydGlzdCkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUZvcm0odGhpcy5fYXJ0aXN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRm9ybShhcnRpc3Q6IENvZERlY29yYXRpb25BcnRpc3QgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmICghYXJ0aXN0KSB7XHJcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5laWQuc2V0VmFsdWUoYXJ0aXN0LmVpZCB8fCBudWxsKTtcclxuICAgIHRoaXMudHlwZS5zZXRWYWx1ZShhcnRpc3QudHlwZSk7XHJcbiAgICB0aGlzLm5hbWUuc2V0VmFsdWUoYXJ0aXN0Lm5hbWUpO1xyXG4gICAgdGhpcy5pbml0aWFsSWRzID0gYXJ0aXN0LmlkcyB8fCBbXTtcclxuICAgIHRoaXMuc3R5bGVzLnNldFZhbHVlKGFydGlzdC5zdHlsZXMgfHwgW10pO1xyXG4gICAgLy8gZWxlbWVudCBrZXlzIGFyZSBlZGl0ZWQgYXMgdGV4dCBzZXBhcmF0ZWQgYnkgc3BhY2VcclxuICAgIHRoaXMuZWxlbWVudEtleXMuc2V0VmFsdWUoXHJcbiAgICAgIGFydGlzdC5lbGVtZW50S2V5cyA/IGFydGlzdC5lbGVtZW50S2V5cy5qb2luKCcgJykgOiAnJ1xyXG4gICAgKTtcclxuICAgIHRoaXMubm90ZS5zZXRWYWx1ZShhcnRpc3Qubm90ZSB8fCBudWxsKTtcclxuICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUVsZW1lbnRLZXlzKFxyXG4gICAgdGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbFxyXG4gICk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICghdGV4dCkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgY29uc3Qga2V5cyA9IFtcclxuICAgICAgLi4ubmV3IFNldChcclxuICAgICAgICB0ZXh0LnNwbGl0KCcgJykuZmlsdGVyKChrKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gay50cmltKCk/Lmxlbmd0aCA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgXTtcclxuICAgIHJldHVybiBrZXlzLmxlbmd0aCA/IGtleXMuc29ydCgpIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBcnRpc3QoKTogQ29kRGVjb3JhdGlvbkFydGlzdCB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlaWQ6IHRoaXMuZWlkLnZhbHVlPy50cmltKCksXHJcbiAgICAgIHR5cGU6IHRoaXMudHlwZS52YWx1ZT8udHJpbSgpIHx8ICcnLFxyXG4gICAgICBuYW1lOiB0aGlzLm5hbWUudmFsdWU/LnRyaW0oKSB8fCAnJyxcclxuICAgICAgaWRzOiB0aGlzLmlkcy52YWx1ZT8ubGVuZ3RoID8gdGhpcy5pZHMudmFsdWUgOiB1bmRlZmluZWQsXHJcbiAgICAgIHN0eWxlczogdGhpcy5zdHlsZXMudmFsdWU/Lmxlbmd0aCA/IHRoaXMuc3R5bGVzLnZhbHVlIDogdW5kZWZpbmVkLFxyXG4gICAgICBlbGVtZW50S2V5czogdGhpcy5wYXJzZUVsZW1lbnRLZXlzKHRoaXMuZWxlbWVudEtleXMudmFsdWUpLFxyXG4gICAgICBub3RlOiB0aGlzLm5vdGUudmFsdWU/LnRyaW0oKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25JZHNDaGFuZ2UoaWRzOiBBc3NlcnRlZElkW10pOiB2b2lkIHtcclxuICAgIHRoaXMuaWRzLnNldFZhbHVlKGlkcyk7XHJcbiAgICB0aGlzLmlkcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB0aGlzLmlkcy5tYXJrQXNEaXJ0eSgpO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIHN0eWxlc1xyXG4gIHB1YmxpYyBhZGRTdHlsZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN0eWxlOiBDb2REZWNvcmF0aW9uQXJ0aXN0U3R5bGUgPSB7XHJcbiAgICAgIG5hbWU6IHRoaXMuYXJ0U3R5bGVFbnRyaWVzPy5sZW5ndGggPyB0aGlzLmFydFN0eWxlRW50cmllc1swXS5pZCA6ICcnLFxyXG4gICAgfTtcclxuICAgIHRoaXMuc3R5bGVzLnNldFZhbHVlKFsuLi50aGlzLnN0eWxlcy52YWx1ZSwgc3R5bGVdKTtcclxuICAgIHRoaXMuc3R5bGVzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuc3R5bGVzLm1hcmtBc0RpcnR5KCk7XHJcbiAgICB0aGlzLmVkaXRTdHlsZSh0aGlzLnN0eWxlcy52YWx1ZS5sZW5ndGggLSAxKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlZGl0U3R5bGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICB0aGlzLl9lZGl0ZWRTdHlsZUluZGV4ID0gLTE7XHJcbiAgICAgIHRoaXMuZWRpdGVkU3R5bGUgPSB1bmRlZmluZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9lZGl0ZWRTdHlsZUluZGV4ID0gaW5kZXg7XHJcbiAgICAgIHRoaXMuZWRpdGVkU3R5bGUgPSB0aGlzLnN0eWxlcy52YWx1ZVtpbmRleF07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TdHlsZVNhdmUoaXRlbTogQ29kRGVjb3JhdGlvbkFydGlzdFN0eWxlKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0eWxlcy5zZXRWYWx1ZShcclxuICAgICAgdGhpcy5zdHlsZXMudmFsdWUubWFwKCh4OiBDb2REZWNvcmF0aW9uQXJ0aXN0U3R5bGUsIGk6IG51bWJlcikgPT5cclxuICAgICAgICBpID09PSB0aGlzLl9lZGl0ZWRTdHlsZUluZGV4ID8gaXRlbSA6IHhcclxuICAgICAgKVxyXG4gICAgKTtcclxuICAgIHRoaXMuc3R5bGVzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuc3R5bGVzLm1hcmtBc0RpcnR5KCk7XHJcbiAgICB0aGlzLmVkaXRTdHlsZSgtMSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TdHlsZUNsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0U3R5bGUoLTEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZVN0eWxlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2VcclxuICAgICAgLmNvbmZpcm0oJ0NvbmZpcm1hdGlvbicsICdEZWxldGUgc3R5bGU/JylcclxuICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgLnN1YnNjcmliZSgoeWVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHllcykge1xyXG4gICAgICAgICAgY29uc3QgaXRlbXMgPSBbLi4udGhpcy5zdHlsZXMudmFsdWVdO1xyXG4gICAgICAgICAgaXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgIHRoaXMuc3R5bGVzLnNldFZhbHVlKGl0ZW1zKTtcclxuICAgICAgICAgIHRoaXMuc3R5bGVzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICAgIHRoaXMuc3R5bGVzLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtb3ZlU3R5bGVVcChpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoaW5kZXggPCAxKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnN0eWxlcy52YWx1ZVtpbmRleF07XHJcbiAgICBjb25zdCBpdGVtcyA9IFsuLi50aGlzLnN0eWxlcy52YWx1ZV07XHJcbiAgICBpdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgaXRlbXMuc3BsaWNlKGluZGV4IC0gMSwgMCwgaXRlbSk7XHJcbiAgICB0aGlzLnN0eWxlcy5zZXRWYWx1ZShpdGVtcyk7XHJcbiAgICB0aGlzLnN0eWxlcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB0aGlzLnN0eWxlcy5tYXJrQXNEaXJ0eSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1vdmVTdHlsZURvd24oaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKGluZGV4ICsgMSA+PSB0aGlzLnN0eWxlcy52YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaXRlbSA9IHRoaXMuc3R5bGVzLnZhbHVlW2luZGV4XTtcclxuICAgIGNvbnN0IGl0ZW1zID0gWy4uLnRoaXMuc3R5bGVzLnZhbHVlXTtcclxuICAgIGl0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICBpdGVtcy5zcGxpY2UoaW5kZXggKyAxLCAwLCBpdGVtKTtcclxuICAgIHRoaXMuc3R5bGVzLnNldFZhbHVlKGl0ZW1zKTtcclxuICAgIHRoaXMuc3R5bGVzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuc3R5bGVzLm1hcmtBc0RpcnR5KCk7XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0b3JDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2F2ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmFydGlzdENoYW5nZS5lbWl0KHRoaXMuZ2V0QXJ0aXN0KCkpO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAoc3VibWl0KT1cInNhdmUoKVwiPlxyXG4gIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxyXG4gICAgPCEtLSB0eXBlIChib3VuZCkgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJhcnRUeXBlRW50cmllcz8ubGVuZ3RoXCIgc3R5bGU9XCJmbGV4OiAwIDAgYXV0b1wiPlxyXG4gICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwidHlwZVwiIHBsYWNlaG9sZGVyPVwidHlwZVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBlIG9mIGFydFR5cGVFbnRyaWVzXCIgW3ZhbHVlXT1cImUuaWRcIj57e1xyXG4gICAgICAgICAgZS52YWx1ZVxyXG4gICAgICAgIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAqbmdJZj1cIiRhbnkodHlwZSkuZXJyb3JzPy5yZXF1aXJlZCAmJiAodHlwZS5kaXJ0eSB8fCB0eXBlLnRvdWNoZWQpXCJcclxuICAgICAgICA+dHlwZSByZXF1aXJlZDwvbWF0LWVycm9yXHJcbiAgICAgID5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8IS0tIHR5cGUgKGZyZWUpIC0tPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiIWFydFR5cGVFbnRyaWVzPy5sZW5ndGhcIiBzdHlsZT1cImZsZXg6IDAgMCBhdXRvXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwidHlwZVwiIHBsYWNlaG9sZGVyPVwidHlwZVwiIC8+XHJcbiAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAqbmdJZj1cIiRhbnkodHlwZSkuZXJyb3JzPy5yZXF1aXJlZCAmJiAodHlwZS5kaXJ0eSB8fCB0eXBlLnRvdWNoZWQpXCJcclxuICAgICAgICA+dHlwZSByZXF1aXJlZDwvbWF0LWVycm9yXHJcbiAgICAgID5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiJGFueSh0eXBlKS5lcnJvcnM/Lm1heExlbmd0aCAmJiAodHlwZS5kaXJ0eSB8fCB0eXBlLnRvdWNoZWQpXCJcclxuICAgICAgICA+dHlwZSB0b28gbG9uZzwvbWF0LWVycm9yXHJcbiAgICAgID5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgPCEtLSBlaWQgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiZWlkXCIgcGxhY2Vob2xkZXI9XCJFSURcIiAvPlxyXG4gICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgKm5nSWY9XCIkYW55KGVpZCkuZXJyb3JzPy5tYXhMZW5ndGggJiYgKGVpZC5kaXJ0eSB8fCBlaWQudG91Y2hlZClcIlxyXG4gICAgICAgID5FSUQgdG9vIGxvbmc8L21hdC1lcnJvclxyXG4gICAgICA+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgIDwhLS0gbmFtZSAtLT5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJuYW1lXCIgcGxhY2Vob2xkZXI9XCJuYW1lXCIgLz5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiJGFueShuYW1lKS5lcnJvcnM/LnJlcXVpcmVkICYmIChuYW1lLmRpcnR5IHx8IG5hbWUudG91Y2hlZClcIlxyXG4gICAgICAgID5uYW1lIHJlcXVpcmVkPC9tYXQtZXJyb3JcclxuICAgICAgPlxyXG4gICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgKm5nSWY9XCIkYW55KG5hbWUpLmVycm9ycz8ubWF4TGVuZ3RoICYmIChuYW1lLmRpcnR5IHx8IG5hbWUudG91Y2hlZClcIlxyXG4gICAgICAgID5uYW1lIHRvbyBsb25nPC9tYXQtZXJyb3JcclxuICAgICAgPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2PlxyXG4gICAgPCEtLSBpZHMgLS0+XHJcbiAgICA8Y2FkbXVzLXJlZnMtYXNzZXJ0ZWQtaWRzXHJcbiAgICAgIFt0YWdFbnRyaWVzXT1cImlkVGFnRW50cmllc1wiXHJcbiAgICAgIFtzY29wZUVudHJpZXNdPVwiaWRTY29wZUVudHJpZXNcIlxyXG4gICAgICBbYXNzVGFnRW50cmllc109XCJhc3NUYWdFbnRyaWVzXCJcclxuICAgICAgW3JlZlRhZ0VudHJpZXNdPVwicmVmVGFnRW50cmllc1wiXHJcbiAgICAgIFtyZWZUeXBlRW50cmllc109XCJyZWZUeXBlRW50cmllc1wiXHJcbiAgICAgIFtpZHNdPVwiaW5pdGlhbElkcyB8fCBbXVwiXHJcbiAgICAgIChpZHNDaGFuZ2UpPVwib25JZHNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICA+PC9jYWRtdXMtcmVmcy1hc3NlcnRlZC1pZHM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdj5cclxuICAgIDwhLS0gZWxlbWVudEtleXMgLS0+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJsb25nLXRleHRcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZWxlbWVudEtleXNcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiZWxlbWVudCBrZXlzIChzcGFjZSBkZWxpbWl0ZWQpXCJcclxuICAgICAgICBtYXhsZW5ndGg9XCI1MDBcIlxyXG4gICAgICAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2PlxyXG4gICAgPCEtLSBub3RlIC0tPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibG9uZy10ZXh0XCI+XHJcbiAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgcm93cz1cIjJcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJub3RlXCJcclxuICAgICAgICBwbGFjZWhvbGRlcj1cIm5vdGVcIlxyXG4gICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICpuZ0lmPVwiJGFueShub3RlKS5lcnJvcnM/Lm1heExlbmd0aCAmJiAobm90ZS5kaXJ0eSB8fCBub3RlLnRvdWNoZWQpXCJcclxuICAgICAgICA+bm90ZSB0b28gbG9uZzwvbWF0LWVycm9yXHJcbiAgICAgID5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBzdHlsZXMgLS0+XHJcbiAgPGZpZWxkc2V0PlxyXG4gICAgPGxlZ2VuZD5zdHlsZXM8L2xlZ2VuZD5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiYWRkU3R5bGUoKVwiPlxyXG4gICAgICA8bWF0LWljb24+YWRkX2NpcmNsZTwvbWF0LWljb24+XHJcbiAgICAgIGFkZCBzdHlsZVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8dGFibGU+XHJcbiAgICAgIDx0aGVhZD5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgIDx0aD5uYW1lPC90aD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L3RoZWFkPlxyXG4gICAgICA8dGJvZHk+XHJcbiAgICAgICAgPHRyXHJcbiAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgbGV0IHMgb2Ygc3R5bGVzLnZhbHVlIHx8IFtdO1xyXG4gICAgICAgICAgICBsZXQgaSA9IGluZGV4O1xyXG4gICAgICAgICAgICBsZXQgZmlyc3QgPSBmaXJzdDtcclxuICAgICAgICAgICAgbGV0IGxhc3QgPSBsYXN0XHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJFZGl0IHRoaXMgc3R5bGVcIlxyXG4gICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRTdHlsZShpKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlJlbW92ZSB0aGlzIHN0eWxlXCJcclxuICAgICAgICAgICAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVTdHlsZShpKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8bWF0LWljb24+cmVtb3ZlX2NpcmNsZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpcnN0XCJcclxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiTW92ZSBzdHlsZSB1cFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVTdHlsZVVwKGkpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5hcnJvd191cHdhcmQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsYXN0XCJcclxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiTW92ZSBzdHlsZSBkb3duXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwibW92ZVN0eWxlRG93bihpKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfZG93bndhcmQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8dGQ+e3sgcy5uYW1lIH19PC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L3Rib2R5PlxyXG4gICAgPC90YWJsZT5cclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIFtleHBhbmRlZF09XCJlZGl0ZWRTdHlsZVwiIFtkaXNhYmxlZF09XCIhZWRpdGVkU3R5bGVcIj5cclxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyXHJcbiAgICAgICAgPnN0eWxlIHt7IGVkaXRlZFN0eWxlPy5uYW1lIH19PC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclxyXG4gICAgICA+XHJcbiAgICAgIDxjYWRtdXMtY29kLWRlY29yYXRpb24tYXJ0aXN0LXN0eWxlXHJcbiAgICAgICAgW2N0VGFnRW50cmllc109XCJjdFRhZ0VudHJpZXNcIlxyXG4gICAgICAgIFthc3NUYWdFbnRyaWVzXT1cImFzc1RhZ0VudHJpZXNcIlxyXG4gICAgICAgIFtyZWZUYWdFbnRyaWVzXT1cInJlZlRhZ0VudHJpZXNcIlxyXG4gICAgICAgIFtyZWZUeXBlRW50cmllc109XCJyZWZUeXBlRW50cmllc1wiXHJcbiAgICAgICAgW3N0eWxlXT1cImVkaXRlZFN0eWxlXCJcclxuICAgICAgICAoc3R5bGVDaGFuZ2UpPVwib25TdHlsZVNhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRvckNsb3NlKT1cIm9uU3R5bGVDbG9zZSgpXCJcclxuICAgICAgPjwvY2FkbXVzLWNvZC1kZWNvcmF0aW9uLWFydGlzdC1zdHlsZT5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICA8L2ZpZWxkc2V0PlxyXG5cclxuICA8IS0tIGJ1dHRvbnMgLS0+XHJcbiAgPGRpdj5cclxuICAgIDxidXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNvbG9yPVwid2FyblwiXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBtYXRUb29sdGlwPVwiRGlzY2FyZCBjaGFuZ2VzXCJcclxuICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICB0eXBlPVwic3VibWl0XCJcclxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIG1hdFRvb2x0aXA9XCJBY2NlcHQgY2hhbmdlc1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgZm9ybS5wcmlzdGluZVwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtaWNvbj5jaGVja19jaXJjbGU8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZm9ybT5cclxuIl19
|