valtech-components 4.0.25 → 4.0.27
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/README.md +31 -262
- package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +4 -7
- package/esm2022/lib/components/molecules/modal-shell/modal-shell.component.mjs +3 -3
- package/esm2022/lib/components/organisms/api-key-create-modal/api-key-create-modal.component.mjs +7 -7
- package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +13 -13
- package/esm2022/lib/components/organisms/avatar-upload/avatar-upload.component.mjs +3 -3
- package/esm2022/lib/components/organisms/change-password-modal/change-password-modal.component.mjs +5 -5
- package/esm2022/lib/components/organisms/create-org-modal/create-org-modal.component.mjs +5 -5
- package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +4 -3
- package/esm2022/lib/components/organisms/edit-org-modal/edit-org-modal.component.mjs +5 -5
- package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +7 -5
- package/esm2022/lib/components/organisms/login-attempt-modal/login-attempt-modal.component.mjs +6 -3
- package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +6 -5
- package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +9 -9
- package/esm2022/lib/components/organisms/mfa-modal/mfa-modal.component.mjs +3 -3
- package/esm2022/lib/components/organisms/org-info-sheet/org-info-sheet.component.mjs +37 -48
- package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +8 -2
- package/esm2022/lib/components/organisms/organization-view/organization-view.i18n.mjs +15 -3
- package/esm2022/lib/components/organisms/session-list-modal/session-list-modal.component.mjs +4 -3
- package/esm2022/lib/components/organisms/switch-org-modal/switch-org-modal.component.mjs +3 -3
- package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.mjs +7 -7
- package/esm2022/lib/services/firebase/messaging.service.mjs +2 -2
- package/esm2022/lib/services/refreshable-stream/refreshable-stream.mjs +2 -2
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +136 -122
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/org-info-sheet/org-info-sheet.component.d.ts +12 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/services/firebase/firebase-messaging-sw.js +0 -145
|
@@ -68,7 +68,7 @@ export class ModalShellComponent {
|
|
|
68
68
|
<ion-toolbar>
|
|
69
69
|
@if (showClose()) {
|
|
70
70
|
<ion-buttons slot="end">
|
|
71
|
-
<ion-button fill="clear" color="dark" (click)="onClose()">
|
|
71
|
+
<ion-button fill="clear" color="dark" shape="round" (click)="onClose()">
|
|
72
72
|
<strong>{{ resolvedCloseLabel() }}</strong>
|
|
73
73
|
</ion-button>
|
|
74
74
|
</ion-buttons>
|
|
@@ -93,7 +93,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
93
93
|
<ion-toolbar>
|
|
94
94
|
@if (showClose()) {
|
|
95
95
|
<ion-buttons slot="end">
|
|
96
|
-
<ion-button fill="clear" color="dark" (click)="onClose()">
|
|
96
|
+
<ion-button fill="clear" color="dark" shape="round" (click)="onClose()">
|
|
97
97
|
<strong>{{ resolvedCloseLabel() }}</strong>
|
|
98
98
|
</ion-button>
|
|
99
99
|
</ion-buttons>
|
|
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
111
111
|
</ion-content>
|
|
112
112
|
`, styles: [":host{display:contents}\n"] }]
|
|
113
113
|
}] });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2hlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9tb2RhbC1zaGVsbC9tb2RhbC1zaGVsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUVyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFtQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQWxDaEM7UUFtQ1UsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVuQyxpRkFBaUY7UUFDeEUsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUVuQyx1RUFBdUU7UUFDOUQsYUFBUSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUV0Qzs7O1dBR0c7UUFDTSxlQUFVLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXhDOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBRTFDLCtEQUErRDtRQUN0RCxVQUFLLEdBQUcsTUFBTSxFQUFRLENBQUM7UUFFaEMsb0ZBQW9GO1FBQzNFLHVCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLElBQUksS0FBSztnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztLQUtKO0lBSEMsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzsrR0FsQ1UsbUJBQW1CO21HQUFuQixtQkFBbUIsd25CQTlCcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCxtR0F0QlMsU0FBUyxvR0FBRSxVQUFVLG1GQUFFLFVBQVUsOEVBQUUsU0FBUyxvUEFBRSxVQUFVLHdLQUFFLGdCQUFnQiwyRUFBRSxjQUFjOzs0RkErQnpGLG1CQUFtQjtrQkFsQy9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsWUFDM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25CdXR0b25zLCBJb25Db250ZW50LCBJb25IZWFkZXIsIElvblRvb2xiYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcblxuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcblxuLyoqXG4gKiBgdmFsLW1vZGFsLXNoZWxsYCDigJQgd3JhcHBlciBjYW7Ds25pY28gcGFyYSBtb2RhbGVzIGRlbCBmYWN0b3J5LlxuICpcbiAqIEltcGxlbWVudGEgZWwgcGF0csOzbiBvYmxpZ2F0b3JpbyBkZSBsYSBSZWdsYSAjNSAoYGZyb250ZW5kL0NMQVVERS5tZGApOlxuICogIC0gSGVhZGVyIHNpbiBgPGlvbi10aXRsZT5gLCBzb2xvIGJvdMOzbiBkZSBjaWVycmUgY29uIHRleHRvIGBDZXJyYXJgIGVuXG4gKiAgICBgc2xvdD1cImVuZFwiYC5cbiAqICAtIFTDrXR1bG8gcHJpbmNpcGFsIGRlbCBtb2RhbCBlbiBlbCBCT0RZIGNvbW8gYHZhbC1kaXNwbGF5IHNpemU9XCJzbWFsbFwiYFxuICogICAgKDMyLzI0IHB4KS5cbiAqICAtIFN1YnTDrXR1bG8gb3BjaW9uYWwgY29tbyBgdmFsLXRpdGxlIHNpemU9XCJsYXJnZVwiYCAoMjQvMTggcHgpLlxuICpcbiAqIEVsIGNvbnRlbmlkbyBkZWwgbW9kYWwgc2UgcHJveWVjdGEgdsOtYSBgPG5nLWNvbnRlbnQ+YC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1tb2RhbC1zaGVsbCBbdGl0bGVdPVwidGl0bGVcIiBbc3VidGl0bGVdPVwic3VidGl0bGVcIiAoY2xvc2UpPVwiZGlzbWlzcygpXCI+XG4gKiAgIDwhLS0gYm9keSBkZWwgbW9kYWwgLS0+XG4gKiAgIDxwPkNvbnRlbmlkby4uLjwvcD5cbiAqIDwvdmFsLW1vZGFsLXNoZWxsPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgU2luIHN1YnRpdGxlLCBjb24gbGFiZWwgZGUgY2llcnJlIGN1c3RvbTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtbW9kYWwtc2hlbGwgW3RpdGxlXT1cInRpdGxlXCIgW2Nsb3NlTGFiZWxdPVwiJ0ZlY2hhcidcIiAoY2xvc2UpPVwiZGlzbWlzcygpXCI+XG4gKiAgIC4uLlxuICogPC92YWwtbW9kYWwtc2hlbGw+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1vZGFsLXNoZWxsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbkhlYWRlciwgSW9uVG9vbGJhciwgSW9uQnV0dG9ucywgSW9uQnV0dG9uLCBJb25Db250ZW50LCBEaXNwbGF5Q29tcG9uZW50LCBUaXRsZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1oZWFkZXI+XG4gICAgICA8aW9uLXRvb2xiYXI+
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2hlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9tb2RhbC1zaGVsbC9tb2RhbC1zaGVsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUVyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFtQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQWxDaEM7UUFtQ1UsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVuQyxpRkFBaUY7UUFDeEUsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUVuQyx1RUFBdUU7UUFDOUQsYUFBUSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUV0Qzs7O1dBR0c7UUFDTSxlQUFVLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXhDOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBRTFDLCtEQUErRDtRQUN0RCxVQUFLLEdBQUcsTUFBTSxFQUFRLENBQUM7UUFFaEMsb0ZBQW9GO1FBQzNFLHVCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLElBQUksS0FBSztnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztLQUtKO0lBSEMsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzsrR0FsQ1UsbUJBQW1CO21HQUFuQixtQkFBbUIsd25CQTlCcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCxtR0F0QlMsU0FBUyxvR0FBRSxVQUFVLG1GQUFFLFVBQVUsOEVBQUUsU0FBUyxvUEFBRSxVQUFVLHdLQUFFLGdCQUFnQiwyRUFBRSxjQUFjOzs0RkErQnpGLG1CQUFtQjtrQkFsQy9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsWUFDM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25CdXR0b25zLCBJb25Db250ZW50LCBJb25IZWFkZXIsIElvblRvb2xiYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcblxuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcblxuLyoqXG4gKiBgdmFsLW1vZGFsLXNoZWxsYCDigJQgd3JhcHBlciBjYW7Ds25pY28gcGFyYSBtb2RhbGVzIGRlbCBmYWN0b3J5LlxuICpcbiAqIEltcGxlbWVudGEgZWwgcGF0csOzbiBvYmxpZ2F0b3JpbyBkZSBsYSBSZWdsYSAjNSAoYGZyb250ZW5kL0NMQVVERS5tZGApOlxuICogIC0gSGVhZGVyIHNpbiBgPGlvbi10aXRsZT5gLCBzb2xvIGJvdMOzbiBkZSBjaWVycmUgY29uIHRleHRvIGBDZXJyYXJgIGVuXG4gKiAgICBgc2xvdD1cImVuZFwiYC5cbiAqICAtIFTDrXR1bG8gcHJpbmNpcGFsIGRlbCBtb2RhbCBlbiBlbCBCT0RZIGNvbW8gYHZhbC1kaXNwbGF5IHNpemU9XCJzbWFsbFwiYFxuICogICAgKDMyLzI0IHB4KS5cbiAqICAtIFN1YnTDrXR1bG8gb3BjaW9uYWwgY29tbyBgdmFsLXRpdGxlIHNpemU9XCJsYXJnZVwiYCAoMjQvMTggcHgpLlxuICpcbiAqIEVsIGNvbnRlbmlkbyBkZWwgbW9kYWwgc2UgcHJveWVjdGEgdsOtYSBgPG5nLWNvbnRlbnQ+YC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1tb2RhbC1zaGVsbCBbdGl0bGVdPVwidGl0bGVcIiBbc3VidGl0bGVdPVwic3VidGl0bGVcIiAoY2xvc2UpPVwiZGlzbWlzcygpXCI+XG4gKiAgIDwhLS0gYm9keSBkZWwgbW9kYWwgLS0+XG4gKiAgIDxwPkNvbnRlbmlkby4uLjwvcD5cbiAqIDwvdmFsLW1vZGFsLXNoZWxsPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgU2luIHN1YnRpdGxlLCBjb24gbGFiZWwgZGUgY2llcnJlIGN1c3RvbTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtbW9kYWwtc2hlbGwgW3RpdGxlXT1cInRpdGxlXCIgW2Nsb3NlTGFiZWxdPVwiJ0ZlY2hhcidcIiAoY2xvc2UpPVwiZGlzbWlzcygpXCI+XG4gKiAgIC4uLlxuICogPC92YWwtbW9kYWwtc2hlbGw+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1vZGFsLXNoZWxsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbkhlYWRlciwgSW9uVG9vbGJhciwgSW9uQnV0dG9ucywgSW9uQnV0dG9uLCBJb25Db250ZW50LCBEaXNwbGF5Q29tcG9uZW50LCBUaXRsZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1oZWFkZXI+XG4gICAgICA8aW9uLXRvb2xiYXI+XG4gICAgICAgIEBpZiAoc2hvd0Nsb3NlKCkpIHtcbiAgICAgICAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgICAgICAgPHN0cm9uZz57eyByZXNvbHZlZENsb3NlTGFiZWwoKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICAgIH1cbiAgICAgIDwvaW9uLXRvb2xiYXI+XG4gICAgPC9pb24taGVhZGVyPlxuICAgIDxpb24tY29udGVudCBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICBAaWYgKHRpdGxlKCkpIHtcbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHRpdGxlKCksIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICB9XG4gICAgICBAaWYgKHN1YnRpdGxlKCkpIHtcbiAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiBzdWJ0aXRsZSgpLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJycsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuICAgICAgfVxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2lvbi1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2hlbGxDb21wb25lbnQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIC8qKiBUw610dWxvIHByaW5jaXBhbCBkZWwgbW9kYWwg4oCUIHNlIHJlbmRlcml6YSBjb21vIGB2YWwtZGlzcGxheSBzaXplPVwic21hbGxcImAuICovXG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgLyoqIFN1YnTDrXR1bG8gb3BjaW9uYWwg4oCUIHNlIHJlbmRlcml6YSBjb21vIGB2YWwtdGl0bGUgc2l6ZT1cImxhcmdlXCJgLiAqL1xuICByZWFkb25seSBzdWJ0aXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIC8qKlxuICAgKiBMYWJlbCBkZWwgYm90w7NuIGRlIGNpZXJyZS4gU2kgbm8gc2UgcHJvdmVlLCBzZSByZXN1ZWx2ZSB2w61hIGkxOG4gY29uIGxhXG4gICAqIGNsYXZlIGBjbG9zZWAgZGVsIG5hbWVzcGFjZSBgX2dsb2JhbGAgKFwiQ2VycmFyXCIgLyBcIkNsb3NlXCIgLyBcIkZlY2hhclwiKS5cbiAgICovXG4gIHJlYWRvbmx5IGNsb3NlTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICAvKipcbiAgICogTXVlc3RyYSBlbCBib3TDs24gZGUgY2llcnJlIGRlbCBoZWFkZXIuIGB0cnVlYCBwb3IgZGVmZWN0byAoZXN0w6FuZGFyXG4gICAqIGNhbsOzbmljbykuIFNvbG8gc2UgZGVzYWN0aXZhIGVuIG1vZGFsZXMgbm8tZGlzbWlzc2FibGUgKGVqLiBjb25maXJtYWNpb25lc1xuICAgKiBibG9xdWVhbnRlcyBxdWUgcmVxdWllcmVuIHJlc3B1ZXN0YSBleHBsw61jaXRhKS5cbiAgICovXG4gIHJlYWRvbmx5IHNob3dDbG9zZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIC8qKiBFbWl0ZSBjdWFuZG8gZWwgdXNlciB0b2NhIGVsIGJvdMOzbiBkZSBjaWVycmUgZGVsIGhlYWRlci4gKi9cbiAgcmVhZG9ubHkgY2xvc2UgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICAvKiogTGFiZWwgZWZlY3Rpdm8g4oCUIHVzYSBgY2xvc2VMYWJlbGAgc2kgdmllbmUsIHNpbm8gY2FlIGFsIGkxOG4gYF9nbG9iYWwuY2xvc2VgLiAqL1xuICByZWFkb25seSByZXNvbHZlZENsb3NlTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLmNsb3NlTGFiZWwoKTtcbiAgICBpZiAobGFiZWwpIHJldHVybiBsYWJlbDtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoJ2Nsb3NlJywgJ19nbG9iYWwnKTtcbiAgfSk7XG5cbiAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgfVxufVxuIl19
|
package/esm2022/lib/components/organisms/api-key-create-modal/api-key-create-modal.component.mjs
CHANGED
|
@@ -179,7 +179,7 @@ export class ApiKeyCreateModalComponent {
|
|
|
179
179
|
<ion-header>
|
|
180
180
|
<ion-toolbar>
|
|
181
181
|
<ion-buttons slot="end">
|
|
182
|
-
<ion-button fill="clear" color="dark" (click)="dismiss()">
|
|
182
|
+
<ion-button fill="clear" color="dark" shape="round" (click)="dismiss()">
|
|
183
183
|
<strong>{{ t('close') }}</strong>
|
|
184
184
|
</ion-button>
|
|
185
185
|
</ion-buttons>
|
|
@@ -194,10 +194,10 @@ export class ApiKeyCreateModalComponent {
|
|
|
194
194
|
<code>{{ s.secret }}</code>
|
|
195
195
|
</div>
|
|
196
196
|
<div class="apikey-actions">
|
|
197
|
-
<ion-button expand="block" color="dark" (click)="copy(s.secret)">
|
|
197
|
+
<ion-button expand="block" color="dark" shape="round" (click)="copy(s.secret)">
|
|
198
198
|
{{ copied() ? t('copied') : t('copy') }}
|
|
199
199
|
</ion-button>
|
|
200
|
-
<ion-button expand="block" fill="outline" color="dark" (click)="finishSecret()">
|
|
200
|
+
<ion-button expand="block" fill="outline" color="dark" shape="round" (click)="finishSecret()">
|
|
201
201
|
{{ t('done') }}
|
|
202
202
|
</ion-button>
|
|
203
203
|
</div>
|
|
@@ -237,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
237
237
|
<ion-header>
|
|
238
238
|
<ion-toolbar>
|
|
239
239
|
<ion-buttons slot="end">
|
|
240
|
-
<ion-button fill="clear" color="dark" (click)="dismiss()">
|
|
240
|
+
<ion-button fill="clear" color="dark" shape="round" (click)="dismiss()">
|
|
241
241
|
<strong>{{ t('close') }}</strong>
|
|
242
242
|
</ion-button>
|
|
243
243
|
</ion-buttons>
|
|
@@ -252,10 +252,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
252
252
|
<code>{{ s.secret }}</code>
|
|
253
253
|
</div>
|
|
254
254
|
<div class="apikey-actions">
|
|
255
|
-
<ion-button expand="block" color="dark" (click)="copy(s.secret)">
|
|
255
|
+
<ion-button expand="block" color="dark" shape="round" (click)="copy(s.secret)">
|
|
256
256
|
{{ copied() ? t('copied') : t('copy') }}
|
|
257
257
|
</ion-button>
|
|
258
|
-
<ion-button expand="block" fill="outline" color="dark" (click)="finishSecret()">
|
|
258
|
+
<ion-button expand="block" fill="outline" color="dark" shape="round" (click)="finishSecret()">
|
|
259
259
|
{{ t('done') }}
|
|
260
260
|
</ion-button>
|
|
261
261
|
</div>
|
|
@@ -287,4 +287,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
287
287
|
}], created: [{
|
|
288
288
|
type: Output
|
|
289
289
|
}] } });
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleS1jcmVhdGUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcGkta2V5LWNyZWF0ZS1tb2RhbC9hcGkta2V5LWNyZWF0ZS1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBa0IsZUFBZSxFQUEyQyxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUVMLHdCQUF3QixHQUV6QixNQUFNLGtEQUFrRCxDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRWhILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUU1RSxNQUFN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Ozs7O0dBNENUO3dEQWlEUSxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFXSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25CdXR0b25zLCBJb25Db250ZW50LCBJb25IZWFkZXIsIElvblRvb2xiYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcblxuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcywgRm9ybU1ldGFkYXRhLCBGb3JtU3VibWl0LCBJbnB1dE1ldGFkYXRhLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBBcGlLZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBpa2V5cy9hcGkta2V5cy5zZXJ2aWNlJztcbmltcG9ydCB7IENsaWVudEFwaUtleVdpdGhTZWNyZXQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGlrZXlzL3R5cGVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgTG9jYWxpemVkTGFiZWwsXG4gIFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSxcbiAgUGVybWlzc2lvblJlc291cmNlLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmcvcGVybWlzc2lvbi1jYXRhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3Blcm1pc3Npb24tc2VsZWN0b3IvcGVybWlzc2lvbi1zZWxlY3Rvci5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBUElfS0VZU19NT0RBTF9JMThOIH0gZnJvbSAnLi4vYXBpLWtleXMtbW9kYWwvYXBpLWtleXMtbW9kYWwuaTE4bic7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ1NldHRpbmdzLkFwaUtleXNNb2RhbCc7XG5cbi8qKlxuICogYHZhbC1hcGkta2V5LWNyZWF0ZS1tb2RhbGAg4oCUIG1vZGFsIFPDk0xPIHBhcmEgY3JlYXIgdW5hIENsaWVudCBBUEkgS2V5LlxuICpcbiAqIEV4dHJhw61kbyBkZSBgdmFsLWFwaS1rZXlzLW1vZGFsYCBiYWpvIGVsIHByb2Nlc28gZGUgQURSLTAyMTogbGEgZ2VzdGnDs24gKGxpc3RhICtcbiAqIHJldm9rZSkgdml2ZSBhaG9yYSBlbiBsYSB2aXN0YSBgdmFsLWFwaS1rZXlzLXZpZXdgLCB5IGxhIGNyZWFjacOzbiBlbiBlc3RlIG1vZGFsLFxuICogcXVlIGBhcGkta2V5cy12aWV3YCBhYnJlIHbDrWEgYE1vZGFsU2VydmljZWAuIEhlYWRlciBjYW7Ds25pY28gKFJlZ2xhICM1KTogdMOtdHVsbyBlblxuICogZWwgYm9keSwgYm90w7NuIENlcnJhciBlbiBlbCB0b29sYmFyLlxuICpcbiAqIEZsdWpvOiBzZWxlY3RvciBkZSBwZXJtaXNvcyAoZmlsdHJhZG8gcG9yIG9yZy9hcHApICsgZm9ybSAobm9tYnJlICsgZXhwaXJhY2nDs24pIOKGklxuICogY3JlYSDihpIgbXVlc3RyYSBlbCBzZWNyZXRvIFVOQSB2ZXogY29uIGNvcGlhLiBFbWl0ZSBgKGNyZWF0ZWQpYCBhbCB0ZXJtaW5hciAocGFyYVxuICogcXVlIGxhIHZpc3RhIHJlZnJlc3F1ZSBsYSBsaXN0YSkgeSBgKGRpc21pc3NlZClgIGFsIGNlcnJhci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWFwaS1rZXktY3JlYXRlLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIElvbkhlYWRlcixcbiAgICBJb25Ub29sYmFyLFxuICAgIElvbkJ1dHRvbnMsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkNvbnRlbnQsXG4gICAgRm9ybUNvbXBvbmVudCxcbiAgICBEaXNwbGF5Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIFBlcm1pc3Npb25TZWxlY3RvckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwiZGlzbWlzcygpXCI+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IHQoJ2Nsb3NlJykgfX08L3N0cm9uZz5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICA8L2lvbi10b29sYmFyPlxuICAgIDwvaW9uLWhlYWRlcj5cblxuICAgIDxpb24tY29udGVudCBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgICBAaWYgKHNlY3JldCgpOyBhcyBzKSB7XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCdzZWNyZXRUaXRsZScpLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgICA8cCBjbGFzcz1cImFwaWtleS1zZWNyZXRfX3dhcm5cIj57eyB0KCdzZWNyZXRXYXJuaW5nJykgfX08L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcGlrZXktc2VjcmV0X19ib3hcIj5cbiAgICAgICAgICA8Y29kZT57eyBzLnNlY3JldCB9fTwvY29kZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcGlrZXktYWN0aW9uc1wiPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cImNvcHkocy5zZWNyZXQpXCI+XG4gICAgICAgICAgICB7eyBjb3BpZWQoKSA/IHQoJ2NvcGllZCcpIDogdCgnY29weScpIH19XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwiZmluaXNoU2VjcmV0KClcIj5cbiAgICAgICAgICAgIHt7IHQoJ2RvbmUnKSB9fVxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ25ld0tleScpLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ2hpbnQnKSwgc2l6ZTogJ2xhcmdlJywgY29sb3I6ICcnLCBib2xkOiBmYWxzZSB9XCIgLz5cblxuICAgICAgICA8dmFsLXBlcm1pc3Npb24tc2VsZWN0b3JcbiAgICAgICAgICBbaGVhZGVyXT1cInQoJ3Blcm1pc3Npb25zTGFiZWwnKVwiXG4gICAgICAgICAgW3Blcm1pc3Npb25zXT1cImNhdGFsb2dQZXJtaXNzaW9ucygpXCJcbiAgICAgICAgICBbYWN0aW9uTGFiZWxzXT1cImFjdGlvbkxhYmVscygpXCJcbiAgICAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRQZXJtcygpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwic2VsZWN0ZWRQZXJtcy5zZXQoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDx2YWwtZm9ybSBbcHJvcHNdPVwiY3JlYXRlRm9ybSgpXCIgKG9uU3VibWl0KT1cIm9uQ3JlYXRlU3VibWl0KCRldmVudClcIiAvPlxuXG4gICAgICAgIEBpZiAoZXJyb3JNc2coKSkge1xuICAgICAgICAgIDxwIGNsYXNzPVwiYXBpa2V5LWVycm9yXCI+e3sgZXJyb3JNc2coKSB9fTwvcD5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvaW9uLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIGlvbi1jb250ZW50IHtcbiAgICAgICAgLS1wYWRkaW5nLWJvdHRvbTogY2FsYyg5NnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xuICAgICAgfVxuICAgICAgdmFsLWRpc3BsYXkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgfVxuICAgICAgdmFsLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDhweCAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlciwgI2MwMzkyYik7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LXNlY3JldF9fd2FybiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itd2FybmluZy1zaGFkZSwgI2I4ODYwMCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktc2VjcmV0X19ib3gge1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwaUtleUNyZWF0ZU1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhcGlLZXlzID0gaW5qZWN0KEFwaUtleVNlcnZpY2UpO1xuICBwcml2YXRlIGNhdGFsb2cgPSBpbmplY3QoUGVybWlzc2lvbkNhdGFsb2dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcblxuICAvKiogSW55ZWN0YWRvIHBvciBgTW9kYWxTZXJ2aWNlLm9wZW5gIOKAlCByZWZlcmVuY2lhIHBhcmEgY2VycmFyIGRlc2RlIGRlbnRyby4gKi9cbiAgQElucHV0KCkgX21vZGFsUmVmPzogeyBkaXNtaXNzOiAoZGF0YT86IHVua25vd24sIHJvbGU/OiBzdHJpbmcpID0+IHZvaWQgfTtcblxuICAvKiogTmFtZXNwYWNlIGkxOG4gKGNvbXBhcnRlIGVsIGRlIGB2YWwtYXBpLWtleXMtbW9kYWxgKS4gKi9cbiAgQElucHV0KCkgaTE4bk5hbWVzcGFjZSA9IERFRkFVTFRfTkFNRVNQQUNFO1xuXG4gIC8qKiBDYWxsYmFjayB0cmFzIGNyZWFyIHVuYSBrZXkgKHBhc2FkbyBwb3IgYGNvbXBvbmVudFByb3BzYCDigJQgcmVmcmVzY2EgbGEgbGlzdGEpLiAqL1xuICBASW5wdXQoKSBvbkNyZWF0ZWQ/OiAoKSA9PiB2b2lkO1xuXG4gIHJlYWRvbmx5IGNhdGFsb2dQZXJtaXNzaW9ucyA9IHNpZ25hbDxQZXJtaXNzaW9uUmVzb3VyY2VbXT4oW10pO1xuICByZWFkb25seSBhY3Rpb25MYWJlbHMgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgTG9jYWxpemVkTGFiZWw+Pih7fSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkUGVybXMgPSBzaWduYWw8c3RyaW5nW10+KFtdKTtcbiAgcmVhZG9ubHkgc3VibWl0dGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IGVycm9yTXNnID0gc2lnbmFsKCcnKTtcbiAgcmVhZG9ubHkgc2VjcmV0ID0gc2lnbmFsPENsaWVudEFwaUtleVdpdGhTZWNyZXQgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgY29waWVkID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKiogRW1pdGUgY3VhbmRvIHNlIGNyZcOzIHVuYSBrZXkgKGFkZW3DoXMgZGVsIGNhbGxiYWNrIGBvbkNyZWF0ZWRgKS4gKi9cbiAgQE91dHB1dCgpIGNyZWF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgY3JlYXRlRm9ybSA9IGNvbXB1dGVkPEZvcm1NZXRhZGF0YT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3Qgd29ya2luZyA9IHRoaXMuc3VibWl0dGluZygpO1xuXG4gICAgY29uc3QgbmFtZUZpZWxkOiBJbnB1dE1ldGFkYXRhID0ge1xuICAgICAgdG9rZW46ICdhcGlrZXktbmFtZScsXG4gICAgICBuYW1lOiAnbmFtZScsXG4gICAgICBsYWJlbDogdGhpcy50KCduYW1lTGFiZWwnKSxcbiAgICAgIGhpbnQ6ICcnLFxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudCgnbmFtZVBsYWNlaG9sZGVyJyksXG4gICAgICB0eXBlOiBJbnB1dFR5cGUuVEVYVCxcbiAgICAgIG9yZGVyOiAxLFxuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEyMCldLFxuICAgICAgZXJyb3JzOiB7IHJlcXVpcmVkOiB0aGlzLnQoJ25vTmFtZScpIH0sXG4gICAgICB2YWx1ZTogJycsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gICAgY29uc3QgZXhwaXJlc0ZpZWxkOiBJbnB1dE1ldGFkYXRhID0ge1xuICAgICAgdG9rZW46ICdhcGlrZXktZXhwaXJlcycsXG4gICAgICBuYW1lOiAnZXhwaXJlc0luRGF5cycsXG4gICAgICBsYWJlbDogdGhpcy50KCdleHBpcmVzTGFiZWwnKSxcbiAgICAgIGhpbnQ6ICcnLFxuICAgICAgcGxhY2Vob2xkZXI6ICcnLFxuICAgICAgdHlwZTogSW5wdXRUeXBlLk5VTUJFUixcbiAgICAgIG9yZGVyOiAzLFxuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMubWluKDEpXSxcbiAgICAgIGVycm9yczoge30sXG4gICAgICB2YWx1ZTogJycsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gICAgY29uc3Qgc3VibWl0QnV0dG9uOiBCdXR0b25NZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYXBpa2V5LWNyZWF0ZS1zdWJtaXQnLFxuICAgICAgdGV4dDogdGhpcy50KCdjcmVhdGUnKSxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICB0eXBlOiAnc3VibWl0JyxcbiAgICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIGV4cGFuZDogJ2Jsb2NrJyxcbiAgICAgIHN0YXRlOiB3b3JraW5nID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9IGFzIEJ1dHRvbk1ldGFkYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6ICcnLFxuICAgICAgc3RhdGU6IHdvcmtpbmcgPyBDb21wb25lbnRTdGF0ZXMuV09SS0lORyA6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgc2VjdGlvbnM6IFt7IG5hbWU6ICcnLCBvcmRlcjogMSwgZmllbGRzOiBbbmFtZUZpZWxkLCBleHBpcmVzRmllbGRdIH1dLFxuICAgICAgYWN0aW9uczogc3VibWl0QnV0dG9uLFxuICAgIH07XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShERUZBVUxUX05BTUVTUEFDRSkpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckNvbnRlbnQoREVGQVVMVF9OQU1FU1BBQ0UsIEFQSV9LRVlTX01PREFMX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZSh0aGlzLmkxOG5OYW1lc3BhY2UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KHRoaXMuaTE4bk5hbWVzcGFjZSwgQVBJX0tFWVNfTU9EQUxfSTE4Tik7XG4gICAgfVxuICAgIHRoaXMubG9hZENhdGFsb2coKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSBlbCBjYXTDoWxvZ28geSBsbyBmaWx0cmEgYSBsbyBhc2lnbmFibGUgYSB1bmEgQVBJIEtleSBkZSBsYSBvcmc6IGRlc2NhcnRhXG4gICAqIGBpbnRlcm5hbGAgKGVsIGJhY2tlbmQgeWEgbG9zIG9taXRlIHBhcmEgbm8tc3RhZmYpIHkgbG9zIHBlcm1pc29zIGRlIE9UUkFTIGFwcHMuXG4gICAqL1xuICBwcml2YXRlIGxvYWRDYXRhbG9nKCk6IHZvaWQge1xuICAgIGNvbnN0IG9yZ0lkID0gdGhpcy5hY3RpdmVPcmdJZCgpO1xuICAgIGlmICghb3JnSWQpIHJldHVybjtcbiAgICB0aGlzLmNhdGFsb2cuZ2V0Q2F0YWxvZyhvcmdJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAgIGNvbnN0IGFwcElkID0gcmVzLmFwcElkO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IChyZXMucGVybWlzc2lvbnMgPz8gW10pLmZpbHRlcihcbiAgICAgICAgICBwID0+IHAuc2NvcGUgIT09ICdpbnRlcm5hbCcgJiYgKHAuc2NvcGUgIT09ICdhcHAnIHx8IHAuYXBwSWQgPT09IGFwcElkKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNhdGFsb2dQZXJtaXNzaW9ucy5zZXQoZmlsdGVyZWQpO1xuICAgICAgICB0aGlzLmFjdGlvbkxhYmVscy5zZXQocmVzLmFjdGlvbkxhYmVscyA/PyB7fSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHt9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmVPcmdJZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHUgPSB0aGlzLmF1dGgudXNlcigpIGFzIHsgYWN0aXZlT3JnSWQ/OiBzdHJpbmc7IGFjdGl2ZU9yZz86IHN0cmluZyB9IHwgbnVsbDtcbiAgICByZXR1cm4gdT8uYWN0aXZlT3JnSWQgPz8gdT8uYWN0aXZlT3JnID8/ICcnO1xuICB9XG5cbiAgb25DcmVhdGVTdWJtaXQoZXZlbnQ6IEZvcm1TdWJtaXQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJtaXR0aW5nKCkpIHJldHVybjtcbiAgICB0aGlzLmVycm9yTXNnLnNldCgnJyk7XG5cbiAgICBjb25zdCBuYW1lID0gU3RyaW5nKGV2ZW50LmZpZWxkc1snbmFtZSddID8/ICcnKS50cmltKCk7XG4gICAgY29uc3QgcGVybWlzc2lvbnMgPSB0aGlzLnNlbGVjdGVkUGVybXMoKTtcbiAgICBjb25zdCBleHBpcmVzUmF3ID0gTnVtYmVyKGV2ZW50LmZpZWxkc1snZXhwaXJlc0luRGF5cyddKTtcblxuICAgIGlmICghbmFtZSkge1xuICAgICAgdGhpcy5lcnJvck1zZy5zZXQodGhpcy50KCdub05hbWUnKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmVycm9yTXNnLnNldCh0aGlzLnQoJ25vUGVybXMnKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdWJtaXR0aW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLmFwaUtleXNcbiAgICAgIC5jcmVhdGUoe1xuICAgICAgICBuYW1lLFxuICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgZXhwaXJlc0luRGF5czogTnVtYmVyLmlzRmluaXRlKGV4cGlyZXNSYXcpICYmIGV4cGlyZXNSYXcgPiAwID8gZXhwaXJlc1JhdyA6IHVuZGVmaW5lZCxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLnNlY3JldC5zZXQocmVzLmtleSk7XG4gICAgICAgICAgdGhpcy5vbkNyZWF0ZWQ/LigpO1xuICAgICAgICAgIHRoaXMuY3JlYXRlZC5lbWl0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuc3VibWl0dGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuZXJyb3JNc2cuc2V0KGVycj8uZXJyb3I/Lm1lc3NhZ2UgPz8gdGhpcy50KCdnZW5lcmljRXJyb3InKSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGNvcHkoc2VjcmV0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoc2VjcmV0KTtcbiAgICAgIHRoaXMuY29waWVkLnNldCh0cnVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIGNsaXBib2FyZCBubyBkaXNwb25pYmxlIOKAlCBlbCB1c2VyIHB1ZWRlIHNlbGVjY2lvbmFyIGVsIHRleHRvIG1hbnVhbG1lbnRlXG4gICAgfVxuICB9XG5cbiAgZmluaXNoU2VjcmV0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzbWlzcygpO1xuICB9XG5cbiAgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RhbFJlZj8uZGlzbWlzcyhudWxsLCAnY2FuY2VsJyk7XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCB0aGlzLmkxOG5OYW1lc3BhY2UpO1xuICB9XG59XG4iXX0=
|
|
290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleS1jcmVhdGUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcGkta2V5LWNyZWF0ZS1tb2RhbC9hcGkta2V5LWNyZWF0ZS1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBa0IsZUFBZSxFQUEyQyxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUVMLHdCQUF3QixHQUV6QixNQUFNLGtEQUFrRCxDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRWhILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUU1RSxNQUFNLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDO0FBRWxEOzs7Ozs7Ozs7OztHQVdHO0FBcUdILE1BQU0sT0FBTywwQkFBMEI7SUE4RXJDO1FBN0VRLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoQyxZQUFPLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDM0MsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUtuQyw0REFBNEQ7UUFDbkQsa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQztRQUtsQyx1QkFBa0IsR0FBRyxNQUFNLENBQXVCLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELGlCQUFZLEdBQUcsTUFBTSxDQUFpQyxFQUFFLENBQUMsQ0FBQztRQUMxRCxrQkFBYSxHQUFHLE1BQU0sQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUNyQyxlQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLGFBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsV0FBTSxHQUFHLE1BQU0sQ0FBZ0MsSUFBSSxDQUFDLENBQUM7UUFDckQsV0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoQyxzRUFBc0U7UUFDNUQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFcEMsZUFBVSxHQUFHLFFBQVEsQ0FBZSxHQUFHLEVBQUU7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFFbEMsTUFBTSxTQUFTLEdBQWtCO2dCQUMvQixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO2dCQUMxQixJQUFJLEVBQUUsRUFBRTtnQkFDUixXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDdEMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO2dCQUNwQixLQUFLLEVBQUUsQ0FBQztnQkFDUixVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzVELE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN0QyxLQUFLLEVBQUUsRUFBRTtnQkFDVCxLQUFLLEVBQUUsZUFBZSxDQUFDLE9BQU87YUFDZCxDQUFDO1lBRW5CLE1BQU0sWUFBWSxHQUFrQjtnQkFDbEMsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztnQkFDN0IsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2dCQUN0QixLQUFLLEVBQUUsQ0FBQztnQkFDUixVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixNQUFNLEVBQUUsRUFBRTtnQkFDVixLQUFLLEVBQUUsRUFBRTtnQkFDVCxLQUFLLEVBQUUsZUFBZSxDQUFDLE9BQU87YUFDZCxDQUFDO1lBRW5CLE1BQU0sWUFBWSxHQUFtQjtnQkFDbkMsS0FBSyxFQUFFLHNCQUFzQjtnQkFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsTUFBTTtnQkFDYixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsT0FBTztnQkFDYixJQUFJLEVBQUUsU0FBUztnQkFDZixLQUFLLEVBQUUsT0FBTztnQkFDZCxNQUFNLEVBQUUsT0FBTztnQkFDZixLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTzthQUNqRCxDQUFDO1lBRXBCLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLE9BQU87Z0JBQ2xFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUNyRSxPQUFPLEVBQUUsWUFBWTthQUN0QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFHRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSyxXQUFXO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDVixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUN4QixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUM3QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FDeEUsQ0FBQztnQkFDRixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBeUQsQ0FBQztRQUNsRixPQUFPLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFpQjtRQUM5QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFBRSxPQUFPO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXRCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNwQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU87YUFDVCxNQUFNLENBQUM7WUFDTixJQUFJO1lBQ0osV0FBVztZQUNYLGFBQWEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUN0RixDQUFDO2FBQ0QsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUNuRSxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBYztRQUN2QixJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCwyRUFBMkU7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxDQUFDLENBQUMsR0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QyxDQUFDOytHQTdLVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixpTkF0RjNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRDVCw2b0JBdERDLFNBQVMsb0dBQ1QsVUFBVSxtRkFDVixVQUFVLDhFQUNWLFNBQVMsb1BBQ1QsVUFBVSx3S0FDVixhQUFhLDhIQUNiLGdCQUFnQiwyRUFDaEIsY0FBYyx5RUFDZCwyQkFBMkI7OzRGQXdGbEIsMEJBQTBCO2tCQXBHdEMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQO3dCQUNQLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCwyQkFBMkI7cUJBQzVCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNENUO3dEQWlEUSxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFXSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25CdXR0b25zLCBJb25Db250ZW50LCBJb25IZWFkZXIsIElvblRvb2xiYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcblxuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcywgRm9ybU1ldGFkYXRhLCBGb3JtU3VibWl0LCBJbnB1dE1ldGFkYXRhLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBBcGlLZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBpa2V5cy9hcGkta2V5cy5zZXJ2aWNlJztcbmltcG9ydCB7IENsaWVudEFwaUtleVdpdGhTZWNyZXQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGlrZXlzL3R5cGVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgTG9jYWxpemVkTGFiZWwsXG4gIFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSxcbiAgUGVybWlzc2lvblJlc291cmNlLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmcvcGVybWlzc2lvbi1jYXRhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3Blcm1pc3Npb24tc2VsZWN0b3IvcGVybWlzc2lvbi1zZWxlY3Rvci5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBUElfS0VZU19NT0RBTF9JMThOIH0gZnJvbSAnLi4vYXBpLWtleXMtbW9kYWwvYXBpLWtleXMtbW9kYWwuaTE4bic7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ1NldHRpbmdzLkFwaUtleXNNb2RhbCc7XG5cbi8qKlxuICogYHZhbC1hcGkta2V5LWNyZWF0ZS1tb2RhbGAg4oCUIG1vZGFsIFPDk0xPIHBhcmEgY3JlYXIgdW5hIENsaWVudCBBUEkgS2V5LlxuICpcbiAqIEV4dHJhw61kbyBkZSBgdmFsLWFwaS1rZXlzLW1vZGFsYCBiYWpvIGVsIHByb2Nlc28gZGUgQURSLTAyMTogbGEgZ2VzdGnDs24gKGxpc3RhICtcbiAqIHJldm9rZSkgdml2ZSBhaG9yYSBlbiBsYSB2aXN0YSBgdmFsLWFwaS1rZXlzLXZpZXdgLCB5IGxhIGNyZWFjacOzbiBlbiBlc3RlIG1vZGFsLFxuICogcXVlIGBhcGkta2V5cy12aWV3YCBhYnJlIHbDrWEgYE1vZGFsU2VydmljZWAuIEhlYWRlciBjYW7Ds25pY28gKFJlZ2xhICM1KTogdMOtdHVsbyBlblxuICogZWwgYm9keSwgYm90w7NuIENlcnJhciBlbiBlbCB0b29sYmFyLlxuICpcbiAqIEZsdWpvOiBzZWxlY3RvciBkZSBwZXJtaXNvcyAoZmlsdHJhZG8gcG9yIG9yZy9hcHApICsgZm9ybSAobm9tYnJlICsgZXhwaXJhY2nDs24pIOKGklxuICogY3JlYSDihpIgbXVlc3RyYSBlbCBzZWNyZXRvIFVOQSB2ZXogY29uIGNvcGlhLiBFbWl0ZSBgKGNyZWF0ZWQpYCBhbCB0ZXJtaW5hciAocGFyYVxuICogcXVlIGxhIHZpc3RhIHJlZnJlc3F1ZSBsYSBsaXN0YSkgeSBgKGRpc21pc3NlZClgIGFsIGNlcnJhci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWFwaS1rZXktY3JlYXRlLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIElvbkhlYWRlcixcbiAgICBJb25Ub29sYmFyLFxuICAgIElvbkJ1dHRvbnMsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkNvbnRlbnQsXG4gICAgRm9ybUNvbXBvbmVudCxcbiAgICBEaXNwbGF5Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIFBlcm1pc3Npb25TZWxlY3RvckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cImRpc21pc3MoKVwiPlxuICAgICAgICAgICAgPHN0cm9uZz57eyB0KCdjbG9zZScpIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgQGlmIChzZWNyZXQoKTsgYXMgcykge1xuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInsgY29udGVudDogdCgnc2VjcmV0VGl0bGUnKSwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJyB9XCIgLz5cbiAgICAgICAgPHAgY2xhc3M9XCJhcGlrZXktc2VjcmV0X193YXJuXCI+e3sgdCgnc2VjcmV0V2FybmluZycpIH19PC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LXNlY3JldF9fYm94XCI+XG4gICAgICAgICAgPGNvZGU+e3sgcy5zZWNyZXQgfX08L2NvZGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LWFjdGlvbnNcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIGNvbG9yPVwiZGFya1wiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwiY29weShzLnNlY3JldClcIj5cbiAgICAgICAgICAgIHt7IGNvcGllZCgpID8gdCgnY29waWVkJykgOiB0KCdjb3B5JykgfX1cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBmaWxsPVwib3V0bGluZVwiIGNvbG9yPVwiZGFya1wiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwiZmluaXNoU2VjcmV0KClcIj5cbiAgICAgICAgICAgIHt7IHQoJ2RvbmUnKSB9fVxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ25ld0tleScpLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ2hpbnQnKSwgc2l6ZTogJ2xhcmdlJywgY29sb3I6ICcnLCBib2xkOiBmYWxzZSB9XCIgLz5cblxuICAgICAgICA8dmFsLXBlcm1pc3Npb24tc2VsZWN0b3JcbiAgICAgICAgICBbaGVhZGVyXT1cInQoJ3Blcm1pc3Npb25zTGFiZWwnKVwiXG4gICAgICAgICAgW3Blcm1pc3Npb25zXT1cImNhdGFsb2dQZXJtaXNzaW9ucygpXCJcbiAgICAgICAgICBbYWN0aW9uTGFiZWxzXT1cImFjdGlvbkxhYmVscygpXCJcbiAgICAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRQZXJtcygpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwic2VsZWN0ZWRQZXJtcy5zZXQoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDx2YWwtZm9ybSBbcHJvcHNdPVwiY3JlYXRlRm9ybSgpXCIgKG9uU3VibWl0KT1cIm9uQ3JlYXRlU3VibWl0KCRldmVudClcIiAvPlxuXG4gICAgICAgIEBpZiAoZXJyb3JNc2coKSkge1xuICAgICAgICAgIDxwIGNsYXNzPVwiYXBpa2V5LWVycm9yXCI+e3sgZXJyb3JNc2coKSB9fTwvcD5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvaW9uLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIGlvbi1jb250ZW50IHtcbiAgICAgICAgLS1wYWRkaW5nLWJvdHRvbTogY2FsYyg5NnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xuICAgICAgfVxuICAgICAgdmFsLWRpc3BsYXkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgfVxuICAgICAgdmFsLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDhweCAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlciwgI2MwMzkyYik7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LXNlY3JldF9fd2FybiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itd2FybmluZy1zaGFkZSwgI2I4ODYwMCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktc2VjcmV0X19ib3gge1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwaUtleUNyZWF0ZU1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhcGlLZXlzID0gaW5qZWN0KEFwaUtleVNlcnZpY2UpO1xuICBwcml2YXRlIGNhdGFsb2cgPSBpbmplY3QoUGVybWlzc2lvbkNhdGFsb2dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcblxuICAvKiogSW55ZWN0YWRvIHBvciBgTW9kYWxTZXJ2aWNlLm9wZW5gIOKAlCByZWZlcmVuY2lhIHBhcmEgY2VycmFyIGRlc2RlIGRlbnRyby4gKi9cbiAgQElucHV0KCkgX21vZGFsUmVmPzogeyBkaXNtaXNzOiAoZGF0YT86IHVua25vd24sIHJvbGU/OiBzdHJpbmcpID0+IHZvaWQgfTtcblxuICAvKiogTmFtZXNwYWNlIGkxOG4gKGNvbXBhcnRlIGVsIGRlIGB2YWwtYXBpLWtleXMtbW9kYWxgKS4gKi9cbiAgQElucHV0KCkgaTE4bk5hbWVzcGFjZSA9IERFRkFVTFRfTkFNRVNQQUNFO1xuXG4gIC8qKiBDYWxsYmFjayB0cmFzIGNyZWFyIHVuYSBrZXkgKHBhc2FkbyBwb3IgYGNvbXBvbmVudFByb3BzYCDigJQgcmVmcmVzY2EgbGEgbGlzdGEpLiAqL1xuICBASW5wdXQoKSBvbkNyZWF0ZWQ/OiAoKSA9PiB2b2lkO1xuXG4gIHJlYWRvbmx5IGNhdGFsb2dQZXJtaXNzaW9ucyA9IHNpZ25hbDxQZXJtaXNzaW9uUmVzb3VyY2VbXT4oW10pO1xuICByZWFkb25seSBhY3Rpb25MYWJlbHMgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgTG9jYWxpemVkTGFiZWw+Pih7fSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkUGVybXMgPSBzaWduYWw8c3RyaW5nW10+KFtdKTtcbiAgcmVhZG9ubHkgc3VibWl0dGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IGVycm9yTXNnID0gc2lnbmFsKCcnKTtcbiAgcmVhZG9ubHkgc2VjcmV0ID0gc2lnbmFsPENsaWVudEFwaUtleVdpdGhTZWNyZXQgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgY29waWVkID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKiogRW1pdGUgY3VhbmRvIHNlIGNyZcOzIHVuYSBrZXkgKGFkZW3DoXMgZGVsIGNhbGxiYWNrIGBvbkNyZWF0ZWRgKS4gKi9cbiAgQE91dHB1dCgpIGNyZWF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgY3JlYXRlRm9ybSA9IGNvbXB1dGVkPEZvcm1NZXRhZGF0YT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3Qgd29ya2luZyA9IHRoaXMuc3VibWl0dGluZygpO1xuXG4gICAgY29uc3QgbmFtZUZpZWxkOiBJbnB1dE1ldGFkYXRhID0ge1xuICAgICAgdG9rZW46ICdhcGlrZXktbmFtZScsXG4gICAgICBuYW1lOiAnbmFtZScsXG4gICAgICBsYWJlbDogdGhpcy50KCduYW1lTGFiZWwnKSxcbiAgICAgIGhpbnQ6ICcnLFxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudCgnbmFtZVBsYWNlaG9sZGVyJyksXG4gICAgICB0eXBlOiBJbnB1dFR5cGUuVEVYVCxcbiAgICAgIG9yZGVyOiAxLFxuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEyMCldLFxuICAgICAgZXJyb3JzOiB7IHJlcXVpcmVkOiB0aGlzLnQoJ25vTmFtZScpIH0sXG4gICAgICB2YWx1ZTogJycsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gICAgY29uc3QgZXhwaXJlc0ZpZWxkOiBJbnB1dE1ldGFkYXRhID0ge1xuICAgICAgdG9rZW46ICdhcGlrZXktZXhwaXJlcycsXG4gICAgICBuYW1lOiAnZXhwaXJlc0luRGF5cycsXG4gICAgICBsYWJlbDogdGhpcy50KCdleHBpcmVzTGFiZWwnKSxcbiAgICAgIGhpbnQ6ICcnLFxuICAgICAgcGxhY2Vob2xkZXI6ICcnLFxuICAgICAgdHlwZTogSW5wdXRUeXBlLk5VTUJFUixcbiAgICAgIG9yZGVyOiAzLFxuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMubWluKDEpXSxcbiAgICAgIGVycm9yczoge30sXG4gICAgICB2YWx1ZTogJycsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gICAgY29uc3Qgc3VibWl0QnV0dG9uOiBCdXR0b25NZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYXBpa2V5LWNyZWF0ZS1zdWJtaXQnLFxuICAgICAgdGV4dDogdGhpcy50KCdjcmVhdGUnKSxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICB0eXBlOiAnc3VibWl0JyxcbiAgICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIGV4cGFuZDogJ2Jsb2NrJyxcbiAgICAgIHN0YXRlOiB3b3JraW5nID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9IGFzIEJ1dHRvbk1ldGFkYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6ICcnLFxuICAgICAgc3RhdGU6IHdvcmtpbmcgPyBDb21wb25lbnRTdGF0ZXMuV09SS0lORyA6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgc2VjdGlvbnM6IFt7IG5hbWU6ICcnLCBvcmRlcjogMSwgZmllbGRzOiBbbmFtZUZpZWxkLCBleHBpcmVzRmllbGRdIH1dLFxuICAgICAgYWN0aW9uczogc3VibWl0QnV0dG9uLFxuICAgIH07XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShERUZBVUxUX05BTUVTUEFDRSkpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckNvbnRlbnQoREVGQVVMVF9OQU1FU1BBQ0UsIEFQSV9LRVlTX01PREFMX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZSh0aGlzLmkxOG5OYW1lc3BhY2UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KHRoaXMuaTE4bk5hbWVzcGFjZSwgQVBJX0tFWVNfTU9EQUxfSTE4Tik7XG4gICAgfVxuICAgIHRoaXMubG9hZENhdGFsb2coKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSBlbCBjYXTDoWxvZ28geSBsbyBmaWx0cmEgYSBsbyBhc2lnbmFibGUgYSB1bmEgQVBJIEtleSBkZSBsYSBvcmc6IGRlc2NhcnRhXG4gICAqIGBpbnRlcm5hbGAgKGVsIGJhY2tlbmQgeWEgbG9zIG9taXRlIHBhcmEgbm8tc3RhZmYpIHkgbG9zIHBlcm1pc29zIGRlIE9UUkFTIGFwcHMuXG4gICAqL1xuICBwcml2YXRlIGxvYWRDYXRhbG9nKCk6IHZvaWQge1xuICAgIGNvbnN0IG9yZ0lkID0gdGhpcy5hY3RpdmVPcmdJZCgpO1xuICAgIGlmICghb3JnSWQpIHJldHVybjtcbiAgICB0aGlzLmNhdGFsb2cuZ2V0Q2F0YWxvZyhvcmdJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAgIGNvbnN0IGFwcElkID0gcmVzLmFwcElkO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IChyZXMucGVybWlzc2lvbnMgPz8gW10pLmZpbHRlcihcbiAgICAgICAgICBwID0+IHAuc2NvcGUgIT09ICdpbnRlcm5hbCcgJiYgKHAuc2NvcGUgIT09ICdhcHAnIHx8IHAuYXBwSWQgPT09IGFwcElkKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNhdGFsb2dQZXJtaXNzaW9ucy5zZXQoZmlsdGVyZWQpO1xuICAgICAgICB0aGlzLmFjdGlvbkxhYmVscy5zZXQocmVzLmFjdGlvbkxhYmVscyA/PyB7fSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHt9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmVPcmdJZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHUgPSB0aGlzLmF1dGgudXNlcigpIGFzIHsgYWN0aXZlT3JnSWQ/OiBzdHJpbmc7IGFjdGl2ZU9yZz86IHN0cmluZyB9IHwgbnVsbDtcbiAgICByZXR1cm4gdT8uYWN0aXZlT3JnSWQgPz8gdT8uYWN0aXZlT3JnID8/ICcnO1xuICB9XG5cbiAgb25DcmVhdGVTdWJtaXQoZXZlbnQ6IEZvcm1TdWJtaXQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJtaXR0aW5nKCkpIHJldHVybjtcbiAgICB0aGlzLmVycm9yTXNnLnNldCgnJyk7XG5cbiAgICBjb25zdCBuYW1lID0gU3RyaW5nKGV2ZW50LmZpZWxkc1snbmFtZSddID8/ICcnKS50cmltKCk7XG4gICAgY29uc3QgcGVybWlzc2lvbnMgPSB0aGlzLnNlbGVjdGVkUGVybXMoKTtcbiAgICBjb25zdCBleHBpcmVzUmF3ID0gTnVtYmVyKGV2ZW50LmZpZWxkc1snZXhwaXJlc0luRGF5cyddKTtcblxuICAgIGlmICghbmFtZSkge1xuICAgICAgdGhpcy5lcnJvck1zZy5zZXQodGhpcy50KCdub05hbWUnKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmVycm9yTXNnLnNldCh0aGlzLnQoJ25vUGVybXMnKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdWJtaXR0aW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLmFwaUtleXNcbiAgICAgIC5jcmVhdGUoe1xuICAgICAgICBuYW1lLFxuICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgZXhwaXJlc0luRGF5czogTnVtYmVyLmlzRmluaXRlKGV4cGlyZXNSYXcpICYmIGV4cGlyZXNSYXcgPiAwID8gZXhwaXJlc1JhdyA6IHVuZGVmaW5lZCxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLnNlY3JldC5zZXQocmVzLmtleSk7XG4gICAgICAgICAgdGhpcy5vbkNyZWF0ZWQ/LigpO1xuICAgICAgICAgIHRoaXMuY3JlYXRlZC5lbWl0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuc3VibWl0dGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuZXJyb3JNc2cuc2V0KGVycj8uZXJyb3I/Lm1lc3NhZ2UgPz8gdGhpcy50KCdnZW5lcmljRXJyb3InKSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGNvcHkoc2VjcmV0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoc2VjcmV0KTtcbiAgICAgIHRoaXMuY29waWVkLnNldCh0cnVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIGNsaXBib2FyZCBubyBkaXNwb25pYmxlIOKAlCBlbCB1c2VyIHB1ZWRlIHNlbGVjY2lvbmFyIGVsIHRleHRvIG1hbnVhbG1lbnRlXG4gICAgfVxuICB9XG5cbiAgZmluaXNoU2VjcmV0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzbWlzcygpO1xuICB9XG5cbiAgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RhbFJlZj8uZGlzbWlzcyhudWxsLCAnY2FuY2VsJyk7XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCB0aGlzLmkxOG5OYW1lc3BhY2UpO1xuICB9XG59XG4iXX0=
|
|
@@ -213,7 +213,7 @@ export class ApiKeysModalComponent {
|
|
|
213
213
|
<ion-header>
|
|
214
214
|
<ion-toolbar>
|
|
215
215
|
<ion-buttons slot="end">
|
|
216
|
-
<ion-button fill="clear" color="dark" (click)="dismiss()">
|
|
216
|
+
<ion-button fill="clear" color="dark" shape="round" (click)="dismiss()">
|
|
217
217
|
<strong>{{ t('close') }}</strong>
|
|
218
218
|
</ion-button>
|
|
219
219
|
</ion-buttons>
|
|
@@ -233,10 +233,10 @@ export class ApiKeysModalComponent {
|
|
|
233
233
|
<code>{{ s.secret }}</code>
|
|
234
234
|
</div>
|
|
235
235
|
<div class="apikey-actions">
|
|
236
|
-
<ion-button expand="block" color="dark" (click)="copy(s.secret)">
|
|
236
|
+
<ion-button expand="block" color="dark" shape="round" (click)="copy(s.secret)">
|
|
237
237
|
{{ copied() ? t('copied') : t('copy') }}
|
|
238
238
|
</ion-button>
|
|
239
|
-
<ion-button expand="block" fill="outline" color="dark" (click)="finishSecret()">
|
|
239
|
+
<ion-button expand="block" fill="outline" color="dark" shape="round" (click)="finishSecret()">
|
|
240
240
|
{{ t('done') }}
|
|
241
241
|
</ion-button>
|
|
242
242
|
</div>
|
|
@@ -259,7 +259,7 @@ export class ApiKeysModalComponent {
|
|
|
259
259
|
{{ k.lastUsedAt || t('never') }}
|
|
260
260
|
</span>
|
|
261
261
|
</div>
|
|
262
|
-
<ion-button fill="clear" color="danger" size="small" (click)="revoke(k)">
|
|
262
|
+
<ion-button fill="clear" color="danger" size="small" shape="round" (click)="revoke(k)">
|
|
263
263
|
{{ t('revoke') }}
|
|
264
264
|
</ion-button>
|
|
265
265
|
</div>
|
|
@@ -282,13 +282,13 @@ export class ApiKeysModalComponent {
|
|
|
282
282
|
(selectedChange)="selectedPerms.set($event)"
|
|
283
283
|
/>
|
|
284
284
|
<val-form [props]="createForm()" (onSubmit)="onCreateSubmit($event)" />
|
|
285
|
-
<ion-button expand="block" fill="clear" color="medium" (click)="showCreate.set(false)">
|
|
285
|
+
<ion-button expand="block" fill="clear" color="medium" shape="round" (click)="showCreate.set(false)">
|
|
286
286
|
{{ t('cancel') }}
|
|
287
287
|
</ion-button>
|
|
288
288
|
</div>
|
|
289
289
|
} @else {
|
|
290
290
|
<div class="apikey-actions">
|
|
291
|
-
<ion-button expand="block" color="primary" (click)="openCreate()">
|
|
291
|
+
<ion-button expand="block" color="primary" shape="round" (click)="openCreate()">
|
|
292
292
|
{{ t('newKey') }}
|
|
293
293
|
</ion-button>
|
|
294
294
|
</div>
|
|
@@ -316,7 +316,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
316
316
|
<ion-header>
|
|
317
317
|
<ion-toolbar>
|
|
318
318
|
<ion-buttons slot="end">
|
|
319
|
-
<ion-button fill="clear" color="dark" (click)="dismiss()">
|
|
319
|
+
<ion-button fill="clear" color="dark" shape="round" (click)="dismiss()">
|
|
320
320
|
<strong>{{ t('close') }}</strong>
|
|
321
321
|
</ion-button>
|
|
322
322
|
</ion-buttons>
|
|
@@ -336,10 +336,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
336
336
|
<code>{{ s.secret }}</code>
|
|
337
337
|
</div>
|
|
338
338
|
<div class="apikey-actions">
|
|
339
|
-
<ion-button expand="block" color="dark" (click)="copy(s.secret)">
|
|
339
|
+
<ion-button expand="block" color="dark" shape="round" (click)="copy(s.secret)">
|
|
340
340
|
{{ copied() ? t('copied') : t('copy') }}
|
|
341
341
|
</ion-button>
|
|
342
|
-
<ion-button expand="block" fill="outline" color="dark" (click)="finishSecret()">
|
|
342
|
+
<ion-button expand="block" fill="outline" color="dark" shape="round" (click)="finishSecret()">
|
|
343
343
|
{{ t('done') }}
|
|
344
344
|
</ion-button>
|
|
345
345
|
</div>
|
|
@@ -362,7 +362,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
362
362
|
{{ k.lastUsedAt || t('never') }}
|
|
363
363
|
</span>
|
|
364
364
|
</div>
|
|
365
|
-
<ion-button fill="clear" color="danger" size="small" (click)="revoke(k)">
|
|
365
|
+
<ion-button fill="clear" color="danger" size="small" shape="round" (click)="revoke(k)">
|
|
366
366
|
{{ t('revoke') }}
|
|
367
367
|
</ion-button>
|
|
368
368
|
</div>
|
|
@@ -385,13 +385,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
385
385
|
(selectedChange)="selectedPerms.set($event)"
|
|
386
386
|
/>
|
|
387
387
|
<val-form [props]="createForm()" (onSubmit)="onCreateSubmit($event)" />
|
|
388
|
-
<ion-button expand="block" fill="clear" color="medium" (click)="showCreate.set(false)">
|
|
388
|
+
<ion-button expand="block" fill="clear" color="medium" shape="round" (click)="showCreate.set(false)">
|
|
389
389
|
{{ t('cancel') }}
|
|
390
390
|
</ion-button>
|
|
391
391
|
</div>
|
|
392
392
|
} @else {
|
|
393
393
|
<div class="apikey-actions">
|
|
394
|
-
<ion-button expand="block" color="primary" (click)="openCreate()">
|
|
394
|
+
<ion-button expand="block" color="primary" shape="round" (click)="openCreate()">
|
|
395
395
|
{{ t('newKey') }}
|
|
396
396
|
</ion-button>
|
|
397
397
|
</div>
|
|
@@ -405,4 +405,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
405
405
|
}], i18nNamespace: [{
|
|
406
406
|
type: Input
|
|
407
407
|
}] } });
|
|
408
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleXMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcGkta2V5cy1tb2RhbC9hcGkta2V5cy1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBa0IsZUFBZSxFQUEyQyxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUVMLHdCQUF3QixHQUV6QixNQUFNLGtEQUFrRCxDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRWhILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixD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bUZBQ1YsVUFBVSw4RUFDVixTQUFTLG9QQUNULFVBQVUsd0tBQ1YsVUFBVSx5R0FDVixhQUFhLDhIQUNiLGdCQUFnQiwyRUFDaEIsYUFBYSx3RUFDYixjQUFjLHlFQUNkLDJCQUEyQjs7NEZBMEtsQixxQkFBcUI7a0JBeExqQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1A7d0JBQ1AsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCwyQkFBMkI7cUJBQzVCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVGVDt3REF3RlEsU0FBUztzQkFBakIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkJ1dHRvbnMsIElvbkNvbnRlbnQsIElvbkhlYWRlciwgSW9uU3Bpbm5lciwgSW9uVG9vbGJhciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzLCBGb3JtTWV0YWRhdGEsIEZvcm1TdWJtaXQsIElucHV0TWV0YWRhdGEsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEFwaUtleVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGlrZXlzL2FwaS1rZXlzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpZW50QXBpS2V5LCBDbGllbnRBcGlLZXlXaXRoU2VjcmV0IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBpa2V5cy90eXBlcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIExvY2FsaXplZExhYmVsLFxuICBQZXJtaXNzaW9uQ2F0YWxvZ1NlcnZpY2UsXG4gIFBlcm1pc3Npb25SZXNvdXJjZSxcbn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL3Blcm1pc3Npb24tY2F0YWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcm1pc3Npb25TZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9wZXJtaXNzaW9uLXNlbGVjdG9yL3Blcm1pc3Npb24tc2VsZWN0b3IuY29tcG9uZW50JztcblxuaW1wb3J0IHsgQVBJX0tFWVNfTU9EQUxfSTE4TiB9IGZyb20gJy4vYXBpLWtleXMtbW9kYWwuaTE4bic7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ1NldHRpbmdzLkFwaUtleXNNb2RhbCc7XG5cbi8qKlxuICogYHZhbC1hcGkta2V5cy1tb2RhbGAg4oCUIGdlc3Rpw7NuIGRlIENsaWVudCBBUEkgS2V5cyBvcmctc2NvcGVhZGFzIChBRFItMDIzIGZhc2UgNikuXG4gKlxuICogTGlzdGEgbGFzIGtleXMgZGUgbGEgb3JnLCBwZXJtaXRlIGNyZWFyIChtb3N0cmFuZG8gZWwgc2VjcmV0byBVTkEgdmV6IGNvbiBjb3BpYSlcbiAqIHkgcmV2b2Nhci4gUGVuc2FkbyBwYXJhIGhhYmlsaXRhciBpbnRlZ3JhY2lvbmVzIE0yTSBkZWwgaW1wb3J0IGRlIG1pZW1icm9zLCBwZXJvXG4gKiBzaXJ2ZSBhIGN1YWxxdWllciBwZXJtaXNvIGRlbCBjYXTDoWxvZ28uIEhlYWRlciBjYW7Ds25pY28gKFJlZ2xhICM1KS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWFwaS1rZXlzLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIElvbkhlYWRlcixcbiAgICBJb25Ub29sYmFyLFxuICAgIElvbkJ1dHRvbnMsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkNvbnRlbnQsXG4gICAgSW9uU3Bpbm5lcixcbiAgICBGb3JtQ29tcG9uZW50LFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBQZXJtaXNzaW9uU2VsZWN0b3JDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1oZWFkZXI+XG4gICAgICA8aW9uLXRvb2xiYXI+XG4gICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cImRpc21pc3MoKVwiPlxuICAgICAgICAgICAgPHN0cm9uZz57eyB0KCdjbG9zZScpIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ3RpdGxlJyksIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ2hpbnQnKSwgc2l6ZTogJ2xhcmdlJywgY29sb3I6ICcnLCBib2xkOiBmYWxzZSB9XCIgLz5cblxuICAgICAgQGlmIChzZWNyZXQoKTsgYXMgcykge1xuICAgICAgICA8IS0tIFNlY3JldG8gcmVjacOpbiBjcmVhZG86IG1vc3RyYXIgVU5BIHZleiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1zZWNyZXRcIj5cbiAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ3NlY3JldFRpdGxlJyksIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogdHJ1ZSB9XCIgLz5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwaWtleS1zZWNyZXRfX3dhcm5cIj57eyB0KCdzZWNyZXRXYXJuaW5nJykgfX08L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1zZWNyZXRfX2JveFwiPlxuICAgICAgICAgICAgPGNvZGU+e3sgcy5zZWNyZXQgfX08L2NvZGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJjb3B5KHMuc2VjcmV0KVwiPlxuICAgICAgICAgICAgICB7eyBjb3BpZWQoKSA/IHQoJ2NvcGllZCcpIDogdCgnY29weScpIH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIGZpbGw9XCJvdXRsaW5lXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cImZpbmlzaFNlY3JldCgpXCI+XG4gICAgICAgICAgICAgIHt7IHQoJ2RvbmUnKSB9fVxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDwhLS0gTGlzdGEgLS0+XG4gICAgICAgICAgQGlmIChrZXlzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cInsgY29udGVudDogdCgnZW1wdHknKSwgc2l6ZTogJ21lZGl1bScsIGNvbG9yOiAnbWVkaXVtJywgYm9sZDogZmFsc2UgfVwiIC8+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LWxpc3RcIj5cbiAgICAgICAgICAgICAgQGZvciAoayBvZiBrZXlzKCk7IHRyYWNrIGsua2V5SWQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1yb3dfX21haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcGlrZXktcm93X19uYW1lXCI+e3sgay5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwaWtleS1yb3dfX21ldGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBrLnBlcm1pc3Npb25zLmxlbmd0aCB9fSB7eyB0KCdwZXJtc0NvdW50JykgfX0gwrcge3sgdCgnbGFzdFVzZWQnKSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICB7eyBrLmxhc3RVc2VkQXQgfHwgdCgnbmV2ZXInKSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFuZ2VyXCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cInJldm9rZShrKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0KCdyZXZva2UnKSB9fVxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKGVycm9yTXNnKCkpIHtcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXBpa2V5LWVycm9yXCI+e3sgZXJyb3JNc2coKSB9fTwvcD5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8IS0tIENyZWFyIOKAlCB2YWwtZm9ybSAobm9tYnJlICsgZXhwaXJhY2nDs24pICsgc2VsZWN0b3IgZGUgcGVybWlzb3MuIC0tPlxuICAgICAgICAgIEBpZiAoc2hvd0NyZWF0ZSgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LWNyZWF0ZVwiPlxuICAgICAgICAgICAgICA8dmFsLXBlcm1pc3Npb24tc2VsZWN0b3JcbiAgICAgICAgICAgICAgICBbaGVhZGVyXT1cInQoJ3Blcm1pc3Npb25zTGFiZWwnKVwiXG4gICAgICAgICAgICAgICAgW3Blcm1pc3Npb25zXT1cImNhdGFsb2dQZXJtaXNzaW9ucygpXCJcbiAgICAgICAgICAgICAgICBbYWN0aW9uTGFiZWxzXT1cImFjdGlvbkxhYmVscygpXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRQZXJtcygpXCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwic2VsZWN0ZWRQZXJtcy5zZXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDx2YWwtZm9ybSBbcHJvcHNdPVwiY3JlYXRlRm9ybSgpXCIgKG9uU3VibWl0KT1cIm9uQ3JlYXRlU3VibWl0KCRldmVudClcIiAvPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwibWVkaXVtXCIgKGNsaWNrKT1cInNob3dDcmVhdGUuc2V0KGZhbHNlKVwiPlxuICAgICAgICAgICAgICAgIHt7IHQoJ2NhbmNlbCcpIH19XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5DcmVhdGUoKVwiPlxuICAgICAgICAgICAgICAgIHt7IHQoJ25ld0tleScpIH19XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvaW9uLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC8qIFNoZWV0IG1vZGFsOiBwYWRkaW5nIGluZmVyaW9yIGdlbmVyb3NvIHBhcmEgcG9kZXIgc2Nyb2xsZWFyIGhhc3RhIGVsXG4gICAgICAgICDDumx0aW1vIGVsZW1lbnRvIChib3TDs24gY3JlYXIpIHNpbiBxdWUgcXVlZGUgYmFqbyBlbCBib3JkZS9pbmRpY2Fkb3IuICovXG4gICAgICBpb24tY29udGVudCB7XG4gICAgICAgIC0tcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgICB9XG4gICAgICB2YWwtZGlzcGxheSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG4gICAgICB2YWwtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgfVxuICAgICAgLmFwaWtleS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0taW9uLWNvbG9yLWxpZ2h0KTtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktcm93X19tYWluIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktcm93X19uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktcm93X19tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bS1zaGFkZSwgIzZiNmU3Nik7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LWNyZWF0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZzogNHB4IDAgMCAwO1xuICAgICAgfVxuICAgICAgLmFwaWtleS1wZXJtcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDhweCAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlciwgI2MwMzkyYik7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LXNlY3JldF9fd2FybiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itd2FybmluZy1zaGFkZSwgI2I4ODYwMCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktc2VjcmV0X19ib3gge1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwaUtleXNNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgYXBpS2V5cyA9IGluamVjdChBcGlLZXlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBjYXRhbG9nID0gaW5qZWN0KFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG5cbiAgLyoqIElueWVjdGFkbyBwb3IgYE1vZGFsU2VydmljZS5vcGVuYC4gKi9cbiAgQElucHV0KCkgX21vZGFsUmVmPzogeyBkaXNtaXNzOiAoZGF0YT86IHVua25vd24sIHJvbGU/OiBzdHJpbmcpID0+IHZvaWQgfTtcblxuICAvKiogTmFtZXNwYWNlIGkxOG4uICovXG4gIEBJbnB1dCgpIGkxOG5OYW1lc3BhY2UgPSBERUZBVUxUX05BTUVTUEFDRTtcblxuICAvKiogUGVybWlzb3MgZGVsIGNhdMOhbG9nbyBZQSBmaWx0cmFkb3MgKHNpbiBpbnRlcm5hbCwgc2luIG90cmFzIGFwcHMpLiAqL1xuICByZWFkb25seSBjYXRhbG9nUGVybWlzc2lvbnMgPSBzaWduYWw8UGVybWlzc2lvblJlc291cmNlW10+KFtdKTtcbiAgLyoqIExhYmVscyBkZSBhY2Npw7NuIChlcy9lbikgZGVsIGJhY2tlbmQsIHBhcmEgZWwgc2VsZWN0b3IuICovXG4gIHJlYWRvbmx5IGFjdGlvbkxhYmVscyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBMb2NhbGl6ZWRMYWJlbD4+KHt9KTtcbiAgLyoqIFBlcm1pc29zIHNlbGVjY2lvbmFkb3MgcGFyYSBsYSBudWV2YSBrZXkgKGByZXNvdXJjZTphY3Rpb25gKS4gKi9cbiAgcmVhZG9ubHkgc2VsZWN0ZWRQZXJtcyA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xuXG4gIHJlYWRvbmx5IGtleXMgPSBzaWduYWw8Q2xpZW50QXBpS2V5W10+KFtdKTtcbiAgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcmVhZG9ubHkgc2hvd0NyZWF0ZSA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHN1Ym1pdHRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBlcnJvck1zZyA9IHNpZ25hbCgnJyk7XG4gIHJlYWRvbmx5IHNlY3JldCA9IHNpZ25hbDxDbGllbnRBcGlLZXlXaXRoU2VjcmV0IHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGNvcGllZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIEZvcm1NZXRhZGF0YSBkZWwgZm9ybSBkZSBjcmVhciBrZXkgKHZhbC1mb3JtKS4gUmVhY3Rpdm8gYSBpZGlvbWEgKyBwZXJtaXNvc1xuICAgKiBkaXNwb25pYmxlcyArIGVzdGFkbyBzdWJtaXR0aW5nLiBSZWVtcGxhemEgbG9zIGlvbi1pbnB1dC9pb24tY2hlY2tib3ggY3J1ZG9zXG4gICAqIHBvciB2YWwtZm9ybSAoY29uc2lzdGVuY2lhIGNvbiBlbCByZXN0byBkZSBtb2RhbGVzIGRlbCBmYWN0b3J5KS5cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUZvcm0gPSBjb21wdXRlZDxGb3JtTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIGNvbnN0IHdvcmtpbmcgPSB0aGlzLnN1Ym1pdHRpbmcoKTtcblxuICAgIGNvbnN0IG5hbWVGaWVsZDogSW5wdXRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYXBpa2V5LW5hbWUnLFxuICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgbGFiZWw6IHRoaXMudCgnbmFtZUxhYmVsJyksXG4gICAgICBoaW50OiAnJyxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnQoJ25hbWVQbGFjZWhvbGRlcicpLFxuICAgICAgdHlwZTogSW5wdXRUeXBlLlRFWFQsXG4gICAgICBvcmRlcjogMSxcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxMjApXSxcbiAgICAgIGVycm9yczogeyByZXF1aXJlZDogdGhpcy50KCdub05hbWUnKSB9LFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcblxuICAgIGNvbnN0IGV4cGlyZXNGaWVsZDogSW5wdXRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYXBpa2V5LWV4cGlyZXMnLFxuICAgICAgbmFtZTogJ2V4cGlyZXNJbkRheXMnLFxuICAgICAgbGFiZWw6IHRoaXMudCgnZXhwaXJlc0xhYmVsJyksXG4gICAgICBoaW50OiAnJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnJyxcbiAgICAgIHR5cGU6IElucHV0VHlwZS5OVU1CRVIsXG4gICAgICBvcmRlcjogMyxcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLm1pbigxKV0sXG4gICAgICBlcnJvcnM6IHt9LFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcblxuICAgIGNvbnN0IHN1Ym1pdEJ1dHRvbjogQnV0dG9uTWV0YWRhdGEgPSB7XG4gICAgICB0b2tlbjogJ2FwaWtleS1jcmVhdGUtc3VibWl0JyxcbiAgICAgIHRleHQ6IHRoaXMudCgnY3JlYXRlJyksXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgdHlwZTogJ3N1Ym1pdCcsXG4gICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICBleHBhbmQ6ICdibG9jaycsXG4gICAgICBzdGF0ZTogd29ya2luZyA/IENvbXBvbmVudFN0YXRlcy5XT1JLSU5HIDogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBCdXR0b25NZXRhZGF0YTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiAnJyxcbiAgICAgIHN0YXRlOiB3b3JraW5nID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgIHNlY3Rpb25zOiBbeyBuYW1lOiAnJywgb3JkZXI6IDEsIGZpZWxkczogW25hbWVGaWVsZCwgZXhwaXJlc0ZpZWxkXSB9XSxcbiAgICAgIGFjdGlvbnM6IHN1Ym1pdEJ1dHRvbixcbiAgICB9O1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoREVGQVVMVF9OQU1FU1BBQ0UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KERFRkFVTFRfTkFNRVNQQUNFLCBBUElfS0VZU19NT0RBTF9JMThOKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UodGhpcy5pMThuTmFtZXNwYWNlKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudCh0aGlzLmkxOG5OYW1lc3BhY2UsIEFQSV9LRVlTX01PREFMX0kxOE4pO1xuICAgIH1cbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB0aGlzLmxvYWRDYXRhbG9nKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FyZ2EgZWwgY2F0w6Fsb2dvIGRlIHBlcm1pc29zIHkgbG8gZmlsdHJhIGEgbG8gYXNpZ25hYmxlIGEgdW5hIEFQSSBLZXkgZGUgbGFcbiAgICogb3JnOiBkZXNjYXJ0YSBgc2NvcGU6aW50ZXJuYWxgIChlbCBiYWNrZW5kIHlhIGxvcyBvbWl0ZSBwYXJhIG5vLXN0YWZmKSB5IGxvc1xuICAgKiBwZXJtaXNvcyBkZSBPVFJBUyBhcHBzIChgYXBwSWQgIT09IGFwcElkIGRlbCBjYXTDoWxvZ29gKS4gUXVlZGFuIGxvcyBwZXJtaXNvcyBkZVxuICAgKiBvcmcgKHVzZXJzL3JvbGVzL3JiYWMpICsgbG9zIGRlIGxhIGFwcCBhY3R1YWwuXG4gICAqL1xuICBwcml2YXRlIGxvYWRDYXRhbG9nKCk6IHZvaWQge1xuICAgIGNvbnN0IG9yZ0lkID0gdGhpcy5hY3RpdmVPcmdJZCgpO1xuICAgIGlmICghb3JnSWQpIHJldHVybjtcbiAgICB0aGlzLmNhdGFsb2cuZ2V0Q2F0YWxvZyhvcmdJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAgIGNvbnN0IGFwcElkID0gcmVzLmFwcElkO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IChyZXMucGVybWlzc2lvbnMgPz8gW10pLmZpbHRlcihcbiAgICAgICAgICBwID0+IHAuc2NvcGUgIT09ICdpbnRlcm5hbCcgJiYgKHAuc2NvcGUgIT09ICdhcHAnIHx8IHAuYXBwSWQgPT09IGFwcElkKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNhdGFsb2dQZXJtaXNzaW9ucy5zZXQoZmlsdGVyZWQpO1xuICAgICAgICB0aGlzLmFjdGlvbkxhYmVscy5zZXQocmVzLmFjdGlvbkxhYmVscyA/PyB7fSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgLy8gU2luIGNhdMOhbG9nbzogZWwgc2VsZWN0b3IgcXVlZGEgdmFjw61vIChlbCBmb3JtIHZhbGlkYSDiiaUxIHBlcm1pc28pLlxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZlT3JnSWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCB1ID0gdGhpcy5hdXRoLnVzZXIoKSBhcyB7IGFjdGl2ZU9yZ0lkPzogc3RyaW5nOyBhY3RpdmVPcmc/OiBzdHJpbmcgfSB8IG51bGw7XG4gICAgcmV0dXJuIHU/LmFjdGl2ZU9yZ0lkID8/IHU/LmFjdGl2ZU9yZyA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuYXBpS2V5cy5saXN0KCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IGtleXMgPT4ge1xuICAgICAgICB0aGlzLmtleXMuc2V0KGtleXMpO1xuICAgICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5sb2FkaW5nLnNldChmYWxzZSksXG4gICAgfSk7XG4gIH1cblxuICBvcGVuQ3JlYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNc2cuc2V0KCcnKTtcbiAgICB0aGlzLnNlbGVjdGVkUGVybXMuc2V0KFtdKTtcbiAgICB0aGlzLnNob3dDcmVhdGUuc2V0KHRydWUpO1xuICB9XG5cbiAgb25DcmVhdGVTdWJtaXQoZXZlbnQ6IEZvcm1TdWJtaXQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJtaXR0aW5nKCkpIHJldHVybjtcbiAgICB0aGlzLmVycm9yTXNnLnNldCgnJyk7XG5cbiAgICBjb25zdCBuYW1lID0gU3RyaW5nKGV2ZW50LmZpZWxkc1snbmFtZSddID8/ICcnKS50cmltKCk7XG4gICAgY29uc3QgcGVybWlzc2lvbnMgPSB0aGlzLnNlbGVjdGVkUGVybXMoKTtcbiAgICBjb25zdCBleHBpcmVzUmF3ID0gTnVtYmVyKGV2ZW50LmZpZWxkc1snZXhwaXJlc0luRGF5cyddKTtcblxuICAgIGlmICghbmFtZSkge1xuICAgICAgdGhpcy5lcnJvck1zZy5zZXQodGhpcy50KCdub05hbWUnKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmVycm9yTXNnLnNldCh0aGlzLnQoJ25vUGVybXMnKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdWJtaXR0aW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLmFwaUtleXNcbiAgICAgIC5jcmVhdGUoe1xuICAgICAgICBuYW1lLFxuICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgZXhwaXJlc0luRGF5czogTnVtYmVyLmlzRmluaXRlKGV4cGlyZXNSYXcpICYmIGV4cGlyZXNSYXcgPiAwID8gZXhwaXJlc1JhdyA6IHVuZGVmaW5lZCxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLnNob3dDcmVhdGUuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLnNlY3JldC5zZXQocmVzLmtleSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuc3VibWl0dGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuZXJyb3JNc2cuc2V0KGVycj8uZXJyb3I/Lm1lc3NhZ2UgPz8gdGhpcy50KCdnZW5lcmljRXJyb3InKSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIHJldm9rZShrZXk6IENsaWVudEFwaUtleSk6IHZvaWQge1xuICAgIGlmICghY29uZmlybSh0aGlzLnQoJ3Jldm9rZUNvbmZpcm0nKSkpIHJldHVybjtcbiAgICB0aGlzLmFwaUtleXMucmV2b2tlKGtleS5rZXlJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHRoaXMucmVmcmVzaCgpLFxuICAgICAgZXJyb3I6IGVyciA9PiB0aGlzLmVycm9yTXNnLnNldChlcnI/LmVycm9yPy5tZXNzYWdlID8/IHRoaXMudCgnZ2VuZXJpY0Vycm9yJykpLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgY29weShzZWNyZXQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChzZWNyZXQpO1xuICAgICAgdGhpcy5jb3BpZWQuc2V0KHRydWUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gY2xpcGJvYXJkIG5vIGRpc3BvbmlibGUg4oCUIGVsIHVzZXIgcHVlZGUgc2VsZWNjaW9uYXIgZWwgdGV4dG8gbWFudWFsbWVudGVcbiAgICB9XG4gIH1cblxuICBmaW5pc2hTZWNyZXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWNyZXQuc2V0KG51bGwpO1xuICAgIHRoaXMuY29waWVkLnNldChmYWxzZSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBkaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMuX21vZGFsUmVmPy5kaXNtaXNzKG51bGwsICdjYW5jZWwnKTtcbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIHRoaXMuaTE4bk5hbWVzcGFjZSk7XG4gIH1cbn1cbiJdfQ==
|
|
408
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleXMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcGkta2V5cy1tb2RhbC9hcGkta2V5cy1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBa0IsZUFBZSxFQUEyQyxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUVMLHdCQUF3QixHQUV6QixNQUFNLGtEQUFrRCxDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRWhILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixD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bUZBQ1YsVUFBVSw4RUFDVixTQUFTLG9QQUNULFVBQVUsd0tBQ1YsVUFBVSx5R0FDVixhQUFhLDhIQUNiLGdCQUFnQiwyRUFDaEIsYUFBYSx3RUFDYixjQUFjLHlFQUNkLDJCQUEyQjs7NEZBMEtsQixxQkFBcUI7a0JBeExqQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1A7d0JBQ1AsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCwyQkFBMkI7cUJBQzVCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVGVDt3REF3RlEsU0FBUztzQkFBakIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkJ1dHRvbnMsIElvbkNvbnRlbnQsIElvbkhlYWRlciwgSW9uU3Bpbm5lciwgSW9uVG9vbGJhciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzLCBGb3JtTWV0YWRhdGEsIEZvcm1TdWJtaXQsIElucHV0TWV0YWRhdGEsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEFwaUtleVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGlrZXlzL2FwaS1rZXlzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpZW50QXBpS2V5LCBDbGllbnRBcGlLZXlXaXRoU2VjcmV0IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBpa2V5cy90eXBlcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIExvY2FsaXplZExhYmVsLFxuICBQZXJtaXNzaW9uQ2F0YWxvZ1NlcnZpY2UsXG4gIFBlcm1pc3Npb25SZXNvdXJjZSxcbn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL3Blcm1pc3Npb24tY2F0YWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcm1pc3Npb25TZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9wZXJtaXNzaW9uLXNlbGVjdG9yL3Blcm1pc3Npb24tc2VsZWN0b3IuY29tcG9uZW50JztcblxuaW1wb3J0IHsgQVBJX0tFWVNfTU9EQUxfSTE4TiB9IGZyb20gJy4vYXBpLWtleXMtbW9kYWwuaTE4bic7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ1NldHRpbmdzLkFwaUtleXNNb2RhbCc7XG5cbi8qKlxuICogYHZhbC1hcGkta2V5cy1tb2RhbGAg4oCUIGdlc3Rpw7NuIGRlIENsaWVudCBBUEkgS2V5cyBvcmctc2NvcGVhZGFzIChBRFItMDIzIGZhc2UgNikuXG4gKlxuICogTGlzdGEgbGFzIGtleXMgZGUgbGEgb3JnLCBwZXJtaXRlIGNyZWFyIChtb3N0cmFuZG8gZWwgc2VjcmV0byBVTkEgdmV6IGNvbiBjb3BpYSlcbiAqIHkgcmV2b2Nhci4gUGVuc2FkbyBwYXJhIGhhYmlsaXRhciBpbnRlZ3JhY2lvbmVzIE0yTSBkZWwgaW1wb3J0IGRlIG1pZW1icm9zLCBwZXJvXG4gKiBzaXJ2ZSBhIGN1YWxxdWllciBwZXJtaXNvIGRlbCBjYXTDoWxvZ28uIEhlYWRlciBjYW7Ds25pY28gKFJlZ2xhICM1KS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWFwaS1rZXlzLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIElvbkhlYWRlcixcbiAgICBJb25Ub29sYmFyLFxuICAgIElvbkJ1dHRvbnMsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkNvbnRlbnQsXG4gICAgSW9uU3Bpbm5lcixcbiAgICBGb3JtQ29tcG9uZW50LFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBQZXJtaXNzaW9uU2VsZWN0b3JDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1oZWFkZXI+XG4gICAgICA8aW9uLXRvb2xiYXI+XG4gICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJkaXNtaXNzKClcIj5cbiAgICAgICAgICAgIDxzdHJvbmc+e3sgdCgnY2xvc2UnKSB9fTwvc3Ryb25nPlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgIDwvaW9uLXRvb2xiYXI+XG4gICAgPC9pb24taGVhZGVyPlxuXG4gICAgPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCd0aXRsZScpLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCdoaW50JyksIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogZmFsc2UgfVwiIC8+XG5cbiAgICAgIEBpZiAoc2VjcmV0KCk7IGFzIHMpIHtcbiAgICAgICAgPCEtLSBTZWNyZXRvIHJlY2nDqW4gY3JlYWRvOiBtb3N0cmFyIFVOQSB2ZXogLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcGlrZXktc2VjcmV0XCI+XG4gICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCdzZWNyZXRUaXRsZScpLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJycsIGJvbGQ6IHRydWUgfVwiIC8+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcGlrZXktc2VjcmV0X193YXJuXCI+e3sgdCgnc2VjcmV0V2FybmluZycpIH19PC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcGlrZXktc2VjcmV0X19ib3hcIj5cbiAgICAgICAgICAgIDxjb2RlPnt7IHMuc2VjcmV0IH19PC9jb2RlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcGlrZXktYWN0aW9uc1wiPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBjb2xvcj1cImRhcmtcIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cImNvcHkocy5zZWNyZXQpXCI+XG4gICAgICAgICAgICAgIHt7IGNvcGllZCgpID8gdCgnY29waWVkJykgOiB0KCdjb3B5JykgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cImRhcmtcIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cImZpbmlzaFNlY3JldCgpXCI+XG4gICAgICAgICAgICAgIHt7IHQoJ2RvbmUnKSB9fVxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDwhLS0gTGlzdGEgLS0+XG4gICAgICAgICAgQGlmIChrZXlzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cInsgY29udGVudDogdCgnZW1wdHknKSwgc2l6ZTogJ21lZGl1bScsIGNvbG9yOiAnbWVkaXVtJywgYm9sZDogZmFsc2UgfVwiIC8+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LWxpc3RcIj5cbiAgICAgICAgICAgICAgQGZvciAoayBvZiBrZXlzKCk7IHRyYWNrIGsua2V5SWQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1yb3dfX21haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcGlrZXktcm93X19uYW1lXCI+e3sgay5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwaWtleS1yb3dfX21ldGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBrLnBlcm1pc3Npb25zLmxlbmd0aCB9fSB7eyB0KCdwZXJtc0NvdW50JykgfX0gwrcge3sgdCgnbGFzdFVzZWQnKSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICB7eyBrLmxhc3RVc2VkQXQgfHwgdCgnbmV2ZXInKSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFuZ2VyXCIgc2l6ZT1cInNtYWxsXCIgc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJyZXZva2UoaylcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdCgncmV2b2tlJykgfX1cbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChlcnJvck1zZygpKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImFwaWtleS1lcnJvclwiPnt7IGVycm9yTXNnKCkgfX08L3A+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPCEtLSBDcmVhciDigJQgdmFsLWZvcm0gKG5vbWJyZSArIGV4cGlyYWNpw7NuKSArIHNlbGVjdG9yIGRlIHBlcm1pc29zLiAtLT5cbiAgICAgICAgICBAaWYgKHNob3dDcmVhdGUoKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1jcmVhdGVcIj5cbiAgICAgICAgICAgICAgPHZhbC1wZXJtaXNzaW9uLXNlbGVjdG9yXG4gICAgICAgICAgICAgICAgW2hlYWRlcl09XCJ0KCdwZXJtaXNzaW9uc0xhYmVsJylcIlxuICAgICAgICAgICAgICAgIFtwZXJtaXNzaW9uc109XCJjYXRhbG9nUGVybWlzc2lvbnMoKVwiXG4gICAgICAgICAgICAgICAgW2FjdGlvbkxhYmVsc109XCJhY3Rpb25MYWJlbHMoKVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkUGVybXMoKVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInNlbGVjdGVkUGVybXMuc2V0KCRldmVudClcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8dmFsLWZvcm0gW3Byb3BzXT1cImNyZWF0ZUZvcm0oKVwiIChvblN1Ym1pdCk9XCJvbkNyZWF0ZVN1Ym1pdCgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cIm1lZGl1bVwiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic2hvd0NyZWF0ZS5zZXQoZmFsc2UpXCI+XG4gICAgICAgICAgICAgICAge3sgdCgnY2FuY2VsJykgfX1cbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBjb2xvcj1cInByaW1hcnlcIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cIm9wZW5DcmVhdGUoKVwiPlxuICAgICAgICAgICAgICAgIHt7IHQoJ25ld0tleScpIH19XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvaW9uLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC8qIFNoZWV0IG1vZGFsOiBwYWRkaW5nIGluZmVyaW9yIGdlbmVyb3NvIHBhcmEgcG9kZXIgc2Nyb2xsZWFyIGhhc3RhIGVsXG4gICAgICAgICDDumx0aW1vIGVsZW1lbnRvIChib3TDs24gY3JlYXIpIHNpbiBxdWUgcXVlZGUgYmFqbyBlbCBib3JkZS9pbmRpY2Fkb3IuICovXG4gICAgICBpb24tY29udGVudCB7XG4gICAgICAgIC0tcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgICB9XG4gICAgICB2YWwtZGlzcGxheSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG4gICAgICB2YWwtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgfVxuICAgICAgLmFwaWtleS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0taW9uLWNvbG9yLWxpZ2h0KTtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktcm93X19tYWluIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktcm93X19uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktcm93X19tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bS1zaGFkZSwgIzZiNmU3Nik7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LWNyZWF0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZzogNHB4IDAgMCAwO1xuICAgICAgfVxuICAgICAgLmFwaWtleS1wZXJtcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDhweCAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlciwgI2MwMzkyYik7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LXNlY3JldF9fd2FybiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itd2FybmluZy1zaGFkZSwgI2I4ODYwMCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktc2VjcmV0X19ib3gge1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwaUtleXNNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgYXBpS2V5cyA9IGluamVjdChBcGlLZXlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBjYXRhbG9nID0gaW5qZWN0KFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG5cbiAgLyoqIElueWVjdGFkbyBwb3IgYE1vZGFsU2VydmljZS5vcGVuYC4gKi9cbiAgQElucHV0KCkgX21vZGFsUmVmPzogeyBkaXNtaXNzOiAoZGF0YT86IHVua25vd24sIHJvbGU/OiBzdHJpbmcpID0+IHZvaWQgfTtcblxuICAvKiogTmFtZXNwYWNlIGkxOG4uICovXG4gIEBJbnB1dCgpIGkxOG5OYW1lc3BhY2UgPSBERUZBVUxUX05BTUVTUEFDRTtcblxuICAvKiogUGVybWlzb3MgZGVsIGNhdMOhbG9nbyBZQSBmaWx0cmFkb3MgKHNpbiBpbnRlcm5hbCwgc2luIG90cmFzIGFwcHMpLiAqL1xuICByZWFkb25seSBjYXRhbG9nUGVybWlzc2lvbnMgPSBzaWduYWw8UGVybWlzc2lvblJlc291cmNlW10+KFtdKTtcbiAgLyoqIExhYmVscyBkZSBhY2Npw7NuIChlcy9lbikgZGVsIGJhY2tlbmQsIHBhcmEgZWwgc2VsZWN0b3IuICovXG4gIHJlYWRvbmx5IGFjdGlvbkxhYmVscyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBMb2NhbGl6ZWRMYWJlbD4+KHt9KTtcbiAgLyoqIFBlcm1pc29zIHNlbGVjY2lvbmFkb3MgcGFyYSBsYSBudWV2YSBrZXkgKGByZXNvdXJjZTphY3Rpb25gKS4gKi9cbiAgcmVhZG9ubHkgc2VsZWN0ZWRQZXJtcyA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xuXG4gIHJlYWRvbmx5IGtleXMgPSBzaWduYWw8Q2xpZW50QXBpS2V5W10+KFtdKTtcbiAgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcmVhZG9ubHkgc2hvd0NyZWF0ZSA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHN1Ym1pdHRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBlcnJvck1zZyA9IHNpZ25hbCgnJyk7XG4gIHJlYWRvbmx5IHNlY3JldCA9IHNpZ25hbDxDbGllbnRBcGlLZXlXaXRoU2VjcmV0IHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGNvcGllZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIEZvcm1NZXRhZGF0YSBkZWwgZm9ybSBkZSBjcmVhciBrZXkgKHZhbC1mb3JtKS4gUmVhY3Rpdm8gYSBpZGlvbWEgKyBwZXJtaXNvc1xuICAgKiBkaXNwb25pYmxlcyArIGVzdGFkbyBzdWJtaXR0aW5nLiBSZWVtcGxhemEgbG9zIGlvbi1pbnB1dC9pb24tY2hlY2tib3ggY3J1ZG9zXG4gICAqIHBvciB2YWwtZm9ybSAoY29uc2lzdGVuY2lhIGNvbiBlbCByZXN0byBkZSBtb2RhbGVzIGRlbCBmYWN0b3J5KS5cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUZvcm0gPSBjb21wdXRlZDxGb3JtTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIGNvbnN0IHdvcmtpbmcgPSB0aGlzLnN1Ym1pdHRpbmcoKTtcblxuICAgIGNvbnN0IG5hbWVGaWVsZDogSW5wdXRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYXBpa2V5LW5hbWUnLFxuICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgbGFiZWw6IHRoaXMudCgnbmFtZUxhYmVsJyksXG4gICAgICBoaW50OiAnJyxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnQoJ25hbWVQbGFjZWhvbGRlcicpLFxuICAgICAgdHlwZTogSW5wdXRUeXBlLlRFWFQsXG4gICAgICBvcmRlcjogMSxcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxMjApXSxcbiAgICAgIGVycm9yczogeyByZXF1aXJlZDogdGhpcy50KCdub05hbWUnKSB9LFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcblxuICAgIGNvbnN0IGV4cGlyZXNGaWVsZDogSW5wdXRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYXBpa2V5LWV4cGlyZXMnLFxuICAgICAgbmFtZTogJ2V4cGlyZXNJbkRheXMnLFxuICAgICAgbGFiZWw6IHRoaXMudCgnZXhwaXJlc0xhYmVsJyksXG4gICAgICBoaW50OiAnJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnJyxcbiAgICAgIHR5cGU6IElucHV0VHlwZS5OVU1CRVIsXG4gICAgICBvcmRlcjogMyxcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLm1pbigxKV0sXG4gICAgICBlcnJvcnM6IHt9LFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcblxuICAgIGNvbnN0IHN1Ym1pdEJ1dHRvbjogQnV0dG9uTWV0YWRhdGEgPSB7XG4gICAgICB0b2tlbjogJ2FwaWtleS1jcmVhdGUtc3VibWl0JyxcbiAgICAgIHRleHQ6IHRoaXMudCgnY3JlYXRlJyksXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgdHlwZTogJ3N1Ym1pdCcsXG4gICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICBleHBhbmQ6ICdibG9jaycsXG4gICAgICBzdGF0ZTogd29ya2luZyA/IENvbXBvbmVudFN0YXRlcy5XT1JLSU5HIDogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBCdXR0b25NZXRhZGF0YTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiAnJyxcbiAgICAgIHN0YXRlOiB3b3JraW5nID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgIHNlY3Rpb25zOiBbeyBuYW1lOiAnJywgb3JkZXI6IDEsIGZpZWxkczogW25hbWVGaWVsZCwgZXhwaXJlc0ZpZWxkXSB9XSxcbiAgICAgIGFjdGlvbnM6IHN1Ym1pdEJ1dHRvbixcbiAgICB9O1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoREVGQVVMVF9OQU1FU1BBQ0UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KERFRkFVTFRfTkFNRVNQQUNFLCBBUElfS0VZU19NT0RBTF9JMThOKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UodGhpcy5pMThuTmFtZXNwYWNlKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudCh0aGlzLmkxOG5OYW1lc3BhY2UsIEFQSV9LRVlTX01PREFMX0kxOE4pO1xuICAgIH1cbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB0aGlzLmxvYWRDYXRhbG9nKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FyZ2EgZWwgY2F0w6Fsb2dvIGRlIHBlcm1pc29zIHkgbG8gZmlsdHJhIGEgbG8gYXNpZ25hYmxlIGEgdW5hIEFQSSBLZXkgZGUgbGFcbiAgICogb3JnOiBkZXNjYXJ0YSBgc2NvcGU6aW50ZXJuYWxgIChlbCBiYWNrZW5kIHlhIGxvcyBvbWl0ZSBwYXJhIG5vLXN0YWZmKSB5IGxvc1xuICAgKiBwZXJtaXNvcyBkZSBPVFJBUyBhcHBzIChgYXBwSWQgIT09IGFwcElkIGRlbCBjYXTDoWxvZ29gKS4gUXVlZGFuIGxvcyBwZXJtaXNvcyBkZVxuICAgKiBvcmcgKHVzZXJzL3JvbGVzL3JiYWMpICsgbG9zIGRlIGxhIGFwcCBhY3R1YWwuXG4gICAqL1xuICBwcml2YXRlIGxvYWRDYXRhbG9nKCk6IHZvaWQge1xuICAgIGNvbnN0IG9yZ0lkID0gdGhpcy5hY3RpdmVPcmdJZCgpO1xuICAgIGlmICghb3JnSWQpIHJldHVybjtcbiAgICB0aGlzLmNhdGFsb2cuZ2V0Q2F0YWxvZyhvcmdJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAgIGNvbnN0IGFwcElkID0gcmVzLmFwcElkO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IChyZXMucGVybWlzc2lvbnMgPz8gW10pLmZpbHRlcihcbiAgICAgICAgICBwID0+IHAuc2NvcGUgIT09ICdpbnRlcm5hbCcgJiYgKHAuc2NvcGUgIT09ICdhcHAnIHx8IHAuYXBwSWQgPT09IGFwcElkKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNhdGFsb2dQZXJtaXNzaW9ucy5zZXQoZmlsdGVyZWQpO1xuICAgICAgICB0aGlzLmFjdGlvbkxhYmVscy5zZXQocmVzLmFjdGlvbkxhYmVscyA/PyB7fSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgLy8gU2luIGNhdMOhbG9nbzogZWwgc2VsZWN0b3IgcXVlZGEgdmFjw61vIChlbCBmb3JtIHZhbGlkYSDiiaUxIHBlcm1pc28pLlxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZlT3JnSWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCB1ID0gdGhpcy5hdXRoLnVzZXIoKSBhcyB7IGFjdGl2ZU9yZ0lkPzogc3RyaW5nOyBhY3RpdmVPcmc/OiBzdHJpbmcgfSB8IG51bGw7XG4gICAgcmV0dXJuIHU/LmFjdGl2ZU9yZ0lkID8/IHU/LmFjdGl2ZU9yZyA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuYXBpS2V5cy5saXN0KCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IGtleXMgPT4ge1xuICAgICAgICB0aGlzLmtleXMuc2V0KGtleXMpO1xuICAgICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5sb2FkaW5nLnNldChmYWxzZSksXG4gICAgfSk7XG4gIH1cblxuICBvcGVuQ3JlYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNc2cuc2V0KCcnKTtcbiAgICB0aGlzLnNlbGVjdGVkUGVybXMuc2V0KFtdKTtcbiAgICB0aGlzLnNob3dDcmVhdGUuc2V0KHRydWUpO1xuICB9XG5cbiAgb25DcmVhdGVTdWJtaXQoZXZlbnQ6IEZvcm1TdWJtaXQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJtaXR0aW5nKCkpIHJldHVybjtcbiAgICB0aGlzLmVycm9yTXNnLnNldCgnJyk7XG5cbiAgICBjb25zdCBuYW1lID0gU3RyaW5nKGV2ZW50LmZpZWxkc1snbmFtZSddID8/ICcnKS50cmltKCk7XG4gICAgY29uc3QgcGVybWlzc2lvbnMgPSB0aGlzLnNlbGVjdGVkUGVybXMoKTtcbiAgICBjb25zdCBleHBpcmVzUmF3ID0gTnVtYmVyKGV2ZW50LmZpZWxkc1snZXhwaXJlc0luRGF5cyddKTtcblxuICAgIGlmICghbmFtZSkge1xuICAgICAgdGhpcy5lcnJvck1zZy5zZXQodGhpcy50KCdub05hbWUnKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghcGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmVycm9yTXNnLnNldCh0aGlzLnQoJ25vUGVybXMnKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdWJtaXR0aW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLmFwaUtleXNcbiAgICAgIC5jcmVhdGUoe1xuICAgICAgICBuYW1lLFxuICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgZXhwaXJlc0luRGF5czogTnVtYmVyLmlzRmluaXRlKGV4cGlyZXNSYXcpICYmIGV4cGlyZXNSYXcgPiAwID8gZXhwaXJlc1JhdyA6IHVuZGVmaW5lZCxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLnNob3dDcmVhdGUuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLnNlY3JldC5zZXQocmVzLmtleSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuc3VibWl0dGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuZXJyb3JNc2cuc2V0KGVycj8uZXJyb3I/Lm1lc3NhZ2UgPz8gdGhpcy50KCdnZW5lcmljRXJyb3InKSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIHJldm9rZShrZXk6IENsaWVudEFwaUtleSk6IHZvaWQge1xuICAgIGlmICghY29uZmlybSh0aGlzLnQoJ3Jldm9rZUNvbmZpcm0nKSkpIHJldHVybjtcbiAgICB0aGlzLmFwaUtleXMucmV2b2tlKGtleS5rZXlJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHRoaXMucmVmcmVzaCgpLFxuICAgICAgZXJyb3I6IGVyciA9PiB0aGlzLmVycm9yTXNnLnNldChlcnI/LmVycm9yPy5tZXNzYWdlID8/IHRoaXMudCgnZ2VuZXJpY0Vycm9yJykpLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgY29weShzZWNyZXQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChzZWNyZXQpO1xuICAgICAgdGhpcy5jb3BpZWQuc2V0KHRydWUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gY2xpcGJvYXJkIG5vIGRpc3BvbmlibGUg4oCUIGVsIHVzZXIgcHVlZGUgc2VsZWNjaW9uYXIgZWwgdGV4dG8gbWFudWFsbWVudGVcbiAgICB9XG4gIH1cblxuICBmaW5pc2hTZWNyZXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWNyZXQuc2V0KG51bGwpO1xuICAgIHRoaXMuY29waWVkLnNldChmYWxzZSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBkaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMuX21vZGFsUmVmPy5kaXNtaXNzKG51bGwsICdjYW5jZWwnKTtcbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIHRoaXMuaTE4bk5hbWVzcGFjZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -292,7 +292,7 @@ export class AvatarUploadComponent {
|
|
|
292
292
|
<ion-header [translucent]="true">
|
|
293
293
|
<ion-toolbar>
|
|
294
294
|
<ion-buttons slot="end">
|
|
295
|
-
<ion-button fill="clear" color="dark" (click)="showViewModal.set(false)">
|
|
295
|
+
<ion-button fill="clear" color="dark" shape="round" (click)="showViewModal.set(false)">
|
|
296
296
|
<strong>{{ closePhotoLabel() }}</strong>
|
|
297
297
|
</ion-button>
|
|
298
298
|
</ion-buttons>
|
|
@@ -399,7 +399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
399
399
|
<ion-header [translucent]="true">
|
|
400
400
|
<ion-toolbar>
|
|
401
401
|
<ion-buttons slot="end">
|
|
402
|
-
<ion-button fill="clear" color="dark" (click)="showViewModal.set(false)">
|
|
402
|
+
<ion-button fill="clear" color="dark" shape="round" (click)="showViewModal.set(false)">
|
|
403
403
|
<strong>{{ closePhotoLabel() }}</strong>
|
|
404
404
|
</ion-button>
|
|
405
405
|
</ion-buttons>
|
|
@@ -424,4 +424,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
424
424
|
}], uploadStart: [{
|
|
425
425
|
type: Output
|
|
426
426
|
}] } });
|
|
427
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2F2YXRhci11cGxvYWQvYXZhdGFyLXVwbG9hZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixTQUFTLEVBQ1QsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxHQUNYLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUErRCxNQUFNLFNBQVMsQ0FBQzs7QUFFOUcsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztBQUU1Qjs7Ozs7Ozs7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QjtxQkFDbkIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RlQ7OEJBU3VCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFNWixRQUFRO3NCQUFqQixNQUFNO2dCQUdHLEtBQUs7c0JBQWQsTUFBTTtnQkFHRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBpbnB1dCwgT3V0cHV0LCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSW9uQnV0dG9uLFxuICBJb25CdXR0b25zLFxuICBJb25Db250ZW50LFxuICBJb25IZWFkZXIsXG4gIElvbkljb24sXG4gIElvbk1vZGFsLFxuICBJb25TcGlubmVyLFxuICBJb25Ub29sYmFyLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2FtZXJhT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgSW1hZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW1hZ2UnO1xuaW1wb3J0IHsgSW1hZ2VDcm9wQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2ltYWdlLWNyb3AnO1xuaW1wb3J0IHsgQVZBVEFSX1VQTE9BRF9ERUZBVUxUUywgQXZhdGFyVXBsb2FkRXJyb3IsIEF2YXRhclVwbG9hZE1ldGFkYXRhLCBBdmF0YXJVcGxvYWRSZXN1bHQgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBjYW1lcmFPdXRsaW5lIH0pO1xuXG4vKipcbiAqIEF2YXRhclVwbG9hZENvbXBvbmVudFxuICpcbiAqIEEgY29tcGxldGUgYXZhdGFyIHVwbG9hZCBzb2x1dGlvbiB3aXRoOlxuICogLSBJbWFnZSBzZWxlY3Rpb24gZnJvbSBkZXZpY2VcbiAqIC0gQ3JvcCBtb2RhbCB3aXRoIHJvdW5kIHByZXZpZXdcbiAqIC0gQXV0b21hdGljIGNvbXByZXNzaW9uIGFuZCB0aHVtYm5haWwgZ2VuZXJhdGlvblxuICogLSBVcGxvYWQgdG8gRmlyZWJhc2UgU3RvcmFnZVxuICogLSBCYWNrZW5kIHN5bmMgdmlhIEF1dGhTZXJ2aWNlXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtYXZhdGFyLXVwbG9hZFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGN1cnJlbnRVcmw6IHVzZXIoKT8uYXZhdGFyVXJsLFxuICogICAgIGluaXRpYWxzOiAnSkQnLFxuICogICAgIHNpemU6IDEyMFxuICogICB9XCJcbiAqICAgKHVwbG9hZGVkKT1cIm9uQXZhdGFyVXBsb2FkZWQoJGV2ZW50KVwiXG4gKiAgIChlcnJvcik9XCJvbkVycm9yKCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXZhdGFyLXVwbG9hZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uSWNvbixcbiAgICBJb25TcGlubmVyLFxuICAgIElvbk1vZGFsLFxuICAgIElvbkNvbnRlbnQsXG4gICAgSW9uSGVhZGVyLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25CdXR0b24sXG4gICAgSW1hZ2VDcm9wQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItdXBsb2FkXCIgW3N0eWxlLi0tYXZhdGFyLXNpemUucHhdPVwiY29uZmlnKCkuc2l6ZVwiIFtjbGFzcy5hdmF0YXItdXBsb2FkLS1sb2FkaW5nXT1cImxvYWRpbmcoKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jb250YWluZXJcIj5cbiAgICAgICAgPCEtLSBBdmF0YXIgSW1hZ2Ugb3IgSW5pdGlhbHMgLS0+XG4gICAgICAgIEBpZiAoZGlzcGxheVVybCgpKSB7XG4gICAgICAgICAgPGltZyBjbGFzcz1cImF2YXRhci1pbWFnZVwiIFtzcmNdPVwiZGlzcGxheVVybCgpXCIgYWx0PVwiQXZhdGFyXCIgKGVycm9yKT1cIm9uSW1hZ2VFcnJvcigpXCIgLz5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1pbml0aWFsc1wiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImNvbmZpZygpLmJhY2tncm91bmRDb2xvclwiPlxuICAgICAgICAgICAge3sgY29uZmlnKCkuaW5pdGlhbHMgfHwgJz8nIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVkaXQgQnV0dG9uIC0tPlxuICAgICAgICBAaWYgKGNvbmZpZygpLmVkaXRhYmxlICYmICFsb2FkaW5nKCkpIHtcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZWRpdC1idXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5GaWxlUGlja2VyKClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImVkaXRCdXR0b25MYWJlbCgpXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNhbWVyYS1vdXRsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gTG9hZGluZyBPdmVybGF5IC0tPlxuICAgICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLW92ZXJsYXlcIj5cbiAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY2lyY3VsYXJcIj48L2lvbi1zcGlubmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBIaWRkZW4gRmlsZSBJbnB1dCAtLT5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjZmlsZUlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgYWNjZXB0PVwiaW1hZ2UvanBlZyxpbWFnZS9wbmcsaW1hZ2Uvd2VicFwiXG4gICAgICAgIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiYXZhdGFyLXVwbG9hZC1pbnB1dFwiXG4gICAgICAgIGhpZGRlblxuICAgICAgLz5cblxuICAgICAgPCEtLSBWaWV3IFBob3RvIEJ1dHRvbiAtLT5cbiAgICAgIEBpZiAoY29uZmlnKCkuc2hvd1ZpZXdCdXR0b24gJiYgZGlzcGxheVVybCgpKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJ2aWV3LXBob3RvLWJ0blwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2hvd1ZpZXdNb2RhbC5zZXQodHJ1ZSlcIj5cbiAgICAgICAgICB7eyB2aWV3UGhvdG9MYWJlbCgpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuXG4gICAgICA8IS0tIENyb3AgTW9kYWwgLS0+XG4gICAgICA8aW9uLW1vZGFsXG4gICAgICAgIFtpc09wZW5dPVwic2hvd0Nyb3BNb2RhbCgpXCJcbiAgICAgICAgKGRpZERpc21pc3MpPVwib25Dcm9wQ2FuY2VsKClcIlxuICAgICAgICBbYnJlYWtwb2ludHNdPVwiWzAsIDFdXCJcbiAgICAgICAgW2luaXRpYWxCcmVha3BvaW50XT1cIjFcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgQGlmIChzZWxlY3RlZEZpbGUoKSkge1xuICAgICAgICAgICAgPHZhbC1pbWFnZS1jcm9wXG4gICAgICAgICAgICAgIFtpbWFnZV09XCJzZWxlY3RlZEZpbGUoKSFcIlxuICAgICAgICAgICAgICBbYXNwZWN0UmF0aW9dPVwiMVwiXG4gICAgICAgICAgICAgIFtyb3VuZENyb3BwZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtpMThuTmFtZXNwYWNlXT1cImNvbmZpZygpLmkxOG5OYW1lc3BhY2VcIlxuICAgICAgICAgICAgICAoY3JvcENvbXBsZXRlKT1cIm9uQ3JvcENvbXBsZXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAoY2FuY2VsKT1cIm9uQ3JvcENhbmNlbCgpXCJcbiAgICAgICAgICAgICAgKGxvYWRGYWlsZWQpPVwib25Dcm9wTG9hZEZhaWxlZCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9pb24tbW9kYWw+XG5cbiAgICAgIDwhLS0gUGhvdG8gVmlld2VyIE1vZGFsIC0tPlxuICAgICAgPGlvbi1tb2RhbFxuICAgICAgICBbaXNPcGVuXT1cInNob3dWaWV3TW9kYWwoKVwiXG4gICAgICAgIChkaWREaXNtaXNzKT1cInNob3dWaWV3TW9kYWwuc2V0KGZhbHNlKVwiXG4gICAgICAgIFticmVha3BvaW50c109XCJbMCwgMC41NV1cIlxuICAgICAgICBbaW5pdGlhbEJyZWFrcG9pbnRdPVwiMC41NVwiXG4gICAgICAgIFtoYW5kbGVdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8aW9uLWhlYWRlciBbdHJhbnNsdWNlbnRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPGlvbi10b29sYmFyPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJzaG93Vmlld01vZGFsLnNldChmYWxzZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgY2xvc2VQaG90b0xhYmVsKCkgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICAgICAgICA8L2lvbi10b29sYmFyPlxuICAgICAgICAgIDwvaW9uLWhlYWRlcj5cbiAgICAgICAgICA8aW9uLWNvbnRlbnQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGhvdG8tdmlld2VyXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJwaG90by12aWV3ZXJfX2ltZ1wiIFtzcmNdPVwiZGlzcGxheVVybCgpXCIgYWx0PVwiUGhvdG9cIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9pb24tY29udGVudD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvaW9uLW1vZGFsPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXItdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhclVwbG9hZENvbXBvbmVudCB7XG4gIHByaXZhdGUgaW1hZ2VTZXJ2aWNlID0gaW5qZWN0KEltYWdlU2VydmljZSk7XG4gIHByaXZhdGUgc3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoU3RvcmFnZVNlcnZpY2UpO1xuICBwcml2YXRlIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIC8qKiBDb21wb25lbnQgY29uZmlndXJhdGlvbiAqL1xuICByZWFkb25seSBwcm9wcyA9IGlucHV0PEF2YXRhclVwbG9hZE1ldGFkYXRhPih7fSk7XG5cbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgc3VjY2Vzc2Z1bCB1cGxvYWQgYW5kIGJhY2tlbmQgc3luYyAqL1xuICBAT3V0cHV0KCkgdXBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEF2YXRhclVwbG9hZFJlc3VsdD4oKTtcblxuICAvKiogRW1pdHRlZCBvbiBhbnkgZXJyb3IgZHVyaW5nIHRoZSBwcm9jZXNzICovXG4gIEBPdXRwdXQoKSBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8QXZhdGFyVXBsb2FkRXJyb3I+KCk7XG5cbiAgLyoqIEVtaXR0ZWQgd2hlbiB1cGxvYWQgc3RhcnRzICovXG4gIEBPdXRwdXQoKSB1cGxvYWRTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvLyBJbnRlcm5hbCBzdGF0ZVxuICBwcm90ZWN0ZWQgbG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCBzaG93Q3JvcE1vZGFsID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJvdGVjdGVkIHNob3dWaWV3TW9kYWwgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRGaWxlID0gc2lnbmFsPEZpbGUgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHByZXZpZXdVcmwgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCBpbWFnZUxvYWRFcnJvciA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqIE1lcmdlZCBjb25maWcgd2l0aCBkZWZhdWx0cyAqL1xuICBwcm90ZWN0ZWQgY29uZmlnID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICAuLi5BVkFUQVJfVVBMT0FEX0RFRkFVTFRTLFxuICAgIC4uLnRoaXMucHJvcHMoKSxcbiAgfSkpO1xuXG4gIC8qKiBVUkwgdG8gZGlzcGxheSAocHJldmlldyB0YWtlcyBwcmlvcml0eSBvdmVyIGN1cnJlbnQpICovXG4gIHByb3RlY3RlZCBkaXNwbGF5VXJsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmltYWdlTG9hZEVycm9yKCkpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnByZXZpZXdVcmwoKSB8fCB0aGlzLmNvbmZpZygpLmN1cnJlbnRVcmwgfHwgbnVsbDtcbiAgfSk7XG5cbiAgLyoqIEFyaWEgbGFiZWwgZm9yIGVkaXQgYnV0dG9uICovXG4gIHByb3RlY3RlZCBlZGl0QnV0dG9uTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoJ2NoYW5nZVBob3RvJywgdGhpcy5jb25maWcoKS5pMThuTmFtZXNwYWNlKSB8fCAnQ2FtYmlhciBmb3RvJztcbiAgfSk7XG5cbiAgLyoqIExhYmVsIGZvciB2aWV3IHBob3RvIGJ1dHRvbiAqL1xuICBwcm90ZWN0ZWQgdmlld1Bob3RvTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoJ3ZpZXdQaG90bycsICdBdmF0YXJVcGxvYWQnKTtcbiAgfSk7XG5cbiAgLyoqIExhYmVsIGZvciBjbG9zZSBidXR0b24gaW5zaWRlIHBob3RvIHZpZXdlciAqL1xuICBwcm90ZWN0ZWQgY2xvc2VQaG90b0xhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdjbG9zZScsICdfZ2xvYmFsJyk7XG4gIH0pO1xuXG4gIC8qKiBPcGVuIGZpbGUgcGlja2VyIGRpYWxvZyAqL1xuICBvcGVuRmlsZVBpY2tlcigpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICAvKiogSGFuZGxlIGZpbGUgc2VsZWN0aW9uICovXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgZmlsZSA9IGlucHV0LmZpbGVzPy5bMF07XG5cbiAgICBpZiAoIWZpbGUpIHJldHVybjtcblxuICAgIC8vIFJlc2V0IGlucHV0IGZvciBzYW1lIGZpbGUgc2VsZWN0aW9uXG4gICAgaW5wdXQudmFsdWUgPSAnJztcblxuICAgIC8vIFZhbGlkYXRlIGZpbGVcbiAgICBjb25zdCB2YWxpZGF0aW9uID0gdGhpcy5pbWFnZVNlcnZpY2UudmFsaWRhdGUoZmlsZSwge1xuICAgICAgbWF4U2l6ZTogdGhpcy5jb25maWcoKS5tYXhGaWxlU2l6ZSxcbiAgICAgIGFsbG93ZWRUeXBlczogWydpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZycsICdpbWFnZS93ZWJwJ10sXG4gICAgfSk7XG5cbiAgICBpZiAoIXZhbGlkYXRpb24udmFsaWQpIHtcbiAgICAgIHRoaXMuZW1pdEVycm9yKHZhbGlkYXRpb24uZXJyb3IgYXMgQXZhdGFyVXBsb2FkRXJyb3JbJ3R5cGUnXSwgdmFsaWRhdGlvbi5tZXNzYWdlISk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gT3BlbiBjcm9wIG1vZGFsXG4gICAgdGhpcy5zZWxlY3RlZEZpbGUuc2V0KGZpbGUpO1xuICAgIHRoaXMuc2hvd0Nyb3BNb2RhbC5zZXQodHJ1ZSk7XG4gIH1cblxuICAvKiogSGFuZGxlIGNyb3AgY29tcGxldGlvbiAqL1xuICBhc3luYyBvbkNyb3BDb21wbGV0ZShjcm9wcGVkQmxvYjogQmxvYik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuc2hvd0Nyb3BNb2RhbC5zZXQoZmFsc2UpO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlLnNldChudWxsKTtcblxuICAgIGF3YWl0IHRoaXMucHJvY2Vzc0FuZFVwbG9hZChjcm9wcGVkQmxvYik7XG4gIH1cblxuICAvKiogSGFuZGxlIGNyb3AgY2FuY2VsICovXG4gIG9uQ3JvcENhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dDcm9wTW9kYWwuc2V0KGZhbHNlKTtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZS5zZXQobnVsbCk7XG4gIH1cblxuICAvKiogSGFuZGxlIGNyb3AgbG9hZCBmYWlsdXJlICovXG4gIG9uQ3JvcExvYWRGYWlsZWQoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93Q3JvcE1vZGFsLnNldChmYWxzZSk7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGUuc2V0KG51bGwpO1xuICAgIHRoaXMuZW1pdEVycm9yKFxuICAgICAgJ2ludmFsaWRUeXBlJyxcbiAgICAgIHRoaXMuaTE4bi50KCdsb2FkRmFpbGVkJywgdGhpcy5jb25maWcoKS5pMThuTmFtZXNwYWNlKSB8fCAnTm8gc2UgcHVkbyBjYXJnYXIgbGEgaW1hZ2VuJ1xuICAgICk7XG4gIH1cblxuICAvKiogSGFuZGxlIGltYWdlIGxvYWQgZXJyb3IgKi9cbiAgb25JbWFnZUVycm9yKCk6IHZvaWQge1xuICAgIHRoaXMuaW1hZ2VMb2FkRXJyb3Iuc2V0KHRydWUpO1xuICB9XG5cbiAgLyoqIFRpbWVvdXQgZm9yIHVwbG9hZCBvcGVyYXRpb25zICgzMCBzZWNvbmRzKSAqL1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBVUExPQURfVElNRU9VVF9NUyA9IDMwMDAwO1xuXG4gIC8qKiBQcm9jZXNzIGNyb3BwZWQgaW1hZ2UgYW5kIHVwbG9hZCAqL1xuICBwcml2YXRlIGFzeW5jIHByb2Nlc3NBbmRVcGxvYWQoY3JvcHBlZEJsb2I6IEJsb2IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxvYWRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMudXBsb2FkU3RhcnQuZW1pdCgpO1xuXG4gICAgLy8gVGltZW91dCBwcm9taXNlIHRvIHByZXZlbnQgaW5maW5pdGUgbG9hZGluZ1xuICAgIGNvbnN0IHVwbG9hZFRpbWVvdXQgPSBuZXcgUHJvbWlzZTxuZXZlcj4oKF8sIHJlamVjdCkgPT5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KG5ldyBFcnJvcignVXBsb2FkIHRpbWVvdXQnKSksIEF2YXRhclVwbG9hZENvbXBvbmVudC5VUExPQURfVElNRU9VVF9NUylcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnKCk7XG5cbiAgICAgIC8vIDEuIENvbXByZXNzIGltYWdlXG4gICAgICBjb25zdCBjb21wcmVzc2VkID0gYXdhaXQgdGhpcy5pbWFnZVNlcnZpY2UuY29tcHJlc3MoY3JvcHBlZEJsb2IsIHtcbiAgICAgICAgbWF4V2lkdGg6IGNvbmZpZy5tYXhXaWR0aCxcbiAgICAgICAgbWF4SGVpZ2h0OiBjb25maWcubWF4V2lkdGgsXG4gICAgICAgIHF1YWxpdHk6IGNvbmZpZy5jb21wcmVzc1F1YWxpdHksXG4gICAgICB9KTtcblxuICAgICAgLy8gMi4gR2VuZXJhdGUgdGh1bWJuYWlsXG4gICAgICBjb25zdCB0aHVtYm5haWwgPSBhd2FpdCB0aGlzLmltYWdlU2VydmljZS50aHVtYm5haWwoY29tcHJlc3NlZC5ibG9iLCBjb25maWcudGh1bWJuYWlsU2l6ZSk7XG5cbiAgICAgIC8vIDMuIFNldCBwcmV2aWV3IGltbWVkaWF0ZWx5XG4gICAgICB0aGlzLnByZXZpZXdVcmwuc2V0KGNvbXByZXNzZWQuZGF0YVVybCk7XG4gICAgICB0aGlzLmltYWdlTG9hZEVycm9yLnNldChmYWxzZSk7XG5cbiAgICAgIC8vIDQuIEdldCB1c2VyIElEIGZvciBzdG9yYWdlIHBhdGhcbiAgICAgIGNvbnN0IHVzZXJJZCA9IHRoaXMuYXV0aFNlcnZpY2UudXNlcigpPy51c2VySWQ7XG4gICAgICBpZiAoIXVzZXJJZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VzZXIgbm90IGF1dGhlbnRpY2F0ZWQnKTtcbiAgICAgIH1cblxuICAgICAgLy8gNS4gVXBsb2FkIHRvIEZpcmViYXNlIFN0b3JhZ2Ugd2l0aCBwcmVkaWN0YWJsZSBwYXRoc1xuICAgICAgLy8gUGF0aDogdXNlcnMve3VzZXJJZH0vYXZhdGFyLmpwZyAtIGFsbG93cyBhbnkgYXBwIHRvIGNvbnN0cnVjdCBVUkwgd2l0aCBqdXN0IHVzZXJJZFxuICAgICAgLy8gc2tpcFByZWZpeDogdHJ1ZSAtIGJ5cGFzc2VzIGFwcElkIHByZWZpeCBmb3Igc2hhcmVkL2Nyb3NzLWFwcCBwYXRoc1xuICAgICAgY29uc3QgYXZhdGFyUGF0aCA9IGB1c2Vycy8ke3VzZXJJZH0vYXZhdGFyLmpwZ2A7XG4gICAgICBjb25zdCB0aHVtYlBhdGggPSBgdXNlcnMvJHt1c2VySWR9L3RodW1iLmpwZ2A7XG4gICAgICBjb25zdCB1cGxvYWRNZXRhZGF0YSA9IHsgc2tpcFByZWZpeDogdHJ1ZSwgY29udGVudFR5cGU6ICdpbWFnZS9qcGVnJyB9O1xuXG4gICAgICAvLyBSYWNlIGFnYWluc3QgdGltZW91dCB0byBwcmV2ZW50IGluZmluaXRlIGxvYWRpbmdcbiAgICAgIGNvbnN0IFthdmF0YXJSZXN1bHQsIHRodW1iUmVzdWx0XSA9IGF3YWl0IFByb21pc2UucmFjZShbXG4gICAgICAgIFByb21pc2UuYWxsKFtcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnVwbG9hZEFuZEdldFVybChhdmF0YXJQYXRoLCBjb21wcmVzc2VkLmJsb2IsIHVwbG9hZE1ldGFkYXRhKSxcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnVwbG9hZEFuZEdldFVybCh0aHVtYlBhdGgsIHRodW1ibmFpbC5ibG9iLCB1cGxvYWRNZXRhZGF0YSksXG4gICAgICAgIF0pLFxuICAgICAgICB1cGxvYWRUaW1lb3V0LFxuICAgICAgXSk7XG5cbiAgICAgIC8vIDYuIFVwZGF0ZSBiYWNrZW5kIHdpdGggVVJMc1xuICAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXBkYXRlQXZhdGFyKHtcbiAgICAgICAgICBhdmF0YXJVcmw6IGF2YXRhclJlc3VsdC5kb3dubG9hZFVybCxcbiAgICAgICAgICBhdmF0YXJUaHVtYm5haWw6IHRodW1iUmVzdWx0LmRvd25sb2FkVXJsLFxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgLy8gNy4gVXBkYXRlIHByZXZpZXcgd2l0aCBjYWNoZS1idXN0aW5nIHRvIGZvcmNlIHJlZnJlc2hcbiAgICAgIGNvbnN0IGNhY2hlQnVzdGVyID0gYD90PSR7RGF0ZS5ub3coKX1gO1xuICAgICAgdGhpcy5wcmV2aWV3VXJsLnNldChhdmF0YXJSZXN1bHQuZG93bmxvYWRVcmwgKyBjYWNoZUJ1c3Rlcik7XG5cbiAgICAgIC8vIDguIEVtaXQgc3VjY2Vzc1xuICAgICAgY29uc3QgcmVzdWx0OiBBdmF0YXJVcGxvYWRSZXN1bHQgPSB7XG4gICAgICAgIGF2YXRhclVybDogYXZhdGFyUmVzdWx0LmRvd25sb2FkVXJsLFxuICAgICAgICB0aHVtYm5haWxVcmw6IHRodW1iUmVzdWx0LmRvd25sb2FkVXJsLFxuICAgICAgfTtcblxuICAgICAgdGhpcy51cGxvYWRlZC5lbWl0KHJlc3VsdCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbQXZhdGFyVXBsb2FkXSBwcm9jZXNzQW5kVXBsb2FkIGZhaWxlZDonLCBlcnIpO1xuICAgICAgLy8gUmV2ZXJ0IHByZXZpZXcgb24gZXJyb3JcbiAgICAgIHRoaXMucHJldmlld1VybC5zZXQobnVsbCk7XG5cbiAgICAgIC8vIERldGVybWluZSBlcnJvciBtZXNzYWdlIGJhc2VkIG9uIGVycm9yIHR5cGVcbiAgICAgIGxldCBtZXNzYWdlOiBzdHJpbmc7XG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgaWYgKGVyci5tZXNzYWdlID09PSAnVXBsb2FkIHRpbWVvdXQnKSB7XG4gICAgICAgICAgbWVzc2FnZSA9XG4gICAgICAgICAgICB0aGlzLmkxOG4udCgndXBsb2FkVGltZW91dCcsIHRoaXMuY29uZmlnKCkuaTE4bk5hbWVzcGFjZSkgfHxcbiAgICAgICAgICAgICdMYSBzdWJpZGEgdGFyZMOzIGRlbWFzaWFkby4gVmVyaWZpY2EgdHUgY29uZXhpw7NuLic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbWVzc2FnZSA9IGVyci5tZXNzYWdlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlID0gdGhpcy5pMThuLnQoJ3VwbG9hZEVycm9yJywgdGhpcy5jb25maWcoKS5pMThuTmFtZXNwYWNlKSB8fCAnRXJyb3IgYWwgc3ViaXIgbGEgaW1hZ2VuJztcbiAgICAgIH1cblxuICAgICAgdGhpcy5lbWl0RXJyb3IoJ3VwbG9hZEZhaWxlZCcsIG1lc3NhZ2UsIGVycik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBFbWl0IGVycm9yIGV2ZW50ICovXG4gIHByaXZhdGUgZW1pdEVycm9yKHR5cGU6IEF2YXRhclVwbG9hZEVycm9yWyd0eXBlJ10sIG1lc3NhZ2U6IHN0cmluZywgb3JpZ2luYWxFcnJvcj86IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yLmVtaXQoeyB0eXBlLCBtZXNzYWdlLCBvcmlnaW5hbEVycm9yIH0pO1xuICB9XG59XG4iXX0=
|
|
427
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2F2YXRhci11cGxvYWQvYXZhdGFyLXVwbG9hZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixTQUFTLEVBQ1QsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxHQUNYLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUErRCxNQUFNLFNBQVMsQ0FBQzs7QUFFOUcsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztBQUU1Qjs7Ozs7Ozs7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QjtxQkFDbkIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RlQ7OEJBU3VCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFNWixRQUFRO3NCQUFqQixNQUFNO2dCQUdHLEtBQUs7c0JBQWQsTUFBTTtnQkFHRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBpbnB1dCwgT3V0cHV0LCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSW9uQnV0dG9uLFxuICBJb25CdXR0b25zLFxuICBJb25Db250ZW50LFxuICBJb25IZWFkZXIsXG4gIElvbkljb24sXG4gIElvbk1vZGFsLFxuICBJb25TcGlubmVyLFxuICBJb25Ub29sYmFyLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2FtZXJhT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgSW1hZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW1hZ2UnO1xuaW1wb3J0IHsgSW1hZ2VDcm9wQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2ltYWdlLWNyb3AnO1xuaW1wb3J0IHsgQVZBVEFSX1VQTE9BRF9ERUZBVUxUUywgQXZhdGFyVXBsb2FkRXJyb3IsIEF2YXRhclVwbG9hZE1ldGFkYXRhLCBBdmF0YXJVcGxvYWRSZXN1bHQgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBjYW1lcmFPdXRsaW5lIH0pO1xuXG4vKipcbiAqIEF2YXRhclVwbG9hZENvbXBvbmVudFxuICpcbiAqIEEgY29tcGxldGUgYXZhdGFyIHVwbG9hZCBzb2x1dGlvbiB3aXRoOlxuICogLSBJbWFnZSBzZWxlY3Rpb24gZnJvbSBkZXZpY2VcbiAqIC0gQ3JvcCBtb2RhbCB3aXRoIHJvdW5kIHByZXZpZXdcbiAqIC0gQXV0b21hdGljIGNvbXByZXNzaW9uIGFuZCB0aHVtYm5haWwgZ2VuZXJhdGlvblxuICogLSBVcGxvYWQgdG8gRmlyZWJhc2UgU3RvcmFnZVxuICogLSBCYWNrZW5kIHN5bmMgdmlhIEF1dGhTZXJ2aWNlXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtYXZhdGFyLXVwbG9hZFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGN1cnJlbnRVcmw6IHVzZXIoKT8uYXZhdGFyVXJsLFxuICogICAgIGluaXRpYWxzOiAnSkQnLFxuICogICAgIHNpemU6IDEyMFxuICogICB9XCJcbiAqICAgKHVwbG9hZGVkKT1cIm9uQXZhdGFyVXBsb2FkZWQoJGV2ZW50KVwiXG4gKiAgIChlcnJvcik9XCJvbkVycm9yKCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXZhdGFyLXVwbG9hZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uSWNvbixcbiAgICBJb25TcGlubmVyLFxuICAgIElvbk1vZGFsLFxuICAgIElvbkNvbnRlbnQsXG4gICAgSW9uSGVhZGVyLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25CdXR0b24sXG4gICAgSW1hZ2VDcm9wQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItdXBsb2FkXCIgW3N0eWxlLi0tYXZhdGFyLXNpemUucHhdPVwiY29uZmlnKCkuc2l6ZVwiIFtjbGFzcy5hdmF0YXItdXBsb2FkLS1sb2FkaW5nXT1cImxvYWRpbmcoKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jb250YWluZXJcIj5cbiAgICAgICAgPCEtLSBBdmF0YXIgSW1hZ2Ugb3IgSW5pdGlhbHMgLS0+XG4gICAgICAgIEBpZiAoZGlzcGxheVVybCgpKSB7XG4gICAgICAgICAgPGltZyBjbGFzcz1cImF2YXRhci1pbWFnZVwiIFtzcmNdPVwiZGlzcGxheVVybCgpXCIgYWx0PVwiQXZhdGFyXCIgKGVycm9yKT1cIm9uSW1hZ2VFcnJvcigpXCIgLz5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1pbml0aWFsc1wiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImNvbmZpZygpLmJhY2tncm91bmRDb2xvclwiPlxuICAgICAgICAgICAge3sgY29uZmlnKCkuaW5pdGlhbHMgfHwgJz8nIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVkaXQgQnV0dG9uIC0tPlxuICAgICAgICBAaWYgKGNvbmZpZygpLmVkaXRhYmxlICYmICFsb2FkaW5nKCkpIHtcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZWRpdC1idXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5GaWxlUGlja2VyKClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImVkaXRCdXR0b25MYWJlbCgpXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNhbWVyYS1vdXRsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gTG9hZGluZyBPdmVybGF5IC0tPlxuICAgICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLW92ZXJsYXlcIj5cbiAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY2lyY3VsYXJcIj48L2lvbi1zcGlubmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBIaWRkZW4gRmlsZSBJbnB1dCAtLT5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjZmlsZUlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgYWNjZXB0PVwiaW1hZ2UvanBlZyxpbWFnZS9wbmcsaW1hZ2Uvd2VicFwiXG4gICAgICAgIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiYXZhdGFyLXVwbG9hZC1pbnB1dFwiXG4gICAgICAgIGhpZGRlblxuICAgICAgLz5cblxuICAgICAgPCEtLSBWaWV3IFBob3RvIEJ1dHRvbiAtLT5cbiAgICAgIEBpZiAoY29uZmlnKCkuc2hvd1ZpZXdCdXR0b24gJiYgZGlzcGxheVVybCgpKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJ2aWV3LXBob3RvLWJ0blwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2hvd1ZpZXdNb2RhbC5zZXQodHJ1ZSlcIj5cbiAgICAgICAgICB7eyB2aWV3UGhvdG9MYWJlbCgpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuXG4gICAgICA8IS0tIENyb3AgTW9kYWwgLS0+XG4gICAgICA8aW9uLW1vZGFsXG4gICAgICAgIFtpc09wZW5dPVwic2hvd0Nyb3BNb2RhbCgpXCJcbiAgICAgICAgKGRpZERpc21pc3MpPVwib25Dcm9wQ2FuY2VsKClcIlxuICAgICAgICBbYnJlYWtwb2ludHNdPVwiWzAsIDFdXCJcbiAgICAgICAgW2luaXRpYWxCcmVha3BvaW50XT1cIjFcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgQGlmIChzZWxlY3RlZEZpbGUoKSkge1xuICAgICAgICAgICAgPHZhbC1pbWFnZS1jcm9wXG4gICAgICAgICAgICAgIFtpbWFnZV09XCJzZWxlY3RlZEZpbGUoKSFcIlxuICAgICAgICAgICAgICBbYXNwZWN0UmF0aW9dPVwiMVwiXG4gICAgICAgICAgICAgIFtyb3VuZENyb3BwZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtpMThuTmFtZXNwYWNlXT1cImNvbmZpZygpLmkxOG5OYW1lc3BhY2VcIlxuICAgICAgICAgICAgICAoY3JvcENvbXBsZXRlKT1cIm9uQ3JvcENvbXBsZXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAoY2FuY2VsKT1cIm9uQ3JvcENhbmNlbCgpXCJcbiAgICAgICAgICAgICAgKGxvYWRGYWlsZWQpPVwib25Dcm9wTG9hZEZhaWxlZCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9pb24tbW9kYWw+XG5cbiAgICAgIDwhLS0gUGhvdG8gVmlld2VyIE1vZGFsIC0tPlxuICAgICAgPGlvbi1tb2RhbFxuICAgICAgICBbaXNPcGVuXT1cInNob3dWaWV3TW9kYWwoKVwiXG4gICAgICAgIChkaWREaXNtaXNzKT1cInNob3dWaWV3TW9kYWwuc2V0KGZhbHNlKVwiXG4gICAgICAgIFticmVha3BvaW50c109XCJbMCwgMC41NV1cIlxuICAgICAgICBbaW5pdGlhbEJyZWFrcG9pbnRdPVwiMC41NVwiXG4gICAgICAgIFtoYW5kbGVdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8aW9uLWhlYWRlciBbdHJhbnNsdWNlbnRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPGlvbi10b29sYmFyPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic2hvd1ZpZXdNb2RhbC5zZXQoZmFsc2UpXCI+XG4gICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IGNsb3NlUGhvdG9MYWJlbCgpIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICAgICAgICA8L2lvbi1oZWFkZXI+XG4gICAgICAgICAgPGlvbi1jb250ZW50PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBob3RvLXZpZXdlclwiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwicGhvdG8tdmlld2VyX19pbWdcIiBbc3JjXT1cImRpc3BsYXlVcmwoKVwiIGFsdD1cIlBob3RvXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvaW9uLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2lvbi1tb2RhbD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJVcGxvYWRDb21wb25lbnQge1xuICBwcml2YXRlIGltYWdlU2VydmljZSA9IGluamVjdChJbWFnZVNlcnZpY2UpO1xuICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KFN0b3JhZ2VTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAvKiogQ29tcG9uZW50IGNvbmZpZ3VyYXRpb24gKi9cbiAgcmVhZG9ubHkgcHJvcHMgPSBpbnB1dDxBdmF0YXJVcGxvYWRNZXRhZGF0YT4oe30pO1xuXG4gIC8qKiBFbWl0dGVkIGFmdGVyIHN1Y2Nlc3NmdWwgdXBsb2FkIGFuZCBiYWNrZW5kIHN5bmMgKi9cbiAgQE91dHB1dCgpIHVwbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxBdmF0YXJVcGxvYWRSZXN1bHQ+KCk7XG5cbiAgLyoqIEVtaXR0ZWQgb24gYW55IGVycm9yIGR1cmluZyB0aGUgcHJvY2VzcyAqL1xuICBAT3V0cHV0KCkgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPEF2YXRhclVwbG9hZEVycm9yPigpO1xuXG4gIC8qKiBFbWl0dGVkIHdoZW4gdXBsb2FkIHN0YXJ0cyAqL1xuICBAT3V0cHV0KCkgdXBsb2FkU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLy8gSW50ZXJuYWwgc3RhdGVcbiAgcHJvdGVjdGVkIGxvYWRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgc2hvd0Nyb3BNb2RhbCA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCBzaG93Vmlld01vZGFsID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkRmlsZSA9IHNpZ25hbDxGaWxlIHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCBwcmV2aWV3VXJsID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgaW1hZ2VMb2FkRXJyb3IgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKiBNZXJnZWQgY29uZmlnIHdpdGggZGVmYXVsdHMgKi9cbiAgcHJvdGVjdGVkIGNvbmZpZyA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgLi4uQVZBVEFSX1VQTE9BRF9ERUZBVUxUUyxcbiAgICAuLi50aGlzLnByb3BzKCksXG4gIH0pKTtcblxuICAvKiogVVJMIHRvIGRpc3BsYXkgKHByZXZpZXcgdGFrZXMgcHJpb3JpdHkgb3ZlciBjdXJyZW50KSAqL1xuICBwcm90ZWN0ZWQgZGlzcGxheVVybCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5pbWFnZUxvYWRFcnJvcigpKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5wcmV2aWV3VXJsKCkgfHwgdGhpcy5jb25maWcoKS5jdXJyZW50VXJsIHx8IG51bGw7XG4gIH0pO1xuXG4gIC8qKiBBcmlhIGxhYmVsIGZvciBlZGl0IGJ1dHRvbiAqL1xuICBwcm90ZWN0ZWQgZWRpdEJ1dHRvbkxhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdjaGFuZ2VQaG90bycsIHRoaXMuY29uZmlnKCkuaTE4bk5hbWVzcGFjZSkgfHwgJ0NhbWJpYXIgZm90byc7XG4gIH0pO1xuXG4gIC8qKiBMYWJlbCBmb3IgdmlldyBwaG90byBidXR0b24gKi9cbiAgcHJvdGVjdGVkIHZpZXdQaG90b0xhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCd2aWV3UGhvdG8nLCAnQXZhdGFyVXBsb2FkJyk7XG4gIH0pO1xuXG4gIC8qKiBMYWJlbCBmb3IgY2xvc2UgYnV0dG9uIGluc2lkZSBwaG90byB2aWV3ZXIgKi9cbiAgcHJvdGVjdGVkIGNsb3NlUGhvdG9MYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnY2xvc2UnLCAnX2dsb2JhbCcpO1xuICB9KTtcblxuICAvKiogT3BlbiBmaWxlIHBpY2tlciBkaWFsb2cgKi9cbiAgb3BlbkZpbGVQaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBmaWxlIHNlbGVjdGlvbiAqL1xuICBvbkZpbGVTZWxlY3RlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IGZpbGUgPSBpbnB1dC5maWxlcz8uWzBdO1xuXG4gICAgaWYgKCFmaWxlKSByZXR1cm47XG5cbiAgICAvLyBSZXNldCBpbnB1dCBmb3Igc2FtZSBmaWxlIHNlbGVjdGlvblxuICAgIGlucHV0LnZhbHVlID0gJyc7XG5cbiAgICAvLyBWYWxpZGF0ZSBmaWxlXG4gICAgY29uc3QgdmFsaWRhdGlvbiA9IHRoaXMuaW1hZ2VTZXJ2aWNlLnZhbGlkYXRlKGZpbGUsIHtcbiAgICAgIG1heFNpemU6IHRoaXMuY29uZmlnKCkubWF4RmlsZVNpemUsXG4gICAgICBhbGxvd2VkVHlwZXM6IFsnaW1hZ2UvanBlZycsICdpbWFnZS9wbmcnLCAnaW1hZ2Uvd2VicCddLFxuICAgIH0pO1xuXG4gICAgaWYgKCF2YWxpZGF0aW9uLnZhbGlkKSB7XG4gICAgICB0aGlzLmVtaXRFcnJvcih2YWxpZGF0aW9uLmVycm9yIGFzIEF2YXRhclVwbG9hZEVycm9yWyd0eXBlJ10sIHZhbGlkYXRpb24ubWVzc2FnZSEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIE9wZW4gY3JvcCBtb2RhbFxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlLnNldChmaWxlKTtcbiAgICB0aGlzLnNob3dDcm9wTW9kYWwuc2V0KHRydWUpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBjcm9wIGNvbXBsZXRpb24gKi9cbiAgYXN5bmMgb25Dcm9wQ29tcGxldGUoY3JvcHBlZEJsb2I6IEJsb2IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnNob3dDcm9wTW9kYWwuc2V0KGZhbHNlKTtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZS5zZXQobnVsbCk7XG5cbiAgICBhd2FpdCB0aGlzLnByb2Nlc3NBbmRVcGxvYWQoY3JvcHBlZEJsb2IpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBjcm9wIGNhbmNlbCAqL1xuICBvbkNyb3BDYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93Q3JvcE1vZGFsLnNldChmYWxzZSk7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGUuc2V0KG51bGwpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBjcm9wIGxvYWQgZmFpbHVyZSAqL1xuICBvbkNyb3BMb2FkRmFpbGVkKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0Nyb3BNb2RhbC5zZXQoZmFsc2UpO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlLnNldChudWxsKTtcbiAgICB0aGlzLmVtaXRFcnJvcihcbiAgICAgICdpbnZhbGlkVHlwZScsXG4gICAgICB0aGlzLmkxOG4udCgnbG9hZEZhaWxlZCcsIHRoaXMuY29uZmlnKCkuaTE4bk5hbWVzcGFjZSkgfHwgJ05vIHNlIHB1ZG8gY2FyZ2FyIGxhIGltYWdlbidcbiAgICApO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBpbWFnZSBsb2FkIGVycm9yICovXG4gIG9uSW1hZ2VFcnJvcigpOiB2b2lkIHtcbiAgICB0aGlzLmltYWdlTG9hZEVycm9yLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8qKiBUaW1lb3V0IGZvciB1cGxvYWQgb3BlcmF0aW9ucyAoMzAgc2Vjb25kcykgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVVBMT0FEX1RJTUVPVVRfTVMgPSAzMDAwMDtcblxuICAvKiogUHJvY2VzcyBjcm9wcGVkIGltYWdlIGFuZCB1cGxvYWQgKi9cbiAgcHJpdmF0ZSBhc3luYyBwcm9jZXNzQW5kVXBsb2FkKGNyb3BwZWRCbG9iOiBCbG9iKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLnVwbG9hZFN0YXJ0LmVtaXQoKTtcblxuICAgIC8vIFRpbWVvdXQgcHJvbWlzZSB0byBwcmV2ZW50IGluZmluaXRlIGxvYWRpbmdcbiAgICBjb25zdCB1cGxvYWRUaW1lb3V0ID0gbmV3IFByb21pc2U8bmV2ZXI+KChfLCByZWplY3QpID0+XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdChuZXcgRXJyb3IoJ1VwbG9hZCB0aW1lb3V0JykpLCBBdmF0YXJVcGxvYWRDb21wb25lbnQuVVBMT0FEX1RJTUVPVVRfTVMpXG4gICAgKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZygpO1xuXG4gICAgICAvLyAxLiBDb21wcmVzcyBpbWFnZVxuICAgICAgY29uc3QgY29tcHJlc3NlZCA9IGF3YWl0IHRoaXMuaW1hZ2VTZXJ2aWNlLmNvbXByZXNzKGNyb3BwZWRCbG9iLCB7XG4gICAgICAgIG1heFdpZHRoOiBjb25maWcubWF4V2lkdGgsXG4gICAgICAgIG1heEhlaWdodDogY29uZmlnLm1heFdpZHRoLFxuICAgICAgICBxdWFsaXR5OiBjb25maWcuY29tcHJlc3NRdWFsaXR5LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIDIuIEdlbmVyYXRlIHRodW1ibmFpbFxuICAgICAgY29uc3QgdGh1bWJuYWlsID0gYXdhaXQgdGhpcy5pbWFnZVNlcnZpY2UudGh1bWJuYWlsKGNvbXByZXNzZWQuYmxvYiwgY29uZmlnLnRodW1ibmFpbFNpemUpO1xuXG4gICAgICAvLyAzLiBTZXQgcHJldmlldyBpbW1lZGlhdGVseVxuICAgICAgdGhpcy5wcmV2aWV3VXJsLnNldChjb21wcmVzc2VkLmRhdGFVcmwpO1xuICAgICAgdGhpcy5pbWFnZUxvYWRFcnJvci5zZXQoZmFsc2UpO1xuXG4gICAgICAvLyA0LiBHZXQgdXNlciBJRCBmb3Igc3RvcmFnZSBwYXRoXG4gICAgICBjb25zdCB1c2VySWQgPSB0aGlzLmF1dGhTZXJ2aWNlLnVzZXIoKT8udXNlcklkO1xuICAgICAgaWYgKCF1c2VySWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVc2VyIG5vdCBhdXRoZW50aWNhdGVkJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIDUuIFVwbG9hZCB0byBGaXJlYmFzZSBTdG9yYWdlIHdpdGggcHJlZGljdGFibGUgcGF0aHNcbiAgICAgIC8vIFBhdGg6IHVzZXJzL3t1c2VySWR9L2F2YXRhci5qcGcgLSBhbGxvd3MgYW55IGFwcCB0byBjb25zdHJ1Y3QgVVJMIHdpdGgganVzdCB1c2VySWRcbiAgICAgIC8vIHNraXBQcmVmaXg6IHRydWUgLSBieXBhc3NlcyBhcHBJZCBwcmVmaXggZm9yIHNoYXJlZC9jcm9zcy1hcHAgcGF0aHNcbiAgICAgIGNvbnN0IGF2YXRhclBhdGggPSBgdXNlcnMvJHt1c2VySWR9L2F2YXRhci5qcGdgO1xuICAgICAgY29uc3QgdGh1bWJQYXRoID0gYHVzZXJzLyR7dXNlcklkfS90aHVtYi5qcGdgO1xuICAgICAgY29uc3QgdXBsb2FkTWV0YWRhdGEgPSB7IHNraXBQcmVmaXg6IHRydWUsIGNvbnRlbnRUeXBlOiAnaW1hZ2UvanBlZycgfTtcblxuICAgICAgLy8gUmFjZSBhZ2FpbnN0IHRpbWVvdXQgdG8gcHJldmVudCBpbmZpbml0ZSBsb2FkaW5nXG4gICAgICBjb25zdCBbYXZhdGFyUmVzdWx0LCB0aHVtYlJlc3VsdF0gPSBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgICAgICBQcm9taXNlLmFsbChbXG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS51cGxvYWRBbmRHZXRVcmwoYXZhdGFyUGF0aCwgY29tcHJlc3NlZC5ibG9iLCB1cGxvYWRNZXRhZGF0YSksXG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS51cGxvYWRBbmRHZXRVcmwodGh1bWJQYXRoLCB0aHVtYm5haWwuYmxvYiwgdXBsb2FkTWV0YWRhdGEpLFxuICAgICAgICBdKSxcbiAgICAgICAgdXBsb2FkVGltZW91dCxcbiAgICAgIF0pO1xuXG4gICAgICAvLyA2LiBVcGRhdGUgYmFja2VuZCB3aXRoIFVSTHNcbiAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZUF2YXRhcih7XG4gICAgICAgICAgYXZhdGFyVXJsOiBhdmF0YXJSZXN1bHQuZG93bmxvYWRVcmwsXG4gICAgICAgICAgYXZhdGFyVGh1bWJuYWlsOiB0aHVtYlJlc3VsdC5kb3dubG9hZFVybCxcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICAgIC8vIDcuIFVwZGF0ZSBwcmV2aWV3IHdpdGggY2FjaGUtYnVzdGluZyB0byBmb3JjZSByZWZyZXNoXG4gICAgICBjb25zdCBjYWNoZUJ1c3RlciA9IGA/dD0ke0RhdGUubm93KCl9YDtcbiAgICAgIHRoaXMucHJldmlld1VybC5zZXQoYXZhdGFyUmVzdWx0LmRvd25sb2FkVXJsICsgY2FjaGVCdXN0ZXIpO1xuXG4gICAgICAvLyA4LiBFbWl0IHN1Y2Nlc3NcbiAgICAgIGNvbnN0IHJlc3VsdDogQXZhdGFyVXBsb2FkUmVzdWx0ID0ge1xuICAgICAgICBhdmF0YXJVcmw6IGF2YXRhclJlc3VsdC5kb3dubG9hZFVybCxcbiAgICAgICAgdGh1bWJuYWlsVXJsOiB0aHVtYlJlc3VsdC5kb3dubG9hZFVybCxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMudXBsb2FkZWQuZW1pdChyZXN1bHQpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW0F2YXRhclVwbG9hZF0gcHJvY2Vzc0FuZFVwbG9hZCBmYWlsZWQ6JywgZXJyKTtcbiAgICAgIC8vIFJldmVydCBwcmV2aWV3IG9uIGVycm9yXG4gICAgICB0aGlzLnByZXZpZXdVcmwuc2V0KG51bGwpO1xuXG4gICAgICAvLyBEZXRlcm1pbmUgZXJyb3IgbWVzc2FnZSBiYXNlZCBvbiBlcnJvciB0eXBlXG4gICAgICBsZXQgbWVzc2FnZTogc3RyaW5nO1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIGlmIChlcnIubWVzc2FnZSA9PT0gJ1VwbG9hZCB0aW1lb3V0Jykge1xuICAgICAgICAgIG1lc3NhZ2UgPVxuICAgICAgICAgICAgdGhpcy5pMThuLnQoJ3VwbG9hZFRpbWVvdXQnLCB0aGlzLmNvbmZpZygpLmkxOG5OYW1lc3BhY2UpIHx8XG4gICAgICAgICAgICAnTGEgc3ViaWRhIHRhcmTDsyBkZW1hc2lhZG8uIFZlcmlmaWNhIHR1IGNvbmV4acOzbi4nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1lc3NhZ2UgPSBlcnIubWVzc2FnZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZSA9IHRoaXMuaTE4bi50KCd1cGxvYWRFcnJvcicsIHRoaXMuY29uZmlnKCkuaTE4bk5hbWVzcGFjZSkgfHwgJ0Vycm9yIGFsIHN1YmlyIGxhIGltYWdlbic7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZW1pdEVycm9yKCd1cGxvYWRGYWlsZWQnLCBtZXNzYWdlLCBlcnIpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvKiogRW1pdCBlcnJvciBldmVudCAqL1xuICBwcml2YXRlIGVtaXRFcnJvcih0eXBlOiBBdmF0YXJVcGxvYWRFcnJvclsndHlwZSddLCBtZXNzYWdlOiBzdHJpbmcsIG9yaWdpbmFsRXJyb3I/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvci5lbWl0KHsgdHlwZSwgbWVzc2FnZSwgb3JpZ2luYWxFcnJvciB9KTtcbiAgfVxufVxuIl19
|