valtech-components 4.0.151 → 4.0.152
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/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +33 -25
- package/esm2022/lib/services/errors/valtech-error.service.mjs +15 -3
- package/esm2022/lib/services/toast.service.mjs +2 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +48 -27
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/services/errors/valtech-error.service.d.ts +6 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/services/firebase/firebase-messaging-sw.js +145 -0
|
@@ -231,20 +231,24 @@ export class TicketCardComponent {
|
|
|
231
231
|
}
|
|
232
232
|
</div>
|
|
233
233
|
|
|
234
|
-
@if (props().showDownload && qr()) {
|
|
235
|
-
<
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
234
|
+
@if ((props().showDownload || props().showShare) && qr()) {
|
|
235
|
+
<div class="ticket-card__actions">
|
|
236
|
+
@if (props().showDownload) {
|
|
237
|
+
<ion-button fill="outline" expand="block" [disabled]="downloading()" (click)="downloadCard()">
|
|
238
|
+
<ion-icon name="download-outline" slot="start" />
|
|
239
|
+
{{ props().downloadLabel || t('download') }}
|
|
240
|
+
</ion-button>
|
|
241
|
+
}
|
|
242
|
+
@if (props().showShare) {
|
|
243
|
+
<ion-button fill="outline" expand="block" [disabled]="sharing()" (click)="shareCard()">
|
|
244
|
+
<ion-icon name="share-outline" slot="start" />
|
|
245
|
+
{{ props().shareLabel || t('share') }}
|
|
246
|
+
</ion-button>
|
|
247
|
+
}
|
|
248
|
+
</div>
|
|
245
249
|
}
|
|
246
250
|
</div>
|
|
247
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: QrCodeComponent, selector: "val-qr-code", inputs: ["props"], outputs: ["actionComplete", "imageLoad", "imageError"] }] }); }
|
|
251
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}.ticket-card__actions{width:100%;display:flex;flex-direction:column;gap:8px}.ticket-card__actions ion-button{--border-radius: 10px;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: QrCodeComponent, selector: "val-qr-code", inputs: ["props"], outputs: ["actionComplete", "imageLoad", "imageError"] }] }); }
|
|
248
252
|
}
|
|
249
253
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketCardComponent, decorators: [{
|
|
250
254
|
type: Component,
|
|
@@ -278,19 +282,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
278
282
|
}
|
|
279
283
|
</div>
|
|
280
284
|
|
|
281
|
-
@if (props().showDownload && qr()) {
|
|
282
|
-
<
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
285
|
+
@if ((props().showDownload || props().showShare) && qr()) {
|
|
286
|
+
<div class="ticket-card__actions">
|
|
287
|
+
@if (props().showDownload) {
|
|
288
|
+
<ion-button fill="outline" expand="block" [disabled]="downloading()" (click)="downloadCard()">
|
|
289
|
+
<ion-icon name="download-outline" slot="start" />
|
|
290
|
+
{{ props().downloadLabel || t('download') }}
|
|
291
|
+
</ion-button>
|
|
292
|
+
}
|
|
293
|
+
@if (props().showShare) {
|
|
294
|
+
<ion-button fill="outline" expand="block" [disabled]="sharing()" (click)="shareCard()">
|
|
295
|
+
<ion-icon name="share-outline" slot="start" />
|
|
296
|
+
{{ props().shareLabel || t('share') }}
|
|
297
|
+
</ion-button>
|
|
298
|
+
}
|
|
299
|
+
</div>
|
|
292
300
|
}
|
|
293
301
|
</div>
|
|
294
|
-
`, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}\n"] }]
|
|
302
|
+
`, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}.ticket-card__actions{width:100%;display:flex;flex-direction:column;gap:8px}.ticket-card__actions ion-button{--border-radius: 10px;margin:0}\n"] }]
|
|
295
303
|
}], ctorParameters: () => [] });
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90aWNrZXQtY2FyZC90aWNrZXQtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXREOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQW1ESCxNQUFNLE9BQU8sbUJBQW1CO0lBa0I5QjtRQWpCQSx5Q0FBeUM7UUFDaEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7UUFFOUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FB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UUFDN0IsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTyxDQUFDLENBQVc7UUFDakIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLE9BQU87WUFDTCxFQUFFLEVBQUUsQ0FBQztZQUNMLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLEdBQUc7WUFDNUIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsVUFBVSxFQUFFLEtBQUs7WUFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJO1lBQzdCLGFBQWEsRUFBRSxDQUFDLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ3BELFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUMzQixVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSTtTQUNoRCxDQUFDO0lBQ0osQ0FBQzsrR0EzTFUsbUJBQW1CO21HQUFuQixtQkFBbUIsOE1BOUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJDVCxzOUNBNUNTLFlBQVksK0JBQUUsU0FBUyxvUEFBRSxPQUFPLDJKQUFFLFVBQVUseUdBQUUsZUFBZTs7NEZBK0M1RCxtQkFBbUI7a0JBbEQvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLENBQUMsWUFDOUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQ1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uU3Bpbm5lciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBkb3dubG9hZE91dGxpbmUsIHNoYXJlT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgUXJDb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvcXItY29kZS9xci1jb2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRckNvZGVNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL3FyLWNvZGUvdHlwZXMnO1xuaW1wb3J0IHsgUXJHZW5lcmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXItZ2VuZXJhdG9yL3FyLWdlbmVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFFyUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXItZ2VuZXJhdG9yL3R5cGVzJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFRpY2tldENhcmRJbWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90aWNrZXQtY2FyZC1pbWFnZS90aWNrZXQtY2FyZC1pbWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRpY2tldENhcmRNZXRhZGF0YSwgVGlja2V0Q2FyZFN0YXR1cyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVElDS0VUX0NBUkRfSTE4TiB9IGZyb20gJy4vdGlja2V0LWNhcmQuaTE4bic7XG5cbi8qKlxuICogdmFsLXRpY2tldC1jYXJkXG4gKlxuICogVGFyamV0YSBwcmVzZW50YWNpb25hbCBkZSB1bmEgZW50cmFkYSBkZSBiaW5nbzogbXVlc3RyYSBlbCBRUiBlc2NhbmVhYmxlXG4gKiAoZ2VuZXJhZG8gZGVsIGBxclRva2VuYCBvcGFjbyBmaXJtYWRvIHbDrWEgYFFyR2VuZXJhdG9yU2VydmljZWApLCBlbCBmb2xpbywgZWxcbiAqIG5vbWJyZSBkZWwgY29tcHJhZG9yIChzaSBoYXkpIHkgdW4gYmFkZ2UgZGUgZXN0YWRvICh2ZW5kaWRhIC8gY2FuamVhZGEpLlxuICpcbiAqIEVzIGxhIHBpZXphIHF1ZSBlbCB2ZW5kZWRvciBsZSBlbnRyZWdhIGFsIGNvbXByYWRvciB0cmFzIGxhIHZlbnRhIHkgcXVlIGxhXG4gKiB0YXF1aWxsYSBlc2NhbmVhIHBhcmEgY2FuamVhci4gT2JqZWN0LWZpcnN0IChgaW5wdXQoKWAgc2lnbmFsKSwgaTE4blxuICogYXV0by1yZWdpc3RyYWRvIChuYW1lc3BhY2UgYFRpY2tldENhcmRgKS4gRXN0YWRvcyBuZWdhdGl2b3MvbmV1dHJvcyBlbiBncmlzXG4gKiBtdXRlZCAoY29udmVuY2nDs24gZGVsIGZhY3Rvcnkg4oCUIHNpbiByb2pvIGRlIGFsYXJtYSkuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGlja2V0LWNhcmQgW3Byb3BzXT1cInsgcXJUb2tlbjogdGlja2V0LnFyVG9rZW4sIGZvbGlvOiB0aWNrZXQuZm9saW8sXG4gKiAgIGJ1eWVyTmFtZTogdGlja2V0LmNvbXByYWRvck5vbWJyZSwgc3RhdHVzOiAnc29sZCcsIHNob3dTaGFyZTogdHJ1ZSB9XCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtdGlja2V0LWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25CdXR0b24sIElvbkljb24sIElvblNwaW5uZXIsIFFyQ29kZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkXCI+XG4gICAgICBAaWYgKHByb3BzKCkudGl0bGUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkX190aXRsZVwiPnt7IHByb3BzKCkudGl0bGUgfX08L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkX19xclwiPlxuICAgICAgICBAaWYgKHFyKCk7IGFzIHEpIHtcbiAgICAgICAgICA8dmFsLXFyLWNvZGUgW3Byb3BzXT1cInFyUHJvcHMocSlcIiAvPlxuICAgICAgICB9IEBlbHNlIGlmIChmYWlsZWQoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fcXItZmFsbGJhY2tcIj57eyB0b2tlblNob3J0KCkgfX08L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkX19xci1sb2FkaW5nXCI+XG4gICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImNyZXNjZW50XCIgYXJpYS1sYWJlbD1cIkdlbmVyYW5kbyBRUlwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX21ldGFcIj5cbiAgICAgICAgQGlmIChmb2xpb1RleHQoKTsgYXMgZikge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fZm9saW9cIj57eyBmIH19PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChwcm9wcygpLmJ1eWVyTmFtZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fYnV5ZXJcIj57eyBwcm9wcygpLmJ1eWVyTmFtZSB9fTwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoc3RhdHVzTGFiZWwoKTsgYXMgcykge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGlja2V0LWNhcmRfX2JhZGdlXCIgW2F0dHIuZGF0YS1zdGF0dXNdPVwic3RhdHVzKClcIj57eyBzIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChwcm9wcygpLnNob3dEb3dubG9hZCAmJiBxcigpKSB7XG4gICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIHNpemU9XCJzbWFsbFwiIFtkaXNhYmxlZF09XCJkb3dubG9hZGluZygpXCIgKGNsaWNrKT1cImRvd25sb2FkQ2FyZCgpXCI+XG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkb3dubG9hZC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgLz5cbiAgICAgICAgICB7eyBwcm9wcygpLmRvd25sb2FkTGFiZWwgfHwgdCgnZG93bmxvYWQnKSB9fVxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKHByb3BzKCkuc2hvd1NoYXJlICYmIHFyKCkpIHtcbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgc2l6ZT1cInNtYWxsXCIgW2Rpc2FibGVkXT1cInNoYXJpbmcoKVwiIChjbGljayk9XCJzaGFyZUNhcmQoKVwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic2hhcmUtb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiIC8+XG4gICAgICAgICAge3sgcHJvcHMoKS5zaGFyZUxhYmVsIHx8IHQoJ3NoYXJlJykgfX1cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi90aWNrZXQtY2FyZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUaWNrZXRDYXJkQ29tcG9uZW50IHtcbiAgLyoqIFByb3BzIG9iamVjdC1maXJzdCBkZWwgY29tcG9uZW50ZS4gKi9cbiAgcmVhZG9ubHkgcHJvcHMgPSBpbnB1dC5yZXF1aXJlZDxUaWNrZXRDYXJkTWV0YWRhdGE+KCk7XG5cbiAgcHJpdmF0ZSBxclNlcnZpY2UgPSBpbmplY3QoUXJHZW5lcmF0b3JTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0aWNrZXRDYXJkSW1hZ2VTZXJ2aWNlID0gaW5qZWN0KFRpY2tldENhcmRJbWFnZVNlcnZpY2UpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cbiAgLyoqIFFSIGdlbmVyYWRvIChudWxsIG1pZW50cmFzIGNhcmdhIG8gc2kgZmFsbMOzKS4gKi9cbiAgcmVhZG9ubHkgcXIgPSBzaWduYWw8UXJSZXN1bHQgfCBudWxsPihudWxsKTtcbiAgLyoqIEZhbGzDsyBsYSBnZW5lcmFjacOzbiBkZWwgUVIg4oaSIGZhbGxiYWNrIGFsIHRva2VuIGNvcnRvLiAqL1xuICByZWFkb25seSBmYWlsZWQgPSBzaWduYWwoZmFsc2UpO1xuICAvKiogVHJ1ZSBtaWVudHJhcyBzZSBnZW5lcmEgeSBjb21wYXJ0ZSBsYSB0YXJqZXRhIGJyYW5kZWQuICovXG4gIHJlYWRvbmx5IHNoYXJpbmcgPSBzaWduYWwoZmFsc2UpO1xuICAvKiogVHJ1ZSBtaWVudHJhcyBzZSBnZW5lcmEgeSBkZXNjYXJnYSBsYSB0YXJqZXRhIGJyYW5kZWQuICovXG4gIHJlYWRvbmx5IGRvd25sb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZGRJY29ucyh7IHNoYXJlT3V0bGluZSwgZG93bmxvYWRPdXRsaW5lIH0pO1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKCdUaWNrZXRDYXJkJywgVElDS0VUX0NBUkRfSTE4Tik7XG5cbiAgICAvLyBSZWdlbmVyYSBlbCBRUiBjdWFuZG8gY2FtYmlhIGVsIHRva2VuIG8gZWwgdGFtYcOxby5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5wcm9wcygpLnFyVG9rZW47XG4gICAgICAgIGNvbnN0IHNpemUgPSB0aGlzLnByb3BzKCkucXJTaXplID8/IDIwMDtcbiAgICAgICAgaWYgKCF0b2tlbikge1xuICAgICAgICAgIHRoaXMucXIuc2V0KG51bGwpO1xuICAgICAgICAgIHRoaXMuZmFpbGVkLnNldChmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZvaWQgdGhpcy5nZW5lcmF0ZSh0b2tlbiwgc2l6ZSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2VuZXJhdGUoZGF0YTogc3RyaW5nLCBzaXplOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmZhaWxlZC5zZXQoZmFsc2UpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnFyU2VydmljZS5nZW5lcmF0ZSh7XG4gICAgICAgIGRhdGEsXG4gICAgICAgIHdpZHRoOiBzaXplLFxuICAgICAgICBoZWlnaHQ6IHNpemUsXG4gICAgICAgIG1hcmdpbjogMSxcbiAgICAgICAgZG90c1N0eWxlOiAnc3F1YXJlJyxcbiAgICAgICAgZG90c0NvbG9yOiAnIzAwMDAwMCcsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNmZmZmZmYnLFxuICAgICAgICBlcnJvckNvcnJlY3Rpb25MZXZlbDogJ00nLFxuICAgICAgICBmb3JtYXQ6ICdwbmcnLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnFyLnNldChyZXN1bHQpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gU2luIHRvYXN0L3Rocm93IOKAlCBlbCBmYWxsYmFjayBtdWVzdHJhIGVsIHRva2VuIGNvcnRvLiBFbCBjb25zdW1lclxuICAgICAgLy8gc2lndWUgcHVkaWVuZG8gY2FuamVhciB0aXBlYW5kby9lc2NhbmVhbmRvIHNpIGhhY2UgZmFsdGEuXG4gICAgICB0aGlzLnFyLnNldChudWxsKTtcbiAgICAgIHRoaXMuZmFpbGVkLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnVGlja2V0Q2FyZCcpO1xuICB9XG5cbiAgcmVhZG9ubHkgc3RhdHVzID0gY29tcHV0ZWQ8VGlja2V0Q2FyZFN0YXR1cz4oKCkgPT4gdGhpcy5wcm9wcygpLnN0YXR1cyA/PyAnbmV1dHJhbCcpO1xuXG4gIHJlYWRvbmx5IHRva2VuU2hvcnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdGsgPSB0aGlzLnByb3BzKCkucXJUb2tlbiA/PyAnJztcbiAgICByZXR1cm4gdGsubGVuZ3RoID4gMTYgPyBgJHt0ay5zbGljZSgwLCAxNil94oCmYCA6IHRrO1xuICB9KTtcblxuICByZWFkb25seSBmb2xpb1RleHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICBjb25zdCBmb2xpbyA9IHRoaXMucHJvcHMoKS5mb2xpbztcbiAgICBpZiAoZm9saW8gPT09IHVuZGVmaW5lZCB8fCBmb2xpbyA9PT0gbnVsbCB8fCBmb2xpbyA9PT0gJycpIHJldHVybiAnJztcbiAgICBjb25zdCBsYWJlbCA9IHRoaXMucHJvcHMoKS5mb2xpb0xhYmVsID8/IHRoaXMudCgnZm9saW8nKTtcbiAgICByZXR1cm4gYCR7bGFiZWx9ICMke2ZvbGlvfWA7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHN0YXR1c0xhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3Qgc3RhdHVzID0gdGhpcy5zdGF0dXMoKTtcbiAgICBpZiAoc3RhdHVzID09PSAnc29sZCcpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzKCkuc3RhdHVzU29sZExhYmVsID8/IHRoaXMudCgnc3RhdHVzU29sZCcpO1xuICAgIH1cbiAgICBpZiAoc3RhdHVzID09PSAnY2hlY2tlZEluJykge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMoKS5zdGF0dXNDaGVja2VkSW5MYWJlbCA/PyB0aGlzLnQoJ3N0YXR1c0NoZWNrZWRJbicpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH0pO1xuXG4gIGFzeW5jIHNoYXJlQ2FyZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBxID0gdGhpcy5xcigpO1xuICAgIGlmICghcSkgcmV0dXJuO1xuICAgIGNvbnN0IHAgPSB0aGlzLnByb3BzKCk7XG4gICAgdGhpcy5zaGFyaW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5idWlsZEltYWdlQ29uZmlnKHEsIHApO1xuICAgICAgY29uc3Qgc2hhcmVkID0gYXdhaXQgdGhpcy50aWNrZXRDYXJkSW1hZ2VTZXJ2aWNlLnNoYXJlKGNvbmZpZywgcC50aXRsZSB8fCBwLnNoYXJlQnJhbmROYW1lKTtcbiAgICAgIGlmICghc2hhcmVkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuY29weVRvQ2xpcGJvYXJkKGNvbmZpZywgcCk7XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2hhcmluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRvd25sb2FkQ2FyZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBxID0gdGhpcy5xcigpO1xuICAgIGlmICghcSkgcmV0dXJuO1xuICAgIGNvbnN0IHAgPSB0aGlzLnByb3BzKCk7XG4gICAgdGhpcy5kb3dubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMudHJpZ2dlckRvd25sb2FkKHRoaXMuYnVpbGRJbWFnZUNvbmZpZyhxLCBwKSwgcCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZG93bmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW1hZ2VDb25maWcocTogUXJSZXN1bHQsIHA6IFRpY2tldENhcmRNZXRhZGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICBxckRhdGFVcmw6IHEuZGF0YVVybCxcbiAgICAgIGxvZ29Vcmw6IHAuc2hhcmVMb2dvVXJsLFxuICAgICAgYnJhbmRDb2xvcjogcC5zaGFyZUJyYW5kQ29sb3IsXG4gICAgICBicmFuZENvbG9yVG86IHAuc2hhcmVCcmFuZENvbG9yVG8sXG4gICAgICBicmFuZE5hbWU6IHAuc2hhcmVCcmFuZE5hbWUsXG4gICAgICBmb2xpbzogcC5mb2xpbyxcbiAgICAgIGZvbGlvTGFiZWw6IHAuc2hhcmVGb2xpb0xhYmVsLFxuICAgICAgYnV5ZXJOYW1lOiBwLmJ1eWVyTmFtZSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjb3B5VG9DbGlwYm9hcmQoXG4gICAgY29uZmlnOiBQYXJhbWV0ZXJzPHR5cGVvZiB0aGlzLnRpY2tldENhcmRJbWFnZVNlcnZpY2UuZ2VuZXJhdGU+WzBdLFxuICAgIHA6IFRpY2tldENhcmRNZXRhZGF0YVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBJbnRlbnRhIGNvcGlhciBsYSBpbWFnZW4gYnJhbmRlZCBhbCBjbGlwYm9hcmQgKENocm9tZS9FZGdlL1NhZmFyaSBkZXNrdG9wKS5cbiAgICBpZiAodHlwZW9mIENsaXBib2FyZEl0ZW0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBibG9iID0gYXdhaXQgdGhpcy50aWNrZXRDYXJkSW1hZ2VTZXJ2aWNlLmdlbmVyYXRlKGNvbmZpZyk7XG4gICAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoW25ldyBDbGlwYm9hcmRJdGVtKHsgJ2ltYWdlL3BuZyc6IGJsb2IgfSldKTtcbiAgICAgICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdjb3BpZWQnKSwgZHVyYXRpb246IDIwMDAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBDbGlwYm9hcmRJdGVtIG5vIHNvcG9ydGFkbyBvIHBlcm1pc28gZGVuZWdhZG8g4oaSIGNhZXIgYSB0ZXh0b1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBGYWxsYmFjazogY29waWEgVVJMIG8gdGV4dG8gZm9saW9cbiAgICBjb25zdCB0ZXh0ID0gKChwLnNoYXJlVXJsID8/IHRoaXMuZm9saW9UZXh0KCkpIHx8IHAuc2hhcmVCcmFuZE5hbWUpID8/ICcnO1xuICAgIGlmICghdGV4dCkgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0KTtcbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudChwLnNoYXJlVXJsID8gJ2NvcGllZFVybCcgOiAnY29waWVkJyksIGR1cmF0aW9uOiAyMDAwIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gY2xpcGJvYXJkIG5vIGRpc3BvbmlibGUg4oCUIHNpbGVuY2lvc29cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRyaWdnZXJEb3dubG9hZChcbiAgICBjb25maWc6IFBhcmFtZXRlcnM8dHlwZW9mIHRoaXMudGlja2V0Q2FyZEltYWdlU2VydmljZS5nZW5lcmF0ZT5bMF0sXG4gICAgcDogVGlja2V0Q2FyZE1ldGFkYXRhXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJsb2IgPSBhd2FpdCB0aGlzLnRpY2tldENhcmRJbWFnZVNlcnZpY2UuZ2VuZXJhdGUoY29uZmlnKTtcbiAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgYS5ocmVmID0gdXJsO1xuICAgIGEuZG93bmxvYWQgPSBgZW50cmFkYS0ke3AuZm9saW8gPz8gJ2JpbmdvJ30ucG5nYDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgIGEuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xuICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgfVxuXG4gIHFyUHJvcHMocTogUXJSZXN1bHQpOiBRckNvZGVNZXRhZGF0YSB7XG4gICAgY29uc3QgcCA9IHRoaXMucHJvcHMoKTtcbiAgICByZXR1cm4ge1xuICAgICAgcXI6IHEsXG4gICAgICBkaXNwbGF5U2l6ZTogcC5xclNpemUgPz8gMjAwLFxuICAgICAgc2hvd0Rvd25sb2FkOiBmYWxzZSxcbiAgICAgIHNob3dTaGFyZTogZmFsc2UsXG4gICAgICBzaG93Qm9yZGVyOiBmYWxzZSxcbiAgICAgIGFsdDogdGhpcy5mb2xpb1RleHQoKSB8fCAnUVInLFxuICAgICAgZG93bmxvYWRMYWJlbDogcC5kb3dubG9hZExhYmVsID8/IHRoaXMudCgnZG93bmxvYWQnKSxcbiAgICAgIHNoYXJlTGFiZWw6IHRoaXMudCgnc2hhcmUnKSxcbiAgICAgIHNoYXJlVGl0bGU6IHAudGl0bGUgfHwgdGhpcy5mb2xpb1RleHQoKSB8fCAnUVInLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
304
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90aWNrZXQtY2FyZC90aWNrZXQtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXREOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQXVESCxNQUFNLE9BQU8sbUJBQW1CO0lBa0I5QjtRQWpCQSx5Q0FBeUM7UUFDaEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7UUFFOUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FB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UUFDN0IsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTyxDQUFDLENBQVc7UUFDakIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLE9BQU87WUFDTCxFQUFFLEVBQUUsQ0FBQztZQUNMLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLEdBQUc7WUFDNUIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsVUFBVSxFQUFFLEtBQUs7WUFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJO1lBQzdCLGFBQWEsRUFBRSxDQUFDLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ3BELFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUMzQixVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSTtTQUNoRCxDQUFDO0lBQ0osQ0FBQzsrR0EzTFUsbUJBQW1CO21HQUFuQixtQkFBbUIsOE1BbERwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ1Qsa21EQWhEUyxZQUFZLCtCQUFFLFNBQVMsb1BBQUUsT0FBTywySkFBRSxVQUFVLHlHQUFFLGVBQWU7OzRGQW1ENUQsbUJBQW1CO2tCQXREL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLFlBQzlEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uLCBJb25TcGlubmVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGRvd25sb2FkT3V0bGluZSwgc2hhcmVPdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuXG5pbXBvcnQgeyBRckNvZGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9xci1jb2RlL3FyLWNvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IFFyQ29kZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vYXRvbXMvcXItY29kZS90eXBlcyc7XG5pbXBvcnQgeyBRckdlbmVyYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9xci1nZW5lcmF0b3IvcXItZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXJSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9xci1nZW5lcmF0b3IvdHlwZXMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGlja2V0Q2FyZEltYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RpY2tldC1jYXJkLWltYWdlL3RpY2tldC1jYXJkLWltYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGlja2V0Q2FyZE1ldGFkYXRhLCBUaWNrZXRDYXJkU3RhdHVzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBUSUNLRVRfQ0FSRF9JMThOIH0gZnJvbSAnLi90aWNrZXQtY2FyZC5pMThuJztcblxuLyoqXG4gKiB2YWwtdGlja2V0LWNhcmRcbiAqXG4gKiBUYXJqZXRhIHByZXNlbnRhY2lvbmFsIGRlIHVuYSBlbnRyYWRhIGRlIGJpbmdvOiBtdWVzdHJhIGVsIFFSIGVzY2FuZWFibGVcbiAqIChnZW5lcmFkbyBkZWwgYHFyVG9rZW5gIG9wYWNvIGZpcm1hZG8gdsOtYSBgUXJHZW5lcmF0b3JTZXJ2aWNlYCksIGVsIGZvbGlvLCBlbFxuICogbm9tYnJlIGRlbCBjb21wcmFkb3IgKHNpIGhheSkgeSB1biBiYWRnZSBkZSBlc3RhZG8gKHZlbmRpZGEgLyBjYW5qZWFkYSkuXG4gKlxuICogRXMgbGEgcGllemEgcXVlIGVsIHZlbmRlZG9yIGxlIGVudHJlZ2EgYWwgY29tcHJhZG9yIHRyYXMgbGEgdmVudGEgeSBxdWUgbGFcbiAqIHRhcXVpbGxhIGVzY2FuZWEgcGFyYSBjYW5qZWFyLiBPYmplY3QtZmlyc3QgKGBpbnB1dCgpYCBzaWduYWwpLCBpMThuXG4gKiBhdXRvLXJlZ2lzdHJhZG8gKG5hbWVzcGFjZSBgVGlja2V0Q2FyZGApLiBFc3RhZG9zIG5lZ2F0aXZvcy9uZXV0cm9zIGVuIGdyaXNcbiAqIG11dGVkIChjb252ZW5jacOzbiBkZWwgZmFjdG9yeSDigJQgc2luIHJvam8gZGUgYWxhcm1hKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC10aWNrZXQtY2FyZCBbcHJvcHNdPVwieyBxclRva2VuOiB0aWNrZXQucXJUb2tlbiwgZm9saW86IHRpY2tldC5mb2xpbyxcbiAqICAgYnV5ZXJOYW1lOiB0aWNrZXQuY29tcHJhZG9yTm9tYnJlLCBzdGF0dXM6ICdzb2xkJywgc2hvd1NoYXJlOiB0cnVlIH1cIiAvPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC10aWNrZXQtY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uU3Bpbm5lciwgUXJDb2RlQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRcIj5cbiAgICAgIEBpZiAocHJvcHMoKS50aXRsZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX3RpdGxlXCI+e3sgcHJvcHMoKS50aXRsZSB9fTwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX3FyXCI+XG4gICAgICAgIEBpZiAocXIoKTsgYXMgcSkge1xuICAgICAgICAgIDx2YWwtcXItY29kZSBbcHJvcHNdPVwicXJQcm9wcyhxKVwiIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKGZhaWxlZCgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkX19xci1mYWxsYmFja1wiPnt7IHRva2VuU2hvcnQoKSB9fTwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX3FyLWxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiBhcmlhLWxhYmVsPVwiR2VuZXJhbmRvIFFSXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fbWV0YVwiPlxuICAgICAgICBAaWYgKGZvbGlvVGV4dCgpOyBhcyBmKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkX19mb2xpb1wiPnt7IGYgfX08L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHByb3BzKCkuYnV5ZXJOYW1lKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkX19idXllclwiPnt7IHByb3BzKCkuYnV5ZXJOYW1lIH19PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChzdGF0dXNMYWJlbCgpOyBhcyBzKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aWNrZXQtY2FyZF9fYmFkZ2VcIiBbYXR0ci5kYXRhLXN0YXR1c109XCJzdGF0dXMoKVwiPnt7IHMgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKChwcm9wcygpLnNob3dEb3dubG9hZCB8fCBwcm9wcygpLnNob3dTaGFyZSkgJiYgcXIoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX2FjdGlvbnNcIj5cbiAgICAgICAgICBAaWYgKHByb3BzKCkuc2hvd0Rvd25sb2FkKSB7XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIGV4cGFuZD1cImJsb2NrXCIgW2Rpc2FibGVkXT1cImRvd25sb2FkaW5nKClcIiAoY2xpY2spPVwiZG93bmxvYWRDYXJkKClcIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkb3dubG9hZC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgLz5cbiAgICAgICAgICAgICAge3sgcHJvcHMoKS5kb3dubG9hZExhYmVsIHx8IHQoJ2Rvd25sb2FkJykgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChwcm9wcygpLnNob3dTaGFyZSkge1xuICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBleHBhbmQ9XCJibG9ja1wiIFtkaXNhYmxlZF09XCJzaGFyaW5nKClcIiAoY2xpY2spPVwic2hhcmVDYXJkKClcIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzaGFyZS1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgLz5cbiAgICAgICAgICAgICAge3sgcHJvcHMoKS5zaGFyZUxhYmVsIHx8IHQoJ3NoYXJlJykgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi90aWNrZXQtY2FyZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUaWNrZXRDYXJkQ29tcG9uZW50IHtcbiAgLyoqIFByb3BzIG9iamVjdC1maXJzdCBkZWwgY29tcG9uZW50ZS4gKi9cbiAgcmVhZG9ubHkgcHJvcHMgPSBpbnB1dC5yZXF1aXJlZDxUaWNrZXRDYXJkTWV0YWRhdGE+KCk7XG5cbiAgcHJpdmF0ZSBxclNlcnZpY2UgPSBpbmplY3QoUXJHZW5lcmF0b3JTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0aWNrZXRDYXJkSW1hZ2VTZXJ2aWNlID0gaW5qZWN0KFRpY2tldENhcmRJbWFnZVNlcnZpY2UpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cbiAgLyoqIFFSIGdlbmVyYWRvIChudWxsIG1pZW50cmFzIGNhcmdhIG8gc2kgZmFsbMOzKS4gKi9cbiAgcmVhZG9ubHkgcXIgPSBzaWduYWw8UXJSZXN1bHQgfCBudWxsPihudWxsKTtcbiAgLyoqIEZhbGzDsyBsYSBnZW5lcmFjacOzbiBkZWwgUVIg4oaSIGZhbGxiYWNrIGFsIHRva2VuIGNvcnRvLiAqL1xuICByZWFkb25seSBmYWlsZWQgPSBzaWduYWwoZmFsc2UpO1xuICAvKiogVHJ1ZSBtaWVudHJhcyBzZSBnZW5lcmEgeSBjb21wYXJ0ZSBsYSB0YXJqZXRhIGJyYW5kZWQuICovXG4gIHJlYWRvbmx5IHNoYXJpbmcgPSBzaWduYWwoZmFsc2UpO1xuICAvKiogVHJ1ZSBtaWVudHJhcyBzZSBnZW5lcmEgeSBkZXNjYXJnYSBsYSB0YXJqZXRhIGJyYW5kZWQuICovXG4gIHJlYWRvbmx5IGRvd25sb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZGRJY29ucyh7IHNoYXJlT3V0bGluZSwgZG93bmxvYWRPdXRsaW5lIH0pO1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKCdUaWNrZXRDYXJkJywgVElDS0VUX0NBUkRfSTE4Tik7XG5cbiAgICAvLyBSZWdlbmVyYSBlbCBRUiBjdWFuZG8gY2FtYmlhIGVsIHRva2VuIG8gZWwgdGFtYcOxby5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5wcm9wcygpLnFyVG9rZW47XG4gICAgICAgIGNvbnN0IHNpemUgPSB0aGlzLnByb3BzKCkucXJTaXplID8/IDIwMDtcbiAgICAgICAgaWYgKCF0b2tlbikge1xuICAgICAgICAgIHRoaXMucXIuc2V0KG51bGwpO1xuICAgICAgICAgIHRoaXMuZmFpbGVkLnNldChmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZvaWQgdGhpcy5nZW5lcmF0ZSh0b2tlbiwgc2l6ZSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2VuZXJhdGUoZGF0YTogc3RyaW5nLCBzaXplOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmZhaWxlZC5zZXQoZmFsc2UpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnFyU2VydmljZS5nZW5lcmF0ZSh7XG4gICAgICAgIGRhdGEsXG4gICAgICAgIHdpZHRoOiBzaXplLFxuICAgICAgICBoZWlnaHQ6IHNpemUsXG4gICAgICAgIG1hcmdpbjogMSxcbiAgICAgICAgZG90c1N0eWxlOiAnc3F1YXJlJyxcbiAgICAgICAgZG90c0NvbG9yOiAnIzAwMDAwMCcsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNmZmZmZmYnLFxuICAgICAgICBlcnJvckNvcnJlY3Rpb25MZXZlbDogJ00nLFxuICAgICAgICBmb3JtYXQ6ICdwbmcnLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnFyLnNldChyZXN1bHQpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gU2luIHRvYXN0L3Rocm93IOKAlCBlbCBmYWxsYmFjayBtdWVzdHJhIGVsIHRva2VuIGNvcnRvLiBFbCBjb25zdW1lclxuICAgICAgLy8gc2lndWUgcHVkaWVuZG8gY2FuamVhciB0aXBlYW5kby9lc2NhbmVhbmRvIHNpIGhhY2UgZmFsdGEuXG4gICAgICB0aGlzLnFyLnNldChudWxsKTtcbiAgICAgIHRoaXMuZmFpbGVkLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnVGlja2V0Q2FyZCcpO1xuICB9XG5cbiAgcmVhZG9ubHkgc3RhdHVzID0gY29tcHV0ZWQ8VGlja2V0Q2FyZFN0YXR1cz4oKCkgPT4gdGhpcy5wcm9wcygpLnN0YXR1cyA/PyAnbmV1dHJhbCcpO1xuXG4gIHJlYWRvbmx5IHRva2VuU2hvcnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdGsgPSB0aGlzLnByb3BzKCkucXJUb2tlbiA/PyAnJztcbiAgICByZXR1cm4gdGsubGVuZ3RoID4gMTYgPyBgJHt0ay5zbGljZSgwLCAxNil94oCmYCA6IHRrO1xuICB9KTtcblxuICByZWFkb25seSBmb2xpb1RleHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICBjb25zdCBmb2xpbyA9IHRoaXMucHJvcHMoKS5mb2xpbztcbiAgICBpZiAoZm9saW8gPT09IHVuZGVmaW5lZCB8fCBmb2xpbyA9PT0gbnVsbCB8fCBmb2xpbyA9PT0gJycpIHJldHVybiAnJztcbiAgICBjb25zdCBsYWJlbCA9IHRoaXMucHJvcHMoKS5mb2xpb0xhYmVsID8/IHRoaXMudCgnZm9saW8nKTtcbiAgICByZXR1cm4gYCR7bGFiZWx9ICMke2ZvbGlvfWA7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHN0YXR1c0xhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3Qgc3RhdHVzID0gdGhpcy5zdGF0dXMoKTtcbiAgICBpZiAoc3RhdHVzID09PSAnc29sZCcpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzKCkuc3RhdHVzU29sZExhYmVsID8/IHRoaXMudCgnc3RhdHVzU29sZCcpO1xuICAgIH1cbiAgICBpZiAoc3RhdHVzID09PSAnY2hlY2tlZEluJykge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMoKS5zdGF0dXNDaGVja2VkSW5MYWJlbCA/PyB0aGlzLnQoJ3N0YXR1c0NoZWNrZWRJbicpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH0pO1xuXG4gIGFzeW5jIHNoYXJlQ2FyZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBxID0gdGhpcy5xcigpO1xuICAgIGlmICghcSkgcmV0dXJuO1xuICAgIGNvbnN0IHAgPSB0aGlzLnByb3BzKCk7XG4gICAgdGhpcy5zaGFyaW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5idWlsZEltYWdlQ29uZmlnKHEsIHApO1xuICAgICAgY29uc3Qgc2hhcmVkID0gYXdhaXQgdGhpcy50aWNrZXRDYXJkSW1hZ2VTZXJ2aWNlLnNoYXJlKGNvbmZpZywgcC50aXRsZSB8fCBwLnNoYXJlQnJhbmROYW1lKTtcbiAgICAgIGlmICghc2hhcmVkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuY29weVRvQ2xpcGJvYXJkKGNvbmZpZywgcCk7XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2hhcmluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRvd25sb2FkQ2FyZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBxID0gdGhpcy5xcigpO1xuICAgIGlmICghcSkgcmV0dXJuO1xuICAgIGNvbnN0IHAgPSB0aGlzLnByb3BzKCk7XG4gICAgdGhpcy5kb3dubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMudHJpZ2dlckRvd25sb2FkKHRoaXMuYnVpbGRJbWFnZUNvbmZpZyhxLCBwKSwgcCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZG93bmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW1hZ2VDb25maWcocTogUXJSZXN1bHQsIHA6IFRpY2tldENhcmRNZXRhZGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICBxckRhdGFVcmw6IHEuZGF0YVVybCxcbiAgICAgIGxvZ29Vcmw6IHAuc2hhcmVMb2dvVXJsLFxuICAgICAgYnJhbmRDb2xvcjogcC5zaGFyZUJyYW5kQ29sb3IsXG4gICAgICBicmFuZENvbG9yVG86IHAuc2hhcmVCcmFuZENvbG9yVG8sXG4gICAgICBicmFuZE5hbWU6IHAuc2hhcmVCcmFuZE5hbWUsXG4gICAgICBmb2xpbzogcC5mb2xpbyxcbiAgICAgIGZvbGlvTGFiZWw6IHAuc2hhcmVGb2xpb0xhYmVsLFxuICAgICAgYnV5ZXJOYW1lOiBwLmJ1eWVyTmFtZSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjb3B5VG9DbGlwYm9hcmQoXG4gICAgY29uZmlnOiBQYXJhbWV0ZXJzPHR5cGVvZiB0aGlzLnRpY2tldENhcmRJbWFnZVNlcnZpY2UuZ2VuZXJhdGU+WzBdLFxuICAgIHA6IFRpY2tldENhcmRNZXRhZGF0YVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBJbnRlbnRhIGNvcGlhciBsYSBpbWFnZW4gYnJhbmRlZCBhbCBjbGlwYm9hcmQgKENocm9tZS9FZGdlL1NhZmFyaSBkZXNrdG9wKS5cbiAgICBpZiAodHlwZW9mIENsaXBib2FyZEl0ZW0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBibG9iID0gYXdhaXQgdGhpcy50aWNrZXRDYXJkSW1hZ2VTZXJ2aWNlLmdlbmVyYXRlKGNvbmZpZyk7XG4gICAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoW25ldyBDbGlwYm9hcmRJdGVtKHsgJ2ltYWdlL3BuZyc6IGJsb2IgfSldKTtcbiAgICAgICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdjb3BpZWQnKSwgZHVyYXRpb246IDIwMDAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBDbGlwYm9hcmRJdGVtIG5vIHNvcG9ydGFkbyBvIHBlcm1pc28gZGVuZWdhZG8g4oaSIGNhZXIgYSB0ZXh0b1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBGYWxsYmFjazogY29waWEgVVJMIG8gdGV4dG8gZm9saW9cbiAgICBjb25zdCB0ZXh0ID0gKChwLnNoYXJlVXJsID8/IHRoaXMuZm9saW9UZXh0KCkpIHx8IHAuc2hhcmVCcmFuZE5hbWUpID8/ICcnO1xuICAgIGlmICghdGV4dCkgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0KTtcbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudChwLnNoYXJlVXJsID8gJ2NvcGllZFVybCcgOiAnY29waWVkJyksIGR1cmF0aW9uOiAyMDAwIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gY2xpcGJvYXJkIG5vIGRpc3BvbmlibGUg4oCUIHNpbGVuY2lvc29cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRyaWdnZXJEb3dubG9hZChcbiAgICBjb25maWc6IFBhcmFtZXRlcnM8dHlwZW9mIHRoaXMudGlja2V0Q2FyZEltYWdlU2VydmljZS5nZW5lcmF0ZT5bMF0sXG4gICAgcDogVGlja2V0Q2FyZE1ldGFkYXRhXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJsb2IgPSBhd2FpdCB0aGlzLnRpY2tldENhcmRJbWFnZVNlcnZpY2UuZ2VuZXJhdGUoY29uZmlnKTtcbiAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgYS5ocmVmID0gdXJsO1xuICAgIGEuZG93bmxvYWQgPSBgZW50cmFkYS0ke3AuZm9saW8gPz8gJ2JpbmdvJ30ucG5nYDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgIGEuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xuICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgfVxuXG4gIHFyUHJvcHMocTogUXJSZXN1bHQpOiBRckNvZGVNZXRhZGF0YSB7XG4gICAgY29uc3QgcCA9IHRoaXMucHJvcHMoKTtcbiAgICByZXR1cm4ge1xuICAgICAgcXI6IHEsXG4gICAgICBkaXNwbGF5U2l6ZTogcC5xclNpemUgPz8gMjAwLFxuICAgICAgc2hvd0Rvd25sb2FkOiBmYWxzZSxcbiAgICAgIHNob3dTaGFyZTogZmFsc2UsXG4gICAgICBzaG93Qm9yZGVyOiBmYWxzZSxcbiAgICAgIGFsdDogdGhpcy5mb2xpb1RleHQoKSB8fCAnUVInLFxuICAgICAgZG93bmxvYWRMYWJlbDogcC5kb3dubG9hZExhYmVsID8/IHRoaXMudCgnZG93bmxvYWQnKSxcbiAgICAgIHNoYXJlTGFiZWw6IHRoaXMudCgnc2hhcmUnKSxcbiAgICAgIHNoYXJlVGl0bGU6IHAudGl0bGUgfHwgdGhpcy5mb2xpb1RleHQoKSB8fCAnUVInLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -72,7 +72,7 @@ export class ValtechErrorService {
|
|
|
72
72
|
*/
|
|
73
73
|
handle(err, opts = {}) {
|
|
74
74
|
const interpreted = interpretError(err);
|
|
75
|
-
const { context, i18nMap, fallbackKey, i18nNamespace, toast } = opts;
|
|
75
|
+
const { context, i18nMap, fallbackKey, i18nNamespace, toast, showOperationId } = opts;
|
|
76
76
|
// 1. Observabilidad — log estructurado a consola.
|
|
77
77
|
console.error('[ValtechError] handled', {
|
|
78
78
|
context: context ?? 'n/a',
|
|
@@ -106,11 +106,23 @@ export class ValtechErrorService {
|
|
|
106
106
|
});
|
|
107
107
|
// 4. Toast (estándar Valtech: color 'dark', position 'top').
|
|
108
108
|
if (toast !== false) {
|
|
109
|
+
const opId = showOperationId ? interpreted.operationId : undefined;
|
|
109
110
|
this.toast.show({
|
|
110
111
|
message,
|
|
111
112
|
color: 'dark',
|
|
112
113
|
position: 'top',
|
|
113
|
-
|
|
114
|
+
// Más tiempo cuando hay botón de copia — el usuario necesita leerlo y tapear.
|
|
115
|
+
duration: opId ? 6000 : 3000,
|
|
116
|
+
buttons: opId
|
|
117
|
+
? [
|
|
118
|
+
{
|
|
119
|
+
text: 'Copiar ID',
|
|
120
|
+
handler: () => {
|
|
121
|
+
void navigator.clipboard.writeText(opId);
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
]
|
|
125
|
+
: undefined,
|
|
114
126
|
});
|
|
115
127
|
}
|
|
116
128
|
// 5. Devolver el error normalizado para lógica extra del caller.
|
|
@@ -154,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
154
166
|
type: Injectable,
|
|
155
167
|
args: [{ providedIn: 'root' }]
|
|
156
168
|
}] });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGVjaC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvdmFsdGVjaC1lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLHVCQUF1QixDQUFDO0FBRWpFLDhGQUE4RjtBQUM5RixNQUFNLHdCQUF3QixHQUFHLG1DQUFtQyxDQUFDO0FBRXJFLHNFQUFzRTtBQUN0RSxNQUFNLHdCQUF3QixHQUFHLHFDQUFxQyxDQUFDO0FBa0N2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUVILE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFbUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLDRFQUE0RTtRQUMzRCxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0EwRzNFO0lBeEdDOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxNQUFNLENBQUMsR0FBWSxFQUFFLE9BQWtDLEVBQUU7UUFDdkQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFD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Q0FBQztRQUNuRixDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDckUsQ0FBQztRQUVELGlGQUFpRjtRQUNqRixPQUFPLFdBQVcsQ0FBQyxPQUFPLElBQUksd0JBQXdCLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxTQUFTLENBQUMsR0FBVyxFQUFFLFNBQWtCO1FBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRCxDQUFDOytHQTdHVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUROLE1BQU07OzRGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vZmlyZWJhc2UvYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEludGVycHJldGVkRXJyb3IsIGludGVycHJldEVycm9yIH0gZnJvbSAnLi9pbnRlcnByZXQtZXJyb3InO1xuXG4vKipcbiAqIEtleSBpMThuIGZpamEgZGUgbGEgbGlicmVyw61hIHBhcmEgZmFsbG9zIGRlIHJlZC4gTGFzIGFwcHMgcHVlZGVuIGRlZmluaXJsYSBlblxuICogc3UgY29udGVuaWRvIGkxOG4gKG5hbWVzcGFjZSBgX2dsb2JhbGApIHBhcmEgcGVyc29uYWxpemFyIGVsIHRleHRvOyBzaSBub1xuICogZXhpc3RlLCBzZSB1c2Ege0BsaW5rIE5FVFdPUktfRkFMTEJBQ0tfTUVTU0FHRX0uXG4gKi9cbmV4cG9ydCBjb25zdCBWQUxURUNIX05FVFdPUktfRVJST1JfS0VZID0gJ3ZhbHRlY2guZXJyb3IubmV0d29yayc7XG5cbi8qKiBUZXh0byBlbiBlc3Bhw7FvbCBwb3IgZGVmZWN0byBjdWFuZG8ge0BsaW5rIFZBTFRFQ0hfTkVUV09SS19FUlJPUl9LRVl9IG5vIGVzdMOhIGRlZmluaWRhLiAqL1xuY29uc3QgTkVUV09SS19GQUxMQkFDS19NRVNTQUdFID0gJ1NpbiBjb25leGnDs24uIFJldmlzw6EgdHUgaW50ZXJuZXQuJztcblxuLyoqIFRleHRvIGdlbsOpcmljbyBlbiBlc3Bhw7FvbCBjdWFuZG8gbm8gaGF5IG1hdGNoIG5pIGBmYWxsYmFja0tleWAuICovXG5jb25zdCBHRU5FUklDX0ZBTExCQUNLX01FU1NBR0UgPSAnT2N1cnJpw7MgdW4gZXJyb3IuIEludGVudMOhIGRlIG51ZXZvLic7XG5cbi8qKlxuICogT3BjaW9uZXMgZGUge0BsaW5rIFZhbHRlY2hFcnJvclNlcnZpY2UuaGFuZGxlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWx0ZWNoRXJyb3JIYW5kbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIElkZW50aWZpY2Fkb3IgZGVsIHB1bnRvIGRlIGZhbGxvLCBlai4gYCdwcm9maWxlLnNhdmUnYC4gU2UgaW5jbHV5ZSBlbiBlbFxuICAgKiBsb2cgZGUgY29uc29sYSB5IGVuIGVsIHJlcG9ydGUgYSBBbmFseXRpY3MgcGFyYSBmYWNpbGl0YXIgZWwgdHJhY2luZy5cbiAgICovXG4gIGNvbnRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1hcGEgYGPDs2RpZ28gZGUgYmFja2VuZCDihpIga2V5IGkxOG5gLiBMbyBwcm92ZWUgbGEgYXBwLCBxdWUgY29ub2NlIHN1c1xuICAgKiBwcm9waWFzIHRyYWR1Y2Npb25lcy4gRWouIGB7IEVNQUlMX1RBS0VOOiAnZXJyb3JzLmVtYWlsVGFrZW4nIH1gLlxuICAgKi9cbiAgaTE4bk1hcD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIEtleSBpMThuIGEgdXNhciBjdWFuZG8gbm8gaGF5IG1hdGNoIGVuIGBpMThuTWFwYCAoeSBlbCBlcnJvciBubyBlcyBkZSByZWQpLlxuICAgKiBTaSBzZSBvbWl0ZSwgc2UgdXNhIHVuIG1lbnNhamUgZ2Vuw6lyaWNvIGVuIGVzcGHDsW9sLlxuICAgKi9cbiAgZmFsbGJhY2tLZXk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWVzcGFjZSBpMThuIHBhcmEgcmVzb2x2ZXIgYGkxOG5NYXBgIC8gYGZhbGxiYWNrS2V5YCAvIGxhIGtleSBkZSByZWQuXG4gICAqIERlZmF1bHQ6IGBfZ2xvYmFsYC5cbiAgICovXG4gIGkxOG5OYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgLyoqIFNpIG1vc3RyYXIgdW4gdG9hc3QgY29uIGVsIG1lbnNhamUgcmVzdWVsdG8uIERlZmF1bHQ6IGB0cnVlYC4gKi9cbiAgdG9hc3Q/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFNlcnZpY2lvIGRlIFVYIGRlIGVycm9yZXMgY2FwdHVyYWRvcyAoQ2FwYSAzIGRlbCBlc3TDoW5kYXIgZGUgbWFuZWpvIGRlIGVycm9yZXMpLlxuICpcbiAqIE1pZW50cmFzIGxhIENhcGEgMSAoe0BsaW5rIGVycm9yTG9nZ2luZ0ludGVyY2VwdG9yfSkgb2JzZXJ2YSBUT0RBUyBsYXNcbiAqIHJlc3B1ZXN0YXMgSFRUUCBjb24gZXJyb3IsIHkgbGEgQ2FwYSAyIChgQW5hbHl0aWNzRXJyb3JIYW5kbGVyYCkgY2FwdHVyYSBsb3NcbiAqIGVycm9yZXMgTk8gbWFuZWphZG9zLCBsYSBDYXBhIDMgZXMgZWwgcHVudG8gw7puaWNvIHF1ZSB1bmEgcMOhZ2luYSB1c2EgZW4gc3VcbiAqIGBjYXRjaGAgcGFyYSBjb252ZXJ0aXIgdW4gZXJyb3IgZW4gZmVlZGJhY2sgYWwgdXN1YXJpby5cbiAqXG4gKiBSZXNwb25zYWJpbGlkYWRlcyBkZSB7QGxpbmsgaGFuZGxlfTpcbiAqIDEuIE5vcm1hbGl6YSBlbCBlcnJvciAoYGludGVycHJldEVycm9yYCkuXG4gKiAyLiBMb2d1ZWEgYSBjb25zb2xhICsgcmVwb3J0YSBhIEFuYWx5dGljcyAoYHNvdXJjZTogJ2hhbmRsZWQnYCwgY29uIGBjb250ZXh0YCkuXG4gKiAzLiBSZXN1ZWx2ZSB1biBtZW5zYWplIGxvY2FsaXphZG8gKHZlciBvcmRlbiBkZSByZXNvbHVjacOzbiBlbiB7QGxpbmsgaGFuZGxlfSkuXG4gKiA0LiBNdWVzdHJhIHVuIHRvYXN0IChgY29sb3I6ICdkYXJrJ2AsIGVzdMOhbmRhciBWYWx0ZWNoKSBzYWx2byBgdG9hc3Q6IGZhbHNlYC5cbiAqIDUuIERldnVlbHZlIGVsIHtAbGluayBJbnRlcnByZXRlZEVycm9yfSBwYXJhIHF1ZSBsYSBww6FnaW5hIGRlY2lkYSBsw7NnaWNhIGV4dHJhLlxuICpcbiAqICoqTnVuY2EgbGFuemEuKiogYEFuYWx5dGljc1NlcnZpY2VgIHNlIGlueWVjdGEgYEBPcHRpb25hbCgpYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIHByaXZhdGUgZXJyb3JzID0gaW5qZWN0KFZhbHRlY2hFcnJvclNlcnZpY2UpO1xuICpcbiAqIGFzeW5jIHNhdmUoKSB7XG4gKiAgIHRyeSB7XG4gKiAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hcGkudXBkYXRlUHJvZmlsZSh0aGlzLmZvcm0udmFsdWUpKTtcbiAqICAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiAnUGVyZmlsIGFjdHVhbGl6YWRvJywgY29sb3I6ICdkYXJrJyB9KTtcbiAqICAgfSBjYXRjaCAoZXJyKSB7XG4gKiAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICogICAgICAgY29udGV4dDogJ3Byb2ZpbGUuc2F2ZScsXG4gKiAgICAgICBpMThuTWFwOiB7IEVNQUlMX1RBS0VOOiAnZXJyb3JzLmVtYWlsVGFrZW4nIH0sXG4gKiAgICAgICBmYWxsYmFja0tleTogJ2Vycm9ycy5wcm9maWxlU2F2ZUZhaWxlZCcsXG4gKiAgICAgfSk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFZhbHRlY2hFcnJvclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIC8vIEFwcHMgc2luIEZpcmViYXNlIEFuYWx5dGljczogZWwgc2VydmljaW8gc2lndWUgZnVuY2lvbmFuZG8gKGxvZyArIHRvYXN0KS5cbiAgcHJpdmF0ZSByZWFkb25seSBhbmFseXRpY3MgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogTWFuZWphIHVuIGVycm9yIGNhcHR1cmFkbzogbm9ybWFsaXphLCBvYnNlcnZhIHkgcHJvZHVjZSBmZWVkYmFjayBkZSB1c3VhcmlvLlxuICAgKlxuICAgKiBPcmRlbiBkZSByZXNvbHVjacOzbiBkZWwgbWVuc2FqZSBkZWwgdG9hc3Q6XG4gICAqIDEuIGBpMThuTWFwW2NvZGVdYCBkZWZpbmlkbyDihpIgYGkxOG4udChlc2Ega2V5KWAuXG4gICAqIDIuIFNpbiBtYXRjaCB5IGBpc05ldHdvcmtgIOKGkiBrZXkgZGUgcmVkICh7QGxpbmsgVkFMVEVDSF9ORVRXT1JLX0VSUk9SX0tFWX0pLFxuICAgKiAgICBjb24gZmFsbGJhY2sgYWwgdGV4dG8gZXNwYcOxb2wgc2kgbGEgYXBwIG5vIGxhIHRyYWR1am8uXG4gICAqIDMuIGBmYWxsYmFja0tleWAgZGVmaW5pZG8g4oaSIGBpMThuLnQoZmFsbGJhY2tLZXkpYC5cbiAgICogNC4gR2Vuw6lyaWNvIGVuIGVzcGHDsW9sLlxuICAgKlxuICAgKiBAcGFyYW0gZXJyIEN1YWxxdWllciBlcnJvciBjYXB0dXJhZG8uXG4gICAqIEBwYXJhbSBvcHRzIE9wY2lvbmVzIGRlIGNvbnRleHRvLCBtYXBlbyBpMThuIHkgdG9hc3QuXG4gICAqIEByZXR1cm5zIEVsIHtAbGluayBJbnRlcnByZXRlZEVycm9yfSBub3JtYWxpemFkby4gTnVuY2EgbGFuemEuXG4gICAqL1xuICBoYW5kbGUoZXJyOiB1bmtub3duLCBvcHRzOiBWYWx0ZWNoRXJyb3JIYW5kbGVPcHRpb25zID0ge30pOiBJbnRlcnByZXRlZEVycm9yIHtcbiAgICBjb25zdCBpbnRlcnByZXRlZCA9IGludGVycHJldEVycm9yKGVycik7XG4gICAgY29uc3QgeyBjb250ZXh0LCBpMThuTWFwLCBmYWxsYmFja0tleSwgaTE4bk5hbWVzcGFjZSwgdG9hc3QgfSA9IG9wdHM7XG5cbiAgICAvLyAxLiBPYnNlcnZhYmlsaWRhZCDigJQgbG9nIGVzdHJ1Y3R1cmFkbyBhIGNvbnNvbGEuXG4gICAgY29uc29sZS5lcnJvcignW1ZhbHRlY2hFcnJvcl0gaGFuZGxlZCcsIHtcbiAgICAgIGNvbnRleHQ6IGNvbnRleHQgPz8gJ24vYScsXG4gICAgICBjb2RlOiBpbnRlcnByZXRlZC5jb2RlLFxuICAgICAgc3RhdHVzOiBpbnRlcnByZXRlZC5zdGF0dXMgPz8gJ24vYScsXG4gICAgICBvcGVyYXRpb25JZDogaW50ZXJwcmV0ZWQub3BlcmF0aW9uSWQgPz8gJ24vYScsXG4gICAgICBpc05ldHdvcms6IGludGVycHJldGVkLmlzTmV0d29yayxcbiAgICAgIG1lc3NhZ2U6IGludGVycHJldGVkLm1lc3NhZ2UsXG4gICAgfSk7XG5cbiAgICAvLyAyLiBSZXBvcnRlIGEgQW5hbHl0aWNzIChiZXN0LWVmZm9ydCwgb3BjaW9uYWwpLlxuICAgIGlmICh0aGlzLmFuYWx5dGljcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5hbmFseXRpY3MubG9nRXJyb3IoaW50ZXJwcmV0ZWQubWVzc2FnZSwge1xuICAgICAgICAgIHNvdXJjZTogJ2hhbmRsZWQnLFxuICAgICAgICAgIGNvZGU6IGludGVycHJldGVkLmNvZGUsXG4gICAgICAgICAgLi4uKGNvbnRleHQgPyB7IGNvbnRleHQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oaW50ZXJwcmV0ZWQuc3RhdHVzICE9PSB1bmRlZmluZWQgPyB7IHN0YXR1czogU3RyaW5nKGludGVycHJldGVkLnN0YXR1cykgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oaW50ZXJwcmV0ZWQub3BlcmF0aW9uSWQgPyB7IG9wZXJhdGlvbklkOiBpbnRlcnByZXRlZC5vcGVyYXRpb25JZCB9IDoge30pLFxuICAgICAgICAgIC4uLihpbnRlcnByZXRlZC5pc05ldHdvcmsgPyB7IGVycm9yX2NhdGVnb3J5OiAnbmV0d29yaycgfSA6IHt9KSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoICh0cmFja2luZ0Vycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignW1ZhbHRlY2hFcnJvcl0gYW5hbHl0aWNzIHRyYWNraW5nIGZhaWxlZDonLCB0cmFja2luZ0Vycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAzLiBSZXNvbHZlciBtZW5zYWplIGxvY2FsaXphZG8gcGFyYSBlbCB1c3VhcmlvLlxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLnJlc29sdmVNZXNzYWdlKGludGVycHJldGVkLCB7XG4gICAgICBpMThuTWFwLFxuICAgICAgZmFsbGJhY2tLZXksXG4gICAgICBpMThuTmFtZXNwYWNlLFxuICAgIH0pO1xuXG4gICAgLy8gNC4gVG9hc3QgKGVzdMOhbmRhciBWYWx0ZWNoOiBjb2xvciAnZGFyaycsIHBvc2l0aW9uICd0b3AnKS5cbiAgICBpZiAodG9hc3QgIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICBwb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gNS4gRGV2b2x2ZXIgZWwgZXJyb3Igbm9ybWFsaXphZG8gcGFyYSBsw7NnaWNhIGV4dHJhIGRlbCBjYWxsZXIuXG4gICAgcmV0dXJuIGludGVycHJldGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3VlbHZlIGVsIG1lbnNhamUgYSBtb3N0cmFyIHNpZ3VpZW5kbyBlbCBvcmRlbiBkb2N1bWVudGFkbyBlbiB7QGxpbmsgaGFuZGxlfS5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZU1lc3NhZ2UoXG4gICAgaW50ZXJwcmV0ZWQ6IEludGVycHJldGVkRXJyb3IsXG4gICAgb3B0czogUGljazxWYWx0ZWNoRXJyb3JIYW5kbGVPcHRpb25zLCAnaTE4bk1hcCcgfCAnZmFsbGJhY2tLZXknIHwgJ2kxOG5OYW1lc3BhY2UnPlxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IG5zID0gb3B0cy5pMThuTmFtZXNwYWNlO1xuXG4gICAgLy8gMS4gTWF0Y2ggZXhhY3RvIHBvciBjw7NkaWdvIGRlIGJhY2tlbmQuXG4gICAgY29uc3QgbWFwcGVkS2V5ID0gb3B0cy5pMThuTWFwPy5baW50ZXJwcmV0ZWQuY29kZV07XG4gICAgaWYgKG1hcHBlZEtleSkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlKG1hcHBlZEtleSwgbnMpID8/IGludGVycHJldGVkLm1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLy8gMi4gRmFsbG8gZGUgcmVkIOKGkiBrZXkgZGUgcmVkIGRlIGxhIGxpYiwgY29uIGZhbGxiYWNrIGVzcGHDsW9sLlxuICAgIGlmIChpbnRlcnByZXRlZC5pc05ldHdvcmspIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZShWQUxURUNIX05FVFdPUktfRVJST1JfS0VZLCBucykgPz8gTkVUV09SS19GQUxMQkFDS19NRVNTQUdFO1xuICAgIH1cblxuICAgIC8vIDMuIGZhbGxiYWNrS2V5IHByb3Zpc3RvIHBvciBsYSBhcHAuXG4gICAgaWYgKG9wdHMuZmFsbGJhY2tLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZShvcHRzLmZhbGxiYWNrS2V5LCBucykgPz8gaW50ZXJwcmV0ZWQubWVzc2FnZTtcbiAgICB9XG5cbiAgICAvLyA0LiBHZW7DqXJpY28g4oCUIHByZWZlcmlyIGVsIG1lbnNhamUgZGVsIGJhY2tlbmQgKHlhIHZpZW5lIGVuIGVzcGHDsW9sKSBzaSBsbyBoYXkuXG4gICAgcmV0dXJuIGludGVycHJldGVkLm1lc3NhZ2UgfHwgR0VORVJJQ19GQUxMQkFDS19NRVNTQUdFO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYWR1Y2UgdW5hIGtleSBpMThuLiBEZXZ1ZWx2ZSBgbnVsbGAgc2kgbGEga2V5IG5vIGVzdMOhIGRlZmluaWRhIOKAlCBlbFxuICAgKiBgSTE4blNlcnZpY2VgIGRldnVlbHZlIHVuIHBsYWNlaG9sZGVyIGBbbmFtZXNwYWNlLmtleV1gIHBhcmEga2V5cyBmYWx0YW50ZXM7XG4gICAqIGxvIGRldGVjdGFtb3MgcGFyYSBwb2RlciBjYWVyIGEgdW4gZmFsbGJhY2sgZW4gbHVnYXIgZGUgbW9zdHJhciBlbCBwbGFjZWhvbGRlci5cbiAgICovXG4gIHByaXZhdGUgdHJhbnNsYXRlKGtleTogc3RyaW5nLCBuYW1lc3BhY2U/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5pMThuLnQoa2V5LCBuYW1lc3BhY2UpO1xuICAgIGNvbnN0IG5zID0gbmFtZXNwYWNlID8/ICdfZ2xvYmFsJztcbiAgICByZXR1cm4gdGV4dCA9PT0gYFske25zfS4ke2tleX1dYCA/IG51bGwgOiB0ZXh0O1xuICB9XG59XG4iXX0=
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGVjaC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvdmFsdGVjaC1lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLHVCQUF1QixDQUFDO0FBRWpFLDhGQUE4RjtBQUM5RixNQUFNLHdCQUF3QixHQUFHLG1DQUFtQyxDQUFDO0FBRXJFLHNFQUFzRTtBQUN0RSxNQUFNLHdCQUF3QixHQUFHLHFDQUFxQyxDQUFDO0FBeUN2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUVILE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFbUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLDRFQUE0RTtRQUMzRCxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FzSDNFO0lBcEhDOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxNQUFNLENBQUMsR0FBWSxFQUFFLE9BQWtDLEVBQUU7UUFDdkQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFD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QUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi9maXJlYmFzZS9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSW50ZXJwcmV0ZWRFcnJvciwgaW50ZXJwcmV0RXJyb3IgfSBmcm9tICcuL2ludGVycHJldC1lcnJvcic7XG5cbi8qKlxuICogS2V5IGkxOG4gZmlqYSBkZSBsYSBsaWJyZXLDrWEgcGFyYSBmYWxsb3MgZGUgcmVkLiBMYXMgYXBwcyBwdWVkZW4gZGVmaW5pcmxhIGVuXG4gKiBzdSBjb250ZW5pZG8gaTE4biAobmFtZXNwYWNlIGBfZ2xvYmFsYCkgcGFyYSBwZXJzb25hbGl6YXIgZWwgdGV4dG87IHNpIG5vXG4gKiBleGlzdGUsIHNlIHVzYSB7QGxpbmsgTkVUV09SS19GQUxMQkFDS19NRVNTQUdFfS5cbiAqL1xuZXhwb3J0IGNvbnN0IFZBTFRFQ0hfTkVUV09SS19FUlJPUl9LRVkgPSAndmFsdGVjaC5lcnJvci5uZXR3b3JrJztcblxuLyoqIFRleHRvIGVuIGVzcGHDsW9sIHBvciBkZWZlY3RvIGN1YW5kbyB7QGxpbmsgVkFMVEVDSF9ORVRXT1JLX0VSUk9SX0tFWX0gbm8gZXN0w6EgZGVmaW5pZGEuICovXG5jb25zdCBORVRXT1JLX0ZBTExCQUNLX01FU1NBR0UgPSAnU2luIGNvbmV4acOzbi4gUmV2aXPDoSB0dSBpbnRlcm5ldC4nO1xuXG4vKiogVGV4dG8gZ2Vuw6lyaWNvIGVuIGVzcGHDsW9sIGN1YW5kbyBubyBoYXkgbWF0Y2ggbmkgYGZhbGxiYWNrS2V5YC4gKi9cbmNvbnN0IEdFTkVSSUNfRkFMTEJBQ0tfTUVTU0FHRSA9ICdPY3VycmnDsyB1biBlcnJvci4gSW50ZW50w6EgZGUgbnVldm8uJztcblxuLyoqXG4gKiBPcGNpb25lcyBkZSB7QGxpbmsgVmFsdGVjaEVycm9yU2VydmljZS5oYW5kbGV9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hFcnJvckhhbmRsZU9wdGlvbnMge1xuICAvKipcbiAgICogSWRlbnRpZmljYWRvciBkZWwgcHVudG8gZGUgZmFsbG8sIGVqLiBgJ3Byb2ZpbGUuc2F2ZSdgLiBTZSBpbmNsdXllIGVuIGVsXG4gICAqIGxvZyBkZSBjb25zb2xhIHkgZW4gZWwgcmVwb3J0ZSBhIEFuYWx5dGljcyBwYXJhIGZhY2lsaXRhciBlbCB0cmFjaW5nLlxuICAgKi9cbiAgY29udGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogTWFwYSBgY8OzZGlnbyBkZSBiYWNrZW5kIOKGkiBrZXkgaTE4bmAuIExvIHByb3ZlZSBsYSBhcHAsIHF1ZSBjb25vY2Ugc3VzXG4gICAqIHByb3BpYXMgdHJhZHVjY2lvbmVzLiBFai4gYHsgRU1BSUxfVEFLRU46ICdlcnJvcnMuZW1haWxUYWtlbicgfWAuXG4gICAqL1xuICBpMThuTWFwPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogS2V5IGkxOG4gYSB1c2FyIGN1YW5kbyBubyBoYXkgbWF0Y2ggZW4gYGkxOG5NYXBgICh5IGVsIGVycm9yIG5vIGVzIGRlIHJlZCkuXG4gICAqIFNpIHNlIG9taXRlLCBzZSB1c2EgdW4gbWVuc2FqZSBnZW7DqXJpY28gZW4gZXNwYcOxb2wuXG4gICAqL1xuICBmYWxsYmFja0tleT86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZXNwYWNlIGkxOG4gcGFyYSByZXNvbHZlciBgaTE4bk1hcGAgLyBgZmFsbGJhY2tLZXlgIC8gbGEga2V5IGRlIHJlZC5cbiAgICogRGVmYXVsdDogYF9nbG9iYWxgLlxuICAgKi9cbiAgaTE4bk5hbWVzcGFjZT86IHN0cmluZztcblxuICAvKiogU2kgbW9zdHJhciB1biB0b2FzdCBjb24gZWwgbWVuc2FqZSByZXN1ZWx0by4gRGVmYXVsdDogYHRydWVgLiAqL1xuICB0b2FzdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNpIGluY2x1aXIgdW4gYm90w7NuIFwiQ29waWFyIElEXCIgZW4gZWwgdG9hc3QgY3VhbmRvIGVsIGJhY2tlbmQgZGV2dWVsdmUgdW5cbiAgICogYG9wZXJhdGlvbklkYC4gw5p0aWwgcGFyYSBzb3BvcnRlOiBlbCB1c3VhcmlvIGNvcGlhIGVsIElEIHkgbG8gZW50cmVnYSBhbFxuICAgKiBlcXVpcG8gcGFyYSBidXNjYXIgZW4gQ2xvdWRXYXRjaC4gRGVmYXVsdDogYGZhbHNlYC5cbiAgICovXG4gIHNob3dPcGVyYXRpb25JZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU2VydmljaW8gZGUgVVggZGUgZXJyb3JlcyBjYXB0dXJhZG9zIChDYXBhIDMgZGVsIGVzdMOhbmRhciBkZSBtYW5lam8gZGUgZXJyb3JlcykuXG4gKlxuICogTWllbnRyYXMgbGEgQ2FwYSAxICh7QGxpbmsgZXJyb3JMb2dnaW5nSW50ZXJjZXB0b3J9KSBvYnNlcnZhIFRPREFTIGxhc1xuICogcmVzcHVlc3RhcyBIVFRQIGNvbiBlcnJvciwgeSBsYSBDYXBhIDIgKGBBbmFseXRpY3NFcnJvckhhbmRsZXJgKSBjYXB0dXJhIGxvc1xuICogZXJyb3JlcyBOTyBtYW5lamFkb3MsIGxhIENhcGEgMyBlcyBlbCBwdW50byDDum5pY28gcXVlIHVuYSBww6FnaW5hIHVzYSBlbiBzdVxuICogYGNhdGNoYCBwYXJhIGNvbnZlcnRpciB1biBlcnJvciBlbiBmZWVkYmFjayBhbCB1c3VhcmlvLlxuICpcbiAqIFJlc3BvbnNhYmlsaWRhZGVzIGRlIHtAbGluayBoYW5kbGV9OlxuICogMS4gTm9ybWFsaXphIGVsIGVycm9yIChgaW50ZXJwcmV0RXJyb3JgKS5cbiAqIDIuIExvZ3VlYSBhIGNvbnNvbGEgKyByZXBvcnRhIGEgQW5hbHl0aWNzIChgc291cmNlOiAnaGFuZGxlZCdgLCBjb24gYGNvbnRleHRgKS5cbiAqIDMuIFJlc3VlbHZlIHVuIG1lbnNhamUgbG9jYWxpemFkbyAodmVyIG9yZGVuIGRlIHJlc29sdWNpw7NuIGVuIHtAbGluayBoYW5kbGV9KS5cbiAqIDQuIE11ZXN0cmEgdW4gdG9hc3QgKGBjb2xvcjogJ2RhcmsnYCwgZXN0w6FuZGFyIFZhbHRlY2gpIHNhbHZvIGB0b2FzdDogZmFsc2VgLlxuICogNS4gRGV2dWVsdmUgZWwge0BsaW5rIEludGVycHJldGVkRXJyb3J9IHBhcmEgcXVlIGxhIHDDoWdpbmEgZGVjaWRhIGzDs2dpY2EgZXh0cmEuXG4gKlxuICogKipOdW5jYSBsYW56YS4qKiBgQW5hbHl0aWNzU2VydmljZWAgc2UgaW55ZWN0YSBgQE9wdGlvbmFsKClgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogcHJpdmF0ZSBlcnJvcnMgPSBpbmplY3QoVmFsdGVjaEVycm9yU2VydmljZSk7XG4gKlxuICogYXN5bmMgc2F2ZSgpIHtcbiAqICAgdHJ5IHtcbiAqICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFwaS51cGRhdGVQcm9maWxlKHRoaXMuZm9ybS52YWx1ZSkpO1xuICogICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6ICdQZXJmaWwgYWN0dWFsaXphZG8nLCBjb2xvcjogJ2RhcmsnIH0pO1xuICogICB9IGNhdGNoIChlcnIpIHtcbiAqICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gKiAgICAgICBjb250ZXh0OiAncHJvZmlsZS5zYXZlJyxcbiAqICAgICAgIGkxOG5NYXA6IHsgRU1BSUxfVEFLRU46ICdlcnJvcnMuZW1haWxUYWtlbicgfSxcbiAqICAgICAgIGZhbGxiYWNrS2V5OiAnZXJyb3JzLnByb2ZpbGVTYXZlRmFpbGVkJyxcbiAqICAgICB9KTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVmFsdGVjaEVycm9yU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9hc3QgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgLy8gQXBwcyBzaW4gRmlyZWJhc2UgQW5hbHl0aWNzOiBlbCBzZXJ2aWNpbyBzaWd1ZSBmdW5jaW9uYW5kbyAobG9nICsgdG9hc3QpLlxuICBwcml2YXRlIHJlYWRvbmx5IGFuYWx5dGljcyA9IGluamVjdChBbmFseXRpY3NTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBNYW5lamEgdW4gZXJyb3IgY2FwdHVyYWRvOiBub3JtYWxpemEsIG9ic2VydmEgeSBwcm9kdWNlIGZlZWRiYWNrIGRlIHVzdWFyaW8uXG4gICAqXG4gICAqIE9yZGVuIGRlIHJlc29sdWNpw7NuIGRlbCBtZW5zYWplIGRlbCB0b2FzdDpcbiAgICogMS4gYGkxOG5NYXBbY29kZV1gIGRlZmluaWRvIOKGkiBgaTE4bi50KGVzYSBrZXkpYC5cbiAgICogMi4gU2luIG1hdGNoIHkgYGlzTmV0d29ya2Ag4oaSIGtleSBkZSByZWQgKHtAbGluayBWQUxURUNIX05FVFdPUktfRVJST1JfS0VZfSksXG4gICAqICAgIGNvbiBmYWxsYmFjayBhbCB0ZXh0byBlc3Bhw7FvbCBzaSBsYSBhcHAgbm8gbGEgdHJhZHVqby5cbiAgICogMy4gYGZhbGxiYWNrS2V5YCBkZWZpbmlkbyDihpIgYGkxOG4udChmYWxsYmFja0tleSlgLlxuICAgKiA0LiBHZW7DqXJpY28gZW4gZXNwYcOxb2wuXG4gICAqXG4gICAqIEBwYXJhbSBlcnIgQ3VhbHF1aWVyIGVycm9yIGNhcHR1cmFkby5cbiAgICogQHBhcmFtIG9wdHMgT3BjaW9uZXMgZGUgY29udGV4dG8sIG1hcGVvIGkxOG4geSB0b2FzdC5cbiAgICogQHJldHVybnMgRWwge0BsaW5rIEludGVycHJldGVkRXJyb3J9IG5vcm1hbGl6YWRvLiBOdW5jYSBsYW56YS5cbiAgICovXG4gIGhhbmRsZShlcnI6IHVua25vd24sIG9wdHM6IFZhbHRlY2hFcnJvckhhbmRsZU9wdGlvbnMgPSB7fSk6IEludGVycHJldGVkRXJyb3Ige1xuICAgIGNvbnN0IGludGVycHJldGVkID0gaW50ZXJwcmV0RXJyb3IoZXJyKTtcbiAgICBjb25zdCB7IGNvbnRleHQsIGkxOG5NYXAsIGZhbGxiYWNrS2V5LCBpMThuTmFtZXNwYWNlLCB0b2FzdCwgc2hvd09wZXJhdGlvbklkIH0gPSBvcHRzO1xuXG4gICAgLy8gMS4gT2JzZXJ2YWJpbGlkYWQg4oCUIGxvZyBlc3RydWN0dXJhZG8gYSBjb25zb2xhLlxuICAgIGNvbnNvbGUuZXJyb3IoJ1tWYWx0ZWNoRXJyb3JdIGhhbmRsZWQnLCB7XG4gICAgICBjb250ZXh0OiBjb250ZXh0ID8/ICduL2EnLFxuICAgICAgY29kZTogaW50ZXJwcmV0ZWQuY29kZSxcbiAgICAgIHN0YXR1czogaW50ZXJwcmV0ZWQuc3RhdHVzID8/ICduL2EnLFxuICAgICAgb3BlcmF0aW9uSWQ6IGludGVycHJldGVkLm9wZXJhdGlvbklkID8/ICduL2EnLFxuICAgICAgaXNOZXR3b3JrOiBpbnRlcnByZXRlZC5pc05ldHdvcmssXG4gICAgICBtZXNzYWdlOiBpbnRlcnByZXRlZC5tZXNzYWdlLFxuICAgIH0pO1xuXG4gICAgLy8gMi4gUmVwb3J0ZSBhIEFuYWx5dGljcyAoYmVzdC1lZmZvcnQsIG9wY2lvbmFsKS5cbiAgICBpZiAodGhpcy5hbmFseXRpY3MpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuYW5hbHl0aWNzLmxvZ0Vycm9yKGludGVycHJldGVkLm1lc3NhZ2UsIHtcbiAgICAgICAgICBzb3VyY2U6ICdoYW5kbGVkJyxcbiAgICAgICAgICBjb2RlOiBpbnRlcnByZXRlZC5jb2RlLFxuICAgICAgICAgIC4uLihjb250ZXh0ID8geyBjb250ZXh0IH0gOiB7fSksXG4gICAgICAgICAgLi4uKGludGVycHJldGVkLnN0YXR1cyAhPT0gdW5kZWZpbmVkID8geyBzdGF0dXM6IFN0cmluZyhpbnRlcnByZXRlZC5zdGF0dXMpIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGludGVycHJldGVkLm9wZXJhdGlvbklkID8geyBvcGVyYXRpb25JZDogaW50ZXJwcmV0ZWQub3BlcmF0aW9uSWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oaW50ZXJwcmV0ZWQuaXNOZXR3b3JrID8geyBlcnJvcl9jYXRlZ29yeTogJ25ldHdvcmsnIH0gOiB7fSksXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAodHJhY2tpbmdFcnJvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1tWYWx0ZWNoRXJyb3JdIGFuYWx5dGljcyB0cmFja2luZyBmYWlsZWQ6JywgdHJhY2tpbmdFcnJvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gMy4gUmVzb2x2ZXIgbWVuc2FqZSBsb2NhbGl6YWRvIHBhcmEgZWwgdXN1YXJpby5cbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5yZXNvbHZlTWVzc2FnZShpbnRlcnByZXRlZCwge1xuICAgICAgaTE4bk1hcCxcbiAgICAgIGZhbGxiYWNrS2V5LFxuICAgICAgaTE4bk5hbWVzcGFjZSxcbiAgICB9KTtcblxuICAgIC8vIDQuIFRvYXN0IChlc3TDoW5kYXIgVmFsdGVjaDogY29sb3IgJ2RhcmsnLCBwb3NpdGlvbiAndG9wJykuXG4gICAgaWYgKHRvYXN0ICE9PSBmYWxzZSkge1xuICAgICAgY29uc3Qgb3BJZCA9IHNob3dPcGVyYXRpb25JZCA/IGludGVycHJldGVkLm9wZXJhdGlvbklkIDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy50b2FzdC5zaG93KHtcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgcG9zaXRpb246ICd0b3AnLFxuICAgICAgICAvLyBNw6FzIHRpZW1wbyBjdWFuZG8gaGF5IGJvdMOzbiBkZSBjb3BpYSDigJQgZWwgdXN1YXJpbyBuZWNlc2l0YSBsZWVybG8geSB0YXBlYXIuXG4gICAgICAgIGR1cmF0aW9uOiBvcElkID8gNjAwMCA6IDMwMDAsXG4gICAgICAgIGJ1dHRvbnM6IG9wSWRcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRleHQ6ICdDb3BpYXIgSUQnLFxuICAgICAgICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHZvaWQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQob3BJZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIDUuIERldm9sdmVyIGVsIGVycm9yIG5vcm1hbGl6YWRvIHBhcmEgbMOzZ2ljYSBleHRyYSBkZWwgY2FsbGVyLlxuICAgIHJldHVybiBpbnRlcnByZXRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN1ZWx2ZSBlbCBtZW5zYWplIGEgbW9zdHJhciBzaWd1aWVuZG8gZWwgb3JkZW4gZG9jdW1lbnRhZG8gZW4ge0BsaW5rIGhhbmRsZX0uXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVNZXNzYWdlKFxuICAgIGludGVycHJldGVkOiBJbnRlcnByZXRlZEVycm9yLFxuICAgIG9wdHM6IFBpY2s8VmFsdGVjaEVycm9ySGFuZGxlT3B0aW9ucywgJ2kxOG5NYXAnIHwgJ2ZhbGxiYWNrS2V5JyB8ICdpMThuTmFtZXNwYWNlJz5cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBucyA9IG9wdHMuaTE4bk5hbWVzcGFjZTtcblxuICAgIC8vIDEuIE1hdGNoIGV4YWN0byBwb3IgY8OzZGlnbyBkZSBiYWNrZW5kLlxuICAgIGNvbnN0IG1hcHBlZEtleSA9IG9wdHMuaTE4bk1hcD8uW2ludGVycHJldGVkLmNvZGVdO1xuICAgIGlmIChtYXBwZWRLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZShtYXBwZWRLZXksIG5zKSA/PyBpbnRlcnByZXRlZC5tZXNzYWdlO1xuICAgIH1cblxuICAgIC8vIDIuIEZhbGxvIGRlIHJlZCDihpIga2V5IGRlIHJlZCBkZSBsYSBsaWIsIGNvbiBmYWxsYmFjayBlc3Bhw7FvbC5cbiAgICBpZiAoaW50ZXJwcmV0ZWQuaXNOZXR3b3JrKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUoVkFMVEVDSF9ORVRXT1JLX0VSUk9SX0tFWSwgbnMpID8/IE5FVFdPUktfRkFMTEJBQ0tfTUVTU0FHRTtcbiAgICB9XG5cbiAgICAvLyAzLiBmYWxsYmFja0tleSBwcm92aXN0byBwb3IgbGEgYXBwLlxuICAgIGlmIChvcHRzLmZhbGxiYWNrS2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUob3B0cy5mYWxsYmFja0tleSwgbnMpID8/IGludGVycHJldGVkLm1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLy8gNC4gR2Vuw6lyaWNvIOKAlCBwcmVmZXJpciBlbCBtZW5zYWplIGRlbCBiYWNrZW5kICh5YSB2aWVuZSBlbiBlc3Bhw7FvbCkgc2kgbG8gaGF5LlxuICAgIHJldHVybiBpbnRlcnByZXRlZC5tZXNzYWdlIHx8IEdFTkVSSUNfRkFMTEJBQ0tfTUVTU0FHRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFkdWNlIHVuYSBrZXkgaTE4bi4gRGV2dWVsdmUgYG51bGxgIHNpIGxhIGtleSBubyBlc3TDoSBkZWZpbmlkYSDigJQgZWxcbiAgICogYEkxOG5TZXJ2aWNlYCBkZXZ1ZWx2ZSB1biBwbGFjZWhvbGRlciBgW25hbWVzcGFjZS5rZXldYCBwYXJhIGtleXMgZmFsdGFudGVzO1xuICAgKiBsbyBkZXRlY3RhbW9zIHBhcmEgcG9kZXIgY2FlciBhIHVuIGZhbGxiYWNrIGVuIGx1Z2FyIGRlIG1vc3RyYXIgZWwgcGxhY2Vob2xkZXIuXG4gICAqL1xuICBwcml2YXRlIHRyYW5zbGF0ZShrZXk6IHN0cmluZywgbmFtZXNwYWNlPzogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgdGV4dCA9IHRoaXMuaTE4bi50KGtleSwgbmFtZXNwYWNlKTtcbiAgICBjb25zdCBucyA9IG5hbWVzcGFjZSA/PyAnX2dsb2JhbCc7XG4gICAgcmV0dXJuIHRleHQgPT09IGBbJHtuc30uJHtrZXl9XWAgPyBudWxsIDogdGV4dDtcbiAgfVxufVxuIl19
|
|
@@ -25,6 +25,7 @@ export class ToastService {
|
|
|
25
25
|
duration: request.duration,
|
|
26
26
|
position: request.position ?? 'top',
|
|
27
27
|
color: request.color ?? 'dark',
|
|
28
|
+
buttons: request.buttons,
|
|
28
29
|
});
|
|
29
30
|
await toast.present();
|
|
30
31
|
}
|
|
@@ -50,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
50
51
|
providedIn: 'root',
|
|
51
52
|
}]
|
|
52
53
|
}], ctorParameters: () => [{ type: i1.ToastController }] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHM0M7OztHQUdHO0FBSUgsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQztJQUV4RDs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQXFCO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLO1lBQ25DLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLE1BQU07WUFDOUIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1NBQ3pCLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsT0FBcUI7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7YUFDdkIsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXJDVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciwgVG9hc3RPcHRpb25zIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGRpc3BsYXlpbmcgdG9hc3Qgbm90aWZpY2F0aW9ucyB1c2luZyBJb25pYydzIFRvYXN0Q29udHJvbGxlci5cbiAqIFByb3ZpZGVzIG1ldGhvZHMgdG8gc2hvdyBhbmQgcHJlc2VudCB0b2FzdHMgd2l0aCBjdXN0b20gb3B0aW9ucy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIpIHt9XG5cbiAgLyoqXG4gICAqIFByZXNlbnRzIGEgdG9hc3Qgbm90aWZpY2F0aW9uIHdpdGggdGhlIGdpdmVuIG9wdGlvbnMuXG4gICAqXG4gICAqIEVzdMOhbmRhciBWYWx0ZWNoOiB0b2RvcyBsb3MgdG9hc3RzIHNvbiBgY29sb3I6ICdkYXJrJ2AgeSBgcG9zaXRpb246ICd0b3AnYC5cbiAgICogRXN0b3Mgc29uIGxvcyBkZWZhdWx0cyBjdWFuZG8gZWwgY2FsbGVyIG5vIGxvcyBlc3BlY2lmaWNhIOKAlCBubyBoYWNlIGZhbHRhXG4gICAqIHBhc2FybG9zIGVuIGNhZGEgbGxhbWFkYS4gRWwgZGlmZXJlbmNpYWRvciBzZW3DoW50aWNvICjDqXhpdG8vZXJyb3IpIHZhIGVuXG4gICAqIGVsIG1lbnNhamUsIG5vIGVuIGVsIGNvbG9yLlxuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdCBUb2FzdCBvcHRpb25zIChtZXNzYWdlLCBkdXJhdGlvbiwgcG9zaXRpb24sIGNvbG9yLCBldGMuKVxuICAgKi9cbiAgYXN5bmMgcHJlc2VudFRvYXN0KHJlcXVlc3Q6IFRvYXN0T3B0aW9ucykge1xuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIG1lc3NhZ2U6IHJlcXVlc3QubWVzc2FnZSxcbiAgICAgIGR1cmF0aW9uOiByZXF1ZXN0LmR1cmF0aW9uLFxuICAgICAgcG9zaXRpb246IHJlcXVlc3QucG9zaXRpb24gPz8gJ3RvcCcsXG4gICAgICBjb2xvcjogcmVxdWVzdC5jb2xvciA/PyAnZGFyaycsXG4gICAgICBidXR0b25zOiByZXF1ZXN0LmJ1dHRvbnMsXG4gICAgfSk7XG5cbiAgICBhd2FpdCB0b2FzdC5wcmVzZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgYSB0b2FzdCBub3RpZmljYXRpb24gYW5kIGxvZ3MgdGhlIHJlc3VsdC5cbiAgICogQHBhcmFtIHJlcXVlc3QgVG9hc3Qgb3B0aW9ucyAobWVzc2FnZSwgZHVyYXRpb24sIHBvc2l0aW9uLCBjb2xvciwgZXRjLilcbiAgICovXG4gIHNob3cocmVxdWVzdDogVG9hc3RPcHRpb25zKSB7XG4gICAgdGhpcy5wcmVzZW50VG9hc3QocmVxdWVzdClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgY29uc29sZS5pbmZvKCdUb2FzdCBjcmVhdGVkJyk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihKU09OLnN0cmluZ2lmeShlcnJvcikpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.152';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xNTInO1xuIl19
|
|
@@ -56,7 +56,7 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
|
|
|
56
56
|
* Current version of valtech-components.
|
|
57
57
|
* This is automatically updated during the publish process.
|
|
58
58
|
*/
|
|
59
|
-
const VERSION = '4.0.
|
|
59
|
+
const VERSION = '4.0.152';
|
|
60
60
|
|
|
61
61
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
62
62
|
let isRefreshing = false;
|
|
@@ -1789,6 +1789,7 @@ class ToastService {
|
|
|
1789
1789
|
duration: request.duration,
|
|
1790
1790
|
position: request.position ?? 'top',
|
|
1791
1791
|
color: request.color ?? 'dark',
|
|
1792
|
+
buttons: request.buttons,
|
|
1792
1793
|
});
|
|
1793
1794
|
await toast.present();
|
|
1794
1795
|
}
|
|
@@ -1883,7 +1884,7 @@ class ValtechErrorService {
|
|
|
1883
1884
|
*/
|
|
1884
1885
|
handle(err, opts = {}) {
|
|
1885
1886
|
const interpreted = interpretError(err);
|
|
1886
|
-
const { context, i18nMap, fallbackKey, i18nNamespace, toast } = opts;
|
|
1887
|
+
const { context, i18nMap, fallbackKey, i18nNamespace, toast, showOperationId } = opts;
|
|
1887
1888
|
// 1. Observabilidad — log estructurado a consola.
|
|
1888
1889
|
console.error('[ValtechError] handled', {
|
|
1889
1890
|
context: context ?? 'n/a',
|
|
@@ -1917,11 +1918,23 @@ class ValtechErrorService {
|
|
|
1917
1918
|
});
|
|
1918
1919
|
// 4. Toast (estándar Valtech: color 'dark', position 'top').
|
|
1919
1920
|
if (toast !== false) {
|
|
1921
|
+
const opId = showOperationId ? interpreted.operationId : undefined;
|
|
1920
1922
|
this.toast.show({
|
|
1921
1923
|
message,
|
|
1922
1924
|
color: 'dark',
|
|
1923
1925
|
position: 'top',
|
|
1924
|
-
|
|
1926
|
+
// Más tiempo cuando hay botón de copia — el usuario necesita leerlo y tapear.
|
|
1927
|
+
duration: opId ? 6000 : 3000,
|
|
1928
|
+
buttons: opId
|
|
1929
|
+
? [
|
|
1930
|
+
{
|
|
1931
|
+
text: 'Copiar ID',
|
|
1932
|
+
handler: () => {
|
|
1933
|
+
void navigator.clipboard.writeText(opId);
|
|
1934
|
+
},
|
|
1935
|
+
},
|
|
1936
|
+
]
|
|
1937
|
+
: undefined,
|
|
1925
1938
|
});
|
|
1926
1939
|
}
|
|
1927
1940
|
// 5. Devolver el error normalizado para lógica extra del caller.
|
|
@@ -69934,20 +69947,24 @@ class TicketCardComponent {
|
|
|
69934
69947
|
}
|
|
69935
69948
|
</div>
|
|
69936
69949
|
|
|
69937
|
-
@if (props().showDownload && qr()) {
|
|
69938
|
-
<
|
|
69939
|
-
|
|
69940
|
-
|
|
69941
|
-
|
|
69942
|
-
|
|
69943
|
-
|
|
69944
|
-
|
|
69945
|
-
|
|
69946
|
-
|
|
69947
|
-
|
|
69950
|
+
@if ((props().showDownload || props().showShare) && qr()) {
|
|
69951
|
+
<div class="ticket-card__actions">
|
|
69952
|
+
@if (props().showDownload) {
|
|
69953
|
+
<ion-button fill="outline" expand="block" [disabled]="downloading()" (click)="downloadCard()">
|
|
69954
|
+
<ion-icon name="download-outline" slot="start" />
|
|
69955
|
+
{{ props().downloadLabel || t('download') }}
|
|
69956
|
+
</ion-button>
|
|
69957
|
+
}
|
|
69958
|
+
@if (props().showShare) {
|
|
69959
|
+
<ion-button fill="outline" expand="block" [disabled]="sharing()" (click)="shareCard()">
|
|
69960
|
+
<ion-icon name="share-outline" slot="start" />
|
|
69961
|
+
{{ props().shareLabel || t('share') }}
|
|
69962
|
+
</ion-button>
|
|
69963
|
+
}
|
|
69964
|
+
</div>
|
|
69948
69965
|
}
|
|
69949
69966
|
</div>
|
|
69950
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: QrCodeComponent, selector: "val-qr-code", inputs: ["props"], outputs: ["actionComplete", "imageLoad", "imageError"] }] }); }
|
|
69967
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}.ticket-card__actions{width:100%;display:flex;flex-direction:column;gap:8px}.ticket-card__actions ion-button{--border-radius: 10px;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: QrCodeComponent, selector: "val-qr-code", inputs: ["props"], outputs: ["actionComplete", "imageLoad", "imageError"] }] }); }
|
|
69951
69968
|
}
|
|
69952
69969
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketCardComponent, decorators: [{
|
|
69953
69970
|
type: Component,
|
|
@@ -69981,20 +69998,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
69981
69998
|
}
|
|
69982
69999
|
</div>
|
|
69983
70000
|
|
|
69984
|
-
@if (props().showDownload && qr()) {
|
|
69985
|
-
<
|
|
69986
|
-
|
|
69987
|
-
|
|
69988
|
-
|
|
69989
|
-
|
|
69990
|
-
|
|
69991
|
-
|
|
69992
|
-
|
|
69993
|
-
|
|
69994
|
-
|
|
70001
|
+
@if ((props().showDownload || props().showShare) && qr()) {
|
|
70002
|
+
<div class="ticket-card__actions">
|
|
70003
|
+
@if (props().showDownload) {
|
|
70004
|
+
<ion-button fill="outline" expand="block" [disabled]="downloading()" (click)="downloadCard()">
|
|
70005
|
+
<ion-icon name="download-outline" slot="start" />
|
|
70006
|
+
{{ props().downloadLabel || t('download') }}
|
|
70007
|
+
</ion-button>
|
|
70008
|
+
}
|
|
70009
|
+
@if (props().showShare) {
|
|
70010
|
+
<ion-button fill="outline" expand="block" [disabled]="sharing()" (click)="shareCard()">
|
|
70011
|
+
<ion-icon name="share-outline" slot="start" />
|
|
70012
|
+
{{ props().shareLabel || t('share') }}
|
|
70013
|
+
</ion-button>
|
|
70014
|
+
}
|
|
70015
|
+
</div>
|
|
69995
70016
|
}
|
|
69996
70017
|
</div>
|
|
69997
|
-
`, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}\n"] }]
|
|
70018
|
+
`, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}.ticket-card__actions{width:100%;display:flex;flex-direction:column;gap:8px}.ticket-card__actions ion-button{--border-radius: 10px;margin:0}\n"] }]
|
|
69998
70019
|
}], ctorParameters: () => [] });
|
|
69999
70020
|
|
|
70000
70021
|
/**
|