valtech-components 4.0.964 → 4.0.965
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/atoms/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/components/atoms/box/box.component.mjs +3 -3
- package/esm2022/lib/components/atoms/button/button.component.mjs +3 -3
- package/esm2022/lib/components/atoms/display/display.component.mjs +3 -3
- package/esm2022/lib/components/atoms/divider/divider.component.mjs +3 -3
- package/esm2022/lib/components/atoms/href/href.component.mjs +3 -3
- package/esm2022/lib/components/atoms/icon/icon.component.mjs +3 -3
- package/esm2022/lib/components/atoms/image/image.component.mjs +3 -3
- package/esm2022/lib/components/atoms/notice/notice.component.mjs +3 -3
- package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +3 -3
- package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +2 -2
- package/esm2022/lib/components/atoms/text/text.component.mjs +3 -3
- package/esm2022/lib/components/atoms/title/title.component.mjs +3 -3
- package/esm2022/lib/components/atoms/user-avatar/user-avatar.component.mjs +3 -3
- package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +3 -3
- package/esm2022/lib/components/molecules/animal-card/animal-card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +3 -3
- package/esm2022/lib/components/molecules/card/card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/chat-composer/chat-composer.component.mjs +3 -3
- package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +3 -3
- package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +3 -3
- package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +3 -3
- package/esm2022/lib/components/molecules/comment/comment.component.mjs +4 -4
- package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +3 -3
- package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +5 -5
- package/esm2022/lib/components/molecules/date-picker/date-picker.component.mjs +5 -5
- package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/docs-search/docs-search.component.mjs +3 -3
- package/esm2022/lib/components/molecules/empty-state/empty-state.component.mjs +3 -3
- package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +3 -3
- package/esm2022/lib/components/molecules/field-options-editor/field-options-editor.component.mjs +3 -3
- package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +3 -3
- package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +4 -4
- package/esm2022/lib/components/molecules/hint/hint.component.mjs +3 -3
- package/esm2022/lib/components/molecules/image-crop/image-crop.component.mjs +3 -3
- package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/link/link.component.mjs +3 -3
- package/esm2022/lib/components/molecules/linked-providers/linked-providers.component.mjs +3 -3
- package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +3 -3
- package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +3 -3
- package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +3 -3
- package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +3 -3
- package/esm2022/lib/components/molecules/option-cards/option-cards.component.mjs +3 -3
- package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/permission-selector/permission-selector.component.mjs +5 -5
- package/esm2022/lib/components/molecules/pill/pill.component.mjs +3 -3
- package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +3 -3
- package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +5 -5
- package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +3 -3
- package/esm2022/lib/components/molecules/rating/rating.component.mjs +3 -3
- package/esm2022/lib/components/molecules/request-form/request-form.component.mjs +3 -3
- package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +3 -3
- package/esm2022/lib/components/molecules/section-header/section-header.component.mjs +3 -3
- package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +4 -4
- package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +3 -3
- package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +3 -3
- package/esm2022/lib/components/molecules/typing-indicator/typing-indicator.component.mjs +3 -3
- package/esm2022/lib/components/molecules/update-banner/update-banner.component.mjs +3 -3
- package/esm2022/lib/components/organisms/access-request-view/access-request-view.component.mjs +3 -3
- package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +5 -5
- package/esm2022/lib/components/organisms/article/article.component.mjs +3 -3
- package/esm2022/lib/components/organisms/banner/banner.component.mjs +3 -3
- package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +3 -3
- package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +5 -5
- package/esm2022/lib/components/organisms/confirmation-dialog-v2/confirmation-dialog-v2.component.mjs +3 -3
- package/esm2022/lib/components/organisms/cookie-settings/cookie-settings.component.mjs +5 -5
- package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +3 -3
- package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +3 -3
- package/esm2022/lib/components/organisms/docs-sidebar/docs-sidebar.component.mjs +3 -3
- package/esm2022/lib/components/organisms/field-list/field-list.component.mjs +3 -3
- package/esm2022/lib/components/organisms/folder-tabs/folder-tabs.component.mjs +3 -3
- package/esm2022/lib/components/organisms/form/form.component.mjs +5 -5
- package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +3 -3
- package/esm2022/lib/components/organisms/header/header.component.mjs +3 -3
- package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +5 -5
- package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +3 -3
- package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +11 -11
- package/esm2022/lib/components/organisms/login/login.component.mjs +3 -3
- package/esm2022/lib/components/organisms/login-attempt-modal/login-attempt-modal.component.mjs +6 -6
- package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +5 -5
- package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +5 -5
- package/esm2022/lib/components/organisms/menu/menu.component.mjs +3 -3
- package/esm2022/lib/components/organisms/mfa-modal/mfa-modal.component.mjs +3 -3
- package/esm2022/lib/components/organisms/mini-games/bubble-blitz-game.component.mjs +3 -3
- package/esm2022/lib/components/organisms/mini-games/memory-game.component.mjs +3 -3
- package/esm2022/lib/components/organisms/mini-games/simon-game.component.mjs +3 -3
- package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +3 -3
- package/esm2022/lib/components/organisms/notification-preferences-view/notification-preferences-view.component.mjs +5 -5
- package/esm2022/lib/components/organisms/notifications-view/notifications-view.component.mjs +3 -3
- package/esm2022/lib/components/organisms/option-sheet/option-sheet.component.mjs +3 -3
- package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +3 -3
- package/esm2022/lib/components/organisms/permissions-view/permissions-view.component.mjs +11 -11
- package/esm2022/lib/components/organisms/request-review-panel/request-review-panel.component.mjs +5 -5
- package/esm2022/lib/components/organisms/role-manager/role-manager.component.mjs +7 -7
- package/esm2022/lib/components/organisms/rotating-text/rotating-text.component.mjs +3 -3
- package/esm2022/lib/components/organisms/security-view/security-view.component.mjs +5 -5
- package/esm2022/lib/components/organisms/session-list-modal/session-list-modal.component.mjs +3 -3
- package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.mjs +5 -5
- package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +3 -3
- package/esm2022/lib/components/templates/docs-layout/docs-layout.component.mjs +3 -3
- package/esm2022/lib/components/templates/page-content/page-content.component.mjs +3 -3
- package/esm2022/lib/components/templates/simple/simple.component.mjs +3 -3
- package/esm2022/lib/services/confirmation-dialog/types.mjs +2 -2
- package/esm2022/lib/services/content/transformer.mjs +3 -3
- package/esm2022/lib/services/markdown-article/beautify-legal-article.mjs +2 -2
- package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +2 -2
- package/esm2022/lib/services/modal/types.mjs +2 -2
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +284 -284
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/components/styles/overrides.scss +4 -4
- package/src/lib/components/styles/variables.scss +6 -6
|
@@ -178,14 +178,14 @@ export class CookieSettingsComponent {
|
|
|
178
178
|
</div>
|
|
179
179
|
|
|
180
180
|
<div class="vcs__actions">
|
|
181
|
-
<ion-button fill="outline" size="small" color="
|
|
181
|
+
<ion-button fill="outline" size="small" color="medium" (click)="onRejectAll()">{{ t('rejectAll') }}</ion-button>
|
|
182
182
|
|
|
183
183
|
<ion-button fill="outline" size="small" color="dark" (click)="onSave()">{{ t('save') }}</ion-button>
|
|
184
184
|
|
|
185
185
|
<ion-button fill="solid" size="small" color="primary" (click)="onAcceptAll()">{{ t('acceptAll') }}</ion-button>
|
|
186
186
|
</div>
|
|
187
187
|
</div>
|
|
188
|
-
`, isInline: true, styles: [".vcs{display:block}.vcs__title{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);margin:0 0 6px}.vcs__desc{font-size:.875rem;color:var(--ion-color-dark, #92949c);margin:0 0 16px;line-height:1.5}.vcs__status{font-size:.8125rem;margin:0 0 16px;padding:8px 12px;border-radius:8px}.vcs__status--pending{background:rgba(var(--ion-color-warning-rgb, 255, 196, 9),.12);color:var(--ion-color-warning-shade, #e0ac08)}.vcs__status--date{background:var(--ion-color-light, #f4f5f8);color:var(--ion-color-dark, #92949c)}.vcs__categories{display:flex;flex-direction:column;gap:0;margin-bottom:20px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));border-radius:12px;overflow:hidden}.vcs__row{padding:14px 16px;border-bottom:1px solid var(--ion-border-color, rgba(0, 0, 0, .06))}.vcs__row:last-child{border-bottom:none}.vcs__row--disabled{opacity:.7}.vcs__row-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.vcs__row-label{font-size:.9375rem;font-weight:600;color:var(--ion-text-color, #000)}.vcs__row-hint{font-size:.8125rem;color:var(--ion-color-dark, #92949c);margin:0;line-height:1.4}.vcs__toggle-wrap{flex-shrink:0}.vcs__always-on{font-size:.75rem;font-weight:600;color:var(--ion-color-success, #2dd36f);padding:2px 8px;background:rgba(var(--ion-color-success-rgb, 45, 211, 111),.12);border-radius:20px}.vcs__switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.vcs__checkbox{opacity:0;width:0;height:0;position:absolute}.vcs__slider{position:absolute;inset:0;border-radius:24px;background:var(--ion-color-
|
|
188
|
+
`, isInline: true, styles: [".vcs{display:block}.vcs__title{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);margin:0 0 6px}.vcs__desc{font-size:.875rem;color:var(--ion-color-dark, #92949c);margin:0 0 16px;line-height:1.5}.vcs__status{font-size:.8125rem;margin:0 0 16px;padding:8px 12px;border-radius:8px}.vcs__status--pending{background:rgba(var(--ion-color-warning-rgb, 255, 196, 9),.12);color:var(--ion-color-warning-shade, #e0ac08)}.vcs__status--date{background:var(--ion-color-light, #f4f5f8);color:var(--ion-color-dark, #92949c)}.vcs__categories{display:flex;flex-direction:column;gap:0;margin-bottom:20px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));border-radius:12px;overflow:hidden}.vcs__row{padding:14px 16px;border-bottom:1px solid var(--ion-border-color, rgba(0, 0, 0, .06))}.vcs__row:last-child{border-bottom:none}.vcs__row--disabled{opacity:.7}.vcs__row-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.vcs__row-label{font-size:.9375rem;font-weight:600;color:var(--ion-text-color, #000)}.vcs__row-hint{font-size:.8125rem;color:var(--ion-color-dark, #92949c);margin:0;line-height:1.4}.vcs__toggle-wrap{flex-shrink:0}.vcs__always-on{font-size:.75rem;font-weight:600;color:var(--ion-color-success, #2dd36f);padding:2px 8px;background:rgba(var(--ion-color-success-rgb, 45, 211, 111),.12);border-radius:20px}.vcs__switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.vcs__checkbox{opacity:0;width:0;height:0;position:absolute}.vcs__slider{position:absolute;inset:0;border-radius:24px;background:var(--ion-color-medium, #92949c);transition:background .2s ease}.vcs__slider:before{content:\"\";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.vcs__checkbox:checked+.vcs__slider{background:var(--ion-color-primary, #7026df)}.vcs__checkbox:checked+.vcs__slider:before{transform:translate(20px)}.vcs__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media (max-width: 480px){.vcs__actions{flex-direction:column-reverse}.vcs__actions ion-button{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
189
189
|
}
|
|
190
190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CookieSettingsComponent, decorators: [{
|
|
191
191
|
type: Component,
|
|
@@ -224,17 +224,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
224
224
|
</div>
|
|
225
225
|
|
|
226
226
|
<div class="vcs__actions">
|
|
227
|
-
<ion-button fill="outline" size="small" color="
|
|
227
|
+
<ion-button fill="outline" size="small" color="medium" (click)="onRejectAll()">{{ t('rejectAll') }}</ion-button>
|
|
228
228
|
|
|
229
229
|
<ion-button fill="outline" size="small" color="dark" (click)="onSave()">{{ t('save') }}</ion-button>
|
|
230
230
|
|
|
231
231
|
<ion-button fill="solid" size="small" color="primary" (click)="onAcceptAll()">{{ t('acceptAll') }}</ion-button>
|
|
232
232
|
</div>
|
|
233
233
|
</div>
|
|
234
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".vcs{display:block}.vcs__title{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);margin:0 0 6px}.vcs__desc{font-size:.875rem;color:var(--ion-color-dark, #92949c);margin:0 0 16px;line-height:1.5}.vcs__status{font-size:.8125rem;margin:0 0 16px;padding:8px 12px;border-radius:8px}.vcs__status--pending{background:rgba(var(--ion-color-warning-rgb, 255, 196, 9),.12);color:var(--ion-color-warning-shade, #e0ac08)}.vcs__status--date{background:var(--ion-color-light, #f4f5f8);color:var(--ion-color-dark, #92949c)}.vcs__categories{display:flex;flex-direction:column;gap:0;margin-bottom:20px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));border-radius:12px;overflow:hidden}.vcs__row{padding:14px 16px;border-bottom:1px solid var(--ion-border-color, rgba(0, 0, 0, .06))}.vcs__row:last-child{border-bottom:none}.vcs__row--disabled{opacity:.7}.vcs__row-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.vcs__row-label{font-size:.9375rem;font-weight:600;color:var(--ion-text-color, #000)}.vcs__row-hint{font-size:.8125rem;color:var(--ion-color-dark, #92949c);margin:0;line-height:1.4}.vcs__toggle-wrap{flex-shrink:0}.vcs__always-on{font-size:.75rem;font-weight:600;color:var(--ion-color-success, #2dd36f);padding:2px 8px;background:rgba(var(--ion-color-success-rgb, 45, 211, 111),.12);border-radius:20px}.vcs__switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.vcs__checkbox{opacity:0;width:0;height:0;position:absolute}.vcs__slider{position:absolute;inset:0;border-radius:24px;background:var(--ion-color-
|
|
234
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".vcs{display:block}.vcs__title{font-size:1.125rem;font-weight:700;color:var(--ion-text-color, #000);margin:0 0 6px}.vcs__desc{font-size:.875rem;color:var(--ion-color-dark, #92949c);margin:0 0 16px;line-height:1.5}.vcs__status{font-size:.8125rem;margin:0 0 16px;padding:8px 12px;border-radius:8px}.vcs__status--pending{background:rgba(var(--ion-color-warning-rgb, 255, 196, 9),.12);color:var(--ion-color-warning-shade, #e0ac08)}.vcs__status--date{background:var(--ion-color-light, #f4f5f8);color:var(--ion-color-dark, #92949c)}.vcs__categories{display:flex;flex-direction:column;gap:0;margin-bottom:20px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .08));border-radius:12px;overflow:hidden}.vcs__row{padding:14px 16px;border-bottom:1px solid var(--ion-border-color, rgba(0, 0, 0, .06))}.vcs__row:last-child{border-bottom:none}.vcs__row--disabled{opacity:.7}.vcs__row-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.vcs__row-label{font-size:.9375rem;font-weight:600;color:var(--ion-text-color, #000)}.vcs__row-hint{font-size:.8125rem;color:var(--ion-color-dark, #92949c);margin:0;line-height:1.4}.vcs__toggle-wrap{flex-shrink:0}.vcs__always-on{font-size:.75rem;font-weight:600;color:var(--ion-color-success, #2dd36f);padding:2px 8px;background:rgba(var(--ion-color-success-rgb, 45, 211, 111),.12);border-radius:20px}.vcs__switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.vcs__checkbox{opacity:0;width:0;height:0;position:absolute}.vcs__slider{position:absolute;inset:0;border-radius:24px;background:var(--ion-color-medium, #92949c);transition:background .2s ease}.vcs__slider:before{content:\"\";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.vcs__checkbox:checked+.vcs__slider{background:var(--ion-color-primary, #7026df)}.vcs__checkbox:checked+.vcs__slider:before{transform:translate(20px)}.vcs__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media (max-width: 480px){.vcs__actions{flex-direction:column-reverse}.vcs__actions ion-button{width:100%}}\n"] }]
|
|
235
235
|
}], ctorParameters: () => [], propDecorators: { showTitle: [{
|
|
236
236
|
type: Input
|
|
237
237
|
}], saved: [{
|
|
238
238
|
type: Output
|
|
239
239
|
}] } });
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvY29va2llLXNldHRpbmdzL2Nvb2tpZS1zZXR0aW5ncy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFL0QsK0VBQStFO0FBQy9FLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDO0FBRTVCLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsRUFBRSxFQUFFO1FBQ0YsS0FBSyxFQUFFLHlCQUF5QjtRQUNoQyxXQUFXLEVBQUUsOEVBQThFO1FBQzNGLGlCQUFpQixFQUFFLFlBQVk7UUFDL0IscUJBQXFCLEVBQUUsNkRBQTZEO1FBQ3BGLGlCQUFpQixFQUFFLFdBQVc7UUFDOUIscUJBQXFCLEVBQUUsb0RBQW9EO1FBQzNFLHFCQUFxQixFQUFFLGVBQWU7UUFDdEMseUJBQXlCLEVBQUUsNENBQTRDO1FBQ3ZFLG1CQUFtQixFQUFFLFlB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SSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25CdXR0b24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZS9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBDb25zZW50U2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZS9hbmFseXRpY3MtdHlwZXMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcblxuLyoqIEkxOG4gbmFtZXNwYWNlIHVzZWQgYnkgdGhlIGNvbXBvbmVudC4gQXBwcyBjYW4gb3ZlcnJpZGUgdmlhIEkxOG5TZXJ2aWNlLiAqL1xuY29uc3QgTlMgPSAnQ29va2llU2V0dGluZ3MnO1xuXG5jb25zdCBDT09LSUVfU0VUVElOR1NfSTE4TiA9IHtcbiAgZXM6IHtcbiAgICB0aXRsZTogJ1ByZWZlcmVuY2lhcyBkZSBjb29raWVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbnRyb2xhIHF1ZSB0ZWNub2xvZ2lhcyBwZXJtaXRlcy4gUHVlZGVzIGNhbWJpYXIgZXN0byBlbiBjdWFscXVpZXIgbW9tZW50by4nLFxuICAgIGNhdGVnb3J5RXNzZW50aWFsOiAnRXNlbmNpYWxlcycsXG4gICAgY2F0ZWdvcnlFc3NlbnRpYWxIaW50OiAnTmVjZXNhcmlhcyBwYXJhIGF1dGVudGljYWNpb24geSBzZWd1cmlkYWQuIFNpZW1wcmUgYWN0aXZhcy4nLFxuICAgIGNhdGVnb3J5QW5hbHl0aWNzOiAnQW5hbGl0aWNhJyxcbiAgICBjYXRlZ29yeUFuYWx5dGljc0hpbnQ6ICdNZXRyaWNhcyBhbm9uaW1hcyBkZSB1c28gcGFyYSBtZWpvcmFyIGVsIHNlcnZpY2lvLicsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5OiAnRnVuY2lvbmFsaWRhZCcsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5SGludDogJ1JlY3VlcmRhbiBwcmVmZXJlbmNpYXMgY29tbyBpZGlvbWEgeSB0ZW1hLicsXG4gICAgY2F0ZWdvcnlBZHZlcnRpc2luZzogJ1B1YmxpY2lkYWQnLFxuICAgIGNhdGVnb3J5QWR2ZXJ0aXNpbmdIaW50OiAnUGVyc29uYWxpemFjaW9uIGRlIGFudW5jaW9zLiBSZXF1ZXJpZG8gcGFyYSBwdWJsaWNpZGFkIHJlbGV2YW50ZS4nLFxuICAgIG5vdERlY2lkZWRZZXQ6ICdBdW4gbm8gaGFzIHRvbWFkbyB1bmEgZGVjaXNpb24gZXhwbGljaXRhLicsXG4gICAgbGFzdFVwZGF0ZWQ6ICdVbHRpbWEgYWN0dWFsaXphY2lvbjoge2RhdGV9JyxcbiAgICBhY2NlcHRBbGw6ICdBY2VwdGFyIHRvZG8nLFxuICAgIHJlamVjdEFsbDogJ1NvbG8gZXNlbmNpYWxlcycsXG4gICAgc2F2ZTogJ0d1YXJkYXInLFxuICAgIHNhdmVkOiAnUHJlZmVyZW5jaWFzIGd1YXJkYWRhcycsXG4gIH0sXG4gIGVuOiB7XG4gICAgdGl0bGU6ICdDb29raWUgcHJlZmVyZW5jZXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29udHJvbCB3aGljaCB0ZWNobm9sb2dpZXMgeW91IGFsbG93LiBZb3UgY2FuIGNoYW5nZSB0aGlzIGF0IGFueSB0aW1lLicsXG4gICAgY2F0ZWdvcnlFc3NlbnRpYWw6ICdFc3NlbnRpYWwnLFxuICAgIGNhdGVnb3J5RXNzZW50aWFsSGludDogJ1JlcXVpcmVkIGZvciBhdXRoZW50aWNhdGlvbiBhbmQgc2VjdXJpdHkuIEFsd2F5cyBvbi4nLFxuICAgIGNhdGVnb3J5QW5hbHl0aWNzOiAnQW5hbHl0aWNzJyxcbiAgICBjYXRlZ29yeUFuYWx5dGljc0hpbnQ6ICdBbm9ueW1vdXMgdXNhZ2UgbWV0cmljcyB0byBpbXByb3ZlIHRoZSBzZXJ2aWNlLicsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5OiAnRnVuY3Rpb25hbGl0eScsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5SGludDogJ1JlbWVtYmVyIHByZWZlcmVuY2VzIGxpa2UgbGFuZ3VhZ2UgYW5kIHRoZW1lLicsXG4gICAgY2F0ZWdvcnlBZHZlcnRpc2luZzogJ0FkdmVydGlzaW5nJyxcbiAgICBjYXRlZ29yeUFkdmVydGlzaW5nSGludDogJ0FkIHBlcnNvbmFsaXphdGlvbi4gUmVxdWlyZWQgZm9yIHJlbGV2YW50IGFkdmVydGlzaW5nLicsXG4gICAgbm90RGVjaWRlZFlldDogJ1lvdSBoYXZlIG5vdCBtYWRlIGFuIGV4cGxpY2l0IGRlY2lzaW9uIHlldC4nLFxuICAgIGxhc3RVcGRhdGVkOiAnTGFzdCB1cGRhdGVkOiB7ZGF0ZX0nLFxuICAgIGFjY2VwdEFsbDogJ0FjY2VwdCBhbGwnLFxuICAgIHJlamVjdEFsbDogJ0Vzc2VudGlhbCBvbmx5JyxcbiAgICBzYXZlOiAnU2F2ZScsXG4gICAgc2F2ZWQ6ICdQcmVmZXJlbmNlcyBzYXZlZCcsXG4gIH0sXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvb2tpZUNhdGVnb3J5IHtcbiAga2V5OiBrZXlvZiBDb25zZW50U2V0dGluZ3M7XG4gIGxhYmVsS2V5OiBzdHJpbmc7XG4gIGhpbnRLZXk6IHN0cmluZztcbiAgY29udHJvbDogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBgdmFsLWNvb2tpZS1zZXR0aW5nc2Ag4oCUIHBhbmVsIGRlIGdlc3Rpb24gZGUgY29uc2VudCBHRFBSLlxuICpcbiAqIFNlbGYtY29udGFpbmVkOiBpbnllY3RhIEFuYWx5dGljc1NlcnZpY2UgaW50ZXJuYW1lbnRlLiBTb2xvIG5lY2VzaXRhIG1vbnRhcnNlLlxuICogRW1pdGUgYChzYXZlZClgIGN1YW5kbyBlbCB1c3VhcmlvIGd1YXJkYS9hY2VwdGEvcmVjaGF6YSBwYXJhIHF1ZSBlbCBwYWRyZVxuICogcHVlZGEgY2VycmFyIHVuIG1vZGFsLCBuYXZlZ2FyLCBldGMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtY29va2llLXNldHRpbmdzIChzYXZlZCk9XCJvbkNvbnNlbnRTYXZlZCgpXCIgLz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNvb2tpZS1zZXR0aW5ncycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkJ1dHRvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInZjc1wiPlxuICAgICAgQGlmIChzaG93VGl0bGUoKSkge1xuICAgICAgICA8aDIgY2xhc3M9XCJ2Y3NfX3RpdGxlXCI+e3sgdCgndGl0bGUnKSB9fTwvaDI+XG4gICAgICAgIDxwIGNsYXNzPVwidmNzX19kZXNjXCI+e3sgdCgnZGVzY3JpcHRpb24nKSB9fTwvcD5cbiAgICAgIH1cblxuICAgICAgQGlmICghaGFzRGVjaWRlZCgpKSB7XG4gICAgICAgIDxwIGNsYXNzPVwidmNzX19zdGF0dXMgdmNzX19zdGF0dXMtLXBlbmRpbmdcIj57eyB0KCdub3REZWNpZGVkWWV0JykgfX08L3A+XG4gICAgICB9IEBlbHNlIGlmIChsYXN0VXBkYXRlZFRleHQoKSkge1xuICAgICAgICA8cCBjbGFzcz1cInZjc19fc3RhdHVzIHZjc19fc3RhdHVzLS1kYXRlXCI+e3sgbGFzdFVwZGF0ZWRUZXh0KCkgfX08L3A+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX2NhdGVnb3JpZXNcIj5cbiAgICAgICAgQGZvciAoY2F0IG9mIGNhdGVnb3JpZXM7IHRyYWNrIGNhdC5rZXkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmNzX19yb3dcIiBbY2xhc3MudmNzX19yb3ctLWRpc2FibGVkXT1cImNhdC5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZjc19fcm93LWhlYWRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2Y3NfX3Jvdy1sYWJlbFwiPnt7IHQoY2F0LmxhYmVsS2V5KSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX3RvZ2dsZS13cmFwXCI+XG4gICAgICAgICAgICAgICAgQGlmIChjYXQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX2Fsd2F5cy1vblwiPnt7IGFsd2F5c09uTGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZjc19fc3dpdGNoXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0KGNhdC5sYWJlbEtleSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwidmNzX19jaGVja2JveFwiIFtmb3JtQ29udHJvbF09XCJjYXQuY29udHJvbFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmNzX19zbGlkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidmNzX19yb3ctaGludFwiPnt7IHQoY2F0LmhpbnRLZXkpIH19PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInZjc19fYWN0aW9uc1wiPlxuICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJvblJlamVjdEFsbCgpXCI+e3sgdCgncmVqZWN0QWxsJykgfX08L2lvbi1idXR0b24+XG5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwib25TYXZlKClcIj57eyB0KCdzYXZlJykgfX08L2lvbi1idXR0b24+XG5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgc2l6ZT1cInNtYWxsXCIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQWNjZXB0QWxsKClcIj57eyB0KCdhY2NlcHRBbGwnKSB9fTwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAudmNzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAudmNzX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzAwMCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICAgIH1cbiAgICAgIC52Y3NfX2Rlc2Mge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM5Mjk0OWMpO1xuICAgICAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuICAgICAgLnZjc19fc3RhdHVzIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICB9XG4gICAgICAudmNzX19zdGF0dXMtLXBlbmRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWlvbi1jb2xvci13YXJuaW5nLXJnYiwgMjU1LCAxOTYsIDkpLCAwLjEyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci13YXJuaW5nLXNoYWRlLCAjZTBhYzA4KTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3N0YXR1cy0tZGF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1saWdodCwgI2Y0ZjVmOCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAudmNzX19jYXRlZ29yaWVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pb24tYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDgpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3JvdyB7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wNikpO1xuICAgICAgfVxuICAgICAgLnZjc19fcm93Omxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuICAgICAgLnZjc19fcm93LS1kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cbiAgICAgIC52Y3NfX3Jvdy1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgfVxuICAgICAgLnZjc19fcm93LWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzAwMCk7XG4gICAgICB9XG4gICAgICAudmNzX19yb3ctaGludCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM5Mjk0OWMpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICB9XG4gICAgICAudmNzX190b2dnbGUtd3JhcCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLnZjc19fYWx3YXlzLW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3MsICMyZGQzNmYpO1xuICAgICAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWlvbi1jb2xvci1zdWNjZXNzLXJnYiwgNDUsIDIxMSwgMTExKSwgMC4xMik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC8qIFRvZ2dsZSBzd2l0Y2ggbmF0aXZvIOKAlCBubyBkZXBlbmRlIGRlIElvbmljICovXG4gICAgICAudmNzX19zd2l0Y2gge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgLnZjc19fY2hlY2tib3gge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG4gICAgICAudmNzX19zbGlkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xuICAgICAgfVxuICAgICAgLnZjc19fc2xpZGVyOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICB9XG4gICAgICAudmNzX19jaGVja2JveDpjaGVja2VkICsgLnZjc19fc2xpZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLXByaW1hcnksICM3MDI2ZGYpO1xuICAgICAgfVxuICAgICAgLnZjc19fY2hlY2tib3g6Y2hlY2tlZCArIC52Y3NfX3NsaWRlcjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgfVxuXG4gICAgICAudmNzX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAudmNzX19hY3Rpb25zIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cbiAgICAgICAgLnZjc19fYWN0aW9ucyBpb24tYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgYW5hbHl0aWNzID0gaW5qZWN0KEFuYWx5dGljc1NlcnZpY2UpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cbiAgLyoqIE11ZXN0cmEgdGl0dWxvIHkgZGVzY3JpcGNpb24uIFV0aWwgZGVzYWN0aXZhcmxvIGN1YW5kbyBsYSBwYWdpbmEgeWEgdGllbmUgaGVhZGVyIHByb3Bpby4gKi9cbiAgQElucHV0KCkgc2hvd1RpdGxlID0gc2lnbmFsKHRydWUpO1xuXG4gIC8qKiBFbWl0ZSBjdWFuZG8gZWwgdXN1YXJpbyBndWFyZGEvYWNlcHRhL3JlY2hhemEuICovXG4gIEBPdXRwdXQoKSBzYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29uc2VudFNldHRpbmdzPigpO1xuXG4gIC8vIEZvcm1Db250cm9scyBpbnRlcm5vc1xuICBwcml2YXRlIGFuYWx5dGljc0N0cmwgPSBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4odHJ1ZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBmdW5jdGlvbmFsaXR5Q3RybCA9IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPih0cnVlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICBwcml2YXRlIGFkdmVydGlzaW5nQ3RybCA9IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPihmYWxzZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBlc3NlbnRpYWxDdHJsID0gbmV3IEZvcm1Db250cm9sPGJvb2xlYW4+KHsgdmFsdWU6IHRydWUsIGRpc2FibGVkOiB0cnVlIH0sIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgY2F0ZWdvcmllczogQ29va2llQ2F0ZWdvcnlbXSA9IFtcbiAgICB7XG4gICAgICBrZXk6ICdzZWN1cml0eScsXG4gICAgICBsYWJlbEtleTogJ2NhdGVnb3J5RXNzZW50aWFsJyxcbiAgICAgIGhpbnRLZXk6ICdjYXRlZ29yeUVzc2VudGlhbEhpbnQnLFxuICAgICAgY29udHJvbDogdGhpcy5lc3NlbnRpYWxDdHJsLFxuICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgfSxcbiAgICB7IGtleTogJ2FuYWx5dGljcycsIGxhYmVsS2V5OiAnY2F0ZWdvcnlBbmFseXRpY3MnLCBoaW50S2V5OiAnY2F0ZWdvcnlBbmFseXRpY3NIaW50JywgY29udHJvbDogdGhpcy5hbmFseXRpY3NDdHJsIH0sXG4gICAge1xuICAgICAga2V5OiAnZnVuY3Rpb25hbGl0eScsXG4gICAgICBsYWJlbEtleTogJ2NhdGVnb3J5RnVuY3Rpb25hbGl0eScsXG4gICAgICBoaW50S2V5OiAnY2F0ZWdvcnlGdW5jdGlvbmFsaXR5SGludCcsXG4gICAgICBjb250cm9sOiB0aGlzLmZ1bmN0aW9uYWxpdHlDdHJsLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnYWR2ZXJ0aXNpbmcnLFxuICAgICAgbGFiZWxLZXk6ICdjYXRlZ29yeUFkdmVydGlzaW5nJyxcbiAgICAgIGhpbnRLZXk6ICdjYXRlZ29yeUFkdmVydGlzaW5nSGludCcsXG4gICAgICBjb250cm9sOiB0aGlzLmFkdmVydGlzaW5nQ3RybCxcbiAgICB9LFxuICBdO1xuXG4gIHByb3RlY3RlZCBjb25zZW50U3RhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFuYWx5dGljcy5jb25zZW50U3RhdGUoKSk7XG4gIHByb3RlY3RlZCBoYXNEZWNpZGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25zZW50U3RhdGUoKS5oYXNEZWNpZGVkKTtcblxuICBwcm90ZWN0ZWQgbGFzdFVwZGF0ZWRUZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHRzID0gdGhpcy5jb25zZW50U3RhdGUoKS51cGRhdGVkQXQ7XG4gICAgaWYgKCF0cykgcmV0dXJuICcnO1xuICAgIHJldHVybiB0aGlzLnQoJ2xhc3RVcGRhdGVkJykucmVwbGFjZSgne2RhdGV9JywgbmV3IERhdGUodHMpLnRvTG9jYWxlU3RyaW5nKHRoaXMuaTE4bi5sYW5nKCkpKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGFsd2F5c09uTGFiZWwgPSAn4pyTJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KE5TLCBDT09LSUVfU0VUVElOR1NfSTE4Tik7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBTeW5jIGNvbnRyb2xzIGRlc2RlIGVzdGFkbyBhY3R1YWwgZGUgY29uc2VudFxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLmNvbnNlbnRTdGF0ZSgpLnNldHRpbmdzO1xuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYW5hbHl0aWNzQ3RybC5zZXRWYWx1ZShzZXR0aW5ncy5hbmFseXRpY3MgPz8gdHJ1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgIHRoaXMuZnVuY3Rpb25hbGl0eUN0cmwuc2V0VmFsdWUoc2V0dGluZ3MuZnVuY3Rpb25hbGl0eSA/PyB0cnVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgdGhpcy5hZHZlcnRpc2luZ0N0cmwuc2V0VmFsdWUoc2V0dGluZ3MuYWR2ZXJ0aXNpbmcgPz8gZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIG9uQWNjZXB0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuYW5hbHl0aWNzLmdyYW50QWxsQ29uc2VudCgpO1xuICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnc2F2ZWQnKSwgZHVyYXRpb246IDIwMDAsIGNvbG9yOiAnZGFyaycsIHBvc2l0aW9uOiAndG9wJyB9KTtcbiAgICB0aGlzLnNhdmVkLmVtaXQoeyBhbmFseXRpY3M6IHRydWUsIGFkdmVydGlzaW5nOiB0cnVlLCBmdW5jdGlvbmFsaXR5OiB0cnVlLCBzZWN1cml0eTogdHJ1ZSB9KTtcbiAgfVxuXG4gIG9uUmVqZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuYW5hbHl0aWNzLmRlbnlBbGxDb25zZW50KCk7XG4gICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdzYXZlZCcpLCBkdXJhdGlvbjogMjAwMCwgY29sb3I6ICdkYXJrJywgcG9zaXRpb246ICd0b3AnIH0pO1xuICAgIHRoaXMuc2F2ZWQuZW1pdCh7IGFuYWx5dGljczogZmFsc2UsIGFkdmVydGlzaW5nOiBmYWxzZSwgZnVuY3Rpb25hbGl0eTogZmFsc2UsIHNlY3VyaXR5OiB0cnVlIH0pO1xuICB9XG5cbiAgb25TYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IHNldHRpbmdzOiBDb25zZW50U2V0dGluZ3MgPSB7XG4gICAgICBhbmFseXRpY3M6IHRoaXMuYW5hbHl0aWNzQ3RybC52YWx1ZSxcbiAgICAgIGZ1bmN0aW9uYWxpdHk6IHRoaXMuZnVuY3Rpb25hbGl0eUN0cmwudmFsdWUsXG4gICAgICBhZHZlcnRpc2luZzogdGhpcy5hZHZlcnRpc2luZ0N0cmwudmFsdWUsXG4gICAgICBzZWN1cml0eTogdHJ1ZSxcbiAgICB9O1xuICAgIHRoaXMuYW5hbHl0aWNzLnVwZGF0ZUNvbnNlbnQoc2V0dGluZ3MpO1xuICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnc2F2ZWQnKSwgZHVyYXRpb246IDIwMDAsIGNvbG9yOiAnZGFyaycsIHBvc2l0aW9uOiAndG9wJyB9KTtcbiAgICB0aGlzLnNhdmVkLmVtaXQoc2V0dGluZ3MpO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdiA9IHRoaXMuaTE4bi50KGtleSwgTlMpO1xuICAgIGlmICh2ICYmICF2LnN0YXJ0c1dpdGgoJ1snKSkgcmV0dXJuIHY7XG4gICAgcmV0dXJuIENPT0tJRV9TRVRUSU5HU19JMThOLmVzW2tleSBhcyBrZXlvZiB0eXBlb2YgQ09PS0lFX1NFVFRJTkdTX0kxOE4uZXNdID8/IGtleTtcbiAgfVxufVxuIl19
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvY29va2llLXNldHRpbmdzL2Nvb2tpZS1zZXR0aW5ncy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFL0QsK0VBQStFO0FBQy9FLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDO0FBRTVCLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsRUFBRSxFQUFFO1FBQ0YsS0FBSyxFQUFFLHlCQUF5QjtRQUNoQyxXQUFXLEVBQUUsOEVBQThFO1FBQzNGLGlCQUFpQixFQUFFLFlBQVk7UUFDL0IscUJBQXFCLEVBQUUsNkRBQTZEO1FBQ3BGLGlCQUFpQixFQUFFLFdBQVc7UUFDOUIscUJBQXFCLEVBQUUsb0RBQW9EO1FBQzNFLHFCQUFxQixFQUFFLGVBQWU7UUFDdEMseUJBQXlCLEVBQUUsNENBQTRDO1FBQ3ZFLG1CQUFtQixFQUFFLFlB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SSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25CdXR0b24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZS9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBDb25zZW50U2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZS9hbmFseXRpY3MtdHlwZXMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcblxuLyoqIEkxOG4gbmFtZXNwYWNlIHVzZWQgYnkgdGhlIGNvbXBvbmVudC4gQXBwcyBjYW4gb3ZlcnJpZGUgdmlhIEkxOG5TZXJ2aWNlLiAqL1xuY29uc3QgTlMgPSAnQ29va2llU2V0dGluZ3MnO1xuXG5jb25zdCBDT09LSUVfU0VUVElOR1NfSTE4TiA9IHtcbiAgZXM6IHtcbiAgICB0aXRsZTogJ1ByZWZlcmVuY2lhcyBkZSBjb29raWVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbnRyb2xhIHF1ZSB0ZWNub2xvZ2lhcyBwZXJtaXRlcy4gUHVlZGVzIGNhbWJpYXIgZXN0byBlbiBjdWFscXVpZXIgbW9tZW50by4nLFxuICAgIGNhdGVnb3J5RXNzZW50aWFsOiAnRXNlbmNpYWxlcycsXG4gICAgY2F0ZWdvcnlFc3NlbnRpYWxIaW50OiAnTmVjZXNhcmlhcyBwYXJhIGF1dGVudGljYWNpb24geSBzZWd1cmlkYWQuIFNpZW1wcmUgYWN0aXZhcy4nLFxuICAgIGNhdGVnb3J5QW5hbHl0aWNzOiAnQW5hbGl0aWNhJyxcbiAgICBjYXRlZ29yeUFuYWx5dGljc0hpbnQ6ICdNZXRyaWNhcyBhbm9uaW1hcyBkZSB1c28gcGFyYSBtZWpvcmFyIGVsIHNlcnZpY2lvLicsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5OiAnRnVuY2lvbmFsaWRhZCcsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5SGludDogJ1JlY3VlcmRhbiBwcmVmZXJlbmNpYXMgY29tbyBpZGlvbWEgeSB0ZW1hLicsXG4gICAgY2F0ZWdvcnlBZHZlcnRpc2luZzogJ1B1YmxpY2lkYWQnLFxuICAgIGNhdGVnb3J5QWR2ZXJ0aXNpbmdIaW50OiAnUGVyc29uYWxpemFjaW9uIGRlIGFudW5jaW9zLiBSZXF1ZXJpZG8gcGFyYSBwdWJsaWNpZGFkIHJlbGV2YW50ZS4nLFxuICAgIG5vdERlY2lkZWRZZXQ6ICdBdW4gbm8gaGFzIHRvbWFkbyB1bmEgZGVjaXNpb24gZXhwbGljaXRhLicsXG4gICAgbGFzdFVwZGF0ZWQ6ICdVbHRpbWEgYWN0dWFsaXphY2lvbjoge2RhdGV9JyxcbiAgICBhY2NlcHRBbGw6ICdBY2VwdGFyIHRvZG8nLFxuICAgIHJlamVjdEFsbDogJ1NvbG8gZXNlbmNpYWxlcycsXG4gICAgc2F2ZTogJ0d1YXJkYXInLFxuICAgIHNhdmVkOiAnUHJlZmVyZW5jaWFzIGd1YXJkYWRhcycsXG4gIH0sXG4gIGVuOiB7XG4gICAgdGl0bGU6ICdDb29raWUgcHJlZmVyZW5jZXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29udHJvbCB3aGljaCB0ZWNobm9sb2dpZXMgeW91IGFsbG93LiBZb3UgY2FuIGNoYW5nZSB0aGlzIGF0IGFueSB0aW1lLicsXG4gICAgY2F0ZWdvcnlFc3NlbnRpYWw6ICdFc3NlbnRpYWwnLFxuICAgIGNhdGVnb3J5RXNzZW50aWFsSGludDogJ1JlcXVpcmVkIGZvciBhdXRoZW50aWNhdGlvbiBhbmQgc2VjdXJpdHkuIEFsd2F5cyBvbi4nLFxuICAgIGNhdGVnb3J5QW5hbHl0aWNzOiAnQW5hbHl0aWNzJyxcbiAgICBjYXRlZ29yeUFuYWx5dGljc0hpbnQ6ICdBbm9ueW1vdXMgdXNhZ2UgbWV0cmljcyB0byBpbXByb3ZlIHRoZSBzZXJ2aWNlLicsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5OiAnRnVuY3Rpb25hbGl0eScsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5SGludDogJ1JlbWVtYmVyIHByZWZlcmVuY2VzIGxpa2UgbGFuZ3VhZ2UgYW5kIHRoZW1lLicsXG4gICAgY2F0ZWdvcnlBZHZlcnRpc2luZzogJ0FkdmVydGlzaW5nJyxcbiAgICBjYXRlZ29yeUFkdmVydGlzaW5nSGludDogJ0FkIHBlcnNvbmFsaXphdGlvbi4gUmVxdWlyZWQgZm9yIHJlbGV2YW50IGFkdmVydGlzaW5nLicsXG4gICAgbm90RGVjaWRlZFlldDogJ1lvdSBoYXZlIG5vdCBtYWRlIGFuIGV4cGxpY2l0IGRlY2lzaW9uIHlldC4nLFxuICAgIGxhc3RVcGRhdGVkOiAnTGFzdCB1cGRhdGVkOiB7ZGF0ZX0nLFxuICAgIGFjY2VwdEFsbDogJ0FjY2VwdCBhbGwnLFxuICAgIHJlamVjdEFsbDogJ0Vzc2VudGlhbCBvbmx5JyxcbiAgICBzYXZlOiAnU2F2ZScsXG4gICAgc2F2ZWQ6ICdQcmVmZXJlbmNlcyBzYXZlZCcsXG4gIH0sXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvb2tpZUNhdGVnb3J5IHtcbiAga2V5OiBrZXlvZiBDb25zZW50U2V0dGluZ3M7XG4gIGxhYmVsS2V5OiBzdHJpbmc7XG4gIGhpbnRLZXk6IHN0cmluZztcbiAgY29udHJvbDogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBgdmFsLWNvb2tpZS1zZXR0aW5nc2Ag4oCUIHBhbmVsIGRlIGdlc3Rpb24gZGUgY29uc2VudCBHRFBSLlxuICpcbiAqIFNlbGYtY29udGFpbmVkOiBpbnllY3RhIEFuYWx5dGljc1NlcnZpY2UgaW50ZXJuYW1lbnRlLiBTb2xvIG5lY2VzaXRhIG1vbnRhcnNlLlxuICogRW1pdGUgYChzYXZlZClgIGN1YW5kbyBlbCB1c3VhcmlvIGd1YXJkYS9hY2VwdGEvcmVjaGF6YSBwYXJhIHF1ZSBlbCBwYWRyZVxuICogcHVlZGEgY2VycmFyIHVuIG1vZGFsLCBuYXZlZ2FyLCBldGMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtY29va2llLXNldHRpbmdzIChzYXZlZCk9XCJvbkNvbnNlbnRTYXZlZCgpXCIgLz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNvb2tpZS1zZXR0aW5ncycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkJ1dHRvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInZjc1wiPlxuICAgICAgQGlmIChzaG93VGl0bGUoKSkge1xuICAgICAgICA8aDIgY2xhc3M9XCJ2Y3NfX3RpdGxlXCI+e3sgdCgndGl0bGUnKSB9fTwvaDI+XG4gICAgICAgIDxwIGNsYXNzPVwidmNzX19kZXNjXCI+e3sgdCgnZGVzY3JpcHRpb24nKSB9fTwvcD5cbiAgICAgIH1cblxuICAgICAgQGlmICghaGFzRGVjaWRlZCgpKSB7XG4gICAgICAgIDxwIGNsYXNzPVwidmNzX19zdGF0dXMgdmNzX19zdGF0dXMtLXBlbmRpbmdcIj57eyB0KCdub3REZWNpZGVkWWV0JykgfX08L3A+XG4gICAgICB9IEBlbHNlIGlmIChsYXN0VXBkYXRlZFRleHQoKSkge1xuICAgICAgICA8cCBjbGFzcz1cInZjc19fc3RhdHVzIHZjc19fc3RhdHVzLS1kYXRlXCI+e3sgbGFzdFVwZGF0ZWRUZXh0KCkgfX08L3A+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX2NhdGVnb3JpZXNcIj5cbiAgICAgICAgQGZvciAoY2F0IG9mIGNhdGVnb3JpZXM7IHRyYWNrIGNhdC5rZXkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmNzX19yb3dcIiBbY2xhc3MudmNzX19yb3ctLWRpc2FibGVkXT1cImNhdC5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZjc19fcm93LWhlYWRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2Y3NfX3Jvdy1sYWJlbFwiPnt7IHQoY2F0LmxhYmVsS2V5KSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX3RvZ2dsZS13cmFwXCI+XG4gICAgICAgICAgICAgICAgQGlmIChjYXQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX2Fsd2F5cy1vblwiPnt7IGFsd2F5c09uTGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZjc19fc3dpdGNoXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0KGNhdC5sYWJlbEtleSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwidmNzX19jaGVja2JveFwiIFtmb3JtQ29udHJvbF09XCJjYXQuY29udHJvbFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmNzX19zbGlkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidmNzX19yb3ctaGludFwiPnt7IHQoY2F0LmhpbnRLZXkpIH19PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInZjc19fYWN0aW9uc1wiPlxuICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwibWVkaXVtXCIgKGNsaWNrKT1cIm9uUmVqZWN0QWxsKClcIj57eyB0KCdyZWplY3RBbGwnKSB9fTwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJvblNhdmUoKVwiPnt7IHQoJ3NhdmUnKSB9fTwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwic29saWRcIiBzaXplPVwic21hbGxcIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib25BY2NlcHRBbGwoKVwiPnt7IHQoJ2FjY2VwdEFsbCcpIH19PC9pb24tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC52Y3Mge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIC52Y3NfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMDAwKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgICAgfVxuICAgICAgLnZjc19fZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG4gICAgICAudmNzX19zdGF0dXMge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3N0YXR1cy0tcGVuZGluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW9uLWNvbG9yLXdhcm5pbmctcmdiLCAyNTUsIDE5NiwgOSksIDAuMTIpO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXdhcm5pbmctc2hhZGUsICNlMGFjMDgpO1xuICAgICAgfVxuICAgICAgLnZjc19fc3RhdHVzLS1kYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCAjZjRmNWY4KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrLCAjOTI5NDljKTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX2NhdGVnb3JpZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgICAgLnZjc19fcm93IHtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjA2KSk7XG4gICAgICB9XG4gICAgICAudmNzX19yb3c6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgICAudmNzX19yb3ctLWRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuICAgICAgLnZjc19fcm93LWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG4gICAgICAudmNzX19yb3ctbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMDAwKTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3Jvdy1oaW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3RvZ2dsZS13cmFwIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAudmNzX19hbHdheXMtb24ge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itc3VjY2VzcywgIzJkZDM2Zik7XG4gICAgICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3MtcmdiLCA0NSwgMjExLCAxMTEpLCAwLjEyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIH1cblxuICAgICAgLyogVG9nZ2xlIHN3aXRjaCBuYXRpdm8g4oCUIG5vIGRlcGVuZGUgZGUgSW9uaWMgKi9cbiAgICAgIC52Y3NfX3N3aXRjaCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICAudmNzX19jaGVja2JveCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3NsaWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM5Mjk0OWMpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3NsaWRlcjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgfVxuICAgICAgLnZjc19fY2hlY2tib3g6Y2hlY2tlZCArIC52Y3NfX3NsaWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjNzAyNmRmKTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX2NoZWNrYm94OmNoZWNrZWQgKyAudmNzX19zbGlkZXI6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICAgIH1cblxuICAgICAgLnZjc19fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLnZjc19fYWN0aW9ucyB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgICAgIC52Y3NfX2FjdGlvbnMgaW9uLWJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGFuYWx5dGljcyA9IGluamVjdChBbmFseXRpY3NTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0b2FzdCA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuXG4gIC8qKiBNdWVzdHJhIHRpdHVsbyB5IGRlc2NyaXBjaW9uLiBVdGlsIGRlc2FjdGl2YXJsbyBjdWFuZG8gbGEgcGFnaW5hIHlhIHRpZW5lIGhlYWRlciBwcm9waW8uICovXG4gIEBJbnB1dCgpIHNob3dUaXRsZSA9IHNpZ25hbCh0cnVlKTtcblxuICAvKiogRW1pdGUgY3VhbmRvIGVsIHVzdWFyaW8gZ3VhcmRhL2FjZXB0YS9yZWNoYXphLiAqL1xuICBAT3V0cHV0KCkgc2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbnNlbnRTZXR0aW5ncz4oKTtcblxuICAvLyBGb3JtQ29udHJvbHMgaW50ZXJub3NcbiAgcHJpdmF0ZSBhbmFseXRpY3NDdHJsID0gbmV3IEZvcm1Db250cm9sPGJvb2xlYW4+KHRydWUsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHByaXZhdGUgZnVuY3Rpb25hbGl0eUN0cmwgPSBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4odHJ1ZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBhZHZlcnRpc2luZ0N0cmwgPSBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4oZmFsc2UsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHByaXZhdGUgZXNzZW50aWFsQ3RybCA9IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPih7IHZhbHVlOiB0cnVlLCBkaXNhYmxlZDogdHJ1ZSB9LCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGNhdGVnb3JpZXM6IENvb2tpZUNhdGVnb3J5W10gPSBbXG4gICAge1xuICAgICAga2V5OiAnc2VjdXJpdHknLFxuICAgICAgbGFiZWxLZXk6ICdjYXRlZ29yeUVzc2VudGlhbCcsXG4gICAgICBoaW50S2V5OiAnY2F0ZWdvcnlFc3NlbnRpYWxIaW50JyxcbiAgICAgIGNvbnRyb2w6IHRoaXMuZXNzZW50aWFsQ3RybCxcbiAgICAgIGRpc2FibGVkOiB0cnVlLFxuICAgIH0sXG4gICAgeyBrZXk6ICdhbmFseXRpY3MnLCBsYWJlbEtleTogJ2NhdGVnb3J5QW5hbHl0aWNzJywgaGludEtleTogJ2NhdGVnb3J5QW5hbHl0aWNzSGludCcsIGNvbnRyb2w6IHRoaXMuYW5hbHl0aWNzQ3RybCB9LFxuICAgIHtcbiAgICAgIGtleTogJ2Z1bmN0aW9uYWxpdHknLFxuICAgICAgbGFiZWxLZXk6ICdjYXRlZ29yeUZ1bmN0aW9uYWxpdHknLFxuICAgICAgaGludEtleTogJ2NhdGVnb3J5RnVuY3Rpb25hbGl0eUhpbnQnLFxuICAgICAgY29udHJvbDogdGhpcy5mdW5jdGlvbmFsaXR5Q3RybCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ2FkdmVydGlzaW5nJyxcbiAgICAgIGxhYmVsS2V5OiAnY2F0ZWdvcnlBZHZlcnRpc2luZycsXG4gICAgICBoaW50S2V5OiAnY2F0ZWdvcnlBZHZlcnRpc2luZ0hpbnQnLFxuICAgICAgY29udHJvbDogdGhpcy5hZHZlcnRpc2luZ0N0cmwsXG4gICAgfSxcbiAgXTtcblxuICBwcm90ZWN0ZWQgY29uc2VudFN0YXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hbmFseXRpY3MuY29uc2VudFN0YXRlKCkpO1xuICBwcm90ZWN0ZWQgaGFzRGVjaWRlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29uc2VudFN0YXRlKCkuaGFzRGVjaWRlZCk7XG5cbiAgcHJvdGVjdGVkIGxhc3RVcGRhdGVkVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB0cyA9IHRoaXMuY29uc2VudFN0YXRlKCkudXBkYXRlZEF0O1xuICAgIGlmICghdHMpIHJldHVybiAnJztcbiAgICByZXR1cm4gdGhpcy50KCdsYXN0VXBkYXRlZCcpLnJlcGxhY2UoJ3tkYXRlfScsIG5ldyBEYXRlKHRzKS50b0xvY2FsZVN0cmluZyh0aGlzLmkxOG4ubGFuZygpKSk7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBhbHdheXNPbkxhYmVsID0gJ+Kckyc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudChOUywgQ09PS0lFX1NFVFRJTkdTX0kxOE4pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gU3luYyBjb250cm9scyBkZXNkZSBlc3RhZG8gYWN0dWFsIGRlIGNvbnNlbnRcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNldHRpbmdzID0gdGhpcy5jb25zZW50U3RhdGUoKS5zZXR0aW5ncztcbiAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmFuYWx5dGljc0N0cmwuc2V0VmFsdWUoc2V0dGluZ3MuYW5hbHl0aWNzID8/IHRydWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICB0aGlzLmZ1bmN0aW9uYWxpdHlDdHJsLnNldFZhbHVlKHNldHRpbmdzLmZ1bmN0aW9uYWxpdHkgPz8gdHJ1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgIHRoaXMuYWR2ZXJ0aXNpbmdDdHJsLnNldFZhbHVlKHNldHRpbmdzLmFkdmVydGlzaW5nID8/IGZhbHNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICk7XG4gIH1cblxuICBvbkFjY2VwdEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuYWx5dGljcy5ncmFudEFsbENvbnNlbnQoKTtcbiAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiB0aGlzLnQoJ3NhdmVkJyksIGR1cmF0aW9uOiAyMDAwLCBjb2xvcjogJ2RhcmsnLCBwb3NpdGlvbjogJ3RvcCcgfSk7XG4gICAgdGhpcy5zYXZlZC5lbWl0KHsgYW5hbHl0aWNzOiB0cnVlLCBhZHZlcnRpc2luZzogdHJ1ZSwgZnVuY3Rpb25hbGl0eTogdHJ1ZSwgc2VjdXJpdHk6IHRydWUgfSk7XG4gIH1cblxuICBvblJlamVjdEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuYWx5dGljcy5kZW55QWxsQ29uc2VudCgpO1xuICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnc2F2ZWQnKSwgZHVyYXRpb246IDIwMDAsIGNvbG9yOiAnZGFyaycsIHBvc2l0aW9uOiAndG9wJyB9KTtcbiAgICB0aGlzLnNhdmVkLmVtaXQoeyBhbmFseXRpY3M6IGZhbHNlLCBhZHZlcnRpc2luZzogZmFsc2UsIGZ1bmN0aW9uYWxpdHk6IGZhbHNlLCBzZWN1cml0eTogdHJ1ZSB9KTtcbiAgfVxuXG4gIG9uU2F2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzZXR0aW5nczogQ29uc2VudFNldHRpbmdzID0ge1xuICAgICAgYW5hbHl0aWNzOiB0aGlzLmFuYWx5dGljc0N0cmwudmFsdWUsXG4gICAgICBmdW5jdGlvbmFsaXR5OiB0aGlzLmZ1bmN0aW9uYWxpdHlDdHJsLnZhbHVlLFxuICAgICAgYWR2ZXJ0aXNpbmc6IHRoaXMuYWR2ZXJ0aXNpbmdDdHJsLnZhbHVlLFxuICAgICAgc2VjdXJpdHk6IHRydWUsXG4gICAgfTtcbiAgICB0aGlzLmFuYWx5dGljcy51cGRhdGVDb25zZW50KHNldHRpbmdzKTtcbiAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiB0aGlzLnQoJ3NhdmVkJyksIGR1cmF0aW9uOiAyMDAwLCBjb2xvcjogJ2RhcmsnLCBwb3NpdGlvbjogJ3RvcCcgfSk7XG4gICAgdGhpcy5zYXZlZC5lbWl0KHNldHRpbmdzKTtcbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHYgPSB0aGlzLmkxOG4udChrZXksIE5TKTtcbiAgICBpZiAodiAmJiAhdi5zdGFydHNXaXRoKCdbJykpIHJldHVybiB2O1xuICAgIHJldHVybiBDT09LSUVfU0VUVElOR1NfSTE4Ti5lc1trZXkgYXMga2V5b2YgdHlwZW9mIENPT0tJRV9TRVRUSU5HU19JMThOLmVzXSA/PyBrZXk7XG4gIH1cbn1cbiJdfQ==
|