valtech-components 2.0.1016 → 2.0.1018
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/multi-select-search/multi-select-search.component.mjs +14 -37
- package/esm2022/lib/components/molecules/permission-selector/permission-selector.component.mjs +201 -0
- package/esm2022/lib/components/molecules/permission-selector/types.mjs +2 -0
- package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +3 -15
- package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +60 -36
- package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +7 -6
- package/esm2022/lib/components/organisms/org-info-sheet/org-info-sheet.component.mjs +3 -3
- package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +21 -8
- package/esm2022/lib/services/org/permission-catalog.service.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/valtech-components.mjs +328 -131
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/permission-selector/permission-selector.component.d.ts +53 -0
- package/lib/components/molecules/permission-selector/types.d.ts +15 -0
- package/lib/components/organisms/api-keys-modal/api-keys-modal.component.d.ts +17 -1
- package/lib/services/org/permission-catalog.service.d.ts +6 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs
CHANGED
|
@@ -116,7 +116,11 @@ export class InviteMemberModalComponent {
|
|
|
116
116
|
return [];
|
|
117
117
|
}
|
|
118
118
|
const cleanQ = (q.startsWith('@') ? q.slice(1) : q).toLowerCase();
|
|
119
|
-
|
|
119
|
+
// Prefijo: el sentinel alto `` cierra el rango (antes `cleanQ + ''`
|
|
120
|
+
// era exact-match → solo encontraba el handle idéntico). NOTA: solo busca
|
|
121
|
+
// por `handle`; la búsqueda por nombre requiere un campo normalizado en
|
|
122
|
+
// /profiles (pendiente, ver TODO de búsqueda por nombre).
|
|
123
|
+
const q$ = fsQuery(collection(this.firestore, 'profiles'), orderBy('handle'), startAt(cleanQ), endAt(cleanQ + '\uf8ff'), limit(8));
|
|
120
124
|
return from(getDocs(q$)).pipe(map(snap => ({
|
|
121
125
|
users: snap.docs.map(d => ({
|
|
122
126
|
userId: d.id,
|
|
@@ -129,10 +133,7 @@ export class InviteMemberModalComponent {
|
|
|
129
133
|
next: res => {
|
|
130
134
|
if (res && 'users' in res) {
|
|
131
135
|
const currentUserId = this.auth.user()?.userId;
|
|
132
|
-
const excluded = new Set([
|
|
133
|
-
...(currentUserId ? [currentUserId] : []),
|
|
134
|
-
...this.existingMemberIds,
|
|
135
|
-
]);
|
|
136
|
+
const excluded = new Set([...(currentUserId ? [currentUserId] : []), ...this.existingMemberIds]);
|
|
136
137
|
this.searchResults.set(res.users.filter(u => !excluded.has(u.userId)));
|
|
137
138
|
}
|
|
138
139
|
this.searching.set(false);
|
|
@@ -516,4 +517,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
516
517
|
}], i18nNamespace: [{
|
|
517
518
|
type: Input
|
|
518
519
|
}] } });
|
|
519
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52aXRlLW1lbWJlci1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2ludml0ZS1tZW1iZXItbW9kYWwvaW52aXRlLW1lbWJlci1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLElBQUksT0FBTyxFQUNoQixPQUFPLEVBQ1AsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsT0FBTyxHQUNSLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFVBQVUsR0FDWCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxD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d0JBQ1QsVUFBVTt3QkFDVixVQUFVO3dCQUNWLE9BQU87d0JBQ1AsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYixjQUFjO3FCQUNmLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtSFQ7d0RBK0xRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgZnJvbSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBGaXJlc3RvcmUsXG4gIGNvbGxlY3Rpb24sXG4gIHF1ZXJ5IGFzIGZzUXVlcnksXG4gIG9yZGVyQnksXG4gIHN0YXJ0QXQsXG4gIGVuZEF0LFxuICBsaW1pdCxcbiAgZ2V0RG9jcyxcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuaW1wb3J0IHtcbiAgSW9uQnV0dG9uLFxuICBJb25CdXR0b25zLFxuICBJb25Db250ZW50LFxuICBJb25IZWFkZXIsXG4gIElvbkljb24sXG4gIElvblNwaW5uZXIsXG4gIElvblRvb2xiYXIsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjaGVja21hcmtDaXJjbGVPdXRsaW5lLCBjbG9zZU91dGxpbmUsIG1haWxPdXRsaW5lLCBwZXJzb25PdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hiYXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcywgSW5wdXRNZXRhZGF0YSwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBPcmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL29yZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZ1JvbGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmcvdHlwZXMnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBWYWx0ZWNoRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXJyb3JzL3ZhbHRlY2gtZXJyb3Iuc2VydmljZSc7XG5cbmltcG9ydCB7IElOVklURV9NRU1CRVJfTU9EQUxfSTE4TiB9IGZyb20gJy4vaW52aXRlLW1lbWJlci1tb2RhbC5pMThuJztcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnSW52aXRlTW9kYWwnO1xuXG5pbnRlcmZhY2UgUHVibGljVXNlclByb2ZpbGUge1xuICB1c2VySWQ6IHN0cmluZztcbiAgaGFuZGxlPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5hZGRJY29ucyh7IHBlcnNvbk91dGxpbmUsIG1haWxPdXRsaW5lLCBjbG9zZU91dGxpbmUsIGNoZWNrbWFya0NpcmNsZU91dGxpbmUgfSk7XG5cbi8qKlxuICogYHZhbC1pbnZpdGUtbWVtYmVyLW1vZGFsYCDigJQgaW52aXRhY2nDs24gZGUgbWllbWJyb3MgYSB1bmEgb3JnYW5pemFjacOzbi5cbiAqIFByb21vdmlkbyBkZXNkZSBgc2hvd2Nhc2VgIGJham8gZWwgcHJvY2VzbyBkZSBBRFItMDIxLlxuICpcbiAqIEJ1c2NhIHVzdWFyaW9zIHBvciBoYW5kbGUgZW4gRmlyZXN0b3JlIGAvcHJvZmlsZXNgIChtdWx0aS1zZWxlY3QpIG8gaW52aXRhIHBvclxuICogZW1haWwgY3VhbmRvIGVsIHF1ZXJ5IGVzIHVuIGNvcnJlbyB2w6FsaWRvLiBBc2lnbmEgZWwgcm9sIHNlbGVjY2lvbmFkbyB5IGVudsOtYSBsYVxuICogaW52aXRhY2nDs24gdsOtYSBgT3JnU2VydmljZS5pbnZpdGVVc2VyYC4gRXhjbHV5ZSBhbCB1c3VhcmlvIGFjdHVhbCB5IGEgbG9zXG4gKiBgZXhpc3RpbmdNZW1iZXJJZHNgIGRlIGxvcyByZXN1bHRhZG9zLlxuICpcbiAqIEFiaWVydG8gdsOtYSBgTW9kYWxTZXJ2aWNlYCDigJQgcmVjaWJlIGBfbW9kYWxSZWZgIHBvciBgY29tcG9uZW50UHJvcHNgICsgY2FsbGJhY2tcbiAqIGBvblN1Y2Nlc3NgLiBIZWFkZXIgY2Fuw7NuaWNvIChSZWdsYSAjNSk6IHNpbiBgaW9uLXRpdGxlYCwgYm90w7NuIENlcnJhciB0ZXh0byBlblxuICogYHNsb3Q9ZW5kYCwgdMOtdHVsby9zdWJ0w610dWxvIGVuIGVsIGJvZHkgY29uIGB2YWwtZGlzcGxheWAvYHZhbC10aXRsZWAuXG4gKlxuICogQXV0by1yZWdpc3RyYSBzdXMgZGVmYXVsdHMgaTE4biAoZXMvZW4pIHNpIGVsIGNvbnN1bWVyIG5vIHByb3ZlecOzIGVsIG5hbWVzcGFjZVxuICogYEludml0ZU1vZGFsYC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWludml0ZS1tZW1iZXItbW9kYWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgSW9uSGVhZGVyLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uQ29udGVudCxcbiAgICBJb25TcGlubmVyLFxuICAgIElvbkljb24sXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIFNlYXJjaGJhckNvbXBvbmVudCxcbiAgICBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24taGVhZGVyPlxuICAgICAgPGlvbi10b29sYmFyPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJkaXNtaXNzKClcIj5cbiAgICAgICAgICAgIDxzdHJvbmc+e3sgdCgnY2xvc2UnKSB9fTwvc3Ryb25nPlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgIDwvaW9uLXRvb2xiYXI+XG4gICAgPC9pb24taGVhZGVyPlxuXG4gICAgPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCd0aXRsZScpLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgPHZhbC10aXRsZVxuICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgIGNvbnRlbnQ6IHQoJ3N1YnRpdGxlJyksXG4gICAgICAgICAgc2l6ZTogJ2xhcmdlJyxcbiAgICAgICAgICBjb2xvcjogJycsXG4gICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgIH1cIlxuICAgICAgLz5cblxuICAgICAgPGRpdiBjbGFzcz1cInJvbGUtc2VsZWN0LXdyYXBcIj5cbiAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBjb250ZW50OiB0KCdyb2xlTGFiZWwnKSxcbiAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgfVwiXG4gICAgICAgIC8+XG4gICAgICAgIDx2YWwtc2VsZWN0LWlucHV0IGRhdGEtdGVzdGlkPVwiaW52aXRlLXJvbGUtc2VsZWN0XCIgW3Byb3BzXT1cInJvbGVTZWxlY3RQcm9wcygpXCIgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXNlY3Rpb25cIj5cbiAgICAgICAgPHZhbC1zZWFyY2hiYXJcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImludml0ZS1zZWFyY2hcIlxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogdCgnc2VhcmNoUGxhY2Vob2xkZXInKSxcbiAgICAgICAgICAgIGRlYm91bmNlOiAzNTAsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiAnbmV2ZXInLFxuICAgICAgICAgIH1cIlxuICAgICAgICAgIChmaWx0ZXJFdmVudCk9XCJvblF1ZXJ5Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAvPlxuXG4gICAgICAgIEBpZiAoc2VhcmNoaW5nKCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXN0YXRlXCI+XG4gICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImNyZXNjZW50XCIgLz5cbiAgICAgICAgICAgIDxzcGFuPnt7IHQoJ3NlYXJjaGluZ0xhYmVsJykgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2UgaWYgKGlzRW1haWwoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbC1pbnZpdGUtY2FyZFwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJtYWlsLW91dGxpbmVcIiBjbGFzcz1cImVtYWlsLWljb25cIiAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLWludml0ZS10ZXh0XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZW1haWwtaW52aXRlLWxhYmVsXCI+e3sgdCgnaW52aXRlQnlFbWFpbCcpIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVtYWlsLWludml0ZS1hZGRyZXNzXCI+e3sgcXVlcnkoKS50cmltKCkgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwic2VuZEJ1dHRvblByb3BzKClcIiAoY2xpY2spPVwib25JbnZpdGVCeUVtYWlsKClcIiAvPlxuICAgICAgICB9IEBlbHNlIGlmIChxdWVyeSgpLmxlbmd0aCA+PSAyICYmIHNlYXJjaFJlc3VsdHMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICA8dmFsLWVtcHR5LXN0YXRlXG4gICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICB2YXJpYW50OiAnZW1wdHknLFxuICAgICAgICAgICAgICB0aXRsZTogdCgnbm9SZXN1bHRzJyksXG4gICAgICAgICAgICAgIGljb246ICdwZXJzb24tb3V0bGluZScsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAvPlxuICAgICAgICB9IEBlbHNlIGlmIChzZWFyY2hSZXN1bHRzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHRzLWxpc3RcIj5cbiAgICAgICAgICAgIEBmb3IgKHVzZXIgb2Ygc2VhcmNoUmVzdWx0cygpOyB0cmFjayB1c2VyLnVzZXJJZCkge1xuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyZXN1bHQtY2FyZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ2ludml0ZS1yZXN1bHQtJyArIHVzZXIudXNlcklkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MucmVzdWx0LWNhcmQtLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQodXNlci51c2VySWQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlVXNlcih1c2VyKVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXNTZWxlY3RlZCh1c2VyLnVzZXJJZClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1jYXJkX19hdmF0YXJcIj5cbiAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGVyc29uLW91dGxpbmVcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY2FyZF9fYm9keVwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXN1bHQtY2FyZF9fbmFtZVwiPnt7IHVzZXIubmFtZSB8fCB1c2VyLmhhbmRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIEBpZiAodXNlci5oYW5kbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXN1bHQtY2FyZF9faGFuZGxlXCI+JiM2NDt7eyB1c2VyLmhhbmRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNhcmRfX2NoZWNrXCI+XG4gICAgICAgICAgICAgICAgICBAaWYgKGlzU2VsZWN0ZWQodXNlci51c2VySWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hlY2ttYXJrLWNpcmNsZS1vdXRsaW5lXCIgY2xhc3M9XCJjaGVjay1vblwiIC8+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLW9mZlwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoc2VsZWN0ZWRVc2VycygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtc2VjdGlvblwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZC1zZWN0aW9uX19sYWJlbFwiPnt7IHQoJ3NlbGVjdGVkTGFiZWwnKSB9fSAoe3sgc2VsZWN0ZWRVc2VycygpLmxlbmd0aCB9fSk8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtY2hpcHNcIj5cbiAgICAgICAgICAgICAgQGZvciAodXNlciBvZiBzZWxlY3RlZFVzZXJzKCk7IHRyYWNrIHVzZXIudXNlcklkKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWNoaXBcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHVzZXIuaGFuZGxlID8gJ0AnICsgdXNlci5oYW5kbGUgOiB1c2VyLm5hbWUgfHwgdXNlci51c2VySWQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2VsZWN0ZWQtY2hpcF9fcmVtb3ZlXCIgKGNsaWNrKT1cInRvZ2dsZVVzZXIodXNlcilcIiBhcmlhLWxhYmVsPVwiUXVpdGFyXCI+JnRpbWVzOzwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDx2YWwtYnV0dG9uIFtwcm9wc109XCJzZW5kU2VsZWN0ZWRQcm9wcygpXCIgKGNsaWNrKT1cIm9uU2VuZFNlbGVjdGVkKClcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2lvbi1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICBpb24tY29udGVudCB7XG4gICAgICAgIC0tcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgICB9XG4gICAgICB2YWwtZGlzcGxheSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICB2YWwtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLnJvbGUtc2VsZWN0LXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuICAgICAgLnJvbGUtc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICB2YWwtc2VhcmNoYmFyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgIH1cbiAgICAgIC5zZWFyY2gtc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgIH1cbiAgICAgIC5zZWFyY2gtc3RhdGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgICAgICBmb250LXNpemU6IDAuODhyZW07XG4gICAgICB9XG4gICAgICAuZW1haWwtaW52aXRlLWNhcmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSkgOCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICAgIC5lbWFpbC1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICAgIC5lbWFpbC1pbnZpdGUtdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMnB4O1xuICAgICAgfVxuICAgICAgLmVtYWlsLWludml0ZS1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgICAgfVxuICAgICAgLmVtYWlsLWludml0ZS1hZGRyZXNzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICB9XG4gICAgICAucmVzdWx0cy1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG4gICAgICAucmVzdWx0LWNhcmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCAjZjRmNWY4KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICAgICAgfVxuICAgICAgLnJlc3VsdC1jYXJkOmFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAucmVzdWx0LWNhcmQsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLnJlc3VsdC1jYXJkLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAucmVzdWx0LWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICAgICAgfVxuICAgICAgLnJlc3VsdC1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSkgMTUlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLnJlc3VsdC1jYXJkX19ib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgICB9XG4gICAgICAucmVzdWx0LWNhcmRfX25hbWUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5yZXN1bHQtY2FyZF9faGFuZGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICB9XG4gICAgICAucmVzdWx0LWNhcmQtLXNlbGVjdGVkIHtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSkgOCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICAgIC5yZXN1bHQtY2FyZF9fY2hlY2sge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgICAuY2hlY2stb24ge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG4gICAgICAuY2hlY2stb2ZmIHtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgIH1cbiAgICAgIC5zZWxlY3RlZC1zZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXZhbC1ib3JkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgfVxuICAgICAgLnNlbGVjdGVkLXNlY3Rpb25fX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICB9XG4gICAgICAuc2VsZWN0ZWQtY2hpcHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgfVxuICAgICAgLnNlbGVjdGVkLWNoaXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgcGFkZGluZzogNHB4IDEwcHggNHB4IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSkgMTIlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICAgIC5zZWxlY3RlZC1jaGlwX19yZW1vdmUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMCAycHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cbiAgICAgIC5zZWxlY3RlZC1jaGlwX19yZW1vdmU6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEludml0ZU1lbWJlck1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBvcmdTZXJ2aWNlID0gaW5qZWN0KE9yZ1NlcnZpY2UpO1xuICBwcml2YXRlIGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBwcml2YXRlIHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIHByaXZhdGUgZXJyb3JzID0gaW5qZWN0KFZhbHRlY2hFcnJvclNlcnZpY2UpO1xuICBwcml2YXRlIGZpcmVzdG9yZSA9IGluamVjdChGaXJlc3RvcmUpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIC8qKiBJbnllY3RhZG8gcG9yIGBNb2RhbFNlcnZpY2Uub3BlbmAg4oCUIHJlZmVyZW5jaWEgcGFyYSBjZXJyYXIgZGVzZGUgZGVudHJvLiAqL1xuICBASW5wdXQoKSBfbW9kYWxSZWY/OiB7IGRpc21pc3M6IChkYXRhPzogdW5rbm93biwgcm9sZT86IHN0cmluZykgPT4gdm9pZCB9O1xuXG4gIC8qKiBPcmdhbml6YWNpw7NuIGEgbGEgcXVlIHNlIGludml0YS4gKi9cbiAgQElucHV0KCkgb3JnSWQgPSAnJztcblxuICAvKiogSWRzIGRlIG1pZW1icm9zIHlhIGV4aXN0ZW50ZXMgKGV4Y2x1aWRvcyBkZSBsb3MgcmVzdWx0YWRvcykuICovXG4gIEBJbnB1dCgpIGV4aXN0aW5nTWVtYmVySWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBDYWxsYmFjayB0cmFzIGVudmlhciBsYShzKSBpbnZpdGFjacOzbihlcykgKHBhc2FkbyBwb3IgYGNvbXBvbmVudFByb3BzYCkuICovXG4gIEBJbnB1dCgpIG9uU3VjY2Vzcz86ICgpID0+IHZvaWQ7XG5cbiAgLyoqIE5hbWVzcGFjZSBpMThuIGNvbiBxdWUgbGEgdmlzdGEgcmVzdWVsdmUgc3VzIHRleHRvcy4gKi9cbiAgQElucHV0KCkgaTE4bk5hbWVzcGFjZSA9IERFRkFVTFRfTkFNRVNQQUNFO1xuXG4gIHJlYWRvbmx5IHF1ZXJ5ID0gc2lnbmFsKCcnKTtcbiAgcmVhZG9ubHkgc2VhcmNoaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgc2VhcmNoUmVzdWx0cyA9IHNpZ25hbDxQdWJsaWNVc2VyUHJvZmlsZVtdPihbXSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkVXNlcnMgPSBzaWduYWw8UHVibGljVXNlclByb2ZpbGVbXT4oW10pO1xuICByZWFkb25seSBzZW5kaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWRSb2xlID0gc2lnbmFsPHN0cmluZz4oJ3ZpZXdlcicpO1xuICByZWFkb25seSBhdmFpbGFibGVSb2xlcyA9IHNpZ25hbDxPcmdSb2xlW10+KFtcbiAgICB7IGlkOiAndmlld2VyJywgbmFtZTogJ3ZpZXdlcicgfSxcbiAgICB7IGlkOiAnZWRpdG9yJywgbmFtZTogJ2VkaXRvcicgfSxcbiAgICB7IGlkOiAnYWRtaW4nLCBuYW1lOiAnYWRtaW4nIH0sXG4gIF0pO1xuXG4gIHJlYWRvbmx5IHJvbGVDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJ3ZpZXdlcicpO1xuXG4gIHJlYWRvbmx5IHJvbGVTZWxlY3RQcm9wcyA9IGNvbXB1dGVkPFBhcnRpYWw8SW5wdXRNZXRhZGF0YT4+KCgpID0+ICh7XG4gICAgY29udHJvbDogdGhpcy5yb2xlQ29udHJvbCBhcyBGb3JtQ29udHJvbCxcbiAgICBsYWJlbDogJycsXG4gICAgcGxhY2Vob2xkZXI6IHRoaXMudCgncm9sZUxhYmVsJyksXG4gICAgdHlwZTogSW5wdXRUeXBlLlNFTEVDVCxcbiAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgb3B0aW9uczogdGhpcy5hdmFpbGFibGVSb2xlcygpLm1hcChyID0+ICh7XG4gICAgICBpZDogci5pZCxcbiAgICAgIG5hbWU6IHRoaXMucm9sZURpc3BsYXlOYW1lKHIpLFxuICAgICAgb3JkZXI6IDAsXG4gICAgfSkpLFxuICB9KSk7XG5cbiAgcmVhZG9ubHkgaXNFbWFpbCA9IGNvbXB1dGVkKCgpID0+IC9eW15cXHNAXStAW15cXHNAXStcXC5bXlxcc0BdKyQvLnRlc3QodGhpcy5xdWVyeSgpLnRyaW0oKSkpO1xuXG4gIHJlYWRvbmx5IHNlbmRCdXR0b25Qcm9wcyA9IGNvbXB1dGVkPFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+PigoKSA9PiAoe1xuICAgIHRleHQ6IHRoaXMudCgnc2VuZEludml0ZScpLFxuICAgIHRva2VuOiAnaW52aXRlLXN1Ym1pdC1lbWFpbCcsXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICBmaWxsOiAnc29saWQnLFxuICAgIGV4cGFuZDogJ2Jsb2NrJyxcbiAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgdHlwZTogJ2J1dHRvbicsXG4gICAgc3RhdGU6IHRoaXMuc2VuZGluZygpID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgfSkpO1xuXG4gIHJlYWRvbmx5IHNlbmRTZWxlY3RlZFByb3BzID0gY29tcHV0ZWQ8UGFydGlhbDxCdXR0b25NZXRhZGF0YT4+KCgpID0+ICh7XG4gICAgdGV4dDogYCR7dGhpcy50KCdzZW5kU2VsZWN0ZWQnKX0gKCR7dGhpcy5zZWxlY3RlZFVzZXJzKCkubGVuZ3RofSlgLFxuICAgIHRva2VuOiAnaW52aXRlLXN1Ym1pdCcsXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICBmaWxsOiAnc29saWQnLFxuICAgIGV4cGFuZDogJ2Jsb2NrJyxcbiAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgdHlwZTogJ2J1dHRvbicsXG4gICAgc3RhdGU6IHRoaXMuc2VuZGluZygpID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgfSkpO1xuXG4gIHByaXZhdGUgc2VhcmNoU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByb2xlU3ViPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShERUZBVUxUX05BTUVTUEFDRSkpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckNvbnRlbnQoREVGQVVMVF9OQU1FU1BBQ0UsIElOVklURV9NRU1CRVJfTU9EQUxfSTE4Tik7XG4gICAgfVxuICAgIHRoaXMubG9hZFJvbGVzKCk7XG4gICAgdGhpcy5yb2xlU3ViID0gdGhpcy5yb2xlQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgaWYgKHYpIHRoaXMuc2VsZWN0ZWRSb2xlLnNldCh2KTtcbiAgICB9KTtcblxuICAgIC8vIHZhbC1zZWFyY2hiYXIgYWxyZWFkeSBkZWJvdW5jZXMgLS0gcGlwZWxpbmUgb25seSBuZWVkcyBkaXN0aW5jdFVudGlsQ2hhbmdlZCArIHN3aXRjaE1hcFxuICAgIHRoaXMuc2VhcmNoU3ViamVjdFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcChxID0+IHtcbiAgICAgICAgICBpZiAoIXEgfHwgcS5sZW5ndGggPCAyIHx8IHRoaXMuaXNFbWFpbCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzLnNldChbXSk7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGNsZWFuUSA9IChxLnN0YXJ0c1dpdGgoJ0AnKSA/IHEuc2xpY2UoMSkgOiBxKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIGNvbnN0IHEkID0gZnNRdWVyeShcbiAgICAgICAgICAgIGNvbGxlY3Rpb24odGhpcy5maXJlc3RvcmUsICdwcm9maWxlcycpLFxuICAgICAgICAgICAgb3JkZXJCeSgnaGFuZGxlJyksXG4gICAgICAgICAgICBzdGFydEF0KGNsZWFuUSksXG4gICAgICAgICAgICBlbmRBdChjbGVhblEgKyAnJyksXG4gICAgICAgICAgICBsaW1pdCg4KVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIGZyb20oZ2V0RG9jcyhxJCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoc25hcCA9PiAoe1xuICAgICAgICAgICAgICB1c2Vyczogc25hcC5kb2NzLm1hcChkID0+ICh7XG4gICAgICAgICAgICAgICAgdXNlcklkOiBkLmlkLFxuICAgICAgICAgICAgICAgIGhhbmRsZTogZC5kYXRhKClbJ2hhbmRsZSddIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBuYW1lOiBkLmRhdGEoKVsnbmFtZSddIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByZXMgPT4ge1xuICAgICAgICAgIGlmIChyZXMgJiYgJ3VzZXJzJyBpbiByZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRVc2VySWQgPSB0aGlzLmF1dGgudXNlcigpPy51c2VySWQ7XG4gICAgICAgICAgICBjb25zdCBleGNsdWRlZCA9IG5ldyBTZXQoW1xuICAgICAgICAgICAgICAuLi4oY3VycmVudFVzZXJJZCA/IFtjdXJyZW50VXNlcklkXSA6IFtdKSxcbiAgICAgICAgICAgICAgLi4udGhpcy5leGlzdGluZ01lbWJlcklkcyxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzLnNldChyZXMudXNlcnMuZmlsdGVyKHUgPT4gIWV4Y2x1ZGVkLmhhcyh1LnVzZXJJZCkpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5zZWFyY2hpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMuc2V0KFtdKTtcbiAgICAgICAgICB0aGlzLnNlYXJjaGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICBvblF1ZXJ5Q2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5LnNldCh2YWx1ZSA/PyAnJyk7XG4gICAgaWYgKCF0aGlzLmlzRW1haWwoKSAmJiAodmFsdWUgPz8gJycpLmxlbmd0aCA+PSAyKSB7XG4gICAgICB0aGlzLnNlYXJjaGluZy5zZXQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoaW5nLnNldChmYWxzZSk7XG4gICAgICB0aGlzLnNlYXJjaFJlc3VsdHMuc2V0KFtdKTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0Lm5leHQodmFsdWUgPz8gJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkUm9sZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9yZ0lkKSByZXR1cm47XG4gICAgdGhpcy5vcmdTZXJ2aWNlLmxpc3RPcmdSb2xlcyh0aGlzLm9yZ0lkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogcm9sZXMgPT4ge1xuICAgICAgICBpZiAocm9sZXMubGVuZ3RoKSB0aGlzLmF2YWlsYWJsZVJvbGVzLnNldChyb2xlcyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcm9sZURpc3BsYXlOYW1lKHJvbGU6IE9yZ1JvbGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGtleU1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIHZpZXdlcjogJ3JvbGVWaWV3ZXInLFxuICAgICAgZWRpdG9yOiAncm9sZUVkaXRvcicsXG4gICAgICBhZG1pbjogJ3JvbGVBZG1pbicsXG4gICAgfTtcbiAgICBjb25zdCBrZXkgPSBrZXlNYXBbcm9sZS5uYW1lXSA/PyByb2xlLm5hbWU7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLnQoa2V5KTtcbiAgICByZXR1cm4gbGFiZWwgJiYgIWxhYmVsLnN0YXJ0c1dpdGgoJ1snKSA/IGxhYmVsIDogcm9sZS5uYW1lO1xuICB9XG5cbiAgYXN5bmMgb25JbnZpdGVCeUVtYWlsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGVtYWlsID0gdGhpcy5xdWVyeSgpLnRyaW0oKTtcbiAgICBpZiAoIWVtYWlsIHx8IHRoaXMuc2VuZGluZygpKSByZXR1cm47XG4gICAgdGhpcy5zZW5kaW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIHRoaXMub3JnU2VydmljZS5pbnZpdGVVc2VyKHRoaXMub3JnSWQsIHtcbiAgICAgICAgICBlbWFpbCxcbiAgICAgICAgICByb2xlSWQ6IHRoaXMuc2VsZWN0ZWRSb2xlKCksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy50b2FzdC5zaG93KHtcbiAgICAgICAgbWVzc2FnZTogdGhpcy50KCdzdWNjZXNzJyksXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIGR1cmF0aW9uOiAzNTAwLFxuICAgICAgfSk7XG4gICAgICB0aGlzLm9uU3VjY2Vzcz8uKCk7XG4gICAgICB0aGlzLmRpc21pc3MoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ2ludml0ZS5ieUVtYWlsJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzZW5kSW52aXRlJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5pMThuTmFtZXNwYWNlLFxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2VuZGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGlzU2VsZWN0ZWQodXNlcklkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFVzZXJzKCkuc29tZSh1ID0+IHUudXNlcklkID09PSB1c2VySWQpO1xuICB9XG5cbiAgdG9nZ2xlVXNlcih1c2VyOiBQdWJsaWNVc2VyUHJvZmlsZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQodXNlci51c2VySWQpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMudXBkYXRlKGxpc3QgPT4gbGlzdC5maWx0ZXIodSA9PiB1LnVzZXJJZCAhPT0gdXNlci51c2VySWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzLnVwZGF0ZShsaXN0ID0+IFsuLi5saXN0LCB1c2VyXSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb25TZW5kU2VsZWN0ZWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdXNlcnMgPSB0aGlzLnNlbGVjdGVkVXNlcnMoKTtcbiAgICBpZiAoIXVzZXJzLmxlbmd0aCB8fCB0aGlzLnNlbmRpbmcoKSkgcmV0dXJuO1xuICAgIHRoaXMuc2VuZGluZy5zZXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICB1c2Vycy5tYXAodSA9PlxuICAgICAgICAgIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5vcmdTZXJ2aWNlLmludml0ZVVzZXIodGhpcy5vcmdJZCwge1xuICAgICAgICAgICAgICB1c2VySWQ6IHUudXNlcklkLFxuICAgICAgICAgICAgICByb2xlSWQ6IHRoaXMuc2VsZWN0ZWRSb2xlKCksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICAgIG1lc3NhZ2U6IHVzZXJzLmxlbmd0aCA9PT0gMSA/IHRoaXMudCgnc3VjY2VzcycpIDogdGhpcy50KCdzdWNjZXNzUGx1cmFsJyksXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIGR1cmF0aW9uOiAzNTAwLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMuc2V0KFtdKTtcbiAgICAgIHRoaXMub25TdWNjZXNzPy4oKTtcbiAgICAgIHRoaXMuZGlzbWlzcygpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICBjb250ZXh0OiAnaW52aXRlLmJ5VXNlcklkJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzZW5kSW52aXRlJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5pMThuTmFtZXNwYWNlLFxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2VuZGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm9sZVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5fbW9kYWxSZWY/LmRpc21pc3MobnVsbCwgJ2NhbmNlbCcpO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgdGhpcy5pMThuTmFtZXNwYWNlKTtcbiAgfVxufVxuIl19
|
|
520
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52aXRlLW1lbWJlci1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2ludml0ZS1tZW1iZXItbW9kYWwvaW52aXRlLW1lbWJlci1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLElBQUksT0FBTyxFQUNoQixPQUFPLEVBQ1AsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsT0FBTyxHQUNSLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFVBQVUsR0FDWCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxD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Q1A7d0JBQ1AsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsT0FBTzt3QkFDUCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixhQUFhO3dCQUNiLGNBQWM7cUJBQ2YsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1IVDt3REErTFEsU0FBUztzQkFBakIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBmcm9tLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEZpcmVzdG9yZSxcbiAgY29sbGVjdGlvbixcbiAgcXVlcnkgYXMgZnNRdWVyeSxcbiAgb3JkZXJCeSxcbiAgc3RhcnRBdCxcbiAgZW5kQXQsXG4gIGxpbWl0LFxuICBnZXREb2NzLFxufSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSc7XG5pbXBvcnQge1xuICBJb25CdXR0b24sXG4gIElvbkJ1dHRvbnMsXG4gIElvbkNvbnRlbnQsXG4gIElvbkhlYWRlcixcbiAgSW9uSWNvbixcbiAgSW9uU3Bpbm5lcixcbiAgSW9uVG9vbGJhcixcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGNoZWNrbWFya0NpcmNsZU91dGxpbmUsIGNsb3NlT3V0bGluZSwgbWFpbE91dGxpbmUsIHBlcnNvbk91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEVtcHR5U3RhdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaGJhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9zZWxlY3QtaW5wdXQvc2VsZWN0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzLCBJbnB1dE1ldGFkYXRhLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IE9yZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmcvb3JnLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JnUm9sZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL29yZy90eXBlcyc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbHRlY2hFcnJvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lcnJvcnMvdmFsdGVjaC1lcnJvci5zZXJ2aWNlJztcblxuaW1wb3J0IHsgSU5WSVRFX01FTUJFUl9NT0RBTF9JMThOIH0gZnJvbSAnLi9pbnZpdGUtbWVtYmVyLW1vZGFsLmkxOG4nO1xuXG5jb25zdCBERUZBVUxUX05BTUVTUEFDRSA9ICdJbnZpdGVNb2RhbCc7XG5cbmludGVyZmFjZSBQdWJsaWNVc2VyUHJvZmlsZSB7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBoYW5kbGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5cbmFkZEljb25zKHsgcGVyc29uT3V0bGluZSwgbWFpbE91dGxpbmUsIGNsb3NlT3V0bGluZSwgY2hlY2ttYXJrQ2lyY2xlT3V0bGluZSB9KTtcblxuLyoqXG4gKiBgdmFsLWludml0ZS1tZW1iZXItbW9kYWxgIOKAlCBpbnZpdGFjacOzbiBkZSBtaWVtYnJvcyBhIHVuYSBvcmdhbml6YWNpw7NuLlxuICogUHJvbW92aWRvIGRlc2RlIGBzaG93Y2FzZWAgYmFqbyBlbCBwcm9jZXNvIGRlIEFEUi0wMjEuXG4gKlxuICogQnVzY2EgdXN1YXJpb3MgcG9yIGhhbmRsZSBlbiBGaXJlc3RvcmUgYC9wcm9maWxlc2AgKG11bHRpLXNlbGVjdCkgbyBpbnZpdGEgcG9yXG4gKiBlbWFpbCBjdWFuZG8gZWwgcXVlcnkgZXMgdW4gY29ycmVvIHbDoWxpZG8uIEFzaWduYSBlbCByb2wgc2VsZWNjaW9uYWRvIHkgZW52w61hIGxhXG4gKiBpbnZpdGFjacOzbiB2w61hIGBPcmdTZXJ2aWNlLmludml0ZVVzZXJgLiBFeGNsdXllIGFsIHVzdWFyaW8gYWN0dWFsIHkgYSBsb3NcbiAqIGBleGlzdGluZ01lbWJlcklkc2AgZGUgbG9zIHJlc3VsdGFkb3MuXG4gKlxuICogQWJpZXJ0byB2w61hIGBNb2RhbFNlcnZpY2VgIOKAlCByZWNpYmUgYF9tb2RhbFJlZmAgcG9yIGBjb21wb25lbnRQcm9wc2AgKyBjYWxsYmFja1xuICogYG9uU3VjY2Vzc2AuIEhlYWRlciBjYW7Ds25pY28gKFJlZ2xhICM1KTogc2luIGBpb24tdGl0bGVgLCBib3TDs24gQ2VycmFyIHRleHRvIGVuXG4gKiBgc2xvdD1lbmRgLCB0w610dWxvL3N1YnTDrXR1bG8gZW4gZWwgYm9keSBjb24gYHZhbC1kaXNwbGF5YC9gdmFsLXRpdGxlYC5cbiAqXG4gKiBBdXRvLXJlZ2lzdHJhIHN1cyBkZWZhdWx0cyBpMThuIChlcy9lbikgc2kgZWwgY29uc3VtZXIgbm8gcHJvdmV5w7MgZWwgbmFtZXNwYWNlXG4gKiBgSW52aXRlTW9kYWxgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtaW52aXRlLW1lbWJlci1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBJb25IZWFkZXIsXG4gICAgSW9uVG9vbGJhcixcbiAgICBJb25CdXR0b25zLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25Db250ZW50LFxuICAgIElvblNwaW5uZXIsXG4gICAgSW9uSWNvbixcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBEaXNwbGF5Q29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgU2VhcmNoYmFyQ29tcG9uZW50LFxuICAgIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50LFxuICAgIFRleHRDb21wb25lbnQsXG4gICAgVGl0bGVDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1oZWFkZXI+XG4gICAgICA8aW9uLXRvb2xiYXI+XG4gICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cImRpc21pc3MoKVwiPlxuICAgICAgICAgICAgPHN0cm9uZz57eyB0KCdjbG9zZScpIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ3RpdGxlJyksIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICA8dmFsLXRpdGxlXG4gICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgY29udGVudDogdCgnc3VidGl0bGUnKSxcbiAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgIGNvbG9yOiAnJyxcbiAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgfVwiXG4gICAgICAvPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm9sZS1zZWxlY3Qtd3JhcFwiPlxuICAgICAgICA8dmFsLXRpdGxlXG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIGNvbnRlbnQ6IHQoJ3JvbGVMYWJlbCcpLFxuICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHZhbC1zZWxlY3QtaW5wdXQgZGF0YS10ZXN0aWQ9XCJpbnZpdGUtcm9sZS1zZWxlY3RcIiBbcHJvcHNdPVwicm9sZVNlbGVjdFByb3BzKClcIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtc2VjdGlvblwiPlxuICAgICAgICA8dmFsLXNlYXJjaGJhclxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwiaW52aXRlLXNlYXJjaFwiXG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0KCdzZWFyY2hQbGFjZWhvbGRlcicpLFxuICAgICAgICAgICAgZGVib3VuY2U6IDM1MCxcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246ICduZXZlcicsXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGZpbHRlckV2ZW50KT1cIm9uUXVlcnlDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgQGlmIChzZWFyY2hpbmcoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtc3RhdGVcIj5cbiAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiAvPlxuICAgICAgICAgICAgPHNwYW4+e3sgdCgnc2VhcmNoaW5nTGFiZWwnKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSBpZiAoaXNFbWFpbCgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLWludml0ZS1jYXJkXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cIm1haWwtb3V0bGluZVwiIGNsYXNzPVwiZW1haWwtaWNvblwiIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtaW52aXRlLXRleHRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbWFpbC1pbnZpdGUtbGFiZWxcIj57eyB0KCdpbnZpdGVCeUVtYWlsJykgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZW1haWwtaW52aXRlLWFkZHJlc3NcIj57eyBxdWVyeSgpLnRyaW0oKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx2YWwtYnV0dG9uIFtwcm9wc109XCJzZW5kQnV0dG9uUHJvcHMoKVwiIChjbGljayk9XCJvbkludml0ZUJ5RW1haWwoKVwiIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKHF1ZXJ5KCkubGVuZ3RoID49IDIgJiYgc2VhcmNoUmVzdWx0cygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIDx2YWwtZW1wdHktc3RhdGVcbiAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgIHZhcmlhbnQ6ICdlbXB0eScsXG4gICAgICAgICAgICAgIHRpdGxlOiB0KCdub1Jlc3VsdHMnKSxcbiAgICAgICAgICAgICAgaWNvbjogJ3BlcnNvbi1vdXRsaW5lJyxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKHNlYXJjaFJlc3VsdHMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdHMtbGlzdFwiPlxuICAgICAgICAgICAgQGZvciAodXNlciBvZiBzZWFyY2hSZXN1bHRzKCk7IHRyYWNrIHVzZXIudXNlcklkKSB7XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJlc3VsdC1jYXJkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCInaW52aXRlLXJlc3VsdC0nICsgdXNlci51c2VySWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5yZXN1bHQtY2FyZC0tc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZCh1c2VyLnVzZXJJZClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVVc2VyKHVzZXIpXCJcbiAgICAgICAgICAgICAgICByb2xlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJpc1NlbGVjdGVkKHVzZXIudXNlcklkKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNhcmRfX2F2YXRhclwiPlxuICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJwZXJzb24tb3V0bGluZVwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1jYXJkX19ib2R5XCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlc3VsdC1jYXJkX19uYW1lXCI+e3sgdXNlci5uYW1lIHx8IHVzZXIuaGFuZGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgQGlmICh1c2VyLmhhbmRsZSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlc3VsdC1jYXJkX19oYW5kbGVcIj4mIzY0O3t7IHVzZXIuaGFuZGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY2FyZF9fY2hlY2tcIj5cbiAgICAgICAgICAgICAgICAgIEBpZiAoaXNTZWxlY3RlZCh1c2VyLnVzZXJJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmstY2lyY2xlLW91dGxpbmVcIiBjbGFzcz1cImNoZWNrLW9uXCIgLz5cbiAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stb2ZmXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChzZWxlY3RlZFVzZXJzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlbGVjdGVkLXNlY3Rpb25fX2xhYmVsXCI+e3sgdCgnc2VsZWN0ZWRMYWJlbCcpIH19ICh7eyBzZWxlY3RlZFVzZXJzKCkubGVuZ3RoIH19KTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1jaGlwc1wiPlxuICAgICAgICAgICAgICBAZm9yICh1c2VyIG9mIHNlbGVjdGVkVXNlcnMoKTsgdHJhY2sgdXNlci51c2VySWQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtY2hpcFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdXNlci5oYW5kbGUgPyAnQCcgKyB1c2VyLmhhbmRsZSA6IHVzZXIubmFtZSB8fCB1c2VyLnVzZXJJZCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzZWxlY3RlZC1jaGlwX19yZW1vdmVcIiAoY2xpY2spPVwidG9nZ2xlVXNlcih1c2VyKVwiIGFyaWEtbGFiZWw9XCJRdWl0YXJcIj4mdGltZXM7PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cInNlbmRTZWxlY3RlZFByb3BzKClcIiAoY2xpY2spPVwib25TZW5kU2VsZWN0ZWQoKVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvaW9uLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIGlvbi1jb250ZW50IHtcbiAgICAgICAgLS1wYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICAgIH1cbiAgICAgIHZhbC1kaXNwbGF5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIHZhbC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAucm9sZS1zZWxlY3Qtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG4gICAgICAucm9sZS1zZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIHZhbC1zZWFyY2hiYXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgfVxuICAgICAgLnNlYXJjaC1zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxNHB4O1xuICAgICAgfVxuICAgICAgLnNlYXJjaC1zdGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICAgIH1cbiAgICAgIC5lbWFpbC1pbnZpdGUtY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KSA4JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgICAgLmVtYWlsLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLmVtYWlsLWludml0ZS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgICB9XG4gICAgICAuZW1haWwtaW52aXRlLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICB9XG4gICAgICAuZW1haWwtaW52aXRlLWFkZHJlc3Mge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgIH1cbiAgICAgIC5yZXN1bHRzLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cbiAgICAgIC5yZXN1bHQtY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQsICNmNGY1ZjgpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgICB9XG4gICAgICAucmVzdWx0LWNhcmQ6YWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC5yZXN1bHQtY2FyZCxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAucmVzdWx0LWNhcmQsXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5yZXN1bHQtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgICB9XG4gICAgICAucmVzdWx0LWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAucmVzdWx0LWNhcmRfX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDJweDtcbiAgICAgIH1cbiAgICAgIC5yZXN1bHQtY2FyZF9fbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgfVxuICAgICAgLnJlc3VsdC1jYXJkX19oYW5kbGUge1xuICAgICAgICBmb250LXNpemU6IDAuNzhyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgIH1cbiAgICAgIC5yZXN1bHQtY2FyZC0tc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KSA4JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgICAgLnJlc3VsdC1jYXJkX19jaGVjayB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICAgIC5jaGVjay1vbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICAgIC5jaGVjay1vZmYge1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgICAgfVxuICAgICAgLnNlbGVjdGVkLXNlY3Rpb24ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdmFsLWJvcmRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjA4KSk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICB9XG4gICAgICAuc2VsZWN0ZWQtc2VjdGlvbl9fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuNzhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgIH1cbiAgICAgIC5zZWxlY3RlZC1jaGlwcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICB9XG4gICAgICAuc2VsZWN0ZWQtY2hpcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBwYWRkaW5nOiA0cHggMTBweCA0cHggMTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KSAxMiUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjgycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgICAgLnNlbGVjdGVkLWNoaXBfX3JlbW92ZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBwYWRkaW5nOiAwIDJweDtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuICAgICAgLnNlbGVjdGVkLWNoaXBfX3JlbW92ZTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW52aXRlTWVtYmVyTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG9yZ1NlcnZpY2UgPSBpbmplY3QoT3JnU2VydmljZSk7XG4gIHByaXZhdGUgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByaXZhdGUgdG9hc3QgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlcnJvcnMgPSBpbmplY3QoVmFsdGVjaEVycm9yU2VydmljZSk7XG4gIHByaXZhdGUgZmlyZXN0b3JlID0gaW5qZWN0KEZpcmVzdG9yZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgLyoqIElueWVjdGFkbyBwb3IgYE1vZGFsU2VydmljZS5vcGVuYCDigJQgcmVmZXJlbmNpYSBwYXJhIGNlcnJhciBkZXNkZSBkZW50cm8uICovXG4gIEBJbnB1dCgpIF9tb2RhbFJlZj86IHsgZGlzbWlzczogKGRhdGE/OiB1bmtub3duLCByb2xlPzogc3RyaW5nKSA9PiB2b2lkIH07XG5cbiAgLyoqIE9yZ2FuaXphY2nDs24gYSBsYSBxdWUgc2UgaW52aXRhLiAqL1xuICBASW5wdXQoKSBvcmdJZCA9ICcnO1xuXG4gIC8qKiBJZHMgZGUgbWllbWJyb3MgeWEgZXhpc3RlbnRlcyAoZXhjbHVpZG9zIGRlIGxvcyByZXN1bHRhZG9zKS4gKi9cbiAgQElucHV0KCkgZXhpc3RpbmdNZW1iZXJJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqIENhbGxiYWNrIHRyYXMgZW52aWFyIGxhKHMpIGludml0YWNpw7NuKGVzKSAocGFzYWRvIHBvciBgY29tcG9uZW50UHJvcHNgKS4gKi9cbiAgQElucHV0KCkgb25TdWNjZXNzPzogKCkgPT4gdm9pZDtcblxuICAvKiogTmFtZXNwYWNlIGkxOG4gY29uIHF1ZSBsYSB2aXN0YSByZXN1ZWx2ZSBzdXMgdGV4dG9zLiAqL1xuICBASW5wdXQoKSBpMThuTmFtZXNwYWNlID0gREVGQVVMVF9OQU1FU1BBQ0U7XG5cbiAgcmVhZG9ubHkgcXVlcnkgPSBzaWduYWwoJycpO1xuICByZWFkb25seSBzZWFyY2hpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBzZWFyY2hSZXN1bHRzID0gc2lnbmFsPFB1YmxpY1VzZXJQcm9maWxlW10+KFtdKTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWRVc2VycyA9IHNpZ25hbDxQdWJsaWNVc2VyUHJvZmlsZVtdPihbXSk7XG4gIHJlYWRvbmx5IHNlbmRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBzZWxlY3RlZFJvbGUgPSBzaWduYWw8c3RyaW5nPigndmlld2VyJyk7XG4gIHJlYWRvbmx5IGF2YWlsYWJsZVJvbGVzID0gc2lnbmFsPE9yZ1JvbGVbXT4oW1xuICAgIHsgaWQ6ICd2aWV3ZXInLCBuYW1lOiAndmlld2VyJyB9LFxuICAgIHsgaWQ6ICdlZGl0b3InLCBuYW1lOiAnZWRpdG9yJyB9LFxuICAgIHsgaWQ6ICdhZG1pbicsIG5hbWU6ICdhZG1pbicgfSxcbiAgXSk7XG5cbiAgcmVhZG9ubHkgcm9sZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPigndmlld2VyJyk7XG5cbiAgcmVhZG9ubHkgcm9sZVNlbGVjdFByb3BzID0gY29tcHV0ZWQ8UGFydGlhbDxJbnB1dE1ldGFkYXRhPj4oKCkgPT4gKHtcbiAgICBjb250cm9sOiB0aGlzLnJvbGVDb250cm9sIGFzIEZvcm1Db250cm9sLFxuICAgIGxhYmVsOiAnJyxcbiAgICBwbGFjZWhvbGRlcjogdGhpcy50KCdyb2xlTGFiZWwnKSxcbiAgICB0eXBlOiBJbnB1dFR5cGUuU0VMRUNULFxuICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICBvcHRpb25zOiB0aGlzLmF2YWlsYWJsZVJvbGVzKCkubWFwKHIgPT4gKHtcbiAgICAgIGlkOiByLmlkLFxuICAgICAgbmFtZTogdGhpcy5yb2xlRGlzcGxheU5hbWUociksXG4gICAgICBvcmRlcjogMCxcbiAgICB9KSksXG4gIH0pKTtcblxuICByZWFkb25seSBpc0VtYWlsID0gY29tcHV0ZWQoKCkgPT4gL15bXlxcc0BdK0BbXlxcc0BdK1xcLlteXFxzQF0rJC8udGVzdCh0aGlzLnF1ZXJ5KCkudHJpbSgpKSk7XG5cbiAgcmVhZG9ubHkgc2VuZEJ1dHRvblByb3BzID0gY29tcHV0ZWQ8UGFydGlhbDxCdXR0b25NZXRhZGF0YT4+KCgpID0+ICh7XG4gICAgdGV4dDogdGhpcy50KCdzZW5kSW52aXRlJyksXG4gICAgdG9rZW46ICdpbnZpdGUtc3VibWl0LWVtYWlsJyxcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgZXhwYW5kOiAnYmxvY2snLFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICBzdGF0ZTogdGhpcy5zZW5kaW5nKCkgPyBDb21wb25lbnRTdGF0ZXMuV09SS0lORyA6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICB9KSk7XG5cbiAgcmVhZG9ubHkgc2VuZFNlbGVjdGVkUHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPj4oKCkgPT4gKHtcbiAgICB0ZXh0OiBgJHt0aGlzLnQoJ3NlbmRTZWxlY3RlZCcpfSAoJHt0aGlzLnNlbGVjdGVkVXNlcnMoKS5sZW5ndGh9KWAsXG4gICAgdG9rZW46ICdpbnZpdGUtc3VibWl0JyxcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgZXhwYW5kOiAnYmxvY2snLFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICBzdGF0ZTogdGhpcy5zZW5kaW5nKCkgPyBDb21wb25lbnRTdGF0ZXMuV09SS0lORyA6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICB9KSk7XG5cbiAgcHJpdmF0ZSBzZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwcml2YXRlIHJvbGVTdWI/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKERFRkFVTFRfTkFNRVNQQUNFKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudChERUZBVUxUX05BTUVTUEFDRSwgSU5WSVRFX01FTUJFUl9NT0RBTF9JMThOKTtcbiAgICB9XG4gICAgdGhpcy5sb2FkUm9sZXMoKTtcbiAgICB0aGlzLnJvbGVTdWIgPSB0aGlzLnJvbGVDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodiA9PiB7XG4gICAgICBpZiAodikgdGhpcy5zZWxlY3RlZFJvbGUuc2V0KHYpO1xuICAgIH0pO1xuXG4gICAgLy8gdmFsLXNlYXJjaGJhciBhbHJlYWR5IGRlYm91bmNlcyAtLSBwaXBlbGluZSBvbmx5IG5lZWRzIGRpc3RpbmN0VW50aWxDaGFuZ2VkICsgc3dpdGNoTWFwXG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0XG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc3dpdGNoTWFwKHEgPT4ge1xuICAgICAgICAgIGlmICghcSB8fCBxLmxlbmd0aCA8IDIgfHwgdGhpcy5pc0VtYWlsKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoaW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMuc2V0KFtdKTtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgY2xlYW5RID0gKHEuc3RhcnRzV2l0aCgnQCcpID8gcS5zbGljZSgxKSA6IHEpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgLy8gUHJlZmlqbzogZWwgc2VudGluZWwgYWx0byBgYCBjaWVycmEgZWwgcmFuZ28gKGFudGVzIGBjbGVhblEgKyAnJ2BcbiAgICAgICAgICAvLyBlcmEgZXhhY3QtbWF0Y2gg4oaSIHNvbG8gZW5jb250cmFiYSBlbCBoYW5kbGUgaWTDqW50aWNvKS4gTk9UQTogc29sbyBidXNjYVxuICAgICAgICAgIC8vIHBvciBgaGFuZGxlYDsgbGEgYsO6c3F1ZWRhIHBvciBub21icmUgcmVxdWllcmUgdW4gY2FtcG8gbm9ybWFsaXphZG8gZW5cbiAgICAgICAgICAvLyAvcHJvZmlsZXMgKHBlbmRpZW50ZSwgdmVyIFRPRE8gZGUgYsO6c3F1ZWRhIHBvciBub21icmUpLlxuICAgICAgICAgIGNvbnN0IHEkID0gZnNRdWVyeShcbiAgICAgICAgICAgIGNvbGxlY3Rpb24odGhpcy5maXJlc3RvcmUsICdwcm9maWxlcycpLFxuICAgICAgICAgICAgb3JkZXJCeSgnaGFuZGxlJyksXG4gICAgICAgICAgICBzdGFydEF0KGNsZWFuUSksXG4gICAgICAgICAgICBlbmRBdChjbGVhblEgKyAnXFx1ZjhmZicpLFxuICAgICAgICAgICAgbGltaXQoOClcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiBmcm9tKGdldERvY3MocSQpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHNuYXAgPT4gKHtcbiAgICAgICAgICAgICAgdXNlcnM6IHNuYXAuZG9jcy5tYXAoZCA9PiAoe1xuICAgICAgICAgICAgICAgIHVzZXJJZDogZC5pZCxcbiAgICAgICAgICAgICAgICBoYW5kbGU6IGQuZGF0YSgpWydoYW5kbGUnXSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgbmFtZTogZC5kYXRhKClbJ25hbWUnXSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICBpZiAocmVzICYmICd1c2VycycgaW4gcmVzKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VXNlcklkID0gdGhpcy5hdXRoLnVzZXIoKT8udXNlcklkO1xuICAgICAgICAgICAgY29uc3QgZXhjbHVkZWQgPSBuZXcgU2V0KFsuLi4oY3VycmVudFVzZXJJZCA/IFtjdXJyZW50VXNlcklkXSA6IFtdKSwgLi4udGhpcy5leGlzdGluZ01lbWJlcklkc10pO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzLnNldChyZXMudXNlcnMuZmlsdGVyKHUgPT4gIWV4Y2x1ZGVkLmhhcyh1LnVzZXJJZCkpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5zZWFyY2hpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMuc2V0KFtdKTtcbiAgICAgICAgICB0aGlzLnNlYXJjaGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICBvblF1ZXJ5Q2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5LnNldCh2YWx1ZSA/PyAnJyk7XG4gICAgaWYgKCF0aGlzLmlzRW1haWwoKSAmJiAodmFsdWUgPz8gJycpLmxlbmd0aCA+PSAyKSB7XG4gICAgICB0aGlzLnNlYXJjaGluZy5zZXQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoaW5nLnNldChmYWxzZSk7XG4gICAgICB0aGlzLnNlYXJjaFJlc3VsdHMuc2V0KFtdKTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0Lm5leHQodmFsdWUgPz8gJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkUm9sZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9yZ0lkKSByZXR1cm47XG4gICAgdGhpcy5vcmdTZXJ2aWNlLmxpc3RPcmdSb2xlcyh0aGlzLm9yZ0lkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogcm9sZXMgPT4ge1xuICAgICAgICBpZiAocm9sZXMubGVuZ3RoKSB0aGlzLmF2YWlsYWJsZVJvbGVzLnNldChyb2xlcyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcm9sZURpc3BsYXlOYW1lKHJvbGU6IE9yZ1JvbGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGtleU1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIHZpZXdlcjogJ3JvbGVWaWV3ZXInLFxuICAgICAgZWRpdG9yOiAncm9sZUVkaXRvcicsXG4gICAgICBhZG1pbjogJ3JvbGVBZG1pbicsXG4gICAgfTtcbiAgICBjb25zdCBrZXkgPSBrZXlNYXBbcm9sZS5uYW1lXSA/PyByb2xlLm5hbWU7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLnQoa2V5KTtcbiAgICByZXR1cm4gbGFiZWwgJiYgIWxhYmVsLnN0YXJ0c1dpdGgoJ1snKSA/IGxhYmVsIDogcm9sZS5uYW1lO1xuICB9XG5cbiAgYXN5bmMgb25JbnZpdGVCeUVtYWlsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGVtYWlsID0gdGhpcy5xdWVyeSgpLnRyaW0oKTtcbiAgICBpZiAoIWVtYWlsIHx8IHRoaXMuc2VuZGluZygpKSByZXR1cm47XG4gICAgdGhpcy5zZW5kaW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIHRoaXMub3JnU2VydmljZS5pbnZpdGVVc2VyKHRoaXMub3JnSWQsIHtcbiAgICAgICAgICBlbWFpbCxcbiAgICAgICAgICByb2xlSWQ6IHRoaXMuc2VsZWN0ZWRSb2xlKCksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy50b2FzdC5zaG93KHtcbiAgICAgICAgbWVzc2FnZTogdGhpcy50KCdzdWNjZXNzJyksXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIGR1cmF0aW9uOiAzNTAwLFxuICAgICAgfSk7XG4gICAgICB0aGlzLm9uU3VjY2Vzcz8uKCk7XG4gICAgICB0aGlzLmRpc21pc3MoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ2ludml0ZS5ieUVtYWlsJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzZW5kSW52aXRlJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5pMThuTmFtZXNwYWNlLFxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2VuZGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGlzU2VsZWN0ZWQodXNlcklkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFVzZXJzKCkuc29tZSh1ID0+IHUudXNlcklkID09PSB1c2VySWQpO1xuICB9XG5cbiAgdG9nZ2xlVXNlcih1c2VyOiBQdWJsaWNVc2VyUHJvZmlsZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQodXNlci51c2VySWQpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMudXBkYXRlKGxpc3QgPT4gbGlzdC5maWx0ZXIodSA9PiB1LnVzZXJJZCAhPT0gdXNlci51c2VySWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzLnVwZGF0ZShsaXN0ID0+IFsuLi5saXN0LCB1c2VyXSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb25TZW5kU2VsZWN0ZWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdXNlcnMgPSB0aGlzLnNlbGVjdGVkVXNlcnMoKTtcbiAgICBpZiAoIXVzZXJzLmxlbmd0aCB8fCB0aGlzLnNlbmRpbmcoKSkgcmV0dXJuO1xuICAgIHRoaXMuc2VuZGluZy5zZXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICB1c2Vycy5tYXAodSA9PlxuICAgICAgICAgIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5vcmdTZXJ2aWNlLmludml0ZVVzZXIodGhpcy5vcmdJZCwge1xuICAgICAgICAgICAgICB1c2VySWQ6IHUudXNlcklkLFxuICAgICAgICAgICAgICByb2xlSWQ6IHRoaXMuc2VsZWN0ZWRSb2xlKCksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICAgIG1lc3NhZ2U6IHVzZXJzLmxlbmd0aCA9PT0gMSA/IHRoaXMudCgnc3VjY2VzcycpIDogdGhpcy50KCdzdWNjZXNzUGx1cmFsJyksXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIGR1cmF0aW9uOiAzNTAwLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMuc2V0KFtdKTtcbiAgICAgIHRoaXMub25TdWNjZXNzPy4oKTtcbiAgICAgIHRoaXMuZGlzbWlzcygpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICBjb250ZXh0OiAnaW52aXRlLmJ5VXNlcklkJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzZW5kSW52aXRlJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5pMThuTmFtZXNwYWNlLFxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2VuZGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm9sZVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5fbW9kYWxSZWY/LmRpc21pc3MobnVsbCwgJ2NhbmNlbCcpO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgdGhpcy5pMThuTmFtZXNwYWNlKTtcbiAgfVxufVxuIl19
|
|
@@ -127,7 +127,7 @@ export class OrgInfoSheetComponent {
|
|
|
127
127
|
<val-button [props]="resolvedCloseProps()" (click)="dismiss()" />
|
|
128
128
|
</div>
|
|
129
129
|
</ion-content>
|
|
130
|
-
`, isInline: true, styles: ["ion-content{--padding-bottom:
|
|
130
|
+
`, isInline: true, styles: ["ion-content{--padding-bottom: 64px}val-display{margin-bottom:4px;display:block}val-title{margin-bottom:8px;display:block}.info-features{display:flex;flex-direction:column;gap:12px;margin:16px 0}.info-feature{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;border-radius:10px;background:var(--ion-color-light, #f4f5f8)}:host-context(body.dark) .info-feature,:host-context(html.ion-palette-dark) .info-feature,:host-context([data-theme=\"dark\"]) .info-feature{background:#ffffff0d}.info-feature__icon{font-size:22px;color:var(--ion-color-primary);flex-shrink:0;margin-top:2px}.info-feature__title{font-weight:600;font-size:.9rem;color:var(--ion-color-dark)}.info-feature__desc{font-size:.82rem;color:var(--ion-color-medium);margin-top:2px}.sheet-footer{margin-top:20px}\n"], dependencies: [{ kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { 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: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }] }); }
|
|
131
131
|
}
|
|
132
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OrgInfoSheetComponent, decorators: [{
|
|
133
133
|
type: Component,
|
|
@@ -198,7 +198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
198
198
|
<val-button [props]="resolvedCloseProps()" (click)="dismiss()" />
|
|
199
199
|
</div>
|
|
200
200
|
</ion-content>
|
|
201
|
-
`, styles: ["ion-content{--padding-bottom:
|
|
201
|
+
`, styles: ["ion-content{--padding-bottom: 64px}val-display{margin-bottom:4px;display:block}val-title{margin-bottom:8px;display:block}.info-features{display:flex;flex-direction:column;gap:12px;margin:16px 0}.info-feature{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;border-radius:10px;background:var(--ion-color-light, #f4f5f8)}:host-context(body.dark) .info-feature,:host-context(html.ion-palette-dark) .info-feature,:host-context([data-theme=\"dark\"]) .info-feature{background:#ffffff0d}.info-feature__icon{font-size:22px;color:var(--ion-color-primary);flex-shrink:0;margin-top:2px}.info-feature__title{font-weight:600;font-size:.9rem;color:var(--ion-color-dark)}.info-feature__desc{font-size:.82rem;color:var(--ion-color-medium);margin-top:2px}.sheet-footer{margin-top:20px}\n"] }]
|
|
202
202
|
}], ctorParameters: () => [], propDecorators: { title: [{
|
|
203
203
|
type: Input
|
|
204
204
|
}], subtitle: [{
|
|
@@ -214,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
214
214
|
}], _modalRef: [{
|
|
215
215
|
type: Input
|
|
216
216
|
}] } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWluZm8tc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9vcmctaW5mby1zaGVldC9vcmctaW5mby1zaGVldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU1RCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztBQUV6Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQStISCxNQUFNLE9BQU8scUJBQXFCO0lBZ0NoQztRQS9CUSxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DLGlGQUFpRjtRQUN4RSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3BC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RyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBVUcsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uQnV0dG9ucywgSW9uQ29udGVudCwgSW9uSGVhZGVyLCBJb25JY29uLCBJb25Ub29sYmFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IG1haWxPdXRsaW5lLCBwZW9wbGVPdXRsaW5lLCBzd2FwSG9yaXpvbnRhbE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuXG5pbXBvcnQgeyBPUkdfSU5GT19TSEVFVF9JMThOIH0gZnJvbSAnLi9vcmctaW5mby1zaGVldC5pMThuJztcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnT3JnSW5mb1NoZWV0JztcblxuLyoqXG4gKiBgdmFsLW9yZy1pbmZvLXNoZWV0YCDigJQgc2hlZXQgaW5mb3JtYXRpdm8gXCLCv1F1w6kgc29uIGxhcyBvcmdhbml6YWNpb25lcz9cIi5cbiAqIEV4dHJhw61kbyBkZWwgYE9yZ0luZm9TaGVldENvbXBvbmVudGAgaW5saW5lIGRlIGBBY2NvdW50UGFnZWAgYmFqbyBlbCBwcm9jZXNvIGRlXG4gKiBBRFItMDIxLlxuICpcbiAqIEVsIGNvbnN1bWVyIHBhc2EgYHRpdGxlYC9gc3VidGl0bGVgL2Bib2R5YC9gY2xvc2VMYWJlbGAgeWEgcmVzdWVsdG9zIHBvciBwcm9wc1xuICogKHBhdHLDs24gZGVsIHJlc3RvIGRlIG1vZGFsZXMgZGVsIGZhY3RvcnkpLiBMb3MgdGV4dG9zIGRlIGxvcyAzIGZlYXR1cmVzXG4gKiAoQ29sYWJvcmFjacOzbiAvIENhbWJpbyByw6FwaWRvIC8gSW52aXRhY2lvbmVzKSwgcXVlIGVuIGxhIHZlcnNpw7NuIGlubGluZSBlc3RhYmFuXG4gKiBoYXJkY29kZWQsIGFob3JhIHNlIGF1dG8tcmVzdWVsdmVuIGRlc2RlIGVsIG5hbWVzcGFjZSBgT3JnSW5mb1NoZWV0YFxuICogKGF1dG8tcmVnaXN0cmFkbyBlbiBlbCBjb25zdHJ1Y3RvcikuXG4gKlxuICogQWJpZXJ0byB2w61hIGBNb2RhbFNlcnZpY2VgIOKAlCByZWNpYmUgYF9tb2RhbFJlZmAgcG9yIGBjb21wb25lbnRQcm9wc2AuIEhlYWRlclxuICogY2Fuw7NuaWNvIChSZWdsYSAjNSk6IHNpbiBgaW9uLXRpdGxlYCwgYm90w7NuIENlcnJhciB0ZXh0byBlbiBgc2xvdD1lbmRgLFxuICogdMOtdHVsby9zdWJ0w610dWxvIGVuIGVsIGJvZHkgY29uIGB2YWwtZGlzcGxheWAvYHZhbC10aXRsZWAuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1vcmctaW5mby1zaGVldCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBJb25IZWFkZXIsXG4gICAgSW9uVG9vbGJhcixcbiAgICBJb25CdXR0b25zLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25Db250ZW50LFxuICAgIElvbkljb24sXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwiZGlzbWlzcygpXCI+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IHJlc29sdmVkQ2xvc2VMYWJlbCgpIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHJlc29sdmVkVGl0bGUoKSwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJyB9XCIgLz5cbiAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogcmVzb2x2ZWRTdWJ0aXRsZSgpLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJycsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuXG4gICAgICBAaWYgKHNob3dGZWF0dXJlcykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGVvcGxlLW91dGxpbmVcIiBjbGFzcz1cImluZm8tZmVhdHVyZV9faWNvblwiIC8+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX190aXRsZVwiPnt7IHR0KCdmZWF0dXJlQ29sbGFiVGl0bGUnKSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX19kZXNjXCI+e3sgdHQoJ2ZlYXR1cmVDb2xsYWJEZXNjJykgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic3dhcC1ob3Jpem9udGFsLW91dGxpbmVcIiBjbGFzcz1cImluZm8tZmVhdHVyZV9faWNvblwiIC8+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX190aXRsZVwiPnt7IHR0KCdmZWF0dXJlU3dpdGNoVGl0bGUnKSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX19kZXNjXCI+e3sgdHQoJ2ZlYXR1cmVTd2l0Y2hEZXNjJykgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibWFpbC1vdXRsaW5lXCIgY2xhc3M9XCJpbmZvLWZlYXR1cmVfX2ljb25cIiAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tZmVhdHVyZV9fdGl0bGVcIj57eyB0dCgnZmVhdHVyZUludml0ZVRpdGxlJykgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tZmVhdHVyZV9fZGVzY1wiPnt7IHR0KCdmZWF0dXJlSW52aXRlRGVzYycpIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBmb3IgKHBhcmEgb2YgcGFyYWdyYXBocygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgY29udGVudDogcGFyYSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cInNoZWV0LWZvb3RlclwiPlxuICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmVzb2x2ZWRDbG9zZVByb3BzKClcIiAoY2xpY2spPVwiZGlzbWlzcygpXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvaW9uLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIGlvbi1jb250ZW50IHtcbiAgICAgICAgLS1wYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgICAgIH1cbiAgICAgIHZhbC1kaXNwbGF5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIHZhbC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuaW5mby1mZWF0dXJlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgICB9XG4gICAgICAuaW5mby1mZWF0dXJlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQsICNmNGY1ZjgpO1xuICAgICAgfVxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC5pbmZvLWZlYXR1cmUsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmluZm8tZmVhdHVyZSxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLmluZm8tZmVhdHVyZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgICB9XG4gICAgICAuaW5mby1mZWF0dXJlX19pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgfVxuICAgICAgLmluZm8tZmVhdHVyZV9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5pbmZvLWZlYXR1cmVfX2Rlc2Mge1xuICAgICAgICBmb250LXNpemU6IDAuODJyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgfVxuICAgICAgLnNoZWV0LWZvb3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgT3JnSW5mb1NoZWV0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICAvKiogVMOtdHVsbyBwcmluY2lwYWwgKHJlc3VlbHRvIHBvciBlbCBjb25zdW1lcikuIEZhbGxiYWNrIGFsIG5hbWVzcGFjZSBwcm9waW8uICovXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIC8qKiBTdWJ0w610dWxvIChyZXN1ZWx0byBwb3IgZWwgY29uc3VtZXIpLiBGYWxsYmFjayBhbCBuYW1lc3BhY2UgcHJvcGlvLiAqL1xuICBASW5wdXQoKSBzdWJ0aXRsZSA9ICcnO1xuICAvKiogQ3VlcnBvIGVuIHDDoXJyYWZvcyBzZXBhcmFkb3MgcG9yIGRvYmxlIHNhbHRvIGRlIGzDrW5lYSAocmVzdWVsdG8gcG9yIGVsIGNvbnN1bWVyKS4gKi9cbiAgQElucHV0KCkgYm9keSA9ICcnO1xuICAvKiogTGFiZWwgZGVsIGJvdMOzbiBjZXJyYXIgKHJlc3VlbHRvIHBvciBlbCBjb25zdW1lcikuIEZhbGxiYWNrIGFsIG5hbWVzcGFjZSBwcm9waW8uICovXG4gIEBJbnB1dCgpIGNsb3NlTGFiZWwgPSAnJztcblxuICAvKipcbiAgICogTXVlc3RyYSBsYXMgMyBmZWF0dXJlLWNhcmRzIGRlIG9yZ2FuaXphY2lvbmVzIChjb2xhYm9yYWNpw7NuIC8gY2FtYmlvIHLDoXBpZG8gL1xuICAgKiBpbnZpdGFjaW9uZXMpLiBgZmFsc2VgIOKGkiBzaGVldCBhcnRpY2xlLXN0eWxlIChzb2xvIHTDrXR1bG8gKyBzdWJ0w610dWxvICsgY3VlcnBvKSxcbiAgICogcmV1c2FibGUgY29tbyBleHBsYWluZXIgZ2Vuw6lyaWNvIChlai4gaW50ZWdyYWNpb25lcyAvIEFQSSBrZXlzKS4gRGVmYXVsdCBgdHJ1ZWAuXG4gICAqL1xuICBASW5wdXQoKSBzaG93RmVhdHVyZXMgPSB0cnVlO1xuXG4gIC8qKiBQcm9wcyBkZWwgYm90w7NuIGNlcnJhciBkZWwgZm9vdGVyIChlbCBjb25zdW1lciBwdWVkZSBwYXNhciBjdXN0b20pLiAqL1xuICBASW5wdXQoKSBjbG9zZVByb3BzOiBQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPiA9IHtcbiAgICB0ZXh0OiAnQ2VycmFyJyxcbiAgICBmaWxsOiAnb3V0bGluZScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgZXhwYW5kOiAnYmxvY2snLFxuICAgIHR5cGU6ICdidXR0b24nLFxuICB9O1xuXG4gIC8qKiBJbnllY3RhZG8gcG9yIGBNb2RhbFNlcnZpY2Uub3BlbmAg4oCUIHJlZmVyZW5jaWEgcGFyYSBjZXJyYXIgZGVzZGUgZGVudHJvLiAqL1xuICBASW5wdXQoKSBfbW9kYWxSZWY/OiB7IGRpc21pc3M6IChkYXRhPzogdW5rbm93biwgcm9sZT86IHN0cmluZykgPT4gdm9pZCB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHsgcGVvcGxlT3V0bGluZSwgc3dhcEhvcml6b250YWxPdXRsaW5lLCBtYWlsT3V0bGluZSB9KTtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoREVGQVVMVF9OQU1FU1BBQ0UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KERFRkFVTFRfTkFNRVNQQUNFLCBPUkdfSU5GT19TSEVFVF9JMThOKTtcbiAgICB9XG4gIH1cblxuICByZWFkb25seSByZXNvbHZlZFRpdGxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50aXRsZSB8fCB0aGlzLnR0KCd0aXRsZScpKTtcbiAgcmVhZG9ubHkgcmVzb2x2ZWRTdWJ0aXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3VidGl0bGUgfHwgdGhpcy50dCgnc3VidGl0bGUnKSk7XG4gIHJlYWRvbmx5IHJlc29sdmVkQ2xvc2VMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY2xvc2VMYWJlbCB8fCB0aGlzLnR0KCdjbG9zZScpKTtcblxuICByZWFkb25seSBwYXJhZ3JhcGhzID0gY29tcHV0ZWQ8c3RyaW5nW10+KCgpID0+IHRoaXMuYm9keS5zcGxpdCgnXFxuXFxuJykuZmlsdGVyKEJvb2xlYW4pKTtcblxuICByZWFkb25seSByZXNvbHZlZENsb3NlUHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPj4oKCkgPT4gKHtcbiAgICAuLi50aGlzLmNsb3NlUHJvcHMsXG4gICAgdGV4dDogdGhpcy5jbG9zZVByb3BzLnRleHQgfHwgdGhpcy5yZXNvbHZlZENsb3NlTGFiZWwoKSxcbiAgfSkpO1xuXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5fbW9kYWxSZWY/LmRpc21pc3MobnVsbCwgJ2NhbmNlbCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHR0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCBERUZBVUxUX05BTUVTUEFDRSk7XG4gIH1cbn1cbiJdfQ==
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWluZm8tc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9vcmctaW5mby1zaGVldC9vcmctaW5mby1zaGVldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU1RCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztBQUV6Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQStISCxNQUFNLE9BQU8scUJBQXFCO0lBZ0NoQztRQS9CUSxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DLGlGQUFpRjtRQUN4RSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3BC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RyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBVUcsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uQnV0dG9ucywgSW9uQ29udGVudCwgSW9uSGVhZGVyLCBJb25JY29uLCBJb25Ub29sYmFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IG1haWxPdXRsaW5lLCBwZW9wbGVPdXRsaW5lLCBzd2FwSG9yaXpvbnRhbE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuXG5pbXBvcnQgeyBPUkdfSU5GT19TSEVFVF9JMThOIH0gZnJvbSAnLi9vcmctaW5mby1zaGVldC5pMThuJztcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnT3JnSW5mb1NoZWV0JztcblxuLyoqXG4gKiBgdmFsLW9yZy1pbmZvLXNoZWV0YCDigJQgc2hlZXQgaW5mb3JtYXRpdm8gXCLCv1F1w6kgc29uIGxhcyBvcmdhbml6YWNpb25lcz9cIi5cbiAqIEV4dHJhw61kbyBkZWwgYE9yZ0luZm9TaGVldENvbXBvbmVudGAgaW5saW5lIGRlIGBBY2NvdW50UGFnZWAgYmFqbyBlbCBwcm9jZXNvIGRlXG4gKiBBRFItMDIxLlxuICpcbiAqIEVsIGNvbnN1bWVyIHBhc2EgYHRpdGxlYC9gc3VidGl0bGVgL2Bib2R5YC9gY2xvc2VMYWJlbGAgeWEgcmVzdWVsdG9zIHBvciBwcm9wc1xuICogKHBhdHLDs24gZGVsIHJlc3RvIGRlIG1vZGFsZXMgZGVsIGZhY3RvcnkpLiBMb3MgdGV4dG9zIGRlIGxvcyAzIGZlYXR1cmVzXG4gKiAoQ29sYWJvcmFjacOzbiAvIENhbWJpbyByw6FwaWRvIC8gSW52aXRhY2lvbmVzKSwgcXVlIGVuIGxhIHZlcnNpw7NuIGlubGluZSBlc3RhYmFuXG4gKiBoYXJkY29kZWQsIGFob3JhIHNlIGF1dG8tcmVzdWVsdmVuIGRlc2RlIGVsIG5hbWVzcGFjZSBgT3JnSW5mb1NoZWV0YFxuICogKGF1dG8tcmVnaXN0cmFkbyBlbiBlbCBjb25zdHJ1Y3RvcikuXG4gKlxuICogQWJpZXJ0byB2w61hIGBNb2RhbFNlcnZpY2VgIOKAlCByZWNpYmUgYF9tb2RhbFJlZmAgcG9yIGBjb21wb25lbnRQcm9wc2AuIEhlYWRlclxuICogY2Fuw7NuaWNvIChSZWdsYSAjNSk6IHNpbiBgaW9uLXRpdGxlYCwgYm90w7NuIENlcnJhciB0ZXh0byBlbiBgc2xvdD1lbmRgLFxuICogdMOtdHVsby9zdWJ0w610dWxvIGVuIGVsIGJvZHkgY29uIGB2YWwtZGlzcGxheWAvYHZhbC10aXRsZWAuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1vcmctaW5mby1zaGVldCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBJb25IZWFkZXIsXG4gICAgSW9uVG9vbGJhcixcbiAgICBJb25CdXR0b25zLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25Db250ZW50LFxuICAgIElvbkljb24sXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwiZGlzbWlzcygpXCI+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IHJlc29sdmVkQ2xvc2VMYWJlbCgpIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHJlc29sdmVkVGl0bGUoKSwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJyB9XCIgLz5cbiAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogcmVzb2x2ZWRTdWJ0aXRsZSgpLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJycsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuXG4gICAgICBAaWYgKHNob3dGZWF0dXJlcykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGVvcGxlLW91dGxpbmVcIiBjbGFzcz1cImluZm8tZmVhdHVyZV9faWNvblwiIC8+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX190aXRsZVwiPnt7IHR0KCdmZWF0dXJlQ29sbGFiVGl0bGUnKSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX19kZXNjXCI+e3sgdHQoJ2ZlYXR1cmVDb2xsYWJEZXNjJykgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic3dhcC1ob3Jpem9udGFsLW91dGxpbmVcIiBjbGFzcz1cImluZm8tZmVhdHVyZV9faWNvblwiIC8+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX190aXRsZVwiPnt7IHR0KCdmZWF0dXJlU3dpdGNoVGl0bGUnKSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX19kZXNjXCI+e3sgdHQoJ2ZlYXR1cmVTd2l0Y2hEZXNjJykgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibWFpbC1vdXRsaW5lXCIgY2xhc3M9XCJpbmZvLWZlYXR1cmVfX2ljb25cIiAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tZmVhdHVyZV9fdGl0bGVcIj57eyB0dCgnZmVhdHVyZUludml0ZVRpdGxlJykgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tZmVhdHVyZV9fZGVzY1wiPnt7IHR0KCdmZWF0dXJlSW52aXRlRGVzYycpIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBmb3IgKHBhcmEgb2YgcGFyYWdyYXBocygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgY29udGVudDogcGFyYSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cInNoZWV0LWZvb3RlclwiPlxuICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmVzb2x2ZWRDbG9zZVByb3BzKClcIiAoY2xpY2spPVwiZGlzbWlzcygpXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvaW9uLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIGlvbi1jb250ZW50IHtcbiAgICAgICAgLS1wYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgIH1cbiAgICAgIHZhbC1kaXNwbGF5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIHZhbC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuaW5mby1mZWF0dXJlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgICB9XG4gICAgICAuaW5mby1mZWF0dXJlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQsICNmNGY1ZjgpO1xuICAgICAgfVxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC5pbmZvLWZlYXR1cmUsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmluZm8tZmVhdHVyZSxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLmluZm8tZmVhdHVyZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgICB9XG4gICAgICAuaW5mby1mZWF0dXJlX19pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgfVxuICAgICAgLmluZm8tZmVhdHVyZV9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5pbmZvLWZlYXR1cmVfX2Rlc2Mge1xuICAgICAgICBmb250LXNpemU6IDAuODJyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgfVxuICAgICAgLnNoZWV0LWZvb3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgT3JnSW5mb1NoZWV0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICAvKiogVMOtdHVsbyBwcmluY2lwYWwgKHJlc3VlbHRvIHBvciBlbCBjb25zdW1lcikuIEZhbGxiYWNrIGFsIG5hbWVzcGFjZSBwcm9waW8uICovXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIC8qKiBTdWJ0w610dWxvIChyZXN1ZWx0byBwb3IgZWwgY29uc3VtZXIpLiBGYWxsYmFjayBhbCBuYW1lc3BhY2UgcHJvcGlvLiAqL1xuICBASW5wdXQoKSBzdWJ0aXRsZSA9ICcnO1xuICAvKiogQ3VlcnBvIGVuIHDDoXJyYWZvcyBzZXBhcmFkb3MgcG9yIGRvYmxlIHNhbHRvIGRlIGzDrW5lYSAocmVzdWVsdG8gcG9yIGVsIGNvbnN1bWVyKS4gKi9cbiAgQElucHV0KCkgYm9keSA9ICcnO1xuICAvKiogTGFiZWwgZGVsIGJvdMOzbiBjZXJyYXIgKHJlc3VlbHRvIHBvciBlbCBjb25zdW1lcikuIEZhbGxiYWNrIGFsIG5hbWVzcGFjZSBwcm9waW8uICovXG4gIEBJbnB1dCgpIGNsb3NlTGFiZWwgPSAnJztcblxuICAvKipcbiAgICogTXVlc3RyYSBsYXMgMyBmZWF0dXJlLWNhcmRzIGRlIG9yZ2FuaXphY2lvbmVzIChjb2xhYm9yYWNpw7NuIC8gY2FtYmlvIHLDoXBpZG8gL1xuICAgKiBpbnZpdGFjaW9uZXMpLiBgZmFsc2VgIOKGkiBzaGVldCBhcnRpY2xlLXN0eWxlIChzb2xvIHTDrXR1bG8gKyBzdWJ0w610dWxvICsgY3VlcnBvKSxcbiAgICogcmV1c2FibGUgY29tbyBleHBsYWluZXIgZ2Vuw6lyaWNvIChlai4gaW50ZWdyYWNpb25lcyAvIEFQSSBrZXlzKS4gRGVmYXVsdCBgdHJ1ZWAuXG4gICAqL1xuICBASW5wdXQoKSBzaG93RmVhdHVyZXMgPSB0cnVlO1xuXG4gIC8qKiBQcm9wcyBkZWwgYm90w7NuIGNlcnJhciBkZWwgZm9vdGVyIChlbCBjb25zdW1lciBwdWVkZSBwYXNhciBjdXN0b20pLiAqL1xuICBASW5wdXQoKSBjbG9zZVByb3BzOiBQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPiA9IHtcbiAgICB0ZXh0OiAnQ2VycmFyJyxcbiAgICBmaWxsOiAnb3V0bGluZScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgZXhwYW5kOiAnYmxvY2snLFxuICAgIHR5cGU6ICdidXR0b24nLFxuICB9O1xuXG4gIC8qKiBJbnllY3RhZG8gcG9yIGBNb2RhbFNlcnZpY2Uub3BlbmAg4oCUIHJlZmVyZW5jaWEgcGFyYSBjZXJyYXIgZGVzZGUgZGVudHJvLiAqL1xuICBASW5wdXQoKSBfbW9kYWxSZWY/OiB7IGRpc21pc3M6IChkYXRhPzogdW5rbm93biwgcm9sZT86IHN0cmluZykgPT4gdm9pZCB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHsgcGVvcGxlT3V0bGluZSwgc3dhcEhvcml6b250YWxPdXRsaW5lLCBtYWlsT3V0bGluZSB9KTtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoREVGQVVMVF9OQU1FU1BBQ0UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KERFRkFVTFRfTkFNRVNQQUNFLCBPUkdfSU5GT19TSEVFVF9JMThOKTtcbiAgICB9XG4gIH1cblxuICByZWFkb25seSByZXNvbHZlZFRpdGxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50aXRsZSB8fCB0aGlzLnR0KCd0aXRsZScpKTtcbiAgcmVhZG9ubHkgcmVzb2x2ZWRTdWJ0aXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3VidGl0bGUgfHwgdGhpcy50dCgnc3VidGl0bGUnKSk7XG4gIHJlYWRvbmx5IHJlc29sdmVkQ2xvc2VMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY2xvc2VMYWJlbCB8fCB0aGlzLnR0KCdjbG9zZScpKTtcblxuICByZWFkb25seSBwYXJhZ3JhcGhzID0gY29tcHV0ZWQ8c3RyaW5nW10+KCgpID0+IHRoaXMuYm9keS5zcGxpdCgnXFxuXFxuJykuZmlsdGVyKEJvb2xlYW4pKTtcblxuICByZWFkb25seSByZXNvbHZlZENsb3NlUHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPj4oKCkgPT4gKHtcbiAgICAuLi50aGlzLmNsb3NlUHJvcHMsXG4gICAgdGV4dDogdGhpcy5jbG9zZVByb3BzLnRleHQgfHwgdGhpcy5yZXNvbHZlZENsb3NlTGFiZWwoKSxcbiAgfSkpO1xuXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5fbW9kYWxSZWY/LmRpc21pc3MobnVsbCwgJ2NhbmNlbCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHR0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCBERUZBVUxUX05BTUVTUEFDRSk7XG4gIH1cbn1cbiJdfQ==
|