general-library-union 3.2.75 → 3.2.77
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/src/app/layout/app.topbar.component.mjs +2 -2
- package/esm2022/src/app/seguridad/modelos/TareasModel.mjs +1 -1
- package/fesm2022/general-library-union.mjs +1 -1
- package/fesm2022/general-library-union.mjs.map +1 -1
- package/package.json +1 -1
- package/src/styles/primeng/sass/overrides/_theme_styles.scss +1 -1
- package/src/styles/primeng/sass/overrides/_theme_styles_dark.scss +1 -3
|
@@ -304,7 +304,7 @@ export class AppTopbarComponent {
|
|
|
304
304
|
const query = event.query;
|
|
305
305
|
for (let i = 0; i < this.tareas.length; i++) {
|
|
306
306
|
const country = this.tareas[i];
|
|
307
|
-
if (country.descripcion.toLowerCase().includes(query.toLowerCase()) || country.palabras?.toLowerCase()?.includes(query.toLowerCase())) {
|
|
307
|
+
if (country.descripcion.toLowerCase().includes(query.toLowerCase()) || country.palabras?.replace(/,/g, "")?.toLowerCase()?.includes(query.toLowerCase())) {
|
|
308
308
|
filtered.push(country);
|
|
309
309
|
}
|
|
310
310
|
}
|
|
@@ -342,4 +342,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
342
342
|
type: ViewChild,
|
|
343
343
|
args: ['searchInput', { static: false }]
|
|
344
344
|
}] } });
|
|
345
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnRvcGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2xheW91dC9hcHAudG9wYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbGF5b3V0L2FwcC50b3BiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsTUFBTSxFQUFnQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJdEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBTWpFLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3hELE1BQU0sT0FBTyxrQkFBa0I7SUFnQ3BCO0lBQ0E7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUFDRDtJQUNtQjtJQTNDNUIsV0FBVztJQUVYLGtCQUFrQixHQUFtQixJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMscUNBQXFDO0lBQ3ZGLE1BQU0sQ0FBUyxDQUFDLCtDQUErQztJQUMvRCxXQUFXLEdBQVksS0FBSyxDQUFDLENBQUMsZ0ZBQWdGO0lBQzlHLGtCQUFrQixDQUFjLENBQUMsNkRBQTZEO0lBQzlGLGVBQWUsQ0FBZ0IsQ0FBQyx3RUFBd0U7SUFDeEcscUJBQXFCLENBQWM7SUFDbkMsZUFBZSxHQUFZLEtBQUssQ0FBQztJQUNqQyxnQkFBZ0IsR0FB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UmVmLCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVnYU1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFyZWFzTW9kZWwgfSBmcm9tICcuLi9zZWd1cmlkYWQvbW9kZWxvcy9UYXJlYXNNb2RlbCc7XG5pbXBvcnQgeyBNb2R1bG9zTW9kZWwgfSBmcm9tICcuLi9zZWd1cmlkYWQvbW9kZWxvcy9Nb2R1bG9zTW9kZWwnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljaW9zL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBNZW51U2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljaW9zL21lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljaW9zL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBDYXJnYXJDb250cm9sRnVuY2lvbmFsaWRhZFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2lvcy9jYXJnYXItY29udHJvbC1mdW5jaW9uYWxpZGFkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlLCBBdXRvQ29tcGxldGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBHZW5lcmFsUGlwZSB9IGZyb20gJy4uL3dlYmNvbW1vbi9waXBlcy9nZW5lcmFsLnBpcGUnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3R5bGVDbGFzc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc3R5bGVjbGFzcyc7XG5pbXBvcnQgeyBJbnB1dFN3aXRjaE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRzd2l0Y2gnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtdG9wYmFyJyxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBdXRvQ29tcGxldGVNb2R1bGUsIEZvcm1zTW9kdWxlLCBTdHlsZUNsYXNzTW9kdWxlLCBJbnB1dFN3aXRjaE1vZHVsZV0gLCBcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAudG9wYmFyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBcHBUb3BiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8vVmFyaWFibGVzXG5cbiAgbW9kdWxvc0Rpc3BvbmlibGVzOiBNb2R1bG9zTW9kZWxbXSA9IG5ldyBBcnJheSgpOyAvLyB1bmEgbWF0cml6IGRlIG9iamV0b3MgTW9kdWxvc01vZGVsXG4gIG1vZHVsbzogc3RyaW5nOyAvLyB1bmEgY2FkZW5hIHF1ZSBpbmRpY2EgZWwgbcOzZHVsbyBzZWxlY2Npb25hZG9cbiAgc2VhcmNoQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTsgLy8gdW4gdmFsb3IgYm9vbGVhbm8gcXVlIGluZGljYSBzaSBzZSBoYSBoZWNobyBjbGljIGVuIGVsIGJvdMOzbiBkZSBiw7pzcXVlZGEgbyBub1xuICB0YXJlYVNlbGVjY2lvbmFkYXM6IFRhcmVhc01vZGVsOyAvLyB1biBvYmpldG8gVGFyZWFzTW9kZWwgcXVlIHJlcHJlc2VudGEgbGEgdGFyZWEgc2VsZWNjaW9uYWRhXG4gIHRhcmVhc0ZpbHRyYWRhczogVGFyZWFzTW9kZWxbXTsgLy8gdW5hIG1hdHJpeiBkZSBvYmpldG9zIFRhcmVhc01vZGVsIHF1ZSByZXByZXNlbnRhIGxhcyB0YXJlYXMgZmlsdHJhZGFzXG4gIGRvY3VtZW50Q2xpY2tMaXN0ZW5lciE6ICgpID0+IHZvaWQ7XG4gIHRvcGJhckl0ZW1DbGljazogYm9vbGVhbiA9IGZhbHNlO1xuICBhY3RpdmVUb3BiYXJJdGVtOiBzdHJpbmcgPSAnJztcbiAgbWVudUNsaWNrOiBib29sZWFuID0gZmFsc2U7XG4gIG1vYmlsZU1lbnVBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VhcmNoOiBib29sZWFuID0gZmFsc2U7XG4gIGludGVydmFsSWQ6IG51bWJlcjtcbiAgdGFyZWFzOiBUYXJlYXNNb2RlbFtdXG4gIGVtcHJlc2E6IHN0cmluZztcbiAgcm9sOiBzdHJpbmc7XG4gIGNvbmV4aW9uOiBzdHJpbmc7XG4gIGxvZ29Db21wcmltaWRvO1xuICBjb2RpZ29cbiAgQFZpZXdDaGlsZCgnbWVudUJ1dHRvbicpIG1lbnVCdXR0b24hOiBFbGVtZW50UmVmOyAvLyB1bmEgcmVmZXJlbmNpYSBhbCBib3TDs24gZGVsIG1lbsO6XG4gIEBWaWV3Q2hpbGQoJ21vYmlsZU1lbnVCdXR0b24nKSBtb2JpbGVNZW51QnV0dG9uITogRWxlbWVudFJlZjsgLy8gdW5hIHJlZmVyZW5jaWEgYWwgYm90w7NuIGRlbCBtZW7DuiBtw7N2aWxcbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBzZWFyY2hJbnB1dCE6IEVsZW1lbnRSZWY7IC8vIHVuYSByZWZlcmVuY2lhIGFsIGNhbXBvIGRlIGLDunNxdWVkYVxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSAgIGF1dG9jb21wbGV0ZSE6IEF1dG9Db21wbGV0ZTtcbiAgc3dpdGNoOiBib29sZWFuO1xuICBjb2xvcmVzOiBzdHJpbmdbXSA9IFtcIiNmM2Q5ZGNcIiwgXCIjYWVkOWUwXCIsIFwiI2M3ZTdiMFwiLCBcIiNmZGYyYWJcIiwgXCIjZTZkMWUxXCIsIFwiI2Y5ZGJiZFwiLCBcIiNlNGUzZTdcIiwgXCIjZjlkNWQzXCJdO1xuICBjb2xvcjogc3RyaW5nIDtcbiAgaW5pY2lhbGVzOiBzdHJpbmc7XG4gIHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxuICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHN0b3JhZ2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udHJvbEZ1bmNpb25hbGlkYWQ6IENhcmdhckNvbnRyb2xGdW5jaW9uYWxpZGFkU2VydmljZSxcbiAgICBwdWJsaWMgZ2VuZXJhbFBpcGUgOiBHZW5lcmFsUGlwZSxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBwdWJsaWMgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICkge1xuICAgIHRoaXMuY29kaWdvID0gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbktleSgnYXBsaWNhY2lvbicpXG4gICAgbGV0IHJlc3VsdGFkb0NvbXByaW1pZG8gPSB0aGlzLmdlbmVyYWxQaXBlLk1BUEFMT0dPLmZpbHRlcihpdGVtID0+IGl0ZW0uY29kaWdvID09IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5LZXkoJ2FwbGljYWNpb24nKSApO1xuICAgIHRoaXMubG9nb0NvbXByaW1pZG8gPSByZXN1bHRhZG9Db21wcmltaWRvWzBdPy5ub21icmUgIT0gbnVsbCA/IHJlc3VsdGFkb0NvbXByaW1pZG9bMF0/Lm5vbWJyZSA6IHRoaXMuZ2VuZXJhbFBpcGUuTE9HT19TQVJBO1xuXG4gIH1cblxuICBjYWxjdWxhckluaWNpYWxlcygpIHtcbiAgICBsZXQgY29sb3JVc3VhcmlvID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdjb2xvclVzdWFyaW8nKVxuICAgIGlmIChjb2xvclVzdWFyaW8pIHtcbiAgICAgIHRoaXMuY29sb3IgPSBjb2xvclVzdWFyaW87XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGluZGljZTogbnVtYmVyID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogdGhpcy5jb2xvcmVzLmxlbmd0aCk7XG4gICAgICB0aGlzLmNvbG9yID0gdGhpcy5jb2xvcmVzW2luZGljZV07XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ2NvbG9yVXN1YXJpbycsIHRoaXMuY29sb3IpO1xuICAgIH1cbiAgICB2YXIgbm9tYnJlVXN1YXJpbyA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5LZXkoJ25vbWJyZVVzdWFyaW8nKTtcbiAgICB2YXIgY2FudGlkYWRQYWxhYnJhczogbnVtYmVyID0gdGhpcy5jb250YXJQYWxhYnJhcyhub21icmVVc3VhcmlvKTtcbiAgICBpZiAoY2FudGlkYWRQYWxhYnJhcyA9PSAwIHx8IGNhbnRpZGFkUGFsYWJyYXMgPT0gdW5kZWZpbmVkIHx8IGNhbnRpZGFkUGFsYWJyYXMgPT0gbnVsbCkge1xuICAgICAgdGhpcy5pbmljaWFsZXMgPSAnVVMnXG4gICAgfSBlbHNlIGlmIChjYW50aWRhZFBhbGFicmFzID09IDEpIHtcbiAgICAgIHRoaXMuaW5pY2lhbGVzID0gdGhpcy5vYnRlbmVySW5pY2lhbChub21icmVVc3VhcmlvKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbmljaWFsZXMgPSB0aGlzLm9idGVuZXJJbmljaWFsKHRoaXMub2J0ZW5lclBhbGFicmEobm9tYnJlVXN1YXJpbywgY2FudGlkYWRQYWxhYnJhcy0xKSkgKyBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnRlbmVySW5pY2lhbCh0aGlzLm9idGVuZXJQYWxhYnJhKG5vbWJyZVVzdWFyaW8sIGNhbnRpZGFkUGFsYWJyYXMpKSBcbiAgICB9XG4gIH1cblxuICBvYnRlbmVyUGFsYWJyYShmcmFzZTogc3RyaW5nLCBudW1lcm9QYWxhYnJhOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhbGFicmFzID0gZnJhc2Uuc3BsaXQoL1xccysvKTtcbiAgICBpZiAobnVtZXJvUGFsYWJyYSA8IDEgfHwgbnVtZXJvUGFsYWJyYSA+IHBhbGFicmFzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgaW5kaWNlUGFsYWJyYSA9IG51bWVyb1BhbGFicmEgLSAxO1xuICAgIHJldHVybiBwYWxhYnJhc1tpbmRpY2VQYWxhYnJhXTtcbiAgfVxuXG4gIG9idGVuZXJJbmljaWFsKHBhbGFicmE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHBhbGFicmEubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgaW5pY2lhbCA9IHBhbGFicmEuY2hhckF0KDApLnRvVXBwZXJDYXNlKCk7XG4gICAgcmV0dXJuIGluaWNpYWw7XG4gIH1cblxuICBjb250YXJQYWxhYnJhcyh0ZXh0bzogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAodGV4dG8gPT0gbnVsbCB8fCB0ZXh0byA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICB0ZXh0byA9IHRleHRvLnRyaW0oKTtcbiAgICBjb25zdCBwYWxhYnJhcyA9IHRleHRvLnNwbGl0KC9cXHMrLyk7XG4gICAgcmV0dXJuIHBhbGFicmFzLmxlbmd0aDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignYm9keScsICdjbGljaycsICgpID0+IHtcbiAgICAgIGlmICghdGhpcy50b3BiYXJJdGVtQ2xpY2spIHtcbiAgICAgICAgdGhpcy5hY3RpdmVUb3BiYXJJdGVtID0gJyc7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5tZW51Q2xpY2spIHtcbiAgICAgICAgaWYgKHRoaXMubW9iaWxlTWVudUFjdGl2ZSkge1xuICAgICAgICAgIHRoaXMubW9iaWxlTWVudUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5zZWFyY2hDbGljaykge1xuICAgICAgICB0aGlzLnNlYXJjaCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlYXJjaENsaWNrID0gZmFsc2U7XG4gICAgICB0aGlzLnRvcGJhckl0ZW1DbGljayA9IGZhbHNlO1xuICAgICAgdGhpcy5tZW51Q2xpY2sgPSBmYWxzZTtcbiAgICAgIHRoaXMubW9kdWxvID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycpXG4gICAgfSk7XG5cbiAgICB0aGlzLm1lbnVTZXJ2aWNlLmxvYWRUYXJlYXMoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMubWVudVNlcnZpY2Uuc2V0VGFyZWFzRGVsTW9kdWxvKHRoaXMubW9kdWxvKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gQ2FkYSA1IG1pbnV0b3MgdmVyaWZpY2EgcXVlIGVsIHRva2VuIG5vIGhheWEgZXhwaXJhZG9cbiAgICB0aGlzLmludGVydmFsSWQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmF1dGhTZXJ2aWNlLmlzVG9rZW5WYWxpZCgpKSB7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZGVsZXRlVG9rZW4oKTtcbiAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ocmVmLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ2FkbW9uUG9ydGFsJykpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL2FkbW9uUG9ydGFsL3RpbWVvdXQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL3RpbWVvdXQnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIDMwMF8wMDApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgbGV0IHRlbWEgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3RlbWEnKTtcbiAgICB0aGlzLnN3aXRjaCA9IHRlbWEgPT0gJ3RlbWFPc2N1cm8nID8gdHJ1ZSA6IGZhbHNlO1xuICAgIGlmICh0ZW1hKSB7XG4gICAgICB0aGlzLmNhbWJpYXJUZW1hKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3dpdGNoID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuY2FsY3VsYXJJbmljaWFsZXMoKTtcbiAgICB0aGlzLmVtcHJlc2EgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdudW1lcm9FbXByZXNhJykgKyAnIC0gJyArIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5LZXkoJ25vbWJyZUVtcHJlc2EnKVxuICAgIHRoaXMucm9sID0gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbktleSgnbm9tYnJlUm9sJylcbiAgICB0aGlzLmNvbmV4aW9uID0gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbktleSgnbm9tYnJlQ29uZXhpb24nKVxuICAgIHRoaXMubW9kdWxvc0Rpc3BvbmlibGVzID0gSlNPTi5wYXJzZSh0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnbW9kdWxvcycpKTtcbiAgICB0aGlzLnRhcmVhcyA9IHRoaXMuc3RvcmFnZS5nZXRJdGVtKCdfX3RhcmVhcycpICE9IG51bGwgPyBKU09OLnBhcnNlKHRoaXMuc3RvcmFnZS5nZXRJdGVtKCdfX3RhcmVhcycpKSA6ICcnO1xuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuZGF0YS5zdWJzY3JpYmUoKHYpID0+IHtcbiAgICAgIC8vdGhpcy5tb2R1bG9zRGlzcG9uaWJsZXMgPSB2Wydtb2R1bG9zRGlzcG9uaWJsZXMnXTtcbiAgICAgIHRoaXMubW9kdWxvID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycpXG4gICAgICBsZXQgbW9kdWxvU2VsZWNjaW9uYWRvOiBNb2R1bG9zTW9kZWwgPSBuZXcgTW9kdWxvc01vZGVsKHRoaXMubW9kdWxvLCAnJyk7XG4gICAgICB0aGlzLmNhbWJpb01vZHVsbyhtb2R1bG9TZWxlY2Npb25hZG8sIGZhbHNlKVxuICAgIH0pO1xuICB9XG5cbiAgYWN0aXZlSXRlbSE6IG51bWJlcjsgLy8gdW4gbsO6bWVybyBxdWUgcmVwcmVzZW50YSBlbCBlbGVtZW50byBhY3Rpdm9cblxuICAvL0R1bW1pIGRlIGJhcnJhIGRlIGVsZW1lbnRvcyBwb3Igc2kgc2UgbmVjZXNpdGEuXG4gIG1vZGVsOiBNZWdhTWVudUl0ZW1bXSA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogJ1VJIEtJVCcsXG4gICAgICBpdGVtczogW1xuICAgICAgICBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdVSSBLSVQgMScsXG4gICAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgICB7IGxhYmVsOiAnRm9ybSBMYXlvdXQnLCBpY29uOiAncGkgcGktZncgcGktaWQtY2FyZCcsIHJvdXRlckxpbms6IFsnL3Vpa2l0L2Zvcm1sYXlvdXQnXSB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnSW5wdXQnLCBpY29uOiAncGkgcGktZncgcGktY2hlY2stc3F1YXJlJywgcm91dGVyTGluazogWycvdWlraXQvaW5wdXQnXSB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnRmxvYXQgTGFiZWwnLCBpY29uOiAncGkgcGktZncgcGktYm9va21hcmsnLCByb3V0ZXJMaW5rOiBbJy91aWtpdC9mbG9hdGxhYmVsJ10gfSxcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ0J1dHRvbicsIGljb246ICdwaSBwaS1mdyBwaS1tb2JpbGUnLCByb3V0ZXJMaW5rOiBbJy91aWtpdC9idXR0b24nXSB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnRmlsZScsIGljb246ICdwaSBwaS1mdyBwaS1maWxlJywgcm91dGVyTGluazogWycvdWlraXQvZmlsZSddIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ1VJIEtJVCAyJyxcbiAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdUYWJsZScsIGljb246ICdwaSBwaS1mdyBwaS10YWJsZScsIHJvdXRlckxpbms6IFsnL3Vpa2l0L3RhYmxlJ10gfSxcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ0xpc3QnLCBpY29uOiAncGkgcGktZncgcGktbGlzdCcsIHJvdXRlckxpbms6IFsnL3Vpa2l0L2xpc3QnXSB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnVHJlZScsIGljb246ICdwaSBwaS1mdyBwaS1zaGFyZS1hbHQnLCByb3V0ZXJMaW5rOiBbJy91aWtpdC90cmVlJ10gfSxcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ1BhbmVsJywgaWNvbjogJ3BpIHBpLWZ3IHBpLXRhYmxldCcsIHJvdXRlckxpbms6IFsnL3Vpa2l0L3BhbmVsJ10gfSxcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ0NoYXJ0JywgaWNvbjogJ3BpIHBpLWZ3IHBpLWNoYXJ0LWJhcicsIHJvdXRlckxpbms6IFsnL3Vpa2l0L2NoYXJ0cyddIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ1VJIEtJVCAzJyxcbiAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdPdmVybGF5JywgaWNvbjogJ3BpIHBpLWZ3IHBpLWNsb25lJywgcm91dGVyTGluazogWycvdWlraXQvb3ZlcmxheSddIH0sXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdNZWRpYScsIGljb246ICdwaSBwaS1mdyBwaS1pbWFnZScsIHJvdXRlckxpbms6IFsnL3Vpa2l0L21lZGlhJ10gfSxcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ01lbnUnLCBpY29uOiAncGkgcGktZncgcGktYmFycycsIHJvdXRlckxpbms6IFsnL3Vpa2l0L21lbnUnXSB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnTWVzc2FnZScsIGljb246ICdwaSBwaS1mdyBwaS1jb21tZW50Jywgcm91dGVyTGluazogWycvdWlraXQvbWVzc2FnZSddIH0sXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdNaXNjJywgaWNvbjogJ3BpIHBpLWZ3IHBpLWNpcmNsZS1vZmYnLCByb3V0ZXJMaW5rOiBbJy91aWtpdC9taXNjJ10gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ1VUSUxJVElFUycsXG4gICAgICBpdGVtczogW1xuICAgICAgICBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdVVElMSVRJRVMgMScsXG4gICAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgICB7IGxhYmVsOiAnSWNvbnMnLCBpY29uOiAncGkgcGktZncgcGktcHJpbWUnLCByb3V0ZXJMaW5rOiBbJ3V0aWxpdGllcy9pY29ucyddIH0sXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdQcmltZUZsZXgnLCBpY29uOiAncGkgcGktZncgcGktZGVza3RvcCcsIHVybDogJ2h0dHBzOi8vd3d3LnByaW1lZmFjZXMub3JnL3ByaW1lZmxleC8nLCB0YXJnZXQ6ICdfYmxhbmsnIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICBdLFxuICAgIH0sXG4gIF07XG5cbiAgLy8gdW4gZ2V0dGVyIHF1ZSBkZXZ1ZWx2ZSBlbCBlc3RhZG8gYWN0aXZvIGRlbCBtZW7DuiBzdXBlcmlvciBtw7N2aWxcbiAgZ2V0IG1vYmlsZVRvcGJhckFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnRvcGJhck1lbnVBY3RpdmU7XG4gIH1cblxuICBvbk1lbnVCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmxheW91dFNlcnZpY2Uub25NZW51VG9nZ2xlKCk7XG4gIH1cblxuICBvblJpZ2h0TWVudUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMubGF5b3V0U2VydmljZS5vcGVuUmlnaHRTaWRlYmFyKCk7XG4gIH1cblxuICBvbk1vYmlsZVRvcGJhck1lbnVCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmxheW91dFNlcnZpY2Uub25Ub3BiYXJNZW51VG9nZ2xlKCk7XG4gIH1cblxuICAvLyB1biBtw6l0b2RvIHF1ZSBzZSBlamVjdXRhIHBhcmEgZW5mb2NhciBlbCBjYW1wbyBkZSBiw7pzcXVlZGFcbiAgZm9jdXNTZWFyY2hJbnB1dCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmF1dG9jb21wbGV0ZSkge1xuICAgICAvLyAgIHRoaXMuYXV0b2NvbXBsZXRlLmZvY3VzSW5wdXQoKTtcbiAgICAgIH1cbiAgICAgIC8vdGhpcy5zZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICAvLyB1biBtw6l0b2RvIHF1ZSBzZSBlamVjdXRhIGN1YW5kbyBzZSBzZWxlY2Npb25hIHVuYSB0YXJlYVxuICB0YXJlYVNlbGVjY2lvbigpIHtcbiAgICBpZiAodGhpcy50YXJlYVNlbGVjY2lvbmFkYXMgIT0gbnVsbCkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAgdGhpcy50YXJlYVNlbGVjY2lvbmFkYXMudXJscHJpbmNpcGFsLnJlcGxhY2UoLy5qc2YvLCAnJyldKTtcbiAgICB9XG4gIH1cblxuICBzYWxpcigpIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmRlbGV0ZVRva2VuKCk7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKCdyb2xlcycpXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKCdhdXRlbnRpY2FjaW9uVXN1YXJpb0RUTycpXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKCdyb2xfc2VsZWNjaW9uYWRvJylcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ3Rva2VuJylcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ19fdGFyZWFzJylcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ21vZHVsb3MnKVxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJylcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ21vZHVsb0Zhdm9yaXRvJylcbiAgICB0aGlzLmNvbnRyb2xGdW5jaW9uYWxpZGFkLmVsaW1pbmFyRnVuY2lvbmFsaWRhZGVzKCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJy9sb2dpbicpO1xuICB9XG5cbiAgY2FtYmlvTW9kdWxvKG1vZHVsbzogTW9kdWxvc01vZGVsLCBuYXZlZ2FyOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycsIG1vZHVsby5sbGF2ZSlcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLnNldFRhcmVhc0RlbE1vZHVsbyhtb2R1bG8ubGxhdmUpO1xuICAgIGlmIChuYXZlZ2FyKSB7XG4gICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYudG9TdHJpbmcoKS5pbmNsdWRlcygnYWRtb25Qb3J0YWwnKSkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL2FkbW9uUG9ydGFsL2luaWNpbycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJy9pbmljaW8nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyB1biBtw6l0b2RvIHF1ZSBzZSBlamVjdXRhIHBhcmEgZmlsdHJhciBsYXMgdGFyZWFzXG4gIGZpbHRlclRhcmVhKGV2ZW50KSB7XG4gICAgY29uc3QgZmlsdGVyZWQ6IFRhcmVhc01vZGVsW10gPSBbXTtcbiAgICBjb25zdCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YXJlYXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLnRhcmVhc1tpXTtcbiAgICAgIGlmIChjb3VudHJ5LmRlc2NyaXBjaW9uLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkudG9Mb3dlckNhc2UoKSkgfHwgY291bnRyeS5wYWxhYnJhcz8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMocXVlcnkudG9Mb3dlckNhc2UoKSkpIHtcbiAgICAgICAgZmlsdGVyZWQucHVzaChjb3VudHJ5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy50YXJlYXNGaWx0cmFkYXMgPSBmaWx0ZXJlZDtcbiAgfVxuXG4gIGNhbWJpb1N3aXRjaChjYW1iaW8pe1xuICAgIHRoaXMuc3dpdGNoID0gY2FtYmlvLmNoZWNrZWQ7XG4gICAgdGhpcy5jYW1iaWFyVGVtYSgpXG4gIH1cblxuICBjYW1iaWFyVGVtYSgpe1xuICAgIGxldCB0ZW1hID0gdGhpcy5zd2l0Y2ggPyAndGVtYU9zY3VybycgOiAndGVtYUNsYXJvJztcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJ18nICsndGVtYScsIHRlbWEpO1xuICAgIGxldCBsaW5rVGVtYSA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbWFBcHAnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XG4gICAgbGlua1RlbWEuaHJlZiA9IGAke3RlbWF9LmNzc2BcbiAgfVxufVxuXG4iLCJcblxuPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXJcIj5cbiAgPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXItc3RhcnRcIj5cbiAgICA8YSBjbGFzcz1cImxheW91dC10b3BiYXItbG9nb1wiIHJvdXRlckxpbms9XCIvXCI+XG4gICAgICA8aW1nIHN0eWxlPVwid2lkdGg6IDE2N3B4OyBoZWlnaHQ6IDY0cHg7XCIgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWxvZ28tZnVsbFwiXG4gICAgICBzcmM9XCJ7eyBjb2RpZ28gIT0gJzEnPyBsb2dvQ29tcHJpbWlkbyA6ICdhc3NldHMvaW1hZ2VzL2xvZ28tc2FyYS5wbmcnfX1cIj5cblxuXG4gICAgICA8c3ZnIHdpZHRoPVwiNDFcIiBoZWlnaHQ9XCI0NlwiIHZpZXdCb3g9XCIwIDAgNDEgMzJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICBjbGFzcz1cImxheW91dC10b3BiYXItbG9nby1zbGltXCI+XG4gICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBkPVwiTTQwLjcyMDkgOC41NzAxN0M0MC42NjEyIDguNDI3MjkgNDAuNTIxNyA4LjMzNDg0IDQwLjM2NyA4LjMzNDg0SDM4LjI1OTNMMzkuNDA3IDYuOTUwMzdDMzkuNTAyIDYuODM2NTMgMzkuNTIxMSA2LjY3ODM3IDM5LjQ1ODMgNi41NDQ2NkMzOS4zOTU1IDYuNDEwOTUgMzkuMjYwNiA2LjMyNTM3IDM5LjExMiA2LjMyNTM3SDE1Ljk4MjZMOS40MjM2MSAwLjEwNTE4QzkuMjk2NDMgLTAuMDE0Nzc2NiA5LjEwMzM2IC0wLjAzNDY0MjEgOC45NTYyNSAwLjA1ODU3MjlMNS4yNzY0MyAyLjM2MjIxTDUuMjczMzYgMi4zNjUyNkw1LjI2OTUzIDIuMzY2NzlMMC45MjMxNSA1LjIxOTc4QzAuOTEyNDI0IDUuMjI2NjYgMC45MDcwNjEgNS4yMzczNSAwLjg5NzEwMSA1LjI0NTc2QzAuODc1NjQ5IDUuMjYyNTcgMC44NTcyNjEgNS4yODA5MSAwLjg0MDQwNiA1LjMwMTU0QzAuODI1MDgzIDUuMzE5ODcgMC44MTI4MjUgNS4zMzgyMSAwLjgwMTMzMiA1LjM1ODg0QzAuNzg5MDc0IDUuMzgxIDAuNzgwNjQ2IDUuNDAzMTYgMC43NzI5ODUgNS40MjY4NEMwLjc2NTMyMyA1LjQ1MTI5IDAuNzYwNzI2IDUuNDc1NzQgMC43NTc2NjIgNS41MDE3MkMwLjc1Njg5NSA1LjUxNDcxIDAuNzUgNS41MjU0IDAuNzUgNS41MzkxNkMwLjc1IDUuNTUxMzggMC43NTUzNjMgNS41NjA1NSAwLjc1Njg5NSA1LjU3Mjc4QzAuNzU5MTk0IDUuNTk3OTkgMC43NjQ1NTcgNS42MjE2OCAwLjc3MjIxOCA1LjY0Njg5QzAuNzc5ODggNS42NzIxIDAuNzg4MzA4IDUuNjk1NzkgMC44MDEzMzIgNS43MTk0OEMwLjgwNjY5NSA1LjcyOTQxIDAuODA3NDYxIDUuNzQwMTEgMC44MTM1OTEgNS43NTAwNEMwLjgxODk1NCA1Ljc1ODQ0IDAuODI4OTE0IDUuNzYxNSAwLjgzNTA0MyA1Ljc2OTE0QzAuODYxODU4IDUuODAzNTIgMC44OTMyNyA1LjgzMTc5IDAuOTMwMDQ2IDUuODU0NzFDMC45NDM4MzYgNS44NjMxMiAwLjk1NDU2MyA1Ljg3MzgyIDAuOTY4MzUzIDUuODgwNjlDMS4wMTg5MiA1LjkwNTE0IDEuMDc0MDggNS45MjExOSAxLjEzMzg0IDUuOTIxMTlINi4zNjc0M0w3LjU0ODgzIDguODYwNTJMNy41NTAzNiA4Ljg2MjgxVjguODY1MUwxNS4yMzY0IDI3LjIyOTJMMTAuNjk5MyAzMS4zMzUzQzEwLjU4MiAzMS40NDE1IDEwLjU0MjIgMzEuNjA4IDEwLjU5OTcgMzEuNzU1NUMxMC42NTY0IDMxLjkwMyAxMC43OTg5IDMyIDEwLjk1NjcgMzJIMTcuNDg4OUMxNy41Mzk1IDMyIDE3LjU4OTMgMzEuOTg5MyAxNy42MzYgMzEuOTcwMkMxNy42ODI3IDMxLjk1MTEgMTcuNzI0OSAzMS45MjI4IDE3Ljc2MDEgMzEuODg3N0wyMS4xOTQgMjguNDUwMkMyMS4xOTg2IDI4LjQ1NTUgMjEuMjAwMSAyOC40NjI0IDIxLjIwNTUgMjguNDY3OEwyNC40NTcgMzEuODgwOEMyNC41Mjk4IDMxLjk1OCAyNC42MjU2IDMxLjk3OTQgMjQuNzM2NyAzMkMzMC42Mzk5IDMxLjk2NzEgMzkuNTk2MiAzMS45MzczIDQwLjAxNzYgMzEuOTgwOUM0MC4wNTc0IDMxLjk5MzkgNDAuMDk4IDMyIDQwLjEzODYgMzJDNDAuMjY5NyAzMiA0MC4zOTc2IDMxLjkzMzUgNDAuNDY4OSAzMS44MTgyQzQwLjY5MDMgMzEuNDU5IDQwLjY4ODcgMzEuNDU1MiAyOS4zNzY1IDIwLjI2MDNMNDAuNjM3NCA4Ljk4ODg4QzQwLjc0NzcgOC44NzczMyA0MC43Nzk5IDguNzEzMDUgNDAuNzIwOSA4LjU3MDE3Wk0zOC4yOTgzIDcuMDg4NjdMMzcuMjY2MyA4LjMzNDg0SDE4LjEwMThMMTYuNzg3OSA3LjA4ODY3SDM4LjI5ODNaTTkuMTExNzggMC44NjIzNjFMMTYuOTkwOSA4LjMzNDg0SDguMTYzMjlMNS45NTQ0NyAyLjgzODk4TDkuMTExNzggMC44NjIzNjFaTTIuNDExNzggNS4xNTYzNkw1LjI5ODY0IDMuMjYxNUw2LjA2MDIgNS4xNTYzNkgyLjQxMTc4Wk0yMS43NjAyIDI3Ljk0MDZDMjEuNzUwMiAyNy45Mjk5IDIxLjczNjQgMjcuOTI1MyAyMS43MjU3IDI3LjkxNjlMMjQuNDcwMSAyNS4xNzAxVjMwLjc4NDRMMjEuNzYwMiAyNy45NDA2Wk0zOS4yNTQ1IDMxLjIxM0MzNy44MDggMzEuMTkxNiAzNC4yMTQgMzEuMTgyNSAyNS4yMzYyIDMxLjIzMjFWMjQuNjUxM0MyNS4yMzYyIDI0LjU4MSAyNS4yMTE3IDI0LjUxODMgMjUuMTc4OCAyNC40NjFMMjguODM2NCAyMC43OTk3QzMyLjQ0MzQgMjQuMzcwMSAzNy41NDk4IDI5LjQ1MTkgMzkuMjU0NSAzMS4yMTNaTTE3LjYyMjIgMzAuOTQyNUw4LjQ3ODk0IDkuMDk4OUgzNy4zNTA2QzM3LjM3ODIgOS4xMDUwMSAzNy40MDU4IDkuMTEzNDIgMzcuNDMzNCA5LjExMzQyQzM3LjQ1NTYgOS4xMTM0MiAzNy40NzYzIDkuMTAyNzIgMzcuNDk4NSA5LjA5ODlIMzkuNDQ0NUwxNy42MjIyIDMwLjk0MjVaXCJcbiAgICAgICAgICBmaWxsPVwidmFyKC0tdG9wYmFyLWl0ZW0tdGV4dC1jb2xvcilcIiAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9hPlxuICAgIDxhICNtZW51QnV0dG9uIGNsYXNzPVwibGF5b3V0LW1lbnUtYnV0dG9uXCIgKGNsaWNrKT1cIm9uTWVudUJ1dHRvbkNsaWNrKClcIiBwUmlwcGxlPlxuICAgICAgPGkgY2xhc3M9XCJwaSBwaS1jaGV2cm9uLXJpZ2h0XCI+PC9pPlxuICAgIDwvYT5cblxuICAgIDxhICNtb2JpbGVNZW51QnV0dG9uIGNsYXNzPVwibGF5b3V0LXRvcGJhci1tb2JpbGUtYnV0dG9uXCIgKGNsaWNrKT1cIm9uTW9iaWxlVG9wYmFyTWVudUJ1dHRvbkNsaWNrKClcIiBwUmlwcGxlPlxuICAgICAgPGkgY2xhc3M9XCJwaSBwaS1lbGxpcHNpcy12XCI+PC9pPlxuICAgIDwvYT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXItZW5kXCI+XG4gICAgPCEtLSBTZSBjb21lbnRhbiBsYXMgb3BjaW9uZXMgZGUgS0lUIHkgVXRpbGl0aWVzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWFjdGlvbnMtc3RhcnRcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxNXB4O1wiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJlbXByZXNhXCI+RW1wcmVzYToge3tlbXByZXNhfX0gICAgIDwvbGFiZWw+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInJvbFwiPjxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW1cIj5Sb2w6PC9zcGFuPiB7e3JvbH19ICAgICA8L2xhYmVsPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb25leGlvblwiPjxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW1cIj5Db25leGlvbjo8L3NwYW4+IHt7Y29uZXhpb259fSAgICAgPC9sYWJlbD5cbiAgICAgIDwhLS0gPHAtbWVnYU1lbnUgW21vZGVsXT1cIm1vZGVsXCIgc3R5bGVDbGFzcz1cImxheW91dC1tZWdhbWVudVwiPjwvcC1tZWdhTWVudT4gLS0+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXItYWN0aW9ucy1lbmRcIj5cbiAgICAgIDx1bCBjbGFzcz1cImxheW91dC10b3BiYXItaXRlbXNcIj5cbiAgICAgICAgPCEtLUNBTUJJQVIgVEVNQS0tPlxuICAgICAgICA8bGkgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBlbGVjY2lvbi1tb2RvXCI+XG4gICAgICAgICAgPCEtLSA8aSBjbGFzcz1cInBpIHBpLXN1biBtci0xXCI+PC9pPiAtLT5cbiAgICAgICAgICA8cC1pbnB1dFN3aXRjaCAgWyhuZ01vZGVsKV09XCJzd2l0Y2hcIiAob25DaGFuZ2UpPVwiY2FtYmlvU3dpdGNoKCRldmVudClcIj48L3AtaW5wdXRTd2l0Y2g+XG4gICAgICAgICAgPCEtLSA8aSBjbGFzcz1cInBpIHBpLW1vb24gbWwtMVwiPjwvaT4gLS0+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzcz1cImxheW91dC10b3BiYXItc2VhcmNoXCI+XG4gICAgICAgICAgPGEgcFN0eWxlQ2xhc3M9XCJAbmV4dFwiIGVudGVyRnJvbUNsYXNzPVwibmctaGlkZGVuXCIgZW50ZXJBY3RpdmVDbGFzcz1cInB4LXNjYWxlaW5cIiBsZWF2ZVRvQ2xhc3M9XCJuZy1oaWRkZW5cIlxuICAgICAgICAgICAgbGVhdmVBY3RpdmVDbGFzcz1cInB4LWZhZGVvdXRcIiBbaGlkZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIiBwUmlwcGxlIChjbGljayk9XCJmb2N1c1NlYXJjaElucHV0KClcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8IS0tQlVTQ0FET1ItLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXNlYXJjaC1wYW5lbCBuZy1oaWRkZW4gcC1pbnB1dC1maWxsZWRcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPlxuICAgICAgICAgICAgPCEtLSA8aW5wdXQgI3NlYXJjaElucHV0IHR5cGU9XCJ0ZXh0XCIgcElucHV0VGV4dCBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiPiAtLT5cbiAgICAgICAgICAgIDxwLWF1dG9Db21wbGV0ZSAjc2VhcmNoSW5wdXQgcGxhY2Vob2xkZXI9XCJCdXNjYXIgdW5hIHRhcmVhLi4uXCIgKGNsaWNrKT1cInNlYXJjaENsaWNrID0gdHJ1ZVwiXG4gICAgICAgICAgICAgIFtkcm9wZG93bl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwidGFyZWFTZWxlY2Npb25hZGFzXCIgW3N1Z2dlc3Rpb25zXT1cInRhcmVhc0ZpbHRyYWRhc1wiXG4gICAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJmaWx0ZXJUYXJlYSgkZXZlbnQpXCIgKG9uU2VsZWN0KT1cInRhcmVhU2VsZWNjaW9uKClcIiBmaWVsZD1cImRlc2NyaXBjaW9uXCJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnd2lkdGgnOiAnNzAlJywgJ2hlaWdodCc6ICc0MHB4JywgJ21hcmdpbi1sZWZ0JzogJzExJScgfVwiIHN0eWxlQ2xhc3M9XCJ3LWZ1bGwgaC1mdWxsXCIgaWNvbj1cInBpIHBpLXNlYXJjaFwiPlxuICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cblxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXNlYXJjaC1wYW5lbCBuZy1oaWRkZW4gcC1pbnB1dC1maWxsZWRcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1zZWFyY2hcIj48L2k+XG4gICAgICAgICAgICAgIDwhLS0gPGlucHV0ICNzZWFyY2hJbnB1dCB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIj4gLS0+XG4gICAgICAgICAgICAgIDxwLWF1dG9Db21wbGV0ZSAjc2VhcmNoSW5wdXQgcGxhY2Vob2xkZXI9XCJCdXNjYXIgdW5hIHRhcmVhLi4uXCIgKGNsaWNrKT1cInNlYXJjaENsaWNrID0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJ0YXJlYVNlbGVjY2lvbmFkYXNcIiBbc3VnZ2VzdGlvbnNdPVwidGFyZWFzRmlsdHJhZGFzXCJcbiAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwiZmlsdGVyVGFyZWEoJGV2ZW50KVwiIChvblNlbGVjdCk9XCJ0YXJlYVNlbGVjY2lvbigpXCIgZmllbGQ9XCJkZXNjcmlwY2lvblwiXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnd2lkdGgnOiAnNzAlJywgJ2hlaWdodCc6ICc0MHB4JywgJ2FsaWduLWl0ZW1zJzogJ2NlbnRlcicgfVwiIHN0eWxlQ2xhc3M9XCJ3LWZ1bGwgaC1mdWxsXCI+XG4gICAgICAgICAgICAgIDwvcC1hdXRvQ29tcGxldGU+XG4gICAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktdGltZXNcIiAoY2xpY2spPVwiZm9jdXNTZWFyY2hJbnB1dCgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tdGV4dCBwLWJ1dHRvbi1wbGFpblwiIHBTdHlsZUNsYXNzPVwiLmxheW91dC1zZWFyY2gtcGFuZWxcIlxuICAgICAgICAgICAgICAgIGxlYXZlVG9DbGFzcz1cIm5nLWhpZGRlblwiIGxlYXZlQWN0aXZlQ2xhc3M9XCJweC1mYWRlb3V0XCI+PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgICAgICA8IS0tIDxsaT5cbiAgICAgICAgICAgICAgICAgIE5PVElGSUNBQ0lPTkVTXG4gICAgICAgICAgICAgICAgICAgIDxhIHBTdHlsZUNsYXNzPVwiQG5leHRcIiBlbnRlckZyb21DbGFzcz1cIm5nLWhpZGRlblwiIGVudGVyQWN0aXZlQ2xhc3M9XCJweC1zY2FsZWluXCIgbGVhdmVUb0NsYXNzPVwibmctaGlkZGVuXCIgbGVhdmVBY3RpdmVDbGFzcz1cInB4LWZhZGVvdXRcIiBbaGlkZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIiBwUmlwcGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1iZWxsXCIgcEJhZGdlIHNldmVyaXR5PVwid2FybmluZ1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LW5vbmUgcC0wIG0tMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInB4LTMgcHktMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Zb3UgaGF2ZSA8Yj40PC9iPiBuZXcgbm90aWZpY2F0aW9uczwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInAtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2RlbW8vaW1hZ2VzL2F2YXRhci9hdmF0YXItMS5wbmdcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbWwtMyBmbGV4LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPkplcm9tZSBCZWxsPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGw+NDIgbWlucyBhZ288L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBsaW5lLWhlaWdodC0zXCI+SG93IHRvIHdyaXRlIGNvbnRlbnQgYWJvdXQgeW91ciBwaG90b2dyYXBocz88L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9kZW1vL2ltYWdlcy9hdmF0YXIvYXZhdGFyLTIucG5nXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbWwtMyBmbGV4LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLXNtYWxsIGZvbnQtYm9sZFwiPkNhbWVyb24gV2lsbGlhbXNvbjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsPjQ4IG1pbnMgYWdvPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gbGluZS1oZWlnaHQtM1wiPlN0YXJ0IGEgYmxvZyB0byByZWFjaCB5b3VyIGNyZWF0aXZlIHBlYWsuPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvZGVtby9pbWFnZXMvYXZhdGFyL2F2YXRhci0zLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIG1sLTMgZmxleC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy1zbWFsbCBmb250LWJvbGRcIj5Bbm5hIE1pbGVzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGw+MSBkYXkgYWdvPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gbGluZS1oZWlnaHQtM1wiPkNhcmluZyBpcyB0aGUgbmV3IG1hcmtldGluZzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInAtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2RlbW8vaW1hZ2VzL2F2YXRhci9hdmF0YXItNC5wbmdcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtbC0zIGZsZXgtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtc21hbGwgZm9udC1ib2xkXCI+QXJsZW5lIE1jY295PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGw+NCBkYXkgYWdvPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gbGluZS1oZWlnaHQtM1wiPlN0YXJ0aW5nIHlvdXIgdHJhdmVsaW5nIGJsb2cgd2l0aCBWYXNjby48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbGk+IC0tPlxuICAgICAgICA8bGk+XG4gICAgICAgICAgPCEtLSBNT0RVTE9TIC0tPlxuICAgICAgICAgIDxhIHBTdHlsZUNsYXNzPVwiQG5leHRcIiBlbnRlckZyb21DbGFzcz1cIm5nLWhpZGRlblwiIGVudGVyQWN0aXZlQ2xhc3M9XCJweC1zY2FsZWluXCIgbGVhdmVUb0NsYXNzPVwibmctaGlkZGVuXCJcbiAgICAgICAgICAgIGxlYXZlQWN0aXZlQ2xhc3M9XCJweC1mYWRlb3V0XCIgW2hpZGVPbk91dHNpZGVDbGlja109XCJ0cnVlXCIgcFJpcHBsZT5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktdGFibGVcIj48L2k+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZy1oaWRkZW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBwLTIgbW9kdWxvc1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy00IGZsZXgtY29sdW1uXCIgKm5nRm9yPVwibGV0IG1vZHVsbyBvZiBtb2R1bG9zRGlzcG9uaWJsZXNcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImZsZXggdGV4dC1jb2xvclwiIGhyZWY9XCJ7e3V0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgKHVybC50b1N0cmluZygpLmluY2x1ZGVzKCdhZG1vblBvcnRhbCcpID8gJy9hZG1vblBvcnRhbC9pbmljaW8nIDogJy9pbmljaW8nKX19XCIgcFJpcHBsZSAoY2xpY2spPVwiY2FtYmlvTW9kdWxvKG1vZHVsbywgdHJ1ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgbWItMlwiIHN0eWxlPVwid2lkdGg6NDBweDsgaGVpZ2h0OiA0MHB4OyBtaW4td2lkdGg6NDBweDsgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcIlxuICAgICAgICAgICAgICAgICAgICBwUmlwcGxlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHN0eWxlPVwiaGVpZ2h0OiAzLjVyZW07IHdpZHRoOjMuNXJlbTttYXJnaW4tbGVmdDogLTEwcHg7XCIgIFtzcmNdPVwiJ2Fzc2V0cy9tb2R1bG9zLycgKyAobW9kdWxvLmljb25vLnJlcGxhY2UoJy5wbmcnLCAnLndlYnAnKSlcIiAvPlxuXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxMHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW4tbGVmdDogMTBweFwiPnt7IG1vZHVsby5kZXNjcmlwY2lvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8YSBwU3R5bGVDbGFzcz1cIkBuZXh0XCIgZW50ZXJGcm9tQ2xhc3M9XCJuZy1oaWRkZW5cIiBlbnRlckFjdGl2ZUNsYXNzPVwicHgtc2NhbGVpblwiIGxlYXZlVG9DbGFzcz1cIm5nLWhpZGRlblwiXG4gICAgICAgICAgICBsZWF2ZUFjdGl2ZUNsYXNzPVwicHgtZmFkZW91dFwiIFtoaWRlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiIHBSaXBwbGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5pY2lhbGVzLXVzdWFyaW9cIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJjb2xvclwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LXNlbWlib2xkXCI+e3tpbmljaWFsZXN9fTwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZy1oaWRkZW5cIj5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3Qtbm9uZSBwLTAgbS0wXCI+XG4gICAgICAgICAgICAgIDwhLS0gRnVuY2lvbmVzIEFwYWdhZGFzIGRlIHBlcmZpbCAtLT5cbiAgICAgICAgICAgICAgPCEtLSA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcHktMiBob3ZlcjpzdXJmYWNlLWhvdmVyIHRyYW5zaXRpb24tZHVyYXRpb24tMTUwIHRyYW5zaXRpb24tYWxsIHB4LTMgcHktMlwiIHBSaXBwbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWNvZyBtci0yXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+U2V0dGluZ3M8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBweS0yIGhvdmVyOnN1cmZhY2UtaG92ZXIgdHJhbnNpdGlvbi1kdXJhdGlvbi0xNTAgdHJhbnNpdGlvbi1hbGwgcHgtMyBweS0yXCIgcFJpcHBsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZmlsZS1vIG1yLTJcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5UZXJtcyBvZiBVc2FnZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImN1cnNvci1wb2ludGVyIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIHB5LTIgaG92ZXI6c3VyZmFjZS1ob3ZlciB0cmFuc2l0aW9uLWR1cmF0aW9uLTE1MCB0cmFuc2l0aW9uLWFsbCBweC0zIHB5LTJcIiBwUmlwcGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1jb21wYXNzIG1yLTJcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TdXBwb3J0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4gLS0+XG4gICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImN1cnNvci1wb2ludGVyIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIHB5LTIgaG92ZXI6c3VyZmFjZS1ob3ZlciB0cmFuc2l0aW9uLWR1cmF0aW9uLTE1MCB0cmFuc2l0aW9uLWFsbCBweC0zIHB5LTJcIlxuICAgICAgICAgICAgICAgICAgcFJpcHBsZSAoY2xpY2spPVwic2FsaXIoKVwiPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1wb3dlci1vZmYgbXItMlwiPjwvaT5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPkNlcnJhciBzZXNpw7NuPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
345
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnRvcGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2xheW91dC9hcHAudG9wYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbGF5b3V0L2FwcC50b3BiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsTUFBTSxFQUFnQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJdEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBTWpFLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3hELE1BQU0sT0FBTyxrQkFBa0I7SUFnQ3BCO0lBQ0E7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUFDRDtJQUNtQjtJQTNDNUIsV0FBVztJQUVYLGtCQUFrQixHQUFtQixJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMscUNBQXFDO0lBQ3ZGLE1BQU0sQ0FBUyxDQUFDLCtDQUErQztJQUMvRCxXQUFXLEdBQVksS0FBSyxDQUFDLENBQUMsZ0ZBQWdGO0lBQzlHLGtCQUFrQixDQUFjLENBQUMsNkRBQTZEO0lBQzlGLGVBQWUsQ0FBZ0IsQ0FBQyx3RUFBd0U7SUFDeEcscUJBQXFCLENBQWM7SUFDbkMsZUFBZSxHQUFZLEtBQUssQ0FBQztJQUNqQyxnQkFBZ0IsR0FB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eyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZWdhTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL2FwcC5sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQgeyBUYXJlYXNNb2RlbCB9IGZyb20gJy4uL3NlZ3VyaWRhZC9tb2RlbG9zL1RhcmVhc01vZGVsJztcbmltcG9ydCB7IE1vZHVsb3NNb2RlbCB9IGZyb20gJy4uL3NlZ3VyaWRhZC9tb2RlbG9zL01vZHVsb3NNb2RlbCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3Mvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IENhcmdhckNvbnRyb2xGdW5jaW9uYWxpZGFkU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljaW9zL2Nhcmdhci1jb250cm9sLWZ1bmNpb25hbGlkYWQuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGUsIEF1dG9Db21wbGV0ZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IEdlbmVyYWxQaXBlIH0gZnJvbSAnLi4vd2ViY29tbW9uL3BpcGVzL2dlbmVyYWwucGlwZSc7XG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2lvcy91dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdHlsZUNsYXNzTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zdHlsZWNsYXNzJztcbmltcG9ydCB7IElucHV0U3dpdGNoTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHN3aXRjaCc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC10b3BiYXInLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEF1dG9Db21wbGV0ZU1vZHVsZSwgRm9ybXNNb2R1bGUsIFN0eWxlQ2xhc3NNb2R1bGUsIElucHV0U3dpdGNoTW9kdWxlXSAsIFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FwcC50b3BiYXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFwcFRvcGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLy9WYXJpYWJsZXNcblxuICBtb2R1bG9zRGlzcG9uaWJsZXM6IE1vZHVsb3NNb2RlbFtdID0gbmV3IEFycmF5KCk7IC8vIHVuYSBtYXRyaXogZGUgb2JqZXRvcyBNb2R1bG9zTW9kZWxcbiAgbW9kdWxvOiBzdHJpbmc7IC8vIHVuYSBjYWRlbmEgcXVlIGluZGljYSBlbCBtw7NkdWxvIHNlbGVjY2lvbmFkb1xuICBzZWFyY2hDbGljazogYm9vbGVhbiA9IGZhbHNlOyAvLyB1biB2YWxvciBib29sZWFubyBxdWUgaW5kaWNhIHNpIHNlIGhhIGhlY2hvIGNsaWMgZW4gZWwgYm90w7NuIGRlIGLDunNxdWVkYSBvIG5vXG4gIHRhcmVhU2VsZWNjaW9uYWRhczogVGFyZWFzTW9kZWw7IC8vIHVuIG9iamV0byBUYXJlYXNNb2RlbCBxdWUgcmVwcmVzZW50YSBsYSB0YXJlYSBzZWxlY2Npb25hZGFcbiAgdGFyZWFzRmlsdHJhZGFzOiBUYXJlYXNNb2RlbFtdOyAvLyB1bmEgbWF0cml6IGRlIG9iamV0b3MgVGFyZWFzTW9kZWwgcXVlIHJlcHJlc2VudGEgbGFzIHRhcmVhcyBmaWx0cmFkYXNcbiAgZG9jdW1lbnRDbGlja0xpc3RlbmVyITogKCkgPT4gdm9pZDtcbiAgdG9wYmFySXRlbUNsaWNrOiBib29sZWFuID0gZmFsc2U7XG4gIGFjdGl2ZVRvcGJhckl0ZW06IHN0cmluZyA9ICcnO1xuICBtZW51Q2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbW9iaWxlTWVudUFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaW50ZXJ2YWxJZDogbnVtYmVyO1xuICB0YXJlYXM6IFRhcmVhc01vZGVsW11cbiAgZW1wcmVzYTogc3RyaW5nO1xuICByb2w6IHN0cmluZztcbiAgY29uZXhpb246IHN0cmluZztcbiAgbG9nb0NvbXByaW1pZG87XG4gIGNvZGlnb1xuICBAVmlld0NoaWxkKCdtZW51QnV0dG9uJykgbWVudUJ1dHRvbiE6IEVsZW1lbnRSZWY7IC8vIHVuYSByZWZlcmVuY2lhIGFsIGJvdMOzbiBkZWwgbWVuw7pcbiAgQFZpZXdDaGlsZCgnbW9iaWxlTWVudUJ1dHRvbicpIG1vYmlsZU1lbnVCdXR0b24hOiBFbGVtZW50UmVmOyAvLyB1bmEgcmVmZXJlbmNpYSBhbCBib3TDs24gZGVsIG1lbsO6IG3Ds3ZpbFxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcpIHNlYXJjaElucHV0ITogRWxlbWVudFJlZjsgLy8gdW5hIHJlZmVyZW5jaWEgYWwgY2FtcG8gZGUgYsO6c3F1ZWRhXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pICAgYXV0b2NvbXBsZXRlITogQXV0b0NvbXBsZXRlO1xuICBzd2l0Y2g6IGJvb2xlYW47XG4gIGNvbG9yZXM6IHN0cmluZ1tdID0gW1wiI2YzZDlkY1wiLCBcIiNhZWQ5ZTBcIiwgXCIjYzdlN2IwXCIsIFwiI2ZkZjJhYlwiLCBcIiNlNmQxZTFcIiwgXCIjZjlkYmJkXCIsIFwiI2U0ZTNlN1wiLCBcIiNmOWQ1ZDNcIl07XG4gIGNvbG9yOiBzdHJpbmcgO1xuICBpbmljaWFsZXM6IHN0cmluZztcbiAgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250cm9sRnVuY2lvbmFsaWRhZDogQ2FyZ2FyQ29udHJvbEZ1bmNpb25hbGlkYWRTZXJ2aWNlLFxuICAgIHB1YmxpYyBnZW5lcmFsUGlwZSA6IEdlbmVyYWxQaXBlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgKSB7XG4gICAgdGhpcy5jb2RpZ28gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdhcGxpY2FjaW9uJylcbiAgICBsZXQgcmVzdWx0YWRvQ29tcHJpbWlkbyA9IHRoaXMuZ2VuZXJhbFBpcGUuTUFQQUxPR08uZmlsdGVyKGl0ZW0gPT4gaXRlbS5jb2RpZ28gPT0gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbktleSgnYXBsaWNhY2lvbicpICk7XG4gICAgdGhpcy5sb2dvQ29tcHJpbWlkbyA9IHJlc3VsdGFkb0NvbXByaW1pZG9bMF0/Lm5vbWJyZSAhPSBudWxsID8gcmVzdWx0YWRvQ29tcHJpbWlkb1swXT8ubm9tYnJlIDogdGhpcy5nZW5lcmFsUGlwZS5MT0dPX1NBUkE7XG5cbiAgfVxuXG4gIGNhbGN1bGFySW5pY2lhbGVzKCkge1xuICAgIGxldCBjb2xvclVzdWFyaW8gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2NvbG9yVXN1YXJpbycpXG4gICAgaWYgKGNvbG9yVXN1YXJpbykge1xuICAgICAgdGhpcy5jb2xvciA9IGNvbG9yVXN1YXJpbztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5kaWNlOiBudW1iZXIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiB0aGlzLmNvbG9yZXMubGVuZ3RoKTtcbiAgICAgIHRoaXMuY29sb3IgPSB0aGlzLmNvbG9yZXNbaW5kaWNlXTtcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnY29sb3JVc3VhcmlvJywgdGhpcy5jb2xvcik7XG4gICAgfVxuICAgIHZhciBub21icmVVc3VhcmlvID0gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbktleSgnbm9tYnJlVXN1YXJpbycpO1xuICAgIHZhciBjYW50aWRhZFBhbGFicmFzOiBudW1iZXIgPSB0aGlzLmNvbnRhclBhbGFicmFzKG5vbWJyZVVzdWFyaW8pO1xuICAgIGlmIChjYW50aWRhZFBhbGFicmFzID09IDAgfHwgY2FudGlkYWRQYWxhYnJhcyA9PSB1bmRlZmluZWQgfHwgY2FudGlkYWRQYWxhYnJhcyA9PSBudWxsKSB7XG4gICAgICB0aGlzLmluaWNpYWxlcyA9ICdVUydcbiAgICB9IGVsc2UgaWYgKGNhbnRpZGFkUGFsYWJyYXMgPT0gMSkge1xuICAgICAgdGhpcy5pbmljaWFsZXMgPSB0aGlzLm9idGVuZXJJbmljaWFsKG5vbWJyZVVzdWFyaW8pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaWNpYWxlcyA9IHRoaXMub2J0ZW5lckluaWNpYWwodGhpcy5vYnRlbmVyUGFsYWJyYShub21icmVVc3VhcmlvLCBjYW50aWRhZFBhbGFicmFzLTEpKSArIFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9idGVuZXJJbmljaWFsKHRoaXMub2J0ZW5lclBhbGFicmEobm9tYnJlVXN1YXJpbywgY2FudGlkYWRQYWxhYnJhcykpIFxuICAgIH1cbiAgfVxuXG4gIG9idGVuZXJQYWxhYnJhKGZyYXNlOiBzdHJpbmcsIG51bWVyb1BhbGFicmE6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgcGFsYWJyYXMgPSBmcmFzZS5zcGxpdCgvXFxzKy8pO1xuICAgIGlmIChudW1lcm9QYWxhYnJhIDwgMSB8fCBudW1lcm9QYWxhYnJhID4gcGFsYWJyYXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBpbmRpY2VQYWxhYnJhID0gbnVtZXJvUGFsYWJyYSAtIDE7XG4gICAgcmV0dXJuIHBhbGFicmFzW2luZGljZVBhbGFicmFdO1xuICB9XG5cbiAgb2J0ZW5lckluaWNpYWwocGFsYWJyYTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAocGFsYWJyYS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBpbmljaWFsID0gcGFsYWJyYS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKTtcbiAgICByZXR1cm4gaW5pY2lhbDtcbiAgfVxuXG4gIGNvbnRhclBhbGFicmFzKHRleHRvOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICh0ZXh0byA9PSBudWxsIHx8IHRleHRvID09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHRleHRvID0gdGV4dG8udHJpbSgpO1xuICAgIGNvbnN0IHBhbGFicmFzID0gdGV4dG8uc3BsaXQoL1xccysvKTtcbiAgICByZXR1cm4gcGFsYWJyYXMubGVuZ3RoO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdib2R5JywgJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnRvcGJhckl0ZW1DbGljaykge1xuICAgICAgICB0aGlzLmFjdGl2ZVRvcGJhckl0ZW0gPSAnJztcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLm1lbnVDbGljaykge1xuICAgICAgICBpZiAodGhpcy5tb2JpbGVNZW51QWN0aXZlKSB7XG4gICAgICAgICAgdGhpcy5tb2JpbGVNZW51QWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLnNlYXJjaENsaWNrKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2VhcmNoQ2xpY2sgPSBmYWxzZTtcbiAgICAgIHRoaXMudG9wYmFySXRlbUNsaWNrID0gZmFsc2U7XG4gICAgICB0aGlzLm1lbnVDbGljayA9IGZhbHNlO1xuICAgICAgdGhpcy5tb2R1bG8gPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJylcbiAgICB9KTtcblxuICAgIHRoaXMubWVudVNlcnZpY2UubG9hZFRhcmVhcygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5tZW51U2VydmljZS5zZXRUYXJlYXNEZWxNb2R1bG8odGhpcy5tb2R1bG8pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyBDYWRhIDUgbWludXRvcyB2ZXJpZmljYSBxdWUgZWwgdG9rZW4gbm8gaGF5YSBleHBpcmFkb1xuICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuYXV0aFNlcnZpY2UuaXNUb2tlblZhbGlkKCkpIHtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5kZWxldGVUb2tlbigpO1xuICAgICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYudG9TdHJpbmcoKS5pbmNsdWRlcygnYWRtb25Qb3J0YWwnKSkge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvYWRtb25Qb3J0YWwvdGltZW91dCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvdGltZW91dCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgMzAwXzAwMCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgdGVtYSA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndGVtYScpO1xuICAgIHRoaXMuc3dpdGNoID0gdGVtYSA9PSAndGVtYU9zY3VybycgPyB0cnVlIDogZmFsc2U7XG4gICAgaWYgKHRlbWEpIHtcbiAgICAgIHRoaXMuY2FtYmlhclRlbWEoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zd2l0Y2ggPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5jYWxjdWxhckluaWNpYWxlcygpO1xuICAgIHRoaXMuZW1wcmVzYSA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5LZXkoJ251bWVyb0VtcHJlc2EnKSArICcgLSAnICsgdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbktleSgnbm9tYnJlRW1wcmVzYScpXG4gICAgdGhpcy5yb2wgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdub21icmVSb2wnKVxuICAgIHRoaXMuY29uZXhpb24gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdub21icmVDb25leGlvbicpXG4gICAgdGhpcy5tb2R1bG9zRGlzcG9uaWJsZXMgPSBKU09OLnBhcnNlKHRoaXMuc3RvcmFnZS5nZXRJdGVtKCdtb2R1bG9zJykpO1xuICAgIHRoaXMudGFyZWFzID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ19fdGFyZWFzJykgIT0gbnVsbCA/IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0oJ19fdGFyZWFzJykpIDogJyc7XG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5kYXRhLnN1YnNjcmliZSgodikgPT4ge1xuICAgICAgLy90aGlzLm1vZHVsb3NEaXNwb25pYmxlcyA9IHZbJ21vZHVsb3NEaXNwb25pYmxlcyddO1xuICAgICAgdGhpcy5tb2R1bG8gPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJylcbiAgICAgIGxldCBtb2R1bG9TZWxlY2Npb25hZG86IE1vZHVsb3NNb2RlbCA9IG5ldyBNb2R1bG9zTW9kZWwodGhpcy5tb2R1bG8sICcnKTtcbiAgICAgIHRoaXMuY2FtYmlvTW9kdWxvKG1vZHVsb1NlbGVjY2lvbmFkbywgZmFsc2UpXG4gICAgfSk7XG4gIH1cblxuICBhY3RpdmVJdGVtITogbnVtYmVyOyAvLyB1biBuw7ptZXJvIHF1ZSByZXByZXNlbnRhIGVsIGVsZW1lbnRvIGFjdGl2b1xuXG4gIC8vRHVtbWkgZGUgYmFycmEgZGUgZWxlbWVudG9zIHBvciBzaSBzZSBuZWNlc2l0YS5cbiAgbW9kZWw6IE1lZ2FNZW51SXRlbVtdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnVUkgS0lUJyxcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ1VJIEtJVCAxJyxcbiAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdGb3JtIExheW91dCcsIGljb246ICdwaSBwaS1mdyBwaS1pZC1jYXJkJywgcm91dGVyTGluazogWycvdWlraXQvZm9ybWxheW91dCddIH0sXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdJbnB1dCcsIGljb246ICdwaSBwaS1mdyBwaS1jaGVjay1zcXVhcmUnLCByb3V0ZXJMaW5rOiBbJy91aWtpdC9pbnB1dCddIH0sXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdGbG9hdCBMYWJlbCcsIGljb246ICdwaSBwaS1mdyBwaS1ib29rbWFyaycsIHJvdXRlckxpbms6IFsnL3Vpa2l0L2Zsb2F0bGFiZWwnXSB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnQnV0dG9uJywgaWNvbjogJ3BpIHBpLWZ3IHBpLW1vYmlsZScsIHJvdXRlckxpbms6IFsnL3Vpa2l0L2J1dHRvbiddIH0sXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdGaWxlJywgaWNvbjogJ3BpIHBpLWZ3IHBpLWZpbGUnLCByb3V0ZXJMaW5rOiBbJy91aWtpdC9maWxlJ10gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiAnVUkgS0lUIDInLFxuICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ1RhYmxlJywgaWNvbjogJ3BpIHBpLWZ3IHBpLXRhYmxlJywgcm91dGVyTGluazogWycvdWlraXQvdGFibGUnXSB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnTGlzdCcsIGljb246ICdwaSBwaS1mdyBwaS1saXN0Jywgcm91dGVyTGluazogWycvdWlraXQvbGlzdCddIH0sXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdUcmVlJywgaWNvbjogJ3BpIHBpLWZ3IHBpLXNoYXJlLWFsdCcsIHJvdXRlckxpbms6IFsnL3Vpa2l0L3RyZWUnXSB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnUGFuZWwnLCBpY29uOiAncGkgcGktZncgcGktdGFibGV0Jywgcm91dGVyTGluazogWycvdWlraXQvcGFuZWwnXSB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnQ2hhcnQnLCBpY29uOiAncGkgcGktZncgcGktY2hhcnQtYmFyJywgcm91dGVyTGluazogWycvdWlraXQvY2hhcnRzJ10gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiAnVUkgS0lUIDMnLFxuICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ092ZXJsYXknLCBpY29uOiAncGkgcGktZncgcGktY2xvbmUnLCByb3V0ZXJMaW5rOiBbJy91aWtpdC9vdmVybGF5J10gfSxcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ01lZGlhJywgaWNvbjogJ3BpIHBpLWZ3IHBpLWltYWdlJywgcm91dGVyTGluazogWycvdWlraXQvbWVkaWEnXSB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnTWVudScsIGljb246ICdwaSBwaS1mdyBwaS1iYXJzJywgcm91dGVyTGluazogWycvdWlraXQvbWVudSddIH0sXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdNZXNzYWdlJywgaWNvbjogJ3BpIHBpLWZ3IHBpLWNvbW1lbnQnLCByb3V0ZXJMaW5rOiBbJy91aWtpdC9tZXNzYWdlJ10gfSxcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ01pc2MnLCBpY29uOiAncGkgcGktZncgcGktY2lyY2xlLW9mZicsIHJvdXRlckxpbms6IFsnL3Vpa2l0L21pc2MnXSB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnVVRJTElUSUVTJyxcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ1VUSUxJVElFUyAxJyxcbiAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgIHsgbGFiZWw6ICdJY29ucycsIGljb246ICdwaSBwaS1mdyBwaS1wcmltZScsIHJvdXRlckxpbms6IFsndXRpbGl0aWVzL2ljb25zJ10gfSxcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ1ByaW1lRmxleCcsIGljb246ICdwaSBwaS1mdyBwaS1kZXNrdG9wJywgdXJsOiAnaHR0cHM6Ly93d3cucHJpbWVmYWNlcy5vcmcvcHJpbWVmbGV4LycsIHRhcmdldDogJ19ibGFuaycgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXTtcblxuICAvLyB1biBnZXR0ZXIgcXVlIGRldnVlbHZlIGVsIGVzdGFkbyBhY3Rpdm8gZGVsIG1lbsO6IHN1cGVyaW9yIG3Ds3ZpbFxuICBnZXQgbW9iaWxlVG9wYmFyQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUudG9wYmFyTWVudUFjdGl2ZTtcbiAgfVxuXG4gIG9uTWVudUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMubGF5b3V0U2VydmljZS5vbk1lbnVUb2dnbGUoKTtcbiAgfVxuXG4gIG9uUmlnaHRNZW51QnV0dG9uQ2xpY2soKSB7XG4gICAgdGhpcy5sYXlvdXRTZXJ2aWNlLm9wZW5SaWdodFNpZGViYXIoKTtcbiAgfVxuXG4gIG9uTW9iaWxlVG9wYmFyTWVudUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMubGF5b3V0U2VydmljZS5vblRvcGJhck1lbnVUb2dnbGUoKTtcbiAgfVxuXG4gIC8vIHVuIG3DqXRvZG8gcXVlIHNlIGVqZWN1dGEgcGFyYSBlbmZvY2FyIGVsIGNhbXBvIGRlIGLDunNxdWVkYVxuICBmb2N1c1NlYXJjaElucHV0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlKSB7XG4gICAgIC8vICAgdGhpcy5hdXRvY29tcGxldGUuZm9jdXNJbnB1dCgpO1xuICAgICAgfVxuICAgICAgLy90aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIC8vIHVuIG3DqXRvZG8gcXVlIHNlIGVqZWN1dGEgY3VhbmRvIHNlIHNlbGVjY2lvbmEgdW5hIHRhcmVhXG4gIHRhcmVhU2VsZWNjaW9uKCkge1xuICAgIGlmICh0aGlzLnRhcmVhU2VsZWNjaW9uYWRhcyAhPSBudWxsKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICB0aGlzLnRhcmVhU2VsZWNjaW9uYWRhcy51cmxwcmluY2lwYWwucmVwbGFjZSgvLmpzZi8sICcnKV0pO1xuICAgIH1cbiAgfVxuXG4gIHNhbGlyKCkge1xuICAgIHRoaXMuYXV0aFNlcnZpY2UuZGVsZXRlVG9rZW4oKTtcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ3JvbGVzJylcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2F1dGVudGljYWNpb25Vc3VhcmlvRFRPJylcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ3JvbF9zZWxlY2Npb25hZG8nKVxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgndG9rZW4nKVxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgnX190YXJlYXMnKVxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgnbW9kdWxvcycpXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKCdtb2R1bG9TZWxlY2Npb25hZG8nKVxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgnbW9kdWxvRmF2b3JpdG8nKVxuICAgIHRoaXMuY29udHJvbEZ1bmNpb25hbGlkYWQuZWxpbWluYXJGdW5jaW9uYWxpZGFkZXMoKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL2xvZ2luJyk7XG4gIH1cblxuICBjYW1iaW9Nb2R1bG8obW9kdWxvOiBNb2R1bG9zTW9kZWwsIG5hdmVnYXI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJywgbW9kdWxvLmxsYXZlKVxuICAgIHRoaXMubWVudVNlcnZpY2Uuc2V0VGFyZWFzRGVsTW9kdWxvKG1vZHVsby5sbGF2ZSk7XG4gICAgaWYgKG5hdmVnYXIpIHtcbiAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZi50b1N0cmluZygpLmluY2x1ZGVzKCdhZG1vblBvcnRhbCcpKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvYWRtb25Qb3J0YWwvaW5pY2lvJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL2luaWNpbycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHVuIG3DqXRvZG8gcXVlIHNlIGVqZWN1dGEgcGFyYSBmaWx0cmFyIGxhcyB0YXJlYXNcbiAgZmlsdGVyVGFyZWEoZXZlbnQpIHtcbiAgICBjb25zdCBmaWx0ZXJlZDogVGFyZWFzTW9kZWxbXSA9IFtdO1xuICAgIGNvbnN0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhcmVhcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY291bnRyeSA9IHRoaXMudGFyZWFzW2ldO1xuICAgICAgaWYgKGNvdW50cnkuZGVzY3JpcGNpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeS50b0xvd2VyQ2FzZSgpKSB8fCBjb3VudHJ5LnBhbGFicmFzPy5yZXBsYWNlKC8sL2csIFwiXCIpPy50b0xvd2VyQ2FzZSgpPy5pbmNsdWRlcyhxdWVyeS50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNvdW50cnkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnRhcmVhc0ZpbHRyYWRhcyA9IGZpbHRlcmVkO1xuICB9XG5cbiAgY2FtYmlvU3dpdGNoKGNhbWJpbyl7XG4gICAgdGhpcy5zd2l0Y2ggPSBjYW1iaW8uY2hlY2tlZDtcbiAgICB0aGlzLmNhbWJpYXJUZW1hKClcbiAgfVxuXG4gIGNhbWJpYXJUZW1hKCl7XG4gICAgbGV0IHRlbWEgPSB0aGlzLnN3aXRjaCA/ICd0ZW1hT3NjdXJvJyA6ICd0ZW1hQ2xhcm8nO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnXycgKyd0ZW1hJywgdGVtYSk7XG4gICAgbGV0IGxpbmtUZW1hID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVtYUFwcCcpIGFzIEhUTUxMaW5rRWxlbWVudDtcbiAgICBsaW5rVGVtYS5ocmVmID0gYCR7dGVtYX0uY3NzYFxuICB9XG59XG5cbiIsIlxuXG48ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhclwiPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhci1zdGFydFwiPlxuICAgIDxhIGNsYXNzPVwibGF5b3V0LXRvcGJhci1sb2dvXCIgcm91dGVyTGluaz1cIi9cIj5cbiAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMTY3cHg7IGhlaWdodDogNjRweDtcIiBjbGFzcz1cImxheW91dC10b3BiYXItbG9nby1mdWxsXCJcbiAgICAgIHNyYz1cInt7IGNvZGlnbyAhPSAnMSc/IGxvZ29Db21wcmltaWRvIDogJ2Fzc2V0cy9pbWFnZXMvbG9nby1zYXJhLnBuZyd9fVwiPlxuXG5cbiAgICAgIDxzdmcgd2lkdGg9XCI0MVwiIGhlaWdodD1cIjQ2XCIgdmlld0JveD1cIjAgMCA0MSAzMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIGNsYXNzPVwibGF5b3V0LXRvcGJhci1sb2dvLXNsaW1cIj5cbiAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNNDAuNzIwOSA4LjU3MDE3QzQwLjY2MTIgOC40MjcyOSA0MC41MjE3IDguMzM0ODQgNDAuMzY3IDguMzM0ODRIMzguMjU5M0wzOS40MDcgNi45NTAzN0MzOS41MDIgNi44MzY1MyAzOS41MjExIDYuNjc4MzcgMzkuNDU4MyA2LjU0NDY2QzM5LjM5NTUgNi40MTA5NSAzOS4yNjA2IDYuMzI1MzcgMzkuMTEyIDYuMzI1MzdIMTUuOTgyNkw5LjQyMzYxIDAuMTA1MThDOS4yOTY0MyAtMC4wMTQ3NzY2IDkuMTAzMzYgLTAuMDM0NjQyMSA4Ljk1NjI1IDAuMDU4NTcyOUw1LjI3NjQzIDIuMzYyMjFMNS4yNzMzNiAyLjM2NTI2TDUuMjY5NTMgMi4zNjY3OUwwLjkyMzE1IDUuMjE5NzhDMC45MTI0MjQgNS4yMjY2NiAwLjkwNzA2MSA1LjIzNzM1IDAuODk3MTAxIDUuMjQ1NzZDMC44NzU2NDkgNS4yNjI1NyAwLjg1NzI2MSA1LjI4MDkxIDAuODQwNDA2IDUuMzAxNTRDMC44MjUwODMgNS4zMTk4NyAwLjgxMjgyNSA1LjMzODIxIDAuODAxMzMyIDUuMzU4ODRDMC43ODkwNzQgNS4zODEgMC43ODA2NDYgNS40MDMxNiAwLjc3Mjk4NSA1LjQyNjg0QzAuNzY1MzIzIDUuNDUxMjkgMC43NjA3MjYgNS40NzU3NCAwLjc1NzY2MiA1LjUwMTcyQzAuNzU2ODk1IDUuNTE0NzEgMC43NSA1LjUyNTQgMC43NSA1LjUzOTE2QzAuNzUgNS41NTEzOCAwLjc1NTM2MyA1LjU2MDU1IDAuNzU2ODk1IDUuNTcyNzhDMC43NTkxOTQgNS41OTc5OSAwLjc2NDU1NyA1LjYyMTY4IDAuNzcyMjE4IDUuNjQ2ODlDMC43Nzk4OCA1LjY3MjEgMC43ODgzMDggNS42OTU3OSAwLjgwMTMzMiA1LjcxOTQ4QzAuODA2Njk1IDUuNzI5NDEgMC44MDc0NjEgNS43NDAxMSAwLjgxMzU5MSA1Ljc1MDA0QzAuODE4OTU0IDUuNzU4NDQgMC44Mjg5MTQgNS43NjE1IDAuODM1MDQzIDUuNzY5MTRDMC44NjE4NTggNS44MDM1MiAwLjg5MzI3IDUuODMxNzkgMC45MzAwNDYgNS44NTQ3MUMwLjk0MzgzNiA1Ljg2MzEyIDAuOTU0NTYzIDUuODczODIgMC45NjgzNTMgNS44ODA2OUMxLjAxODkyIDUuOTA1MTQgMS4wNzQwOCA1LjkyMTE5IDEuMTMzODQgNS45MjExOUg2LjM2NzQzTDcuNTQ4ODMgOC44NjA1Mkw3LjU1MDM2IDguODYyODFWOC44NjUxTDE1LjIzNjQgMjcuMjI5MkwxMC42OTkzIDMxLjMzNTNDMTAuNTgyIDMxLjQ0MTUgMTAuNTQyMiAzMS42MDggMTAuNTk5NyAzMS43NTU1QzEwLjY1NjQgMzEuOTAzIDEwLjc5ODkgMzIgMTAuOTU2NyAzMkgxNy40ODg5QzE3LjUzOTUgMzIgMTcuNTg5MyAzMS45ODkzIDE3LjYzNiAzMS45NzAyQzE3LjY4MjcgMzEuOTUxMSAxNy43MjQ5IDMxLjkyMjggMTcuNzYwMSAzMS44ODc3TDIxLjE5NCAyOC40NTAyQzIxLjE5ODYgMjguNDU1NSAyMS4yMDAxIDI4LjQ2MjQgMjEuMjA1NSAyOC40Njc4TDI0LjQ1NyAzMS44ODA4QzI0LjUyOTggMzEuOTU4IDI0LjYyNTYgMzEuOTc5NCAyNC43MzY3IDMyQzMwLjYzOTkgMzEuOTY3MSAzOS41OTYyIDMxLjkzNzMgNDAuMDE3NiAzMS45ODA5QzQwLjA1NzQgMzEuOTkzOSA0MC4wOTggMzIgNDAuMTM4NiAzMkM0MC4yNjk3IDMyIDQwLjM5NzYgMzEuOTMzNSA0MC40Njg5IDMxLjgxODJDNDAuNjkwMyAzMS40NTkgNDAuNjg4NyAzMS40NTUyIDI5LjM3NjUgMjAuMjYwM0w0MC42Mzc0IDguOTg4ODhDNDAuNzQ3NyA4Ljg3NzMzIDQwLjc3OTkgOC43MTMwNSA0MC43MjA5IDguNTcwMTdaTTM4LjI5ODMgNy4wODg2N0wzNy4yNjYzIDguMzM0ODRIMTguMTAxOEwxNi43ODc5IDcuMDg4NjdIMzguMjk4M1pNOS4xMTE3OCAwLjg2MjM2MUwxNi45OTA5IDguMzM0ODRIOC4xNjMyOUw1Ljk1NDQ3IDIuODM4OThMOS4xMTE3OCAwLjg2MjM2MVpNMi40MTE3OCA1LjE1NjM2TDUuMjk4NjQgMy4yNjE1TDYuMDYwMiA1LjE1NjM2SDIuNDExNzhaTTIxLjc2MDIgMjcuOTQwNkMyMS43NTAyIDI3LjkyOTkgMjEuNzM2NCAyNy45MjUzIDIxLjcyNTcgMjcuOTE2OUwyNC40NzAxIDI1LjE3MDFWMzAuNzg0NEwyMS43NjAyIDI3Ljk0MDZaTTM5LjI1NDUgMzEuMjEzQzM3LjgwOCAzMS4xOTE2IDM0LjIxNCAzMS4xODI1IDI1LjIzNjIgMzEuMjMyMVYyNC42NTEzQzI1LjIzNjIgMjQuNTgxIDI1LjIxMTcgMjQuNTE4MyAyNS4xNzg4IDI0LjQ2MUwyOC44MzY0IDIwLjc5OTdDMzIuNDQzNCAyNC4zNzAxIDM3LjU0OTggMjkuNDUxOSAzOS4yNTQ1IDMxLjIxM1pNMTcuNjIyMiAzMC45NDI1TDguNDc4OTQgOS4wOTg5SDM3LjM1MDZDMzcuMzc4MiA5LjEwNTAxIDM3LjQwNTggOS4xMTM0MiAzNy40MzM0IDkuMTEzNDJDMzcuNDU1NiA5LjExMzQyIDM3LjQ3NjMgOS4xMDI3MiAzNy40OTg1IDkuMDk4OUgzOS40NDQ1TDE3LjYyMjIgMzAuOTQyNVpcIlxuICAgICAgICAgIGZpbGw9XCJ2YXIoLS10b3BiYXItaXRlbS10ZXh0LWNvbG9yKVwiIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2E+XG4gICAgPGEgI21lbnVCdXR0b24gY2xhc3M9XCJsYXlvdXQtbWVudS1idXR0b25cIiAoY2xpY2spPVwib25NZW51QnV0dG9uQ2xpY2soKVwiIHBSaXBwbGU+XG4gICAgICA8aSBjbGFzcz1cInBpIHBpLWNoZXZyb24tcmlnaHRcIj48L2k+XG4gICAgPC9hPlxuXG4gICAgPGEgI21vYmlsZU1lbnVCdXR0b24gY2xhc3M9XCJsYXlvdXQtdG9wYmFyLW1vYmlsZS1idXR0b25cIiAoY2xpY2spPVwib25Nb2JpbGVUb3BiYXJNZW51QnV0dG9uQ2xpY2soKVwiIHBSaXBwbGU+XG4gICAgICA8aSBjbGFzcz1cInBpIHBpLWVsbGlwc2lzLXZcIj48L2k+XG4gICAgPC9hPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhci1lbmRcIj5cbiAgICA8IS0tIFNlIGNvbWVudGFuIGxhcyBvcGNpb25lcyBkZSBLSVQgeSBVdGlsaXRpZXMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXItYWN0aW9ucy1zdGFydFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDE1cHg7XCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImVtcHJlc2FcIj5FbXByZXNhOiB7e2VtcHJlc2F9fSAgICAgPC9sYWJlbD5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwicm9sXCI+PHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiPlJvbDo8L3NwYW4+IHt7cm9sfX0gICAgIDwvbGFiZWw+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbmV4aW9uXCI+PHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiPkNvbmV4aW9uOjwvc3Bhbj4ge3tjb25leGlvbn19ICAgICA8L2xhYmVsPlxuICAgICAgPCEtLSA8cC1tZWdhTWVudSBbbW9kZWxdPVwibW9kZWxcIiBzdHlsZUNsYXNzPVwibGF5b3V0LW1lZ2FtZW51XCI+PC9wLW1lZ2FNZW51PiAtLT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhci1hY3Rpb25zLWVuZFwiPlxuICAgICAgPHVsIGNsYXNzPVwibGF5b3V0LXRvcGJhci1pdGVtc1wiPlxuICAgICAgICA8IS0tQ0FNQklBUiBURU1BLS0+XG4gICAgICAgIDxsaSBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGVsZWNjaW9uLW1vZG9cIj5cbiAgICAgICAgICA8IS0tIDxpIGNsYXNzPVwicGkgcGktc3VuIG1yLTFcIj48L2k+IC0tPlxuICAgICAgICAgIDxwLWlucHV0U3dpdGNoICBbKG5nTW9kZWwpXT1cInN3aXRjaFwiIChvbkNoYW5nZSk9XCJjYW1iaW9Td2l0Y2goJGV2ZW50KVwiPjwvcC1pbnB1dFN3aXRjaD5cbiAgICAgICAgICA8IS0tIDxpIGNsYXNzPVwicGkgcGktbW9vbiBtbC0xXCI+PC9pPiAtLT5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpIGNsYXNzPVwibGF5b3V0LXRvcGJhci1zZWFyY2hcIj5cbiAgICAgICAgICA8YSBwU3R5bGVDbGFzcz1cIkBuZXh0XCIgZW50ZXJGcm9tQ2xhc3M9XCJuZy1oaWRkZW5cIiBlbnRlckFjdGl2ZUNsYXNzPVwicHgtc2NhbGVpblwiIGxlYXZlVG9DbGFzcz1cIm5nLWhpZGRlblwiXG4gICAgICAgICAgICBsZWF2ZUFjdGl2ZUNsYXNzPVwicHgtZmFkZW91dFwiIFtoaWRlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiIHBSaXBwbGUgKGNsaWNrKT1cImZvY3VzU2VhcmNoSW5wdXQoKVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1zZWFyY2hcIj48L2k+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDwhLS1CVVNDQURPUi0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtc2VhcmNoLXBhbmVsIG5nLWhpZGRlbiBwLWlucHV0LWZpbGxlZFwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1zZWFyY2hcIj48L2k+XG4gICAgICAgICAgICA8IS0tIDxpbnB1dCAjc2VhcmNoSW5wdXQgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IHBsYWNlaG9sZGVyPVwiU2VhcmNoXCI+IC0tPlxuICAgICAgICAgICAgPHAtYXV0b0NvbXBsZXRlICNzZWFyY2hJbnB1dCBwbGFjZWhvbGRlcj1cIkJ1c2NhciB1bmEgdGFyZWEuLi5cIiAoY2xpY2spPVwic2VhcmNoQ2xpY2sgPSB0cnVlXCJcbiAgICAgICAgICAgICAgW2Ryb3Bkb3duXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJ0YXJlYVNlbGVjY2lvbmFkYXNcIiBbc3VnZ2VzdGlvbnNdPVwidGFyZWFzRmlsdHJhZGFzXCJcbiAgICAgICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cImZpbHRlclRhcmVhKCRldmVudClcIiAob25TZWxlY3QpPVwidGFyZWFTZWxlY2Npb24oKVwiIGZpZWxkPVwiZGVzY3JpcGNpb25cIlxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICd3aWR0aCc6ICc3MCUnLCAnaGVpZ2h0JzogJzQwcHgnLCAnbWFyZ2luLWxlZnQnOiAnMTElJyB9XCIgc3R5bGVDbGFzcz1cInctZnVsbCBoLWZ1bGxcIiBpY29uPVwicGkgcGktc2VhcmNoXCI+XG4gICAgICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPlxuXG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtc2VhcmNoLXBhbmVsIG5nLWhpZGRlbiBwLWlucHV0LWZpbGxlZFwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT5cbiAgICAgICAgICAgICAgPCEtLSA8aW5wdXQgI3NlYXJjaElucHV0IHR5cGU9XCJ0ZXh0XCIgcElucHV0VGV4dCBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiPiAtLT5cbiAgICAgICAgICAgICAgPHAtYXV0b0NvbXBsZXRlICNzZWFyY2hJbnB1dCBwbGFjZWhvbGRlcj1cIkJ1c2NhciB1bmEgdGFyZWEuLi5cIiAoY2xpY2spPVwic2VhcmNoQ2xpY2sgPSB0cnVlXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInRhcmVhU2VsZWNjaW9uYWRhc1wiIFtzdWdnZXN0aW9uc109XCJ0YXJlYXNGaWx0cmFkYXNcIlxuICAgICAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJmaWx0ZXJUYXJlYSgkZXZlbnQpXCIgKG9uU2VsZWN0KT1cInRhcmVhU2VsZWNjaW9uKClcIiBmaWVsZD1cImRlc2NyaXBjaW9uXCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICd3aWR0aCc6ICc3MCUnLCAnaGVpZ2h0JzogJzQwcHgnLCAnYWxpZ24taXRlbXMnOiAnY2VudGVyJyB9XCIgc3R5bGVDbGFzcz1cInctZnVsbCBoLWZ1bGxcIj5cbiAgICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS10aW1lc1wiIChjbGljayk9XCJmb2N1c1NlYXJjaElucHV0KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLXBsYWluXCIgcFN0eWxlQ2xhc3M9XCIubGF5b3V0LXNlYXJjaC1wYW5lbFwiXG4gICAgICAgICAgICAgICAgbGVhdmVUb0NsYXNzPVwibmctaGlkZGVuXCIgbGVhdmVBY3RpdmVDbGFzcz1cInB4LWZhZGVvdXRcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDwhLS0gPGxpPlxuICAgICAgICAgICAgICAgICAgTk9USUZJQ0FDSU9ORVNcbiAgICAgICAgICAgICAgICAgICAgPGEgcFN0eWxlQ2xhc3M9XCJAbmV4dFwiIGVudGVyRnJvbUNsYXNzPVwibmctaGlkZGVuXCIgZW50ZXJBY3RpdmVDbGFzcz1cInB4LXNjYWxlaW5cIiBsZWF2ZVRvQ2xhc3M9XCJuZy1oaWRkZW5cIiBsZWF2ZUFjdGl2ZUNsYXNzPVwicHgtZmFkZW91dFwiIFtoaWRlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiIHBSaXBwbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWJlbGxcIiBwQmFkZ2Ugc2V2ZXJpdHk9XCJ3YXJuaW5nXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZy1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3Qtbm9uZSBwLTAgbS0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicHgtMyBweS0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPllvdSBoYXZlIDxiPjQ8L2I+IG5ldyBub3RpZmljYXRpb25zPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvZGVtby9pbWFnZXMvYXZhdGFyL2F2YXRhci0xLnBuZ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtbC0zIGZsZXgtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+SmVyb21lIEJlbGw8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD40MiBtaW5zIGFnbzwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIGxpbmUtaGVpZ2h0LTNcIj5Ib3cgdG8gd3JpdGUgY29udGVudCBhYm91dCB5b3VyIHBob3RvZ3JhcGhzPzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInAtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2RlbW8vaW1hZ2VzL2F2YXRhci9hdmF0YXItMi5wbmdcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtbC0zIGZsZXgtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtc21hbGwgZm9udC1ib2xkXCI+Q2FtZXJvbiBXaWxsaWFtc29uPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGw+NDggbWlucyBhZ288L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBsaW5lLWhlaWdodC0zXCI+U3RhcnQgYSBibG9nIHRvIHJlYWNoIHlvdXIgY3JlYXRpdmUgcGVhay48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9kZW1vL2ltYWdlcy9hdmF0YXIvYXZhdGFyLTMucG5nXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbWwtMyBmbGV4LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLXNtYWxsIGZvbnQtYm9sZFwiPkFubmEgTWlsZXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD4xIGRheSBhZ288L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBsaW5lLWhlaWdodC0zXCI+Q2FyaW5nIGlzIHRoZSBuZXcgbWFya2V0aW5nPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvZGVtby9pbWFnZXMvYXZhdGFyL2F2YXRhci00LnBuZ1wiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIG1sLTMgZmxleC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy1zbWFsbCBmb250LWJvbGRcIj5BcmxlbmUgTWNjb3k8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD40IGRheSBhZ288L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBsaW5lLWhlaWdodC0zXCI+U3RhcnRpbmcgeW91ciB0cmF2ZWxpbmcgYmxvZyB3aXRoIFZhc2NvLjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saT4gLS0+XG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8IS0tIE1PRFVMT1MgLS0+XG4gICAgICAgICAgPGEgcFN0eWxlQ2xhc3M9XCJAbmV4dFwiIGVudGVyRnJvbUNsYXNzPVwibmctaGlkZGVuXCIgZW50ZXJBY3RpdmVDbGFzcz1cInB4LXNjYWxlaW5cIiBsZWF2ZVRvQ2xhc3M9XCJuZy1oaWRkZW5cIlxuICAgICAgICAgICAgbGVhdmVBY3RpdmVDbGFzcz1cInB4LWZhZGVvdXRcIiBbaGlkZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIiBwUmlwcGxlPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS10YWJsZVwiPjwvaT5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5nLWhpZGRlblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIHAtMiBtb2R1bG9zXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTQgZmxleC1jb2x1bW5cIiAqbmdGb3I9XCJsZXQgbW9kdWxvIG9mIG1vZHVsb3NEaXNwb25pYmxlc1wiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZmxleCB0ZXh0LWNvbG9yXCIgaHJlZj1cInt7dXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAodXJsLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ2FkbW9uUG9ydGFsJykgPyAnL2FkbW9uUG9ydGFsL2luaWNpbycgOiAnL2luaWNpbycpfX1cIiBwUmlwcGxlIChjbGljayk9XCJjYW1iaW9Nb2R1bG8obW9kdWxvLCB0cnVlKVwiPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBtYi0yXCIgc3R5bGU9XCJ3aWR0aDo0MHB4OyBoZWlnaHQ6IDQwcHg7IG1pbi13aWR0aDo0MHB4OyBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1wiXG4gICAgICAgICAgICAgICAgICAgIHBSaXBwbGU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3R5bGU9XCJoZWlnaHQ6IDMuNXJlbTsgd2lkdGg6My41cmVtO21hcmdpbi1sZWZ0OiAtMTBweDtcIiAgW3NyY109XCInYXNzZXRzL21vZHVsb3MvJyArIChtb2R1bG8uaWNvbm8ucmVwbGFjZSgnLnBuZycsICcud2VicCcpKVwiIC8+XG5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDEwcHg7IHRleHQtYWxpZ246IGxlZnQ7IG1hcmdpbi1sZWZ0OiAxMHB4XCI+e3sgbW9kdWxvLmRlc2NyaXBjaW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpPlxuICAgICAgICAgIDxhIHBTdHlsZUNsYXNzPVwiQG5leHRcIiBlbnRlckZyb21DbGFzcz1cIm5nLWhpZGRlblwiIGVudGVyQWN0aXZlQ2xhc3M9XCJweC1zY2FsZWluXCIgbGVhdmVUb0NsYXNzPVwibmctaGlkZGVuXCJcbiAgICAgICAgICAgIGxlYXZlQWN0aXZlQ2xhc3M9XCJweC1mYWRlb3V0XCIgW2hpZGVPbk91dHNpZGVDbGlja109XCJ0cnVlXCIgcFJpcHBsZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmljaWFsZXMtdXN1YXJpb1wiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImNvbG9yXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIj57e2luaWNpYWxlc319PC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5nLWhpZGRlblwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC1ub25lIHAtMCBtLTBcIj5cbiAgICAgICAgICAgICAgPCEtLSBGdW5jaW9uZXMgQXBhZ2FkYXMgZGUgcGVyZmlsIC0tPlxuICAgICAgICAgICAgICA8IS0tIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBweS0yIGhvdmVyOnN1cmZhY2UtaG92ZXIgdHJhbnNpdGlvbi1kdXJhdGlvbi0xNTAgdHJhbnNpdGlvbi1hbGwgcHgtMyBweS0yXCIgcFJpcHBsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktY29nIG1yLTJcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TZXR0aW5nczwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImN1cnNvci1wb2ludGVyIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIHB5LTIgaG92ZXI6c3VyZmFjZS1ob3ZlciB0cmFuc2l0aW9uLWR1cmF0aW9uLTE1MCB0cmFuc2l0aW9uLWFsbCBweC0zIHB5LTJcIiBwUmlwcGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1maWxlLW8gbXItMlwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlRlcm1zIG9mIFVzYWdlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcHktMiBob3ZlcjpzdXJmYWNlLWhvdmVyIHRyYW5zaXRpb24tZHVyYXRpb24tMTUwIHRyYW5zaXRpb24tYWxsIHB4LTMgcHktMlwiIHBSaXBwbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWNvbXBhc3MgbXItMlwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlN1cHBvcnQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiAtLT5cbiAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcHktMiBob3ZlcjpzdXJmYWNlLWhvdmVyIHRyYW5zaXRpb24tZHVyYXRpb24tMTUwIHRyYW5zaXRpb24tYWxsIHB4LTMgcHktMlwiXG4gICAgICAgICAgICAgICAgICBwUmlwcGxlIChjbGljayk9XCJzYWxpcigpXCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXBvd2VyLW9mZiBtci0yXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+Q2VycmFyIHNlc2nDs248L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -52,4 +52,4 @@ export class TareasModel {
|
|
|
52
52
|
this.nombrePadre = nombrepadre;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFyZWFzTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NlZ3VyaWRhZC9tb2RlbG9zL1RhcmVhc01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLGVBQWUsQ0FBTTtJQUNyQixlQUFlLENBQU07SUFDckIsVUFBVSxDQUFRO0lBQ2xCLGtCQUFrQixDQUFRO0lBQzFCLFVBQVUsQ0FBUTtJQUNsQixVQUFVLENBQVE7SUFDbEIsS0FBSyxDQUFTO0lBQ2QsWUFBWSxDQUFRO0lBQ3BCLEtBQUssQ0FBUTtJQUNiLE1BQU0sQ0FBUTtJQUNkLEdBQUcsQ0FBUTtJQUNYLFdBQVcsQ0FBUTtJQUNuQixLQUFLLENBQVE7SUFDYixZQUFZLENBQVE7SUFDcEIsSUFBSSxDQUFRO0lBQ1osTUFBTSxDQUFRO0lBQ2QsR0FBRyxDQUFRO0lBQ1gsSUFBSSxDQUFRO0lBQ1osTUFBTSxDQUFRO0lBQ2QsTUFBTSxDQUFRO0lBQ2QsWUFBWSxDQUFRO0lBQ3BCLEtBQUssQ0FBUTtJQUNiLFNBQVMsQ0FBUTtJQUNqQixLQUFLLENBQVE7SUFDYixlQUFlLENBQVE7SUFDdkIsVUFBVSxDQUFRO0lBQ2xCLEtBQUssQ0FBUTtJQUNiLFlBQVksQ0FBUTtJQUNwQixRQUFRLENBQVE7SUFDaEIsWUFBWSxDQUFRO0lBQ3BCLFlBQVksQ0FBUTtJQUNwQixXQUFXLENBQVE7SUFDbkIsUUFBUSxDQUFRO0lBQ2hCLFlBQVksQ0FBUTtJQUNwQixTQUFTLENBQVE7SUFDakIsVUFBVSxDQUFRO0lBQ2xCLFdBQVcsQ0FBUTtJQUNuQixXQUFXLENBQVE7SUFDbkIsVUFBVSxDQUFPO0lBQ2pCLFdBQVcsQ0FBTztJQUNsQixTQUFTLENBQVE7SUFDakIsS0FBSyxDQUFRO0lBQ2IsS0FBSyxDQUFPO0lBQ1osV0FBVyxDQUFRO0lBQ25CLFdBQVcsQ0FBZTtJQUMxQixXQUFXLENBQVE7SUFDbkIsUUFBUSxDQUFTO0lBQ2pCLFlBQVksV0FBbUIsRUFBRSxXQUFtQixFQUFDLEtBQWE7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRhcmVhc01vZGVse1xuICAgIGZlY2hhQWRpY2lvbmFkbzpEYXRlO1xuICAgIGZlY2hhTW9kaWZpY2FkbzpEYXRlO1xuICAgIGFkaWNpb25hZG86c3RyaW5nO1xuICAgIGNvbnRyb2xTZWd1aW1pZW50bzpzdHJpbmc7XG4gICAgbGxhdmVUYWJsYTpzdHJpbmc7XG4gICAgbW9kaWZpY2FkbzpzdHJpbmc7XG4gICAgY2hlY2s6Ym9vbGVhbjtcbiAgICBsbGF2ZVBlcm1pc286c3RyaW5nO1xuICAgIGxsYXZlOnN0cmluZztcbiAgICBjb2RpZ286c3RyaW5nO1xuICAgIGtleTpzdHJpbmc7XG4gICAgZGVzY3JpcGNpb246c3RyaW5nO1xuICAgIHBhZHJlOnN0cmluZztcbiAgICB1cmxwcmluY2lwYWw6c3RyaW5nO1xuICAgIHVybHM6c3RyaW5nO1xuICAgIGFjY2lvbjpzdHJpbmc7XG4gICAgZ2lmOnN0cmluZztcbiAgICB0aXBvOnN0cmluZztcbiAgICBlc3RhZG86c3RyaW5nO1xuICAgIG1vZHVsbzpzdHJpbmc7XG4gICAgbm9tYnJlTW9kdWxvOnN0cmluZztcbiAgICBvcmRlbjpudW1iZXI7XG4gICAgcGFyYW1ldHJvOnN0cmluZztcbiAgICBudWV2bzpzdHJpbmc7XG4gICAgY29tb2RpbkJ1c3F1ZWRhOnN0cmluZztcbiAgICBsbGF2ZUdydXBvOnN0cmluZztcbiAgICBheXVkYTpzdHJpbmc7XG4gICAgbGxhdmVEaXJlY3RvOnN0cmluZztcbiAgICBzaG9ydGN1dDpzdHJpbmc7XG4gICAgbGxhdmVFbXByZXNhOnN0cmluZztcbiAgICBsYWJlbEVtcHJlc2E6c3RyaW5nO1xuICAgIG5vbWJyZVBhZHJlOnN0cmluZztcbiAgICBnaWZQYWRyZTpzdHJpbmc7XG4gICAgbm9tYnJlQWJ1ZWxvOnN0cmluZztcbiAgICBnaWZBYnVlbG86c3RyaW5nO1xuICAgIG9yZGVuUGFkcmU6c3RyaW5nO1xuICAgIG9yZGVuQWJ1ZWxvOnN0cmluZztcbiAgICBsaXN0YVRhcmVhczpzdHJpbmc7XG4gICAgYXBsaWNhY2lvbjpzdHJpbmdcbiAgICBzaWdsYU1vZHVsbzpzdHJpbmdcbiAgICBjb25maWdDbXM6c3RyaW5nO1xuICAgIGdydXBvOnN0cmluZztcbiAgICBhbGlhczpzdHJpbmdcbiAgICBub21icmVUYWJsYTpzdHJpbmc7XG4gICAgdGFyZWFzSGlqYXM6VGFyZWFzTW9kZWxbXTtcbiAgICBpY29ub01vZHVsbzpzdHJpbmc7XG4gICAgcGFsYWJyYXM6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihkZXNjcmlwY2lvbj86c3RyaW5nLCBub21icmVwYWRyZT86c3RyaW5nLGljb25vPzpzdHJpbmcsKXtcbiAgICAgICAgdGhpcy5kZXNjcmlwY2lvbiA9IGRlc2NyaXBjaW9uO1xuICAgICAgICB0aGlzLmdpZiA9IGljb25vO1xuICAgICAgICB0aGlzLm5vbWJyZVBhZHJlID0gbm9tYnJlcGFkcmU7XG4gICAgfVxufSJdfQ==
|
|
@@ -4598,7 +4598,7 @@ class AppTopbarComponent {
|
|
|
4598
4598
|
const query = event.query;
|
|
4599
4599
|
for (let i = 0; i < this.tareas.length; i++) {
|
|
4600
4600
|
const country = this.tareas[i];
|
|
4601
|
-
if (country.descripcion.toLowerCase().includes(query.toLowerCase()) || country.palabras?.toLowerCase()?.includes(query.toLowerCase())) {
|
|
4601
|
+
if (country.descripcion.toLowerCase().includes(query.toLowerCase()) || country.palabras?.replace(/,/g, "")?.toLowerCase()?.includes(query.toLowerCase())) {
|
|
4602
4602
|
filtered.push(country);
|
|
4603
4603
|
}
|
|
4604
4604
|
}
|