@microsoft/windows-admin-center-sdk 2.128.0 → 2.152.0

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.
Files changed (65) hide show
  1. package/angular/assets/strings/cs-CZ/strings.json +1 -1
  2. package/angular/assets/strings/de-DE/strings.json +1 -1
  3. package/angular/assets/strings/es-ES/strings.json +1 -1
  4. package/angular/assets/strings/fr-FR/strings.json +1 -1
  5. package/angular/assets/strings/hu-HU/strings.json +1 -1
  6. package/angular/assets/strings/it-IT/strings.json +1 -1
  7. package/angular/assets/strings/ja-JP/strings.json +1 -1
  8. package/angular/assets/strings/ko-KR/strings.json +1 -1
  9. package/angular/assets/strings/nl-NL/strings.json +1 -1
  10. package/angular/assets/strings/pl-PL/strings.json +1 -1
  11. package/angular/assets/strings/pt-BR/strings.json +1 -1
  12. package/angular/assets/strings/pt-PT/strings.json +1 -1
  13. package/angular/assets/strings/ru-RU/strings.json +1 -1
  14. package/angular/assets/strings/sv-SE/strings.json +1 -1
  15. package/angular/assets/strings/tr-TR/strings.json +1 -1
  16. package/angular/assets/strings/zh-CN/strings.json +1 -1
  17. package/angular/assets/strings/zh-TW/strings.json +1 -1
  18. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +558 -367
  19. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
  20. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +1 -1
  21. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
  22. package/angular/esm2015/src/controls/accordion/index.js +5 -0
  23. package/angular/esm2015/src/controls/data-table/data-table.component.js +5 -5
  24. package/angular/esm2015/src/controls/dialog/dialog.component.js +2 -2
  25. package/angular/esm2015/src/controls/dropdown/dropdown.service.js +3 -2
  26. package/angular/esm2015/src/controls/form/form-field/array/array-form-field.component.js +29 -22
  27. package/angular/esm2015/src/controls/form/form-field/datetime-range/datetime-range-form-field.component.js +4 -3
  28. package/angular/esm2015/src/controls/form/form-field/list/list-form-field.component.js +1 -1
  29. package/angular/esm2015/src/controls/form/validation-alert/validation-alert.component.js +3 -2
  30. package/angular/esm2015/src/controls/index.js +2 -1
  31. package/angular/esm2015/src/controls/pivot/pivot.component.js +21 -9
  32. package/angular/esm2015/src/controls/settings/common-settings/common-settings.component.js +38 -34
  33. package/angular/esm2015/src/controls/settings/settings-content.component.js +3 -2
  34. package/angular/esm2015/src/controls/settings/settings.component.js +45 -13
  35. package/angular/esm2015/src/controls/settings/settings.module.js +5 -1
  36. package/angular/esm2015/src/controls/tooltip/tooltip-zone.directive.js +2 -2
  37. package/angular/esm2015/src/controls/wizard/models/index.js +1 -1
  38. package/angular/esm2015/src/controls/wizard/models/wizard-builder-interface.js +2 -0
  39. package/angular/esm2015/src/controls/wizard/models/wizard-navigation-interface.js +2 -0
  40. package/angular/esm2015/src/controls/wizard/wizard-builder.js +70 -1
  41. package/angular/esm2015/src/controls/wizard/wizard-navigation-information.js +56 -2
  42. package/angular/esm2015/src/controls/wizard/wizard.component.js +8 -2
  43. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +508 -322
  44. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
  45. package/angular/src/controls/accordion/index.d.ts +4 -0
  46. package/angular/src/controls/form/form-field/array/array-form-field.component.d.ts +2 -1
  47. package/angular/src/controls/index.d.ts +1 -0
  48. package/angular/src/controls/pivot/pivot.component.d.ts +2 -2
  49. package/angular/src/controls/settings/settings.component.d.ts +3 -0
  50. package/angular/src/controls/settings/settings.module.d.ts +3 -2
  51. package/angular/src/controls/wizard/models/index.d.ts +2 -0
  52. package/angular/src/controls/wizard/models/wizard-builder-interface.d.ts +8 -0
  53. package/angular/src/controls/wizard/models/wizard-navigation-interface.d.ts +4 -0
  54. package/angular/src/controls/wizard/wizard-builder.d.ts +36 -1
  55. package/angular/src/controls/wizard/wizard-navigation-information.d.ts +48 -5
  56. package/angular/src/controls/wizard/wizard.component.d.ts +2 -1
  57. package/core/data/resource-cache.d.ts +1 -1
  58. package/core/data/resource-cache.js +1 -1
  59. package/core/data/resource-cache.js.map +1 -1
  60. package/core/security/authorization-manager.js +1 -1
  61. package/core/security/authorization-manager.js.map +1 -1
  62. package/package.json +2 -3
  63. package/styles/css/main.css +1 -1
  64. package/tools/gulp-ps-cim/index.js +1 -1
  65. package/tools/gulp-ps-cim/index.js.map +1 -1
@@ -162,4 +162,4 @@ export class ListFormFieldComponent extends SmeInternalFormFieldComponent {
162
162
  type: HostBinding,
163
163
  args: ['attr.aria-label']
164
164
  }] }); })();
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1mb3JtLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2Zvcm0vZm9ybS1maWVsZC9saXN0L2xpc3QtZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL2Zvcm0tZmllbGQvbGlzdC9saXN0LWZvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUV2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7OztJQ0ZwRSw4QkFDMkU7SUFDekUsZ0NBRXFIO0lBRi9DLHdQQUFzQiwyTEFBQTtJQUE1RixpQkFFcUg7SUFDckgsaUNBRXVHO0lBQTFCLCtOQUF5QjtJQUNwRywyQkFBNEQ7SUFDOUQsaUJBQVM7SUFDWCxpQkFBTTs7OztJQVJrRSxlQUFzQjtJQUF0Qiw0Q0FBc0I7SUFFckYsNklBQTJHO0lBRzFHLGVBQW9FO0lBQXBFLHlGQUFvRTtJQURwRSxpR0FBZ0Y7Ozs7SUFQNUYsOEJBQXNFO0lBQ3BFLDZFQVVNO0lBQ04saUNBRWtHO0lBQXhCLDJMQUF1QjtJQUMvRiwwQkFBMkM7SUFDM0MsNEJBQU07SUFBQSxZQUE2RDtJQUFBLGlCQUFPO0lBQzVFLGlCQUFTO0lBQ1gsaUJBQU07OztJQWpCa0IsZUFBUztJQUFULHNDQUFTLHFDQUFBO0lBYXZCLGVBQWlFO0lBQWpFLHNGQUFpRTtJQURqRSw4RkFBNkU7SUFHN0UsZUFBNkQ7SUFBN0Qsc0ZBQTZEOztBRFh6RTs7R0FFRztBQUtI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QzthQUNsRDsyREFjYyxTQUFTO2tCQURuQixXQUFXO21CQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERvbSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZG9tL2RvbSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25BbGVydHMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uLWFsZXJ0L3ZhbGlkYXRpb24tYWxlcnQnO1xyXG5pbXBvcnQgeyBTbWVJbnRlcm5hbEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBBY2Nlc3NpYmxlIEltcGxlbWVudGF0aW9uIG9mIGEgZm9ybSBmaWVsZCBmb3IgYSBzdHJpbmcgYXJyYXlcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtZm9ybS1maWVsZFt0eXBlPVwibGlzdFwiXScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdEZvcm1GaWVsZENvbXBvbmVudCBleHRlbmRzIFNtZUludGVybmFsRm9ybUZpZWxkQ29tcG9uZW50PHN0cmluZ1tdPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ0xpc3RGb3JtRmllbGRDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGFyaWEgbGFiZWwgZm9yIHRoaXMgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcclxuICAgIHB1YmxpYyBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVyZ2VkRGVzY3JpcHRpb25MYWJlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIExpc3RGb3JtRmllbGRDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWV0aG9kIGNhbGxlZCBhZnRlciB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncm9sZScsICdncm91cCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkcyBhbiBpdGVtIHRvIHRoZSBsaXN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRMaXN0SXRlbSh2YWx1ZTogc3RyaW5nID0gJycpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWUsIHZhbHVlXTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgYW4gaXRlbSBhdCB0aGUgZ2l2ZW4gaW5kZXhcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlbW92ZUl0ZW1BdChpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XHJcbiAgICAgICAgdmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gRG9tLmdldEZpcnN0Rm9jdXNhYmxlRGVzY2VuZGVudCh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIGlmIChmaXJzdEZvY3VzYWJsZSkge1xyXG4gICAgICAgICAgICBmaXJzdEZvY3VzYWJsZS5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtZXRob2QgY2FsbGVkIHdoZW4gYSA8c2VsZWN0PiBlbGVtZW50J3MgdmFsdWUgY2hhbmdlcy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHRyaWdnZXJWYWx1ZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWVdO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgaW5kZXggdG8gdHJhY2sgaXRlbXMgaW4gdGhlIGFycmF5IGJ5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0cmFja0J5SW5kZXgoaW5kZXgsIGl0ZW0pIHsgcmV0dXJuIGluZGV4OyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIHRoZSBpZEJhZyB1c2VkIGJ5IHRoaXMgY29tcG9uZW50IHRvIHN0b3JlIHVuaXF1ZSBlbGVtZW50IGlkcy5cclxuICAgICAqIGlkIHZhbHVlcyB3aWxsIGJlIGFzc2lnbmVkIGJlIHRoZSBAc2VlIEJhc2VDb21wb25lbnQgc3VwZXIgY2xhc3MuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBjcmVhdGVJZEJhZygpOiBNc2Z0U21lLlN0cmluZ01hcDxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkZXRhaWxzU3BhbjogJydcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVyZm9ybXMgdmFsaWRhdGlvbiB0aGF0IGlzIGludGVybmFsIHRvIHRoaXMgY29udHJvbC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gYyBUaGUgZm9ybSBjb250cm9sIGF0dGFjaGVkIHRvIHRoaXMgaW5zdGFuY2UuXHJcbiAgICAgKiBAcmV0dXJucyBBbnkgdmFsaWRhdGlvbiBhbGVydHMgZm9yIHRoaXMgY29udHJvbC5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkFsZXJ0cyB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgKE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQodGhpcy52YWx1ZSkgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHJlcXVpcmVkOiB0cnVlIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIU1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQodGhpcy52YWx1ZSkgJiYgdGhpcy52YWx1ZS5zb21lKCh4KSA9PiBNc2Z0U21lLmlzTnVsbE9yV2hpdGVTcGFjZSh4KSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIG51bGxWYWx1ZToge1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLkxpc3QuZW1wdHlWYWx1ZXNcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzdXBlci52YWxpZGF0ZShjKTtcclxuICAgIH1cclxufVxyXG4iLCI8c21lLWZvcm0tZmllbGQtbGF5b3V0IFtmb3JtRmllbGRdPVwidGhpc1wiPlxyXG4gIDxkaXYgKm5nSWY9XCJ2YWx1ZVwiIGNsYXNzPVwic21lLW1hcmdpbi1ib3R0b20teHMgc21lLWZvcm0tZmllbGQtZWRpdG9yXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZhbHVlO3RyYWNrQnk6IHRyYWNrQnlJbmRleDsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgIGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staCBzbWUtbWFyZ2luLWJvdHRvbS14cyBzbWUtZm9ybS1maWVsZC13aWR0aFwiPlxyXG4gICAgICA8aW5wdXQgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1tYXJnaW4tcmlnaHQteHNcIiB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwidmFsdWVbaV1cIlxyXG4gICAgICAgICAgICAgKGlucHV0KT1cInRyaWdnZXJWYWx1ZUNoYW5nZSgpXCJcclxuICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLkxpc3QuaXRlbUFyaWFMYWJlbC5mb3JtYXQobGFiZWwsIGkgKyAxLCB2YWx1ZS5sZW5ndGgpXCIgLz5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzbWUtYnV0dG9uLXRyaWdnZXIgc21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtYnV0dG9uLWF1dG8td2lkdGhcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLkxpc3QucmVtb3ZlQnV0dG9uQXJpYUxhYmVsXCJcclxuICAgICAgICAgICAgICBbdGl0bGVdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLkxpc3QucmVtb3ZlQnV0dG9uVG9vbHRpcFwiIChjbGljayk9XCJyZW1vdmVJdGVtQXQoaSlcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInNtZS1pY29uIHNtZS1pY29uLWNhbmNlbCBzbWUtY29sb3ItcmVkXCI+PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzbWUtYnV0dG9uLXRyaWdnZXIgc21lLWJ1dHRvbi1hdXRvLXdpZHRoIHNtZS1tYXJnaW4tYm90dG9tLXhzXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkZvcm0uTGlzdC5hZGRCdXR0b25BcmlhTGFiZWxcIlxyXG4gICAgICAgICAgICBbdGl0bGVdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLkxpc3QuYWRkQnV0dG9uVG9vbHRpcFwiIChjbGljayk9XCJhZGRMaXN0SXRlbSgpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic21lLWljb24gc21lLWljb24tYWRkXCI+PC9zcGFuPlxyXG4gICAgICA8c3Bhbj57e3N0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuRm9ybS5MaXN0LmFkZEJ1dHRvbkFyaWFMYWJlbH19PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxzbWUtdmFsaWRhdGlvbi1hbGVydCBbYWxlcnRdPVwiYWxlcnRcIj48L3NtZS12YWxpZGF0aW9uLWFsZXJ0PlxyXG48L3NtZS1mb3JtLWZpZWxkLWxheW91dD5cclxuIl19
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1mb3JtLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2Zvcm0vZm9ybS1maWVsZC9saXN0L2xpc3QtZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL2Zvcm0tZmllbGQvbGlzdC9saXN0LWZvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUV2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7OztJQ0ZwRSw4QkFDd0U7SUFDdEUsZ0NBRWdIO0lBRjFDLHdQQUFzQiwyTEFBQTtJQUE1RixpQkFFZ0g7SUFDaEgsaUNBRWlHO0lBQTFCLCtOQUF5QjtJQUM5RiwyQkFBNEQ7SUFDOUQsaUJBQVM7SUFDWCxpQkFBTTs7OztJQVJrRSxlQUFzQjtJQUF0Qiw0Q0FBc0I7SUFFMUYsNklBQTJHO0lBRzNHLGVBQW9FO0lBQXBFLHlGQUFvRTtJQURwRSxpR0FBZ0Y7Ozs7SUFQdEYsOEJBQXNFO0lBQ3BFLDZFQVVNO0lBQ04saUNBRTRGO0lBQXhCLDJMQUF1QjtJQUN6RiwwQkFBMkM7SUFDM0MsNEJBQU07SUFBQSxZQUE2RDtJQUFBLGlCQUFPO0lBQzVFLGlCQUFTO0lBQ1gsaUJBQU07OztJQWpCa0IsZUFBUztJQUFULHNDQUFTLHFDQUFBO0lBYTdCLGVBQWlFO0lBQWpFLHNGQUFpRTtJQURqRSw4RkFBNkU7SUFHdkUsZUFBNkQ7SUFBN0Qsc0ZBQTZEOztBRFh6RTs7R0FFRztBQUtI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QzthQUNsRDsyREFjYyxTQUFTO2tCQURuQixXQUFXO21CQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERvbSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZG9tL2RvbSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25BbGVydHMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uLWFsZXJ0L3ZhbGlkYXRpb24tYWxlcnQnO1xyXG5pbXBvcnQgeyBTbWVJbnRlcm5hbEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBBY2Nlc3NpYmxlIEltcGxlbWVudGF0aW9uIG9mIGEgZm9ybSBmaWVsZCBmb3IgYSBzdHJpbmcgYXJyYXlcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtZm9ybS1maWVsZFt0eXBlPVwibGlzdFwiXScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdEZvcm1GaWVsZENvbXBvbmVudCBleHRlbmRzIFNtZUludGVybmFsRm9ybUZpZWxkQ29tcG9uZW50PHN0cmluZ1tdPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ0xpc3RGb3JtRmllbGRDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGFyaWEgbGFiZWwgZm9yIHRoaXMgaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcclxuICAgIHB1YmxpYyBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVyZ2VkRGVzY3JpcHRpb25MYWJlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIExpc3RGb3JtRmllbGRDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWV0aG9kIGNhbGxlZCBhZnRlciB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncm9sZScsICdncm91cCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkcyBhbiBpdGVtIHRvIHRoZSBsaXN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRMaXN0SXRlbSh2YWx1ZTogc3RyaW5nID0gJycpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWUsIHZhbHVlXTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgYW4gaXRlbSBhdCB0aGUgZ2l2ZW4gaW5kZXhcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlbW92ZUl0ZW1BdChpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XHJcbiAgICAgICAgdmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gRG9tLmdldEZpcnN0Rm9jdXNhYmxlRGVzY2VuZGVudCh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIGlmIChmaXJzdEZvY3VzYWJsZSkge1xyXG4gICAgICAgICAgICBmaXJzdEZvY3VzYWJsZS5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtZXRob2QgY2FsbGVkIHdoZW4gYSA8c2VsZWN0PiBlbGVtZW50J3MgdmFsdWUgY2hhbmdlcy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHRyaWdnZXJWYWx1ZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWVdO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgaW5kZXggdG8gdHJhY2sgaXRlbXMgaW4gdGhlIGFycmF5IGJ5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0cmFja0J5SW5kZXgoaW5kZXgsIGl0ZW0pIHsgcmV0dXJuIGluZGV4OyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIHRoZSBpZEJhZyB1c2VkIGJ5IHRoaXMgY29tcG9uZW50IHRvIHN0b3JlIHVuaXF1ZSBlbGVtZW50IGlkcy5cclxuICAgICAqIGlkIHZhbHVlcyB3aWxsIGJlIGFzc2lnbmVkIGJlIHRoZSBAc2VlIEJhc2VDb21wb25lbnQgc3VwZXIgY2xhc3MuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBjcmVhdGVJZEJhZygpOiBNc2Z0U21lLlN0cmluZ01hcDxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkZXRhaWxzU3BhbjogJydcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVyZm9ybXMgdmFsaWRhdGlvbiB0aGF0IGlzIGludGVybmFsIHRvIHRoaXMgY29udHJvbC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gYyBUaGUgZm9ybSBjb250cm9sIGF0dGFjaGVkIHRvIHRoaXMgaW5zdGFuY2UuXHJcbiAgICAgKiBAcmV0dXJucyBBbnkgdmFsaWRhdGlvbiBhbGVydHMgZm9yIHRoaXMgY29udHJvbC5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkFsZXJ0cyB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgKE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQodGhpcy52YWx1ZSkgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHJlcXVpcmVkOiB0cnVlIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIU1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQodGhpcy52YWx1ZSkgJiYgdGhpcy52YWx1ZS5zb21lKCh4KSA9PiBNc2Z0U21lLmlzTnVsbE9yV2hpdGVTcGFjZSh4KSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIG51bGxWYWx1ZToge1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLkxpc3QuZW1wdHlWYWx1ZXNcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzdXBlci52YWxpZGF0ZShjKTtcclxuICAgIH1cclxufVxyXG4iLCI8c21lLWZvcm0tZmllbGQtbGF5b3V0IFtmb3JtRmllbGRdPVwidGhpc1wiPlxyXG4gIDxkaXYgKm5nSWY9XCJ2YWx1ZVwiIGNsYXNzPVwic21lLW1hcmdpbi1ib3R0b20teHMgc21lLWZvcm0tZmllbGQtZWRpdG9yXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZhbHVlO3RyYWNrQnk6IHRyYWNrQnlJbmRleDsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgIGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staCBzbWUtbWFyZ2luLWJvdHRvbS14cyBzbWUtZm9ybS1maWVsZC13aWR0aFwiPlxyXG4gICAgICA8aW5wdXQgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1tYXJnaW4tcmlnaHQteHNcIiB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwidmFsdWVbaV1cIlxyXG4gICAgICAgIChpbnB1dCk9XCJ0cmlnZ2VyVmFsdWVDaGFuZ2UoKVwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkZvcm0uTGlzdC5pdGVtQXJpYUxhYmVsLmZvcm1hdChsYWJlbCwgaSArIDEsIHZhbHVlLmxlbmd0aClcIiAvPlxyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNtZS1idXR0b24tdHJpZ2dlciBzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1idXR0b24tYXV0by13aWR0aFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkZvcm0uTGlzdC5yZW1vdmVCdXR0b25BcmlhTGFiZWxcIlxyXG4gICAgICAgIFt0aXRsZV09XCJzdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkZvcm0uTGlzdC5yZW1vdmVCdXR0b25Ub29sdGlwXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW1BdChpKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic21lLWljb24gc21lLWljb24tY2FuY2VsIHNtZS1jb2xvci1yZWRcIj48L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNtZS1idXR0b24tdHJpZ2dlciBzbWUtYnV0dG9uLWF1dG8td2lkdGggc21lLW1hcmdpbi1ib3R0b20teHNcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuRm9ybS5MaXN0LmFkZEJ1dHRvbkFyaWFMYWJlbFwiXHJcbiAgICAgIFt0aXRsZV09XCJzdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkZvcm0uTGlzdC5hZGRCdXR0b25Ub29sdGlwXCIgKGNsaWNrKT1cImFkZExpc3RJdGVtKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzbWUtaWNvbiBzbWUtaWNvbi1hZGRcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuPnt7c3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLkxpc3QuYWRkQnV0dG9uQXJpYUxhYmVsfX08L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPHNtZS12YWxpZGF0aW9uLWFsZXJ0IFthbGVydF09XCJhbGVydFwiPjwvc21lLXZhbGlkYXRpb24tYWxlcnQ+XHJcbjwvc21lLWZvcm0tZmllbGQtbGF5b3V0PiJdfQ==
@@ -87,7 +87,8 @@ export class ValidationAlertComponent extends CoreBaseComponent {
87
87
  * Indicates that this alert is hidden
88
88
  */
89
89
  get isHidden() {
90
- return !this.hasAlert || this.alert.hidden;
90
+ var _a;
91
+ return !!((_a = this.alert) === null || _a === void 0 ? void 0 : _a.hidden);
91
92
  }
92
93
  /**
93
94
  * Indicates that the current alert is valid
@@ -289,4 +290,4 @@ const ɵValidationAlertComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInherited
289
290
  type: HostBinding,
290
291
  args: ['class.sme-alert-success']
291
292
  }] }); })();
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL3ZhbGlkYXRpb24tYWxlcnQvdmFsaWRhdGlvbi1hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL3ZhbGlkYXRpb24tYWxlcnQvdmFsaWRhdGlvbi1hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBbUIsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0lDRjlFLHVDQUM2Rzs7SUFEM0QsOENBQWdDOzs7SUFLOUUsK0JBQW1GO0lBQUEsWUFBVztJQUFBLGlCQUFPOzs7SUFBNUUsK0NBQThCO0lBQTRCLGVBQVc7SUFBWCxvQ0FBVzs7O0lBQzlGLHVCQUF3Sjs7O0lBQXpFLDRDQUF1QixvREFBQTtJQUFoRiwrQ0FBOEI7OztJQUh4RCwyQkFBcUg7SUFDakgsK0JBQTREO0lBQUEsWUFBYTtJQUFBLGlCQUFPO0lBQ2hGLGlGQUFxRztJQUNyRywyRUFBd0o7SUFDNUosaUJBQU07OztJQUpnQiwyQ0FBMEIsNkVBQUE7SUFDdEMsZUFBMkI7SUFBM0IsNENBQTJCO0lBQTJCLGVBQWE7SUFBYixzQ0FBYTtJQUNoQixlQUF3QjtJQUF4QixnREFBd0I7SUFDM0IsZUFBdUI7SUFBdkIsK0NBQXVCOztBREZqRjs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGlCQUFpQjtJQUovRDs7UUFZSTs7V0FFRztRQUdJLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBUTlCOztXQUVHO1FBRUksU0FBSSxHQUFHLE9BQU8sQ0FBQztRQXFJZCxjQUFTLEdBQVcsSUFBSSxDQUFDO0tBMkRwQztJQXZORzs7T0FFRztJQUNILElBQWMsYUFBYTtRQUN2QixPQUFPLDBCQUEwQixDQUFDO0lBQ3RDLENBQUM7SUFvQkQ7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDZixPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLFFBQVE7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsaUJBQWlCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0lBQ3pELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRO2VBQ2IsQ0FBQyxJQUFJLENBQUMsU0FBUztlQUNmLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssdUJBQXVCLENBQUMsS0FBSzttQkFDbEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssdUJBQXVCLENBQUMsT0FBTyxDQUFDO0lBQ3ZHLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyx1QkFBdUIsQ0FBQyxhQUFhLENBQUM7SUFDN0csQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ1csU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDaEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUN2RixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDO1NBQzdCO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3ZCLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUM7U0FDMUI7YUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDN0IsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQzFCO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQztTQUMzQjthQUFNO1lBQ0gsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNMLENBQUM7SUFJRDs7T0FFRztJQUNJLFFBQVE7UUFDWCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDN0U7WUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7YUFDekM7aUJBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLDZCQUE2QixDQUFDO2FBQ2xEO2lCQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQzthQUM1QztpQkFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7YUFDekM7aUJBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLHlCQUF5QixDQUFDO2FBQzlDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxRTtTQUNKO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNPLHFCQUFxQjtRQUMzQixPQUFPLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUN4QyxXQUFXO1lBQ1gsVUFBVTtZQUNWLGtCQUFrQjtTQUNyQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7OztPQUdHO0lBQ1EsV0FBVztRQUNsQixPQUFPO1lBQ0gsWUFBWSxFQUFFLEVBQUU7WUFDaEIsU0FBUyxFQUFFLEVBQUU7U0FDaEIsQ0FBQztJQUNOLENBQUM7O29KQXZOUSx3QkFBd0I7Z0ZBQXhCLHdCQUF3Qjs7O1FDYnJDLHFHQUM2RztRQUU3Ryx5RUFJTTs7UUFQMkIsb0NBQWU7UUFHMUMsZUFBYztRQUFkLG1DQUFjOztxRkRVUCx3QkFBd0I7dUZBQXhCLHdCQUF3QjtjQUpwQyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MsV0FBVyxFQUFFLG1DQUFtQzthQUNuRDtnQkFjVSxjQUFjO2tCQUZwQixXQUFXO21CQUFDLDRCQUE0Qjs7a0JBQ3hDLEtBQUs7WUFPQyxLQUFLO2tCQURYLEtBQUs7WUFPQyxJQUFJO2tCQURWLEtBQUs7WUFxQkssUUFBUTtrQkFEbEIsV0FBVzttQkFBQyx1QkFBdUI7WUE0Q3pCLFNBQVM7a0JBRG5CLFdBQVc7bUJBQUMseUJBQXlCO1lBVTNCLE9BQU87a0JBRGpCLFdBQVc7bUJBQUMsdUJBQXVCO1lBYXpCLFNBQVM7a0JBRG5CLFdBQVc7bUJBQUMseUJBQXlCO1lBVTNCLGVBQWU7a0JBRHpCLFdBQVc7bUJBQUMsK0JBQStCO1lBVWpDLFNBQVM7a0JBRG5CLFdBQVc7bUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkFsZXJ0LCBWYWxpZGF0aW9uQWxlcnRTZXZlcml0eSB9IGZyb20gJy4vdmFsaWRhdGlvbi1hbGVydCc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGEgZm9ybSB2YWxpZGF0aW9uIGFsZXJ0LlxyXG4gKiBBbGVydHMgYXJlIG5vdCBuZWNlc3NhcmlseSBlcnJvcnMsIHRoZXkgY2FuIGRpc3BsYXkgb3RoZXIgdHlwZXMgb2ZcclxuICogaW5mb3JtYXRpb24gdGhhdCB0aGUgdXNlciBzaG91bGQga25vdyBhYm91dCBhIHZhbHVlIHRoZXkgZW50ZXJlZCBpbnRvIGEgZm9ybSBmaWVsZFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS12YWxpZGF0aW9uLWFsZXJ0LCBzbWUtYWxlcnQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZhbGlkYXRpb24tYWxlcnQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uQWxlcnRDb21wb25lbnQgZXh0ZW5kcyBDb3JlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnVmFsaWRhdGlvbkFsZXJ0Q29tcG9uZW50JztcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogT3B0aW9uYWxseSBzaG93IGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBhbGVydC5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtYmFja2dyb3VuZCcpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNob3dCYWNrZ3JvdW5kID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgYWxlcnQgVmFsaWRhdGlvbiBhbGVydCB3ZSBuZWVkIHRvIGRpc3BsYXkuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWxlcnQ6IFZhbGlkYXRpb25BbGVydDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBkZWZhdWx0IHJvbGUgZm9yIHRoZSBhbGVydFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJvbGUgPSAnYWxlcnQnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoZSB2YWx1ZSB0byB1c2UgZm9yIHRoZSAncm9sZScgYXR0cmlidXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgdXNlUm9sZUFsZXJ0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5yb2xlKSA/IG51bGwgOiAnYWxlcnQnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYW4gYWxlcnQgdG8gZGlzcGxheVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGhhc0FsZXJ0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZCh0aGlzLmFsZXJ0KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoaXMgYWxlcnQgaXMgaGlkZGVuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWxheW91dC1ub25lJylcclxuICAgIHB1YmxpYyBnZXQgaXNIaWRkZW4oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmhhc0FsZXJ0IHx8IHRoaXMuYWxlcnQuaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGN1cnJlbnQgYWxlcnQgaXMgdmFsaWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB2YWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5oYXNBbGVydCAmJiB0aGlzLmFsZXJ0LnZhbGlkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGN1cnJlbnQgYWxlcnQgaXMgdmFsaWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBtZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQWxlcnQgPyB0aGlzLmFsZXJ0Lm1lc3NhZ2UgOiAnJztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoZSBjdXJyZW50IGFsZXJ0IHNob3VsZCBiZSByZW5kZXJlZCB3aXRoIG1hcmtkb3duXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgaXNNYXJrZG93bk1lc3NhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQWxlcnQgJiYgdGhpcy5hbGVydC5pc01hcmtkb3duTWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoZSBjdXJyZW50IGFsZXJ0IGhhcyBhIHNldmVyaXR5IGRlZmluZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBoYXNTZXZlcml0eSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5oYXNBbGVydCAmJiAhTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChWYWxpZGF0aW9uQWxlcnRTZXZlcml0eVt0aGlzLmFsZXJ0LnNldmVyaXR5XSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgY3VycmVudCBhbGVydCBoYXMgYSBjdXN0b20gaWNvblxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGhhc0N1c3RvbUljb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQWxlcnQgJiYgIU1zZnRTbWUuaXNOdWxsT3JXaGl0ZVNwYWNlKHRoaXMuYWxlcnQuaWNvbkNsYXNzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoZSBjdXJyZW50IGFsZXJ0IGlzIHZhbGlkXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWFsZXJ0LXBlbmRpbmcnKVxyXG4gICAgcHVibGljIGdldCBpc1BlbmRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQWxlcnQgJiYgdGhpcy5hbGVydC5wZW5kaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGN1cnJlbnQgYWxlcnQgaXMgYW4gZXJyb3IgYWxlcnRcclxuICAgICAqIEVycm9ycyBhcmUgYWx3YXlzIGludmFsaWQgd2l0aCBlaXRoZXIgbm8gc2V2ZXJpdHkgb3IgZXJyb3Igc2V2ZXJpdHlcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtZXJyb3InKVxyXG4gICAgcHVibGljIGdldCBpc0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc0FsZXJ0XHJcbiAgICAgICAgICAgICYmICF0aGlzLmlzUGVuZGluZ1xyXG4gICAgICAgICAgICAmJiAodGhpcy5hbGVydC5zZXZlcml0eSA9PT0gVmFsaWRhdGlvbkFsZXJ0U2V2ZXJpdHkuRXJyb3JcclxuICAgICAgICAgICAgICAgIHx8ICghdGhpcy52YWxpZCAmJiAhdGhpcy5oYXNTZXZlcml0eSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGN1cnJlbnQgYWxlcnQgaXMgYW4gd2FybmluZyBhbGVydFxyXG4gICAgICogV2FybmluZ3MgbWF5IGJlIHZhbGlkIG9yIGludmFsaWQgKHVzdWFsbHkgdmFsaWQpIHdpdGggd2FybmluZyBzZXZlcml0eVxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1hbGVydC13YXJuaW5nJylcclxuICAgIHB1YmxpYyBnZXQgaXNXYXJuaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc0FsZXJ0ICYmICF0aGlzLmlzUGVuZGluZyAmJiB0aGlzLmFsZXJ0LnNldmVyaXR5ID09PSBWYWxpZGF0aW9uQWxlcnRTZXZlcml0eS5XYXJuaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGN1cnJlbnQgYWxlcnQgaXMgYW4gaW5mb3JtYXRpb25hbCBhbGVydFxyXG4gICAgICogSW5mb3JtYXRpb25hbCBhbGVydHMgbWF5IGJlIHZhbGlkIG9yIGludmFsaWQgKHVzdWFsbHkgdmFsaWQpIHdpdGggaW5mb3JtYXRpb25hbCBzZXZlcml0eVxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1hbGVydC1pbmZvcm1hdGlvbmFsJylcclxuICAgIHB1YmxpYyBnZXQgaXNJbmZvcm1hdGlvbmFsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc0FsZXJ0ICYmICF0aGlzLmlzUGVuZGluZyAmJiB0aGlzLmFsZXJ0LnNldmVyaXR5ID09PSBWYWxpZGF0aW9uQWxlcnRTZXZlcml0eS5JbmZvcm1hdGlvbmFsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGN1cnJlbnQgYWxlcnQgaXMgYW4gc3VjY2VzcyBhbGVydFxyXG4gICAgICogU3VjY2VzcyBhbGVydHMgYXJlIGFsd2F5cyB2YWxpZCB3aXRoIG5vIHNldmVyaXR5IHNldmVyaXR5XHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWFsZXJ0LXN1Y2Nlc3MnKVxyXG4gICAgcHVibGljIGdldCBpc1N1Y2Nlc3MoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWQgJiYgIXRoaXMuaXNQZW5kaW5nICYmICF0aGlzLmhhc1NldmVyaXR5O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3B0aW9uYWxseSBjZW50ZXIgdGV4dCBmb3IgdGhlIGFsZXJ0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHVzZUlubGluZUxleGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc0FsZXJ0ID8gISF0aGlzLmFsZXJ0LnVzZUlubGluZUxleGVyIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgY3VycmVudCBhbGVydCBpcyBhbiBzdWNjZXNzIGFsZXJ0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgYWxlcnRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgYWxlcnRUeXBlcyA9IHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Db21tb24uRm9ybS5WYWxpZGF0aW9uLkFsZXJ0VHlwZXM7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNQZW5kaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhbGVydFR5cGVzLnBlbmRpbmc7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gYWxlcnRUeXBlcy5zdWNjZXNzO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1dhcm5pbmcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGFsZXJ0VHlwZXMud2FybjtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNJbmZvcm1hdGlvbmFsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhbGVydFR5cGVzLmluZm87XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGFsZXJ0VHlwZXMuZXJyb3I7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGljb25DbGFzczogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudGF0aW9uIG9mIGFuZ3VsYXIgT25Jbml0IGludGVyZmFjZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLmFsZXJ0KSB7XHJcbiAgICAgICAgICAgIGlmICghTXNmdFNtZS5pc051bGxPcldoaXRlU3BhY2UodGhpcy5pY29uQ2xhc3MpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5pY29uQ2xhc3MpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNDdXN0b21JY29uKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmljb25DbGFzcyA9IHRoaXMuYWxlcnQuaWNvbkNsYXNzO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNFcnJvcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSAnc21lLWljb24tY3JpdGljYWxFcnJvclNvbGlkJztcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzV2FybmluZykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSAnc21lLWljb24td2FybmluZ1NvbGlkJztcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzSW5mb3JtYXRpb25hbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSAnc21lLWljb24taW5mb1NvbGlkJztcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSAnc21lLWljb24tY29tcGxldGVkU29saWQnO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoIU1zZnRTbWUuaXNOdWxsT3JXaGl0ZVNwYWNlKHRoaXMuaWNvbkNsYXNzKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuaWNvbkNsYXNzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKiBXaGVuIGNhbGxlZCBpbiB0aGUgQHNlZSBCYXNlQ29tcG9uZW50IHN1cGVyIGNsYXNzIGluaXRpYWxpemF0aW9uLCBUaGVzZSBjbGFzc2VzIHdpbGwgYmUgYXV0b21hdGljYWxseSBhc3NpZ25lZCB0byB0aGUgaG9zdCBlbGVtZW50LlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1hbGVydCcsXHJcbiAgICAgICAgICAgICdzbWUtaWNvbicsXHJcbiAgICAgICAgICAgICdzbWUtaWNvbi1zaXplLXNtJ1xyXG4gICAgICAgIF0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyB0aGUgaWRCYWcgdXNlZCBieSB0aGlzIGNvbXBvbmVudCB0byBzdG9yZSB1bmlxdWUgZWxlbWVudCBpZHMuXHJcbiAgICAgKiBpZCB2YWx1ZXMgd2lsbCBiZSBhc3NpZ25lZCBiZSB0aGUgQHNlZSBCYXNlQ29tcG9uZW50IHN1cGVyIGNsYXNzLlxyXG4gICAgICovXHJcbiAgICAgcHJvdGVjdGVkIGNyZWF0ZUlkQmFnKCk6IE1zZnRTbWUuU3RyaW5nTWFwPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGFsZXJ0TWVzc2FnZTogJycsXHJcbiAgICAgICAgICAgIGFsZXJ0VHlwZTogJydcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8c21lLWxvYWRpbmctd2hlZWwgc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCJpc1BlbmRpbmdcIiBbaXNCYWNrZ3JvdW5kVHJhbnNwYXJlbnRdPVwidHJ1ZVwiXHJcbiAgICBjbGFzcz1cInNtZS1sYXlvdXQtcmVsYXRpdmUgc21lLWxheW91dC1pbmxpbmUtYmxvY2sgc21lLXdpZHRoLWxnIHNtZS1tYXJnaW4tcmlnaHQteHNcIj48L3NtZS1sb2FkaW5nLXdoZWVsPlxyXG5cclxuPGRpdiAqbmdJZj1cImhhc0FsZXJ0XCIgW2F0dHIucm9sZV09XCJ1c2VSb2xlQWxlcnRcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWRCYWcuYWxlcnRUeXBlICsgJyAnICsgaWRCYWcuYWxlcnRNZXNzYWdlXCI+XHJcbiAgICA8c3BhbiBbYXR0ci5pZF09XCJpZEJhZy5hbGVydFR5cGVcIiBjbGFzcz1cInNtZS1zY3JlZW4tcmVhZGVyXCI+e3thbGVydFR5cGV9fTwvc3Bhbj5cclxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFthdHRyLmlkXT1cImlkQmFnLmFsZXJ0TWVzc2FnZVwiICpuZ0lmPVwiIWlzTWFya2Rvd25NZXNzYWdlXCI+e3ttZXNzYWdlfX08L3NwYW4+XHJcbiAgICA8cCBhcmlhLWhpZGRlbj1cInRydWVcIiBbYXR0ci5pZF09XCJpZEJhZy5hbGVydE1lc3NhZ2VcIiAqbmdJZj1cImlzTWFya2Rvd25NZXNzYWdlXCIgW3NtZU1hcmtkb3duXT1cIm1lc3NhZ2VcIiBbc21lTWFya2Rvd25Vc2VJbmxpbmVMZXhlcl09XCJ1c2VJbmxpbmVMZXhlclwiPjwvcD5cclxuPC9kaXY+Il19
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL3ZhbGlkYXRpb24tYWxlcnQvdmFsaWRhdGlvbi1hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL3ZhbGlkYXRpb24tYWxlcnQvdmFsaWRhdGlvbi1hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBbUIsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0lDRjlFLHVDQUM2Rzs7SUFEM0QsOENBQWdDOzs7SUFLOUUsK0JBQW1GO0lBQUEsWUFBVztJQUFBLGlCQUFPOzs7SUFBNUUsK0NBQThCO0lBQTRCLGVBQVc7SUFBWCxvQ0FBVzs7O0lBQzlGLHVCQUF3Sjs7O0lBQXpFLDRDQUF1QixvREFBQTtJQUFoRiwrQ0FBOEI7OztJQUh4RCwyQkFBcUg7SUFDakgsK0JBQTREO0lBQUEsWUFBYTtJQUFBLGlCQUFPO0lBQ2hGLGlGQUFxRztJQUNyRywyRUFBd0o7SUFDNUosaUJBQU07OztJQUpnQiwyQ0FBMEIsNkVBQUE7SUFDdEMsZUFBMkI7SUFBM0IsNENBQTJCO0lBQTJCLGVBQWE7SUFBYixzQ0FBYTtJQUNoQixlQUF3QjtJQUF4QixnREFBd0I7SUFDM0IsZUFBdUI7SUFBdkIsK0NBQXVCOztBREZqRjs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGlCQUFpQjtJQUovRDs7UUFZSTs7V0FFRztRQUdJLG1CQUFjLEdB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QUFDOztvSkF2TlEsd0JBQXdCO2dGQUF4Qix3QkFBd0I7OztRQ2JyQyxxR0FDNkc7UUFFN0cseUVBSU07O1FBUDJCLG9DQUFlO1FBRzFDLGVBQWM7UUFBZCxtQ0FBYzs7cUZEVVAsd0JBQXdCO3VGQUF4Qix3QkFBd0I7Y0FKcEMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxpQ0FBaUM7Z0JBQzNDLFdBQVcsRUFBRSxtQ0FBbUM7YUFDbkQ7Z0JBY1UsY0FBYztrQkFGcEIsV0FBVzttQkFBQyw0QkFBNEI7O2tCQUN4QyxLQUFLO1lBT0MsS0FBSztrQkFEWCxLQUFLO1lBT0MsSUFBSTtrQkFEVixLQUFLO1lBcUJLLFFBQVE7a0JBRGxCLFdBQVc7bUJBQUMsdUJBQXVCO1lBNEN6QixTQUFTO2tCQURuQixXQUFXO21CQUFDLHlCQUF5QjtZQVUzQixPQUFPO2tCQURqQixXQUFXO21CQUFDLHVCQUF1QjtZQWF6QixTQUFTO2tCQURuQixXQUFXO21CQUFDLHlCQUF5QjtZQVUzQixlQUFlO2tCQUR6QixXQUFXO21CQUFDLCtCQUErQjtZQVVqQyxTQUFTO2tCQURuQixXQUFXO21CQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25BbGVydCwgVmFsaWRhdGlvbkFsZXJ0U2V2ZXJpdHkgfSBmcm9tICcuL3ZhbGlkYXRpb24tYWxlcnQnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhIGZvcm0gdmFsaWRhdGlvbiBhbGVydC5cclxuICogQWxlcnRzIGFyZSBub3QgbmVjZXNzYXJpbHkgZXJyb3JzLCB0aGV5IGNhbiBkaXNwbGF5IG90aGVyIHR5cGVzIG9mXHJcbiAqIGluZm9ybWF0aW9uIHRoYXQgdGhlIHVzZXIgc2hvdWxkIGtub3cgYWJvdXQgYSB2YWx1ZSB0aGV5IGVudGVyZWQgaW50byBhIGZvcm0gZmllbGRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtdmFsaWRhdGlvbi1hbGVydCwgc21lLWFsZXJ0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi92YWxpZGF0aW9uLWFsZXJ0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkFsZXJ0Q29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1ZhbGlkYXRpb25BbGVydENvbXBvbmVudCc7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIE9wdGlvbmFsbHkgc2hvdyBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgYWxlcnQuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWFsZXJ0LWJhY2tncm91bmQnKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93QmFja2dyb3VuZCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGFsZXJ0IFZhbGlkYXRpb24gYWxlcnQgd2UgbmVlZCB0byBkaXNwbGF5LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGFsZXJ0OiBWYWxpZGF0aW9uQWxlcnQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZGVmYXVsdCByb2xlIGZvciB0aGUgYWxlcnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyByb2xlID0gJ2FsZXJ0JztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGUgdmFsdWUgdG8gdXNlIGZvciB0aGUgJ3JvbGUnIGF0dHJpYnV0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHVzZVJvbGVBbGVydCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBNc2Z0U21lLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMucm9sZSkgPyBudWxsIDogJ2FsZXJ0JztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoZXJlIGlzIGFuIGFsZXJ0IHRvIGRpc3BsYXlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBoYXNBbGVydCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIU1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5hbGVydCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGlzIGFsZXJ0IGlzIGhpZGRlblxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1sYXlvdXQtbm9uZScpXHJcbiAgICBwdWJsaWMgZ2V0IGlzSGlkZGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMuYWxlcnQ/LmhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoZSBjdXJyZW50IGFsZXJ0IGlzIHZhbGlkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQWxlcnQgJiYgdGhpcy5hbGVydC52YWxpZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoZSBjdXJyZW50IGFsZXJ0IGlzIHZhbGlkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgbWVzc2FnZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc0FsZXJ0ID8gdGhpcy5hbGVydC5tZXNzYWdlIDogJyc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgY3VycmVudCBhbGVydCBzaG91bGQgYmUgcmVuZGVyZWQgd2l0aCBtYXJrZG93blxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGlzTWFya2Rvd25NZXNzYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc0FsZXJ0ICYmIHRoaXMuYWxlcnQuaXNNYXJrZG93bk1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgY3VycmVudCBhbGVydCBoYXMgYSBzZXZlcml0eSBkZWZpbmVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgaGFzU2V2ZXJpdHkoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQWxlcnQgJiYgIU1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQoVmFsaWRhdGlvbkFsZXJ0U2V2ZXJpdHlbdGhpcy5hbGVydC5zZXZlcml0eV0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGN1cnJlbnQgYWxlcnQgaGFzIGEgY3VzdG9tIGljb25cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBoYXNDdXN0b21JY29uKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc0FsZXJ0ICYmICFNc2Z0U21lLmlzTnVsbE9yV2hpdGVTcGFjZSh0aGlzLmFsZXJ0Lmljb25DbGFzcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgY3VycmVudCBhbGVydCBpcyB2YWxpZFxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1hbGVydC1wZW5kaW5nJylcclxuICAgIHB1YmxpYyBnZXQgaXNQZW5kaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc0FsZXJ0ICYmIHRoaXMuYWxlcnQucGVuZGluZztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoZSBjdXJyZW50IGFsZXJ0IGlzIGFuIGVycm9yIGFsZXJ0XHJcbiAgICAgKiBFcnJvcnMgYXJlIGFsd2F5cyBpbnZhbGlkIHdpdGggZWl0aGVyIG5vIHNldmVyaXR5IG9yIGVycm9yIHNldmVyaXR5XHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWFsZXJ0LWVycm9yJylcclxuICAgIHB1YmxpYyBnZXQgaXNFcnJvcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5oYXNBbGVydFxyXG4gICAgICAgICAgICAmJiAhdGhpcy5pc1BlbmRpbmdcclxuICAgICAgICAgICAgJiYgKHRoaXMuYWxlcnQuc2V2ZXJpdHkgPT09IFZhbGlkYXRpb25BbGVydFNldmVyaXR5LkVycm9yXHJcbiAgICAgICAgICAgICAgICB8fCAoIXRoaXMudmFsaWQgJiYgIXRoaXMuaGFzU2V2ZXJpdHkpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoZSBjdXJyZW50IGFsZXJ0IGlzIGFuIHdhcm5pbmcgYWxlcnRcclxuICAgICAqIFdhcm5pbmdzIG1heSBiZSB2YWxpZCBvciBpbnZhbGlkICh1c3VhbGx5IHZhbGlkKSB3aXRoIHdhcm5pbmcgc2V2ZXJpdHlcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtd2FybmluZycpXHJcbiAgICBwdWJsaWMgZ2V0IGlzV2FybmluZygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5oYXNBbGVydCAmJiAhdGhpcy5pc1BlbmRpbmcgJiYgdGhpcy5hbGVydC5zZXZlcml0eSA9PT0gVmFsaWRhdGlvbkFsZXJ0U2V2ZXJpdHkuV2FybmluZztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoZSBjdXJyZW50IGFsZXJ0IGlzIGFuIGluZm9ybWF0aW9uYWwgYWxlcnRcclxuICAgICAqIEluZm9ybWF0aW9uYWwgYWxlcnRzIG1heSBiZSB2YWxpZCBvciBpbnZhbGlkICh1c3VhbGx5IHZhbGlkKSB3aXRoIGluZm9ybWF0aW9uYWwgc2V2ZXJpdHlcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtaW5mb3JtYXRpb25hbCcpXHJcbiAgICBwdWJsaWMgZ2V0IGlzSW5mb3JtYXRpb25hbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5oYXNBbGVydCAmJiAhdGhpcy5pc1BlbmRpbmcgJiYgdGhpcy5hbGVydC5zZXZlcml0eSA9PT0gVmFsaWRhdGlvbkFsZXJ0U2V2ZXJpdHkuSW5mb3JtYXRpb25hbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoZSBjdXJyZW50IGFsZXJ0IGlzIGFuIHN1Y2Nlc3MgYWxlcnRcclxuICAgICAqIFN1Y2Nlc3MgYWxlcnRzIGFyZSBhbHdheXMgdmFsaWQgd2l0aCBubyBzZXZlcml0eSBzZXZlcml0eVxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1hbGVydC1zdWNjZXNzJylcclxuICAgIHB1YmxpYyBnZXQgaXNTdWNjZXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkICYmICF0aGlzLmlzUGVuZGluZyAmJiAhdGhpcy5oYXNTZXZlcml0eTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9wdGlvbmFsbHkgY2VudGVyIHRleHQgZm9yIHRoZSBhbGVydC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB1c2VJbmxpbmVMZXhlcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5oYXNBbGVydCA/ICEhdGhpcy5hbGVydC51c2VJbmxpbmVMZXhlciA6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGN1cnJlbnQgYWxlcnQgaXMgYW4gc3VjY2VzcyBhbGVydFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGFsZXJ0VHlwZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGFsZXJ0VHlwZXMgPSB0aGlzLnN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuQ29tbW9uLkZvcm0uVmFsaWRhdGlvbi5BbGVydFR5cGVzO1xyXG4gICAgICAgIGlmICh0aGlzLmlzUGVuZGluZykge1xyXG4gICAgICAgICAgICByZXR1cm4gYWxlcnRUeXBlcy5wZW5kaW5nO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGFsZXJ0VHlwZXMuc3VjY2VzcztcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNXYXJuaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhbGVydFR5cGVzLndhcm47XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzSW5mb3JtYXRpb25hbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gYWxlcnRUeXBlcy5pbmZvO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Vycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhbGVydFR5cGVzLmVycm9yO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpY29uQ2xhc3M6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBhbmd1bGFyIE9uSW5pdCBpbnRlcmZhY2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBpZiAoY2hhbmdlcy5hbGVydCkge1xyXG4gICAgICAgICAgICBpZiAoIU1zZnRTbWUuaXNOdWxsT3JXaGl0ZVNwYWNlKHRoaXMuaWNvbkNsYXNzKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuaWNvbkNsYXNzKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzQ3VzdG9tSWNvbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSB0aGlzLmFsZXJ0Lmljb25DbGFzcztcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gJ3NtZS1pY29uLWNyaXRpY2FsRXJyb3JTb2xpZCc7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1dhcm5pbmcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gJ3NtZS1pY29uLXdhcm5pbmdTb2xpZCc7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0luZm9ybWF0aW9uYWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gJ3NtZS1pY29uLWluZm9Tb2xpZCc7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gJ3NtZS1pY29uLWNvbXBsZXRlZFNvbGlkJztcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKCFNc2Z0U21lLmlzTnVsbE9yV2hpdGVTcGFjZSh0aGlzLmljb25DbGFzcykpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLmljb25DbGFzcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBpbml0aWFsIGhvc3QgY2xhc3NlcyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZWxlbWVudFxyXG4gICAgICogV2hlbiBjYWxsZWQgaW4gdGhlIEBzZWUgQmFzZUNvbXBvbmVudCBzdXBlciBjbGFzcyBpbml0aWFsaXphdGlvbiwgVGhlc2UgY2xhc3NlcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgdG8gdGhlIGhvc3QgZWxlbWVudC5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtYWxlcnQnLFxyXG4gICAgICAgICAgICAnc21lLWljb24nLFxyXG4gICAgICAgICAgICAnc21lLWljb24tc2l6ZS1zbSdcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgdGhlIGlkQmFnIHVzZWQgYnkgdGhpcyBjb21wb25lbnQgdG8gc3RvcmUgdW5pcXVlIGVsZW1lbnQgaWRzLlxyXG4gICAgICogaWQgdmFsdWVzIHdpbGwgYmUgYXNzaWduZWQgYmUgdGhlIEBzZWUgQmFzZUNvbXBvbmVudCBzdXBlciBjbGFzcy5cclxuICAgICAqL1xyXG4gICAgIHByb3RlY3RlZCBjcmVhdGVJZEJhZygpOiBNc2Z0U21lLlN0cmluZ01hcDxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBhbGVydE1lc3NhZ2U6ICcnLFxyXG4gICAgICAgICAgICBhbGVydFR5cGU6ICcnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPHNtZS1sb2FkaW5nLXdoZWVsIHNpemU9XCJzbWFsbFwiICpuZ0lmPVwiaXNQZW5kaW5nXCIgW2lzQmFja2dyb3VuZFRyYW5zcGFyZW50XT1cInRydWVcIlxyXG4gICAgY2xhc3M9XCJzbWUtbGF5b3V0LXJlbGF0aXZlIHNtZS1sYXlvdXQtaW5saW5lLWJsb2NrIHNtZS13aWR0aC1sZyBzbWUtbWFyZ2luLXJpZ2h0LXhzXCI+PC9zbWUtbG9hZGluZy13aGVlbD5cclxuXHJcbjxkaXYgKm5nSWY9XCJoYXNBbGVydFwiIFthdHRyLnJvbGVdPVwidXNlUm9sZUFsZXJ0XCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkQmFnLmFsZXJ0VHlwZSArICcgJyArIGlkQmFnLmFsZXJ0TWVzc2FnZVwiPlxyXG4gICAgPHNwYW4gW2F0dHIuaWRdPVwiaWRCYWcuYWxlcnRUeXBlXCIgY2xhc3M9XCJzbWUtc2NyZWVuLXJlYWRlclwiPnt7YWxlcnRUeXBlfX08L3NwYW4+XHJcbiAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBbYXR0ci5pZF09XCJpZEJhZy5hbGVydE1lc3NhZ2VcIiAqbmdJZj1cIiFpc01hcmtkb3duTWVzc2FnZVwiPnt7bWVzc2FnZX19PC9zcGFuPlxyXG4gICAgPHAgYXJpYS1oaWRkZW49XCJ0cnVlXCIgW2F0dHIuaWRdPVwiaWRCYWcuYWxlcnRNZXNzYWdlXCIgKm5nSWY9XCJpc01hcmtkb3duTWVzc2FnZVwiIFtzbWVNYXJrZG93bl09XCJtZXNzYWdlXCIgW3NtZU1hcmtkb3duVXNlSW5saW5lTGV4ZXJdPVwidXNlSW5saW5lTGV4ZXJcIj48L3A+XHJcbjwvZGl2PiJdfQ==
@@ -9,6 +9,7 @@ export { BackgroundExtensionRootComponent } from './extension-root/background-ex
9
9
  export { ExtensionRootModule } from './extension-root/extension-root.module';
10
10
  export { SmeUxComponent } from './ux/sme-ux.component';
11
11
  export { SmeUxModule } from './ux/sme-ux.module';
12
+ export * from './accordion/index';
12
13
  export * from './actions/index';
13
14
  export * from './active-directory/index';
14
15
  export * from './alert-bar/index';
@@ -49,4 +50,4 @@ export * from './tile/index';
49
50
  export * from './tooltip/index';
50
51
  export * from './wizard/index';
51
52
  export * from './context-menu/index';
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBCYWNrZHJvcENvbXBvbmVudCB9IGZyb20gJy4vYmFja2Ryb3AvYmFja2Ryb3AuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQmFja2Ryb3BNb2R1bGUgfSBmcm9tICcuL2JhY2tkcm9wL2JhY2tkcm9wLm1vZHVsZSc7XHJcbmV4cG9ydCB7IFRvb2xIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2wtaGVhZGVyL3Rvb2wtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFRvb2xIZWFkZXJNb2R1bGUgfSBmcm9tICcuL3Rvb2wtaGVhZGVyL3Rvb2wtaGVhZGVyLm1vZHVsZSc7XHJcbmV4cG9ydCB7IElkbGVDb21wb25lbnQgfSBmcm9tICcuL2lkbGUvaWRsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJZGxlTW9kdWxlIH0gZnJvbSAnLi9pZGxlL2lkbGUubW9kdWxlJztcclxuZXhwb3J0IHsgVXhFeHRlbnNpb25Sb290Q29tcG9uZW50IH0gZnJvbSAnLi9leHRlbnNpb24tcm9vdC91eC1leHRlbnNpb24tcm9vdC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBCYWNrZ3JvdW5kRXh0ZW5zaW9uUm9vdENvbXBvbmVudCB9IGZyb20gJy4vZXh0ZW5zaW9uLXJvb3QvYmFja2dyb3VuZC1leHRlbnNpb24tcm9vdC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBFeHRlbnNpb25Sb290TW9kdWxlIH0gZnJvbSAnLi9leHRlbnNpb24tcm9vdC9leHRlbnNpb24tcm9vdC5tb2R1bGUnO1xyXG5leHBvcnQgeyBTbWVVeENvbXBvbmVudCB9IGZyb20gJy4vdXgvc21lLXV4LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFNtZVV4TW9kdWxlIH0gZnJvbSAnLi91eC9zbWUtdXgubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYWN0aXZlLWRpcmVjdG9yeS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYWxlcnQtYmFyL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9iYWRnZS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmFubmVyL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9icmVhZGNydW1iLWhlYWRlci9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYi9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS10YWJsZS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGV0YWlscy9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlhbG9nL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudGF0aW9uL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9kb3VnaG51dC1jaGFydC9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2d1aWRlZC1wYW5lbC9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaGVhZGVyL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9ob3Jpem9udGFsLWJhci1jaGFydC9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0L2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9sZWdlbmQvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpbmUtY2hhcnQvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvYWRpbmctd2hlZWwvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL21hc3Rlci12aWV3L2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWNyZWRlbnRpYWxzLWZvcm0vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtYWxlcnQtYmFyL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9waXZvdC9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHktZ3JpZC9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktZWRpdG9yL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXNpemVyL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWEtZm9ybS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXR0aW5ncy9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc25hcC1pbi1leHRlbnNpb24vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NwbGl0LXZpZXcvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RpbGUvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dpemFyZC9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1tZW51L2luZGV4JztcclxuXHJcbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEJhY2tkcm9wQ29tcG9uZW50IH0gZnJvbSAnLi9iYWNrZHJvcC9iYWNrZHJvcC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBCYWNrZHJvcE1vZHVsZSB9IGZyb20gJy4vYmFja2Ryb3AvYmFja2Ryb3AubW9kdWxlJztcclxuZXhwb3J0IHsgVG9vbEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbC1oZWFkZXIvdG9vbC1oZWFkZXIuY29tcG9uZW50JztcclxuZXhwb3J0IHsgVG9vbEhlYWRlck1vZHVsZSB9IGZyb20gJy4vdG9vbC1oZWFkZXIvdG9vbC1oZWFkZXIubW9kdWxlJztcclxuZXhwb3J0IHsgSWRsZUNvbXBvbmVudCB9IGZyb20gJy4vaWRsZS9pZGxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IElkbGVNb2R1bGUgfSBmcm9tICcuL2lkbGUvaWRsZS5tb2R1bGUnO1xyXG5leHBvcnQgeyBVeEV4dGVuc2lvblJvb3RDb21wb25lbnQgfSBmcm9tICcuL2V4dGVuc2lvbi1yb290L3V4LWV4dGVuc2lvbi1yb290LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEJhY2tncm91bmRFeHRlbnNpb25Sb290Q29tcG9uZW50IH0gZnJvbSAnLi9leHRlbnNpb24tcm9vdC9iYWNrZ3JvdW5kLWV4dGVuc2lvbi1yb290LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEV4dGVuc2lvblJvb3RNb2R1bGUgfSBmcm9tICcuL2V4dGVuc2lvbi1yb290L2V4dGVuc2lvbi1yb290Lm1vZHVsZSc7XHJcbmV4cG9ydCB7IFNtZVV4Q29tcG9uZW50IH0gZnJvbSAnLi91eC9zbWUtdXguY29tcG9uZW50JztcclxuZXhwb3J0IHsgU21lVXhNb2R1bGUgfSBmcm9tICcuL3V4L3NtZS11eC5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FjdGl2ZS1kaXJlY3RvcnkvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0LWJhci9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmFkZ2UvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jhbm5lci9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYi1oZWFkZXIvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWIvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0L2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtdGFibGUvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RldGFpbHMvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnRhdGlvbi9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZG91Z2hudXQtY2hhcnQvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9mb3JtL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9ndWlkZWQtcGFuZWwvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2hlYWRlci9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaG9yaXpvbnRhbC1iYXItY2hhcnQvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ljb24vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xheW91dC9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGVnZW5kL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9saW5lLWNoYXJ0L2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nLXdoZWVsL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9tYXN0ZXItdmlldy9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1jcmVkZW50aWFscy1mb3JtL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9wYWdlLWFsZXJ0LWJhci9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGl2b3QvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5LWdyaWQvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWVkaXRvci9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVzaXplci9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hLWZvcm0vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2V0dGluZ3MvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NuYXAtaW4tZXh0ZW5zaW9uL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcGxpdC12aWV3L2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi90aWxlL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi90b29sdGlwL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi93aXphcmQvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQtbWVudS9pbmRleCc7XHJcblxyXG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Injector, Input, Optional, Output, QueryList, SkipSelf, ViewChild } from '@angular/core';
3
+ import { Debounce } from '@microsoft/windows-admin-center-sdk/core/base/decorators/debounce.decorators';
3
4
  import { CoreBaseComponent } from '../common/base.component';
4
5
  import { SmeInject } from '../common/decorators/injection.decorators';
5
6
  import { SME_LAYOUT_PROVIDER } from '../common/layout';
@@ -315,13 +316,14 @@ export class PivotComponent extends CoreBaseComponent {
315
316
  this.selection = tab;
316
317
  this.selectionChange.emit(tab);
317
318
  this.changeDetectorRef.detectChanges();
318
- setTimeout(() => {
319
- this.layoutChanged.emit();
320
- });
319
+ this.emitLayoutChanged();
321
320
  }
322
321
  }
322
+ emitLayoutChanged() {
323
+ this.layoutChanged.emit();
324
+ }
323
325
  onLayoutChanged() {
324
- setTimeout(() => { this.updatePivotTabs(); }, 0);
326
+ this.updatePivotTabs();
325
327
  }
326
328
  getTabPanelIndex(id, currentTab) {
327
329
  const tabPanelSection = document.getElementById(id);
@@ -385,9 +387,7 @@ export class PivotComponent extends CoreBaseComponent {
385
387
  currentFill += tabWidth;
386
388
  }
387
389
  }
388
- }
389
- tabWidthChanged(pivotTab) {
390
- this.updatePivotTabs();
390
+ this.emitLayoutChanged();
391
391
  }
392
392
  }
393
393
  /** @nocollapse */ PivotComponent.ɵfac = function PivotComponent_Factory(t) { return new (t || PivotComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(SME_LAYOUT_PROVIDER, 12)); };
@@ -459,6 +459,18 @@ __decorate([
459
459
  SmeInject(ChangeDetectorRef),
460
460
  __metadata("design:type", ChangeDetectorRef)
461
461
  ], PivotComponent.prototype, "changeDetectorRef", void 0);
462
+ __decorate([
463
+ Debounce(),
464
+ __metadata("design:type", Function),
465
+ __metadata("design:paramtypes", []),
466
+ __metadata("design:returntype", void 0)
467
+ ], PivotComponent.prototype, "emitLayoutChanged", null);
468
+ __decorate([
469
+ Debounce(0),
470
+ __metadata("design:type", Function),
471
+ __metadata("design:paramtypes", []),
472
+ __metadata("design:returntype", void 0)
473
+ ], PivotComponent.prototype, "onLayoutChanged", null);
462
474
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PivotComponent, [{
463
475
  type: Component,
464
476
  args: [{
@@ -506,5 +518,5 @@ __decorate([
506
518
  }], changeDetectorRef: [], dropDownButtonElement: [{
507
519
  type: ViewChild,
508
520
  args: ['dropDownButton']
509
- }] }); })();
510
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGl2b3QvcGl2b3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGl2b3QvcGl2b3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEUsT0FBTyxFQUFVLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztJQ3ZCdkUsOEJBQXNEO0lBQUEsWUFBYztJQUFBLGlCQUFLOzs7SUFBbkIsZUFBYztJQUFkLHVDQUFjOzs7SUFZNUQsdUJBQTJEOzs7SUFBL0IsK0JBQXVCOzs7O0lBTHJELGtDQUk4RTtJQUF2Qyx3UkFBc0M7SUFDM0UsMEZBQTJEO0lBQzNELDRCQUFNO0lBQUEsWUFBYTtJQUFBLGlCQUFPO0lBQzVCLGlCQUFTOzs7O0lBTCtCLGtFQUErQyx5Q0FBQTtJQUYzQix5Q0FBd0IsZ0RBQUEsMkRBQUE7SUFDbEYsc0RBQXFDLHFEQUFBLDRDQUFBO0lBSTlCLGVBQW1CO0lBQW5CLHVDQUFtQjtJQUNwQixlQUFhO0lBQWIsa0NBQWE7OztJQVNuQix1QkFBMkQ7OztJQUEvQiwrQkFBdUI7Ozs7SUFMckQsa0NBSXdCO0lBQXRCLHNQQUFxQjtJQUNyQiwwRkFBMkQ7SUFDM0QsNEJBQU07SUFBQSxZQUFhO0lBQUEsaUJBQU87SUFDNUIsaUJBQVM7Ozs7OztJQUwrQixtRUFBK0MsMENBQUE7SUFBckYsOERBQXFDO0lBRHJDLDhEQUF5QyxzREFBQSw2Q0FBQTtJQUlsQyxlQUFtQjtJQUFuQix1Q0FBbUI7SUFDcEIsZUFBYTtJQUFiLGtDQUFhOzs7SUFsQnZCLDZCQUE2RDtJQUUzRCxzRkFPUztJQUdULHNGQU9TO0lBQ1gsMEJBQWU7Ozs7SUFsQkosZUFBc0M7SUFBdEMsaUVBQXNDO0lBVXRDLGVBQXNDO0lBQXRDLGlFQUFzQzs7O0lBdUJ2Qyx1QkFBMkQ7OztJQUEvQixnQ0FBdUI7Ozs7SUFIckQsa0NBRWlHO0lBQS9GLGtSQUFzQztJQUN0QyxrRkFBMkQ7SUFDM0QsNEJBQU07SUFBQSxZQUFhO0lBQUEsaUJBQU87SUFDNUIsaUJBQVM7Ozs7SUFKd0Isb0VBQStDO0lBRGYsMENBQXdCLDREQUFBO0lBR2hGLGVBQW1CO0lBQW5CLHdDQUFtQjtJQUNwQixlQUFhO0lBQWIsbUNBQWE7OztJQUluQix1QkFBMkQ7OztJQUEvQixnQ0FBdUI7Ozs7SUFGckQsa0NBQ3dFO0lBQXRCLGdQQUFxQjtJQUNyRSxrRkFBMkQ7SUFDM0QsNEJBQU07SUFBQSxZQUFhO0lBQUEsaUJBQU87SUFDNUIsaUJBQVM7Ozs7SUFIUCxvRUFBK0M7SUFDeEMsZUFBbUI7SUFBbkIsd0NBQW1CO0lBQ3BCLGVBQWE7SUFBYixtQ0FBYTs7O0lBVnZCLDhCQUE2RTtJQUMzRSw2RUFLUztJQUNULDZFQUlTO0lBQ1gsaUJBQU07Ozs7SUFYSyxlQUFzQztJQUF0QyxrRUFBc0M7SUFNdEMsZUFBc0M7SUFBdEMsa0VBQXNDOzs7SUFhN0QsbUNBQzBDO0lBQ3hDLGdDQUErQjtJQUNqQyxpQkFBVTs7O0lBSDJELDREQUE0QztJQUFsRSwwQ0FBcUI7SUFDbEUsd0RBQXVDOzs7SUFVakMsd0JBQ2U7OztJQUpuQiw2QkFBdUQ7SUFDckQsbUNBQ2dIO0lBQzlHLGdJQUNlO0lBQ2pCLGlCQUFVO0lBQ1osMEJBQWU7Ozs7OztJQUxzQyxlQUEwQztJQUExQywrREFBMEM7SUFBcEUsbURBQXlCO0lBQ2hELDJEQUFxQyxtR0FBQTtJQUN0QixlQUF1RjtJQUF2Riw4SEFBdUY7OztJQUo1Ryw2QkFBNkQ7SUFDM0QsaUhBTWU7SUFDakIsMEJBQWU7Ozs7SUFQRSxlQUFzQztJQUF0QyxtRUFBc0M7OztJQUZ6RCw2QkFBb0M7SUFDbEMsaUdBUWU7SUFDakIsMEJBQWU7OztJQVRpQixlQUFnQjtJQUFoQiw0Q0FBZ0I7O0FEdENoRDs7Ozs7Ozs7Ozs7R0FXRztBQVNILE1BQU0sT0FBTyxjQUFlLFNBQVEsaUJBQWlCO0lBK0dqRDs7O09BR0c7SUFDSCxZQUNJLFFBQWtCLEVBQ21DLE1BQWM7UUFDbkUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBcEhiLGFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxrRUFBa0U7UUFDakYsb0JBQWUsR0FBRyxNQUFNLENBQUMsQ0FBQyxtQ0FBbUM7UUF5Q3BFOztXQUVHO1FBRUksb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUUvRDs7V0FFRztRQUVJLGtCQUFhLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFXcEU7O1dBRUc7UUFDSSxpQkFBWSxHQUFHLFlBQVksQ0FBQztRQUc1QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQWdEekIsSUFBSSxNQUFNLEVBQUU7WUFDUixtRUFBbUU7WUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0Y7SUFDTCxDQUFDO0lBdEhEOztPQUVHO0lBQ0gsSUFBYyxhQUFhO1FBQ3ZCLE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQW9CRDs7T0FFRztJQUNILElBQ1csV0FBVyxDQUFDLEtBQXVCO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUE0Q0Q7O09BRUc7SUFDSCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsaUJBQWlCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ3pFLENBQUM7SUFzQk0sa0JBQWtCO1FBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNwQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQ1gsOERBQThELENBQ2pFLENBQUM7U0FDTDtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLEdBQXNCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEdBQUcsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEdBQXNCO1FBRWhDOzs7V0FHRztRQUNILElBQUksR0FBRyxFQUFFO1lBQ0wsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMzQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO29CQUMxQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUN6QyxTQUFTLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMzQixHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztvQkFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUMzQixNQUFNO2lCQUNUO2FBQ0o7WUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU0sZUFBZTtRQUNsQixVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFVLEVBQUUsVUFBbUI7UUFDbkQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwRCxJQUFJLFVBQVUsSUFBSSxlQUFlLEVBQUU7WUFDL0Isc0VBQXNFO1lBQ3RFLHVEQUF1RDtZQUN2RCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsWUFBWSxLQUFLLGVBQWUsQ0FBQyxZQUFZLENBQUM7WUFFbkYsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQ3ZDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFdBQVc7UUFDakIsT0FBTztZQUNILFFBQVEsRUFBRSxFQUFFO1NBQ2YsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNPLHFCQUFxQjtRQUMzQixPQUFPLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUN4QyxXQUFXO1NBQ2QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGVBQWU7UUFDbkIsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBRW5CLE1BQU0sSUFBSSxHQUFnQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUN6RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRXJDLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEdBQUcsR0FBc0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDM0IsYUFBYSxJQUFJLFFBQVEsQ0FBQztTQUU3QjtRQUVELElBQUksYUFBYSxJQUFJLFdBQVcsRUFBRTtZQUM5QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQztTQUNKO2FBQU07WUFDSCxNQUFNLGtCQUFrQixHQUFHLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUM5RixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDM0IsSUFBSSxXQUFXLEdBQUcsUUFBUSxHQUFHLGtCQUFrQixFQUFFO29CQUM3QyxHQUFHLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzNCO3FCQUFNO29CQUNILEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO29CQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDOUI7Z0JBRUQsV0FBVyxJQUFJLFFBQVEsQ0FBQzthQUMzQjtTQUNKO0lBRUwsQ0FBQztJQUVNLGVBQWUsQ0FBQyxRQUEyQjtRQUM5QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7K0ZBclFRLGNBQWMsMERBcUhhLG1CQUFtQjtzRUFySDlDLGNBQWM7b0NBMkROLGlCQUFpQjtvQ0FHakIsaUJBQWlCOzs7Ozs7Ozs7Ozs7K1VBbkV2QjtZQUNQLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxFQUFDLEVBQUU7WUFDL0UsRUFBRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLEVBQUMsRUFBRTtTQUMvRjtRQzVDTCw4QkFBNEU7UUFDMUUsNkRBQXlFO1FBRXpFLDhCQUE4RztRQUU1Ryw4QkFBb0I7UUFDbEIsaUZBb0JlO1FBQ2YsOEJBQWlCO1FBQ2YsMENBQ29HO1FBQ2xHLG9DQUVvRztRQUNsRyw2QkFBTTtRQUFBLGFBQXFCO1FBQUEsaUJBQU87UUFDbEMsMkJBQXdGO1FBQzFGLGlCQUFTO1FBQ1QsZ0NBQXlGO1FBQ3ZGLGtFQVlNO1FBQ1IsaUJBQU07UUFDUixpQkFBZTtRQUNqQixpQkFBTTtRQUNSLGlCQUFNO1FBQ1IsaUJBQVM7UUFDWCxpQkFBTTtRQUVOLDBFQUdVO1FBR1Ysb0ZBVWU7OztRQXpFa0IsNERBQTBDO1FBQ3BFLGVBQWdCO1FBQWhCLHFDQUFnQjtRQUViLGVBQXdEO1FBQXhELHFFQUF3RCwyQ0FBQTtRQUc5QixlQUFnQjtRQUFoQix5Q0FBZ0I7UUF1QjFDLGVBQWlEO1FBQWpELDhEQUFpRCw4Q0FBQTtRQUcvQyxlQUFxQztRQUFyQyx5Q0FBcUM7UUFGRCxpREFBbUMsNkJBQUE7UUFHakUsZUFBcUI7UUFBckIseUNBQXFCO1FBSXNCLGVBQWE7UUFBYixzQ0FBYTtRQW9CaEUsZUFBbUI7UUFBbkIsd0NBQW1CO1FBTWQsZUFBbUI7UUFBbkIsd0NBQW1COztBRHlGOUI7SUFEQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7OEJBQ0YsaUJBQWlCO3lEQUFDO3VGQTFHcEMsY0FBYztjQVIxQixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7Z0JBQ3JDLFNBQVMsRUFBRTtvQkFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxlQUFlLEVBQUMsRUFBRTtvQkFDL0UsRUFBRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsZUFBZSxFQUFDLEVBQUU7aUJBQy9GO2FBQ0o7O3NCQXNIUSxRQUFROztzQkFBSSxRQUFROztzQkFBSSxNQUFNO3VCQUFDLG1CQUFtQjt3QkFyR2hELFNBQVM7a0JBRGYsS0FBSztZQU9DLG1CQUFtQjtrQkFEekIsS0FBSztZQU9DLFVBQVU7a0JBRGhCLEtBQUs7WUFPSyxXQUFXO2tCQURyQixLQUFLO1lBU0MsU0FBUztrQkFEZixLQUFLO1lBT0MsZUFBZTtrQkFEckIsTUFBTTtZQU9BLGFBQWE7a0JBRG5CLE1BQU07WUFPQSxJQUFJO2tCQURWLGVBQWU7bUJBQUMsaUJBQWlCO1lBSTNCLGFBQWE7a0JBRG5CLGVBQWU7bUJBQUMsaUJBQWlCO1lBUzNCLGFBQWE7a0JBRG5CLEtBQUs7WUFRQyxRQUFRO2tCQUZkLFdBQVc7bUJBQUMsb0JBQW9COztrQkFDaEMsS0FBSztZQTZCRSxpQkFBaUIsTUFJWSxxQkFBcUI7a0JBQXpELFNBQVM7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgICBBZnRlckNvbnRlbnRJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgSW5qZWN0b3IsXHJcbiAgICBJbnB1dCxcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgU2tpcFNlbGYsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWVJbmplY3QgfSBmcm9tICcuLi9jb21tb24vZGVjb3JhdG9ycy9pbmplY3Rpb24uZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IExheW91dCwgU01FX0xBWU9VVF9QUk9WSURFUiB9IGZyb20gJy4uL2NvbW1vbi9sYXlvdXQnO1xyXG5pbXBvcnQgeyBQaXZvdFRhYlR5cGUgfSBmcm9tICcuL3Bpdm90LXRhYi10eXBlJztcclxuaW1wb3J0IHsgUGl2b3RUYWJDb21wb25lbnQgfSBmcm9tICcuL3Bpdm90LXRhYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTTUVfUElWT1RfVEFCX0NPTlRBSU5FUl9QUk9WSURFUiB9IGZyb20gJy4vcGl2b3QtdGFiLmNvbnRhaW5lcic7XHJcblxyXG4vKipcclxuICogQHNtZURvYyB7QGxhYmVsIFBpdm90IEBpZCBzbWUtcGl2b3QtY29tcG9uZW50fVxyXG4gKlxyXG4gKiBAb3ZlcnZpZXdcclxuICogQGZpbGUge0BmaWxlcGF0aCAuL2V4YW1wbGVzL292ZXJ2aWV3Lm1kfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIFN0YXRpYyBUYWIgQGlkIHN0YXRpYy10YWJ9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvc3RhdGljLXRhYi5jb21wb25lbnQuaHRtbH1cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBSb3V0ZWQgVGFiIEBpZCByb3V0ZWQtdGFifVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL3JvdXRlZC10YWIuY29tcG9uZW50Lmh0bWx9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLXBpdm90JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9waXZvdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IFNNRV9MQVlPVVRfUFJPVklERVIsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBpdm90Q29tcG9uZW50KSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogU01FX1BJVk9UX1RBQl9DT05UQUlORVJfUFJPVklERVIsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBpdm90Q29tcG9uZW50KSB9XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaXZvdENvbXBvbmVudCBleHRlbmRzIENvcmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgTGF5b3V0LCBBZnRlckNvbnRlbnRDaGVja2VkLCBBZnRlckNvbnRlbnRJbml0IHtcclxuICAgIHB1YmxpYyB2aXNpYmxlVGFiczogUGl2b3RUYWJDb21wb25lbnRbXTsgLy8gUmVndWxhdGVzIHRoZSB0YWJzIHRoYXQgZ2V0IGRpc3BsYXllZC5cclxuICAgIHB1YmxpYyB0cmF5VGFicyA9IFtdOyAvLyBSZWd1bGF0ZXMgdGhlIHRhYnMgdGhhdCBhcmUgYWRkZWQgdG8gdGhlIGRyb3Bkb3duIGlmIG5lY2Vzc2FyeS5cclxuICAgIHB1YmxpYyBtb3JlVGFic0Rpc3BsYXkgPSAnTW9yZSc7IC8vIExhYmVsIGZvciB0aGUgZHJvcGRvd24gbWVudSB0YWJzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1Bpdm90Q29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzZWxlY3RlZCB0YWJcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZWxlY3Rpb246IFBpdm90VGFiQ29tcG9uZW50O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgaW5kaWNhdGVzIHdoZXRoZXIgdG8gc2hvdy9oaWRlIG9yIGxvYWQvdW5sb2FkIHRoZSB0YWJzIHRvIGRvIHRhYiBzd2l0Y2hpbmdcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzd2l0Y2hUYWJCeVNob3dIaWRlOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGV4dCBmb3IgYSBoZWFkZXIgdG8gc2hvdyB3aXRoIHRoZSBwaXZvdCB0YWJzLiBEaXNwbGF5ZWQgYXMgaDQgd2l0aCB0YWJzIG9uIHRoZSByaWdodC5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBoZWFkZXJUZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSAwOC8zMC8xOS4gUGxlYXNlIHVzZSBhbGlnblRhYnMgaW5zdGVhZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBhbGlnbkhlYWRlcih2YWx1ZTogJ3JpZ2h0JyB8ICdsZWZ0Jykge1xyXG4gICAgICAgIHRoaXMuYWxpZ25UYWJzID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGVyZSB0byBhbGlnbiB0YWJzLCBsZWZ0IG9yIHJpZ2h0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWxpZ25UYWJzOiAncmlnaHQnIHwgJ2xlZnQnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNlbGVjdGVkIHRhYiBjaGFuZ2VkIGV2ZW50XHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGl2b3RUYWJDb21wb25lbnQ+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgTGF5b3V0IGludGVyZmFjZVxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBsYXlvdXRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgVGFicyBvZiB0aGUgUGl2b3RcclxuICAgICAqL1xyXG4gICAgQENvbnRlbnRDaGlsZHJlbihQaXZvdFRhYkNvbXBvbmVudClcclxuICAgIHB1YmxpYyB0YWJzOiBRdWVyeUxpc3Q8UGl2b3RUYWJDb21wb25lbnQ+O1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oUGl2b3RUYWJDb21wb25lbnQpXHJcbiAgICBwdWJsaWMgdmlzaWJsZVRhYnNRTDogUXVlcnlMaXN0PFBpdm90VGFiQ29tcG9uZW50PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEJpbmRhYmxlIHByb3BlcnR5IGZvciB0YWIgdHlwZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHBpdm90VGFiVHlwZSA9IFBpdm90VGFiVHlwZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIG5vTGVmdFBhZGRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyBpZiB0aGlzIHBpdm90IGlzIGRpc2FibGVkXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWRpc2FibGVkJylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCByb3V0ZWQgdGFicyBoYXZlIGJlZW4gcHJvdmlkZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBoYXNSb3V0ZWRUYWJzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMgJiYgdGhpcy50YWJzLnNvbWUodCA9PiB0LnR5cGUgPT09IFBpdm90VGFiVHlwZS5Sb3V0ZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgc3RhdGljIHRhYnMgaGF2ZSBiZWVuIHByb3ZpZGVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgaGFzU3RhdGljVGFicygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50YWJzICYmIHRoaXMudGFicy5zb21lKHQgPT4gdC50eXBlID09PSBQaXZvdFRhYlR5cGUuU3RhdGljKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHZpc2lUYWJzKCk6IFBpdm90VGFiQ29tcG9uZW50W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMuZmlsdGVyKHRhYiA9PiB0YWIuaXNWaXNpYmxlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHN0YXRpYyB0YWJzIGhhdmUgYmVlbiBwcm92aWRlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGlvbklzUm91dGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAmJiB0aGlzLnNlbGVjdGlvbi50eXBlID09PSBQaXZvdFRhYlR5cGUuUm91dGVkO1xyXG4gICAgfVxyXG5cclxuICAgIEBTbWVJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBkcm9wZG93biBlbGVtZW50IHRoYXQgY29udGFpbnMgcGl2b3RUYWJzIG9ubHkgaWYgdGhlIHNjcmVlbiBzaXplIGRvZXNuJ3QgYWxsb3cuXHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoJ2Ryb3BEb3duQnV0dG9uJykgcHJpdmF0ZSBkcm9wRG93bkJ1dHRvbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBAc2VlIFBpdm90Q29tcG9uZW50IGNsYXNzLlxyXG4gICAgICogQHBhcmFtIGluamVjdG9yIFRoZSBhbmd1bGFyIGluamVjdGlvbiBzZXJ2aWNlLiByZXF1aXJlZCBieSBAU21lSW5qZWN0YWJsZSgpIGRlY29yYXRvciBpbiB0aGUgYmFzZSBAc2VlIEJhc2VDb21wb25lbnQgY2xhc3NcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIEBTa2lwU2VsZigpIEBPcHRpb25hbCgpIEBJbmplY3QoU01FX0xBWU9VVF9QUk9WSURFUikgbGF5b3V0OiBMYXlvdXQpIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICAgICAgaWYgKGxheW91dCkge1xyXG4gICAgICAgICAgICAvLyBvbiBwYXJlbnQgbGF5b3V0IGNoYW5nZXMsIHJlLWVtaXQgdGhlIGxheW91dCBjaGFuZ2UgdG8gb3VyIGV2ZW50XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGxheW91dC5sYXlvdXRDaGFuZ2VkLnN1YnNjcmliZSgoKCkgPT4gdGhpcy5vbkxheW91dENoYW5nZWQoKSkpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy50YWJzICYmIHRoaXMudGFicy5maXJzdCAmJiAhdGhpcy5zZWxlY3Rpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSB0aGlzLnRhYnMuZmlyc3Q7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnRhYnMubGVuZ3RoIDwgMSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICAnUGl2b3QgbXVzdCBjb250YWluIGNoaWxkIHRhYnMuIEV4cGVjdGVkIGF0IGxlYXN0IG9uZSAoMSkgdGFiJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnZpc2libGVUYWJzID0gdGhpcy50YWJzLnRvQXJyYXkoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIG9mIGEgZ2l2ZW4gdGFiIGlzIHNlbGVjdGVkXHJcbiAgICAgKiBAcGFyYW0gdGFiIFRoZSB0YWIgdG8gY29tcGFyZSB3aXRoXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc1NlbGVjdGVkKHRhYjogUGl2b3RUYWJDb21wb25lbnQpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb24gJiYgdGhpcy5zZWxlY3Rpb24gPT09IHRhYjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlbGVjdHMgYSB0YWJcclxuICAgICAqIEBwYXJhbSB0YWIgVGhlIHRhYiB0byBzZWxlY3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNlbGVjdCh0YWI6IFBpdm90VGFiQ29tcG9uZW50KTogdm9pZCB7XHJcblxyXG4gICAgICAgIC8qKiBBdCBhbnkgZ2l2ZW4gdGltZSB3ZSBzaG91bGQgaGF2ZSBhbiBhdHRyaWJ1dGUgdGhhdCBsZXRzIHVzIGtub3cgaWYgYSB0YWIgaXMgdmlzaWJsZSBvciBub3QuXHJcbiAgICAgICAgICpcclxuICAgICAgICAgKlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGlmICh0YWIpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRyYXlUYWJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmF5VGFic1tpXSA9PT0gdGFiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGlkZGVuVGFiID0gdGhpcy52aXNpYmxlVGFicy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBoaWRkZW5UYWIuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmF5VGFicy5wdXNoKGhpZGRlblRhYik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlVGFicy5wdXNoKHRhYik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFiLmlzVmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmF5VGFicy5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uID0gdGFiO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRhYik7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0Q2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25MYXlvdXRDaGFuZ2VkKCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLnVwZGF0ZVBpdm90VGFicygpOyB9LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0VGFiUGFuZWxJbmRleChpZDogc3RyaW5nLCBjdXJyZW50VGFiOiBib29sZWFuKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBjb25zdCB0YWJQYW5lbFNlY3Rpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcblxyXG4gICAgICAgIGlmIChjdXJyZW50VGFiICYmIHRhYlBhbmVsU2VjdGlvbikge1xyXG4gICAgICAgICAgICAvLyBubyBzY3JvbGwgYmFyIGlzIHZpc2libGUgd2hlbiBzY3JvbGxIZWlnaHQgaXMgZXF1YWwgdG8gY2xpZW50SGVpZ2h0XHJcbiAgICAgICAgICAgIC8vIHVzZSB0aGlzIHRvIHNldCB0YWJpbmRleCBvbmx5IGZvciBzY3JvbGxhYmxlIGNvbnRlbnRcclxuICAgICAgICAgICAgY29uc3QgaGFzU2Nyb2xsQmFyID0gdGFiUGFuZWxTZWN0aW9uLnNjcm9sbEhlaWdodCAhPT0gdGFiUGFuZWxTZWN0aW9uLmNsaWVudEhlaWdodDtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBoYXNTY3JvbGxCYXIgPyAwIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgdGhlIGlkQmFnIHVzZWQgYnkgdGhpcyBjb21wb25lbnQgdG8gc3RvcmUgdW5pcXVlIGVsZW1lbnQgaWRzLlxyXG4gICAgICogaWQgdmFsdWVzIHdpbGwgYmUgYXNzaWduZWQgYnkgdGhlIEBzZWUgQmFzZUNvbXBvbmVudCBzdXBlciBjbGFzcy5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUlkQmFnKCk6IE1zZnRTbWUuU3RyaW5nTWFwPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHRhYlBhbmVsOiAnJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBpbml0aWFsIGhvc3QgY2xhc3NlcyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZWxlbWVudFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1waXZvdCdcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZVBpdm90VGFicygpIHtcclxuICAgICAgICBsZXQgY3VycmVudEZpbGwgPSAwO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZVRhYnMgPSBbXTtcclxuICAgICAgICB0aGlzLnRyYXlUYWJzID0gW107XHJcblxyXG4gICAgICAgIGNvbnN0IGhvc3QgPSA8SFRNTEVsZW1lbnQ+dGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IHRhYkJhcldpZHRoID0gaG9zdC5vZmZzZXRXaWR0aDtcclxuXHJcbiAgICAgICAgbGV0IHRvdGFsVGFiV2lkdGggPSAwO1xyXG4gICAgICAgIGNvbnN0IHRhYkxpc3QgPSB0aGlzLnRhYnMudG9BcnJheSgpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YWJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhYjogUGl2b3RUYWJDb21wb25lbnQgPSB0YWJMaXN0W2ldO1xyXG4gICAgICAgICAgICBjb25zdCB0YWJXaWR0aCA9IHRhYi53aWR0aDtcclxuICAgICAgICAgICAgdG90YWxUYWJXaWR0aCArPSB0YWJXaWR0aDtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodG90YWxUYWJXaWR0aCA8PSB0YWJCYXJXaWR0aCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudGFicy5sZW5ndGg7ICsraSkge1xyXG4gICAgICAgICAgICAgICAgdGFiTGlzdFtpXS5pc1Zpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlVGFicy5wdXNoKHRhYkxpc3RbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgdmlzaWJsZVRhYkJhcldpZHRoID0gdGFiQmFyV2lkdGggLSB0aGlzLmRyb3BEb3duQnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudGFicy5sZW5ndGg7ICsraSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGFiID0gdGFiTGlzdFtpXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRhYldpZHRoID0gdGFiLndpZHRoO1xyXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRGaWxsICsgdGFiV2lkdGggPiB2aXNpYmxlVGFiQmFyV2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB0YWIuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmF5VGFicy5wdXNoKHRhYik7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYi5pc1Zpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZVRhYnMucHVzaCh0YWIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGN1cnJlbnRGaWxsICs9IHRhYldpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdGFiV2lkdGhDaGFuZ2VkKHBpdm90VGFiOiBQaXZvdFRhYkNvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUGl2b3RUYWJzKCk7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staFwiIFtzdHlsZS5wYWRkaW5nTGVmdF09XCJub0xlZnRQYWRkaW5nPzA6bnVsbFwiPlxyXG4gIDxoNCAqbmdJZj1cImhlYWRlclRleHRcIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG9cIj57e2hlYWRlclRleHR9fTwvaDQ+XHJcblxyXG4gIDxoZWFkZXIgW2NsYXNzLnNtZS1waXZvdC1yZXZlcnNlLWhlYWRlcl09XCJhbGlnblRhYnMgPT09ICdyaWdodCdcIiBbY2xhc3Muc21lLXBvc2l0aW9uLXN0cmV0Y2gtaF09XCIhaGVhZGVyVGV4dFwiPlxyXG4gICAgPCEtLSBDYW5ub3QgdXNlIFwic21lLXBhZGRpbmctbGVmdC1ub25lXCIgQ1NTIGNsYXNzIGluIDxoZWFkZXI+IGFib3ZlIHNpbmNlIHNtZS1wYWRkaW5nLWxlZnQtbm9uZSBkb2Vzbid0IGhhdmUgZW5vdWdoIHNlbGVjdG9yIHdlaWdodCB0byBvdmVycmlkZSBzbWUtcGl2b3Q+W3JvbGU9XCJ0YWJsaXN0XCJdIHNlbGVjdG9yIC0tPlxyXG4gICAgPGRpdiByb2xlPVwidGFibGlzdFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdmlzaWJsZVRhYnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICA8IS0tIFJvdXRlZCBUYWIgaXRlbSAtLT5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwidGFiLnR5cGUgPT09IHBpdm90VGFiVHlwZS5Sb3V0ZWRcIiByb2xlPVwidGFiXCIgW3JvdXRlckxpbmtdPVwidGFiLnJvdXRlXCJcclxuICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaWRCYWcudGFiUGFuZWxcIiBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgdGFiLmRpc2FibGVkXCIgW2NsYXNzLnNtZS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc1NlbGVjdGVkKHRhYilcIiBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwidGFiLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zXCJcclxuICAgICAgICAgIFtjbGFzcy5zbWUtYWN0aXZlXT1cImlzU2VsZWN0ZWQodGFiKVwiIChzbWVSb3V0ZXJMaW5rQWN0aXZhdGVkKT1cInNlbGVjdCh0YWIpXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInRhYi5pY29uQ2xhc3NcIiBbY2xhc3NdPVwidGFiLmljb25DbGFzc1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuPnt7dGFiLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDwhLS0gU3RhdGljIFRhYiBJdGVtIC0tPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJ0YWIudHlwZSA9PT0gcGl2b3RUYWJUeXBlLlN0YXRpY1wiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJ0YWJcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpZEJhZy50YWJQYW5lbCArIGlcIiBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgdGFiLmRpc2FibGVkXCIgW2NsYXNzLnNtZS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc1NlbGVjdGVkKHRhYilcIiBbY2xhc3Muc21lLWFjdGl2ZV09XCJpc1NlbGVjdGVkKHRhYilcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCh0YWIpXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInRhYi5pY29uQ2xhc3NcIiBbY2xhc3NdPVwidGFiLmljb25DbGFzc1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuPnt7dGFiLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8ZGl2IHJvbGU9XCJtZW51XCI+XHJcbiAgICAgICAgPHNtZS1kcm9wZG93biAjZHJvcERvd24gcm9sZT1cInByZXNlbnRhdGlvblwiIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtbm9uZVwiXHJcbiAgICAgICAgICBbY2xhc3Muc21lLWxheW91dC1oaWRkZW5dPVwidHJheVRhYnMubGVuZ3RoID09PSAwXCIgW2NsYXNzLnNtZS1sYXlvdXQtbm9uZV09XCJ0cmF5VGFicy5sZW5ndGggPT09IDBcIj5cclxuICAgICAgICAgIDxidXR0b24gI2Ryb3BEb3duQnV0dG9uIHR5cGU9XCJidXR0b25cIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vcmVUYWJzRGlzcGxheVwiIHJvbGU9XCJtZW51aXRlbVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwic21lLWJ1dHRvbi10cmlnZ2VyIHNtZS1sYXlvdXQtYWN0aW9uLWJhci1pdGVtLWhlaWdodCBzbWUtYnV0dG9uLWF1dG8td2lkdGggc21lLWRyb3Bkb3duLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5zbWUtdG9nZ2xlZF09XCJkcm9wRG93bi5pc09wZW5cIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImRyb3BEb3duLmlzT3BlblwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IG1vcmVUYWJzRGlzcGxheSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzbWUtaWNvbiBzbWUtaWNvbi1zaXplLXh4cyBzbWUtaWNvbi1jaGV2cm9uRG93biBzbWUtbWFyZ2luLWxlZnQteHNcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxkaXYgcm9sZT1cIm1lbnVcIiBjbGFzcz1cInNtZS1kcm9wZG93bi1jb250ZW50IHNtZS1hcnJhbmdlLXN0YWNrLXYgc21lLXBvc2l0aW9uLXN0cmV0Y2gtaFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staFwiICpuZ0Zvcj1cImxldCB0YWIgb2YgdHJheVRhYnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidGFiLnR5cGUgPT09IHBpdm90VGFiVHlwZS5Sb3V0ZWRcIiByb2xlPVwibWVudWl0ZW1cIiBbcm91dGVyTGlua109XCJ0YWIucm91dGVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzbWUtcG9zaXRpb24tc3RyZXRjaC1oXCIgW2NsYXNzLnNtZS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgKHNtZVJvdXRlckxpbmtBY3RpdmF0ZWQpPVwic2VsZWN0KHRhYilcIiBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwidGFiLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRhYi5pY29uQ2xhc3NcIiBbY2xhc3NdPVwidGFiLmljb25DbGFzc1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7dGFiLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInRhYi50eXBlID09PSBwaXZvdFRhYlR5cGUuU3RhdGljXCIgcm9sZT1cIm1lbnVpdGVtXCIgY2xhc3M9XCJzbWUtcG9zaXRpb24tc3RyZXRjaC1oXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5zbWUtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgdGFiLmRpc2FibGVkXCIgKGNsaWNrKT1cInNlbGVjdCh0YWIpXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRhYi5pY29uQ2xhc3NcIiBbY2xhc3NdPVwidGFiLmljb25DbGFzc1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7dGFiLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zbWUtZHJvcGRvd24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9oZWFkZXI+XHJcbjwvZGl2PlxyXG48IS0tIFJvdXRlZCBUYWIgQ29udGVudCAtLT5cclxuPHNlY3Rpb24gKm5nSWY9XCJoYXNSb3V0ZWRUYWJzXCIgcm9sZT1cInRhYnBhbmVsXCIgW2lkXT1cImlkQmFnLnRhYlBhbmVsXCIgW2NsYXNzLnNtZS1sYXlvdXQtbm9uZV09XCIhc2VsZWN0aW9uSXNSb3V0ZWRcIlxyXG4gIFthdHRyLmFyaWEtaGlkZGVuXT1cIiFzZWxlY3Rpb25Jc1JvdXRlZFwiPlxyXG4gIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuPC9zZWN0aW9uPlxyXG5cclxuPCEtLSBTdGF0aWMgVGFiIENvbnRlbnQgLS0+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNTdGF0aWNUYWJzXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHZpc2libGVUYWJzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiLnR5cGUgPT09IHBpdm90VGFiVHlwZS5TdGF0aWNcIj5cclxuICAgICAgPHNlY3Rpb24gcm9sZT1cInRhYnBhbmVsXCIgW2lkXT1cImlkQmFnLnRhYlBhbmVsICsgaVwiIFtjbGFzcy5zbWUtbGF5b3V0LW5vbmVdPVwiIWlzU2VsZWN0ZWQodGFiKVwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIWlzU2VsZWN0ZWQodGFiKVwiIFthdHRyLnRhYmluZGV4XT1cImdldFRhYlBhbmVsSW5kZXgoaWRCYWcudGFiUGFuZWwgKyBpLCBpc1NlbGVjdGVkKHRhYikpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIihzd2l0Y2hUYWJCeVNob3dIaWRlIHx8IGlzU2VsZWN0ZWQodGFiKSkgPyB0YWIuY29udGVudFRlbXBsYXRlIDogbnVsbFwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3NlY3Rpb24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
521
+ }], emitLayoutChanged: [], onLayoutChanged: [] }); })();
522
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGl2b3QvcGl2b3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGl2b3QvcGl2b3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RFLE9BQU8sRUFBVSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7SUN4QnZFLDhCQUFzRDtJQUFBLFlBQWM7SUFBQSxpQkFBSzs7O0lBQW5CLGVBQWM7SUFBZCx1Q0FBYzs7O0lBWTVELHVCQUEyRDs7O0lBQS9CLCtCQUF1Qjs7OztJQUxyRCxrQ0FJOEU7SUFBdkMsd1JBQXNDO0lBQzNFLDBGQUEyRDtJQUMzRCw0QkFBTTtJQUFBLFlBQWE7SUFBQSxpQkFB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UUMsUUFBUTtrQkFGZCxXQUFXO21CQUFDLG9CQUFvQjs7a0JBQ2hDLEtBQUs7WUE2QkUsaUJBQWlCLE1BSVkscUJBQXFCO2tCQUF6RCxTQUFTO21CQUFDLGdCQUFnQjtZQXNFbkIsaUJBQWlCLE1BS2pCLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICAgIEFmdGVyQ29udGVudEluaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbnRlbnRDaGlsZHJlbixcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBmb3J3YXJkUmVmLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbmplY3QsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBTa2lwU2VsZixcclxuICAgIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvYmFzZS9kZWNvcmF0b3JzL2RlYm91bmNlLmRlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtZUluamVjdCB9IGZyb20gJy4uL2NvbW1vbi9kZWNvcmF0b3JzL2luamVjdGlvbi5kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgTGF5b3V0LCBTTUVfTEFZT1VUX1BST1ZJREVSIH0gZnJvbSAnLi4vY29tbW9uL2xheW91dCc7XHJcbmltcG9ydCB7IFBpdm90VGFiVHlwZSB9IGZyb20gJy4vcGl2b3QtdGFiLXR5cGUnO1xyXG5pbXBvcnQgeyBQaXZvdFRhYkNvbXBvbmVudCB9IGZyb20gJy4vcGl2b3QtdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNNRV9QSVZPVF9UQUJfQ09OVEFJTkVSX1BST1ZJREVSIH0gZnJvbSAnLi9waXZvdC10YWIuY29udGFpbmVyJztcclxuXHJcbi8qKlxyXG4gKiBAc21lRG9jIHtAbGFiZWwgUGl2b3QgQGlkIHNtZS1waXZvdC1jb21wb25lbnR9XHJcbiAqXHJcbiAqIEBvdmVydmlld1xyXG4gKiBAZmlsZSB7QGZpbGVwYXRoIC4vZXhhbXBsZXMvb3ZlcnZpZXcubWR9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgU3RhdGljIFRhYiBAaWQgc3RhdGljLXRhYn1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9zdGF0aWMtdGFiLmNvbXBvbmVudC5odG1sfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIFJvdXRlZCBUYWIgQGlkIHJvdXRlZC10YWJ9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvcm91dGVkLXRhYi5jb21wb25lbnQuaHRtbH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtcGl2b3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bpdm90LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogU01FX0xBWU9VVF9QUk9WSURFUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGl2b3RDb21wb25lbnQpIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBTTUVfUElWT1RfVEFCX0NPTlRBSU5FUl9QUk9WSURFUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGl2b3RDb21wb25lbnQpIH1cclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBpdm90Q29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBMYXlvdXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyQ29udGVudEluaXQge1xyXG4gICAgcHVibGljIHZpc2libGVUYWJzOiBQaXZvdFRhYkNvbXBvbmVudFtdOyAvLyBSZWd1bGF0ZXMgdGhlIHRhYnMgdGhhdCBnZXQgZGlzcGxheWVkLlxyXG4gICAgcHVibGljIHRyYXlUYWJzID0gW107IC8vIFJlZ3VsYXRlcyB0aGUgdGFicyB0aGF0IGFyZSBhZGRlZCB0byB0aGUgZHJvcGRvd24gaWYgbmVjZXNzYXJ5LlxyXG4gICAgcHVibGljIG1vcmVUYWJzRGlzcGxheSA9ICdNb3JlJzsgLy8gTGFiZWwgZm9yIHRoZSBkcm9wZG93biBtZW51IHRhYnNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnUGl2b3RDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNlbGVjdGVkIHRhYlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGlvbjogUGl2b3RUYWJDb21wb25lbnQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBpbmRpY2F0ZXMgd2hldGhlciB0byBzaG93L2hpZGUgb3IgbG9hZC91bmxvYWQgdGhlIHRhYnMgdG8gZG8gdGFiIHN3aXRjaGluZ1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHN3aXRjaFRhYkJ5U2hvd0hpZGU6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZXh0IGZvciBhIGhlYWRlciB0byBzaG93IHdpdGggdGhlIHBpdm90IHRhYnMuIERpc3BsYXllZCBhcyBoNCB3aXRoIHRhYnMgb24gdGhlIHJpZ2h0LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhlYWRlclRleHQ6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIDA4LzMwLzE5LiBQbGVhc2UgdXNlIGFsaWduVGFicyBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGFsaWduSGVhZGVyKHZhbHVlOiAncmlnaHQnIHwgJ2xlZnQnKSB7XHJcbiAgICAgICAgdGhpcy5hbGlnblRhYnMgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZXJlIHRvIGFsaWduIHRhYnMsIGxlZnQgb3IgcmlnaHRcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhbGlnblRhYnM6ICdyaWdodCcgfCAnbGVmdCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc2VsZWN0ZWQgdGFiIGNoYW5nZWQgZXZlbnRcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQaXZvdFRhYkNvbXBvbmVudD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudGF0aW9uIG9mIHRoZSBMYXlvdXQgaW50ZXJmYWNlXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGxheW91dENoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBUYWJzIG9mIHRoZSBQaXZvdFxyXG4gICAgICovXHJcbiAgICBAQ29udGVudENoaWxkcmVuKFBpdm90VGFiQ29tcG9uZW50KVxyXG4gICAgcHVibGljIHRhYnM6IFF1ZXJ5TGlzdDxQaXZvdFRhYkNvbXBvbmVudD47XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihQaXZvdFRhYkNvbXBvbmVudClcclxuICAgIHB1YmxpYyB2aXNpYmxlVGFic1FMOiBRdWVyeUxpc3Q8UGl2b3RUYWJDb21wb25lbnQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQmluZGFibGUgcHJvcGVydHkgZm9yIHRhYiB0eXBlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcGl2b3RUYWJUeXBlID0gUGl2b3RUYWJUeXBlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbm9MZWZ0UGFkZGluZyA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIGlmIHRoaXMgcGl2b3QgaXMgZGlzYWJsZWRcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtZGlzYWJsZWQnKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHJvdXRlZCB0YWJzIGhhdmUgYmVlbiBwcm92aWRlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGhhc1JvdXRlZFRhYnMoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicyAmJiB0aGlzLnRhYnMuc29tZSh0ID0+IHQudHlwZSA9PT0gUGl2b3RUYWJUeXBlLlJvdXRlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCBzdGF0aWMgdGFicyBoYXZlIGJlZW4gcHJvdmlkZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBoYXNTdGF0aWNUYWJzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMgJiYgdGhpcy50YWJzLnNvbWUodCA9PiB0LnR5cGUgPT09IFBpdm90VGFiVHlwZS5TdGF0aWMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdmlzaVRhYnMoKTogUGl2b3RUYWJDb21wb25lbnRbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicy5maWx0ZXIodGFiID0+IHRhYi5pc1Zpc2libGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoYXQgc3RhdGljIHRhYnMgaGF2ZSBiZWVuIHByb3ZpZGVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgc2VsZWN0aW9uSXNSb3V0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uICYmIHRoaXMuc2VsZWN0aW9uLnR5cGUgPT09IFBpdm90VGFiVHlwZS5Sb3V0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgQFNtZUluamVjdChDaGFuZ2VEZXRlY3RvclJlZilcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGlzIGRyb3Bkb3duIGVsZW1lbnQgdGhhdCBjb250YWlucyBwaXZvdFRhYnMgb25seSBpZiB0aGUgc2NyZWVuIHNpemUgZG9lc24ndCBhbGxvdy5cclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZCgnZHJvcERvd25CdXR0b24nKSBwcml2YXRlIGRyb3BEb3duQnV0dG9uRWxlbWVudDogRWxlbWVudFJlZjtcclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEBzZWUgUGl2b3RDb21wb25lbnQgY2xhc3MuXHJcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgVGhlIGFuZ3VsYXIgaW5qZWN0aW9uIHNlcnZpY2UuIHJlcXVpcmVkIGJ5IEBTbWVJbmplY3RhYmxlKCkgZGVjb3JhdG9yIGluIHRoZSBiYXNlIEBzZWUgQmFzZUNvbXBvbmVudCBjbGFzc1xyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgQEluamVjdChTTUVfTEFZT1VUX1BST1ZJREVSKSBsYXlvdXQ6IExheW91dCkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgICAgICBpZiAobGF5b3V0KSB7XHJcbiAgICAgICAgICAgIC8vIG9uIHBhcmVudCBsYXlvdXQgY2hhbmdlcywgcmUtZW1pdCB0aGUgbGF5b3V0IGNoYW5nZSB0byBvdXIgZXZlbnRcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2gobGF5b3V0LmxheW91dENoYW5nZWQuc3Vic2NyaWJlKCgoKSA9PiB0aGlzLm9uTGF5b3V0Q2hhbmdlZCgpKSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnRhYnMgJiYgdGhpcy50YWJzLmZpcnN0ICYmICF0aGlzLnNlbGVjdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IHRoaXMudGFicy5maXJzdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMudGFicy5sZW5ndGggPCAxKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICAgICdQaXZvdCBtdXN0IGNvbnRhaW4gY2hpbGQgdGFicy4gRXhwZWN0ZWQgYXQgbGVhc3Qgb25lICgxKSB0YWInXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmlzaWJsZVRhYnMgPSB0aGlzLnRhYnMudG9BcnJheSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgb2YgYSBnaXZlbiB0YWIgaXMgc2VsZWN0ZWRcclxuICAgICAqIEBwYXJhbSB0YWIgVGhlIHRhYiB0byBjb21wYXJlIHdpdGhcclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzU2VsZWN0ZWQodGFiOiBQaXZvdFRhYkNvbXBvbmVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAmJiB0aGlzLnNlbGVjdGlvbiA9PT0gdGFiO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VsZWN0cyBhIHRhYlxyXG4gICAgICogQHBhcmFtIHRhYiBUaGUgdGFiIHRvIHNlbGVjdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VsZWN0KHRhYjogUGl2b3RUYWJDb21wb25lbnQpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgLyoqIEF0IGFueSBnaXZlbiB0aW1lIHdlIHNob3VsZCBoYXZlIGFuIGF0dHJpYnV0ZSB0aGF0IGxldHMgdXMga25vdyBpZiBhIHRhYiBpcyB2aXNpYmxlIG9yIG5vdC5cclxuICAgICAgICAgKlxyXG4gICAgICAgICAqXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgaWYgKHRhYikge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudHJheVRhYnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYXlUYWJzW2ldID09PSB0YWIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBoaWRkZW5UYWIgPSB0aGlzLnZpc2libGVUYWJzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlblRhYi5pc1Zpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYXlUYWJzLnB1c2goaGlkZGVuVGFiKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVUYWJzLnB1c2godGFiKTtcclxuICAgICAgICAgICAgICAgICAgICB0YWIuaXNWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYXlUYWJzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSB0YWI7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGFiKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZW1pdExheW91dENoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQERlYm91bmNlKClcclxuICAgIHByaXZhdGUgZW1pdExheW91dENoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5sYXlvdXRDaGFuZ2VkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBARGVib3VuY2UoMClcclxuICAgIHByaXZhdGUgb25MYXlvdXRDaGFuZ2VkKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUGl2b3RUYWJzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFRhYlBhbmVsSW5kZXgoaWQ6IHN0cmluZywgY3VycmVudFRhYjogYm9vbGVhbik6IG51bWJlciB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgY29uc3QgdGFiUGFuZWxTZWN0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG5cclxuICAgICAgICBpZiAoY3VycmVudFRhYiAmJiB0YWJQYW5lbFNlY3Rpb24pIHtcclxuICAgICAgICAgICAgLy8gbm8gc2Nyb2xsIGJhciBpcyB2aXNpYmxlIHdoZW4gc2Nyb2xsSGVpZ2h0IGlzIGVxdWFsIHRvIGNsaWVudEhlaWdodFxyXG4gICAgICAgICAgICAvLyB1c2UgdGhpcyB0byBzZXQgdGFiaW5kZXggb25seSBmb3Igc2Nyb2xsYWJsZSBjb250ZW50XHJcbiAgICAgICAgICAgIGNvbnN0IGhhc1Njcm9sbEJhciA9IHRhYlBhbmVsU2VjdGlvbi5zY3JvbGxIZWlnaHQgIT09IHRhYlBhbmVsU2VjdGlvbi5jbGllbnRIZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gaGFzU2Nyb2xsQmFyID8gMCA6IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIHRoZSBpZEJhZyB1c2VkIGJ5IHRoaXMgY29tcG9uZW50IHRvIHN0b3JlIHVuaXF1ZSBlbGVtZW50IGlkcy5cclxuICAgICAqIGlkIHZhbHVlcyB3aWxsIGJlIGFzc2lnbmVkIGJ5IHRoZSBAc2VlIEJhc2VDb21wb25lbnQgc3VwZXIgY2xhc3MuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBjcmVhdGVJZEJhZygpOiBNc2Z0U21lLlN0cmluZ01hcDxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0YWJQYW5lbDogJydcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgaW5pdGlhbCBob3N0IGNsYXNzZXMgdG8gYmUgYXBwbGllZCB0byB0aGlzIGVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtcGl2b3QnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVQaXZvdFRhYnMoKSB7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRGaWxsID0gMDtcclxuICAgICAgICB0aGlzLnZpc2libGVUYWJzID0gW107XHJcbiAgICAgICAgdGhpcy50cmF5VGFicyA9IFtdO1xyXG5cclxuICAgICAgICBjb25zdCBob3N0ID0gPEhUTUxFbGVtZW50PnRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBjb25zdCB0YWJCYXJXaWR0aCA9IGhvc3Qub2Zmc2V0V2lkdGg7XHJcblxyXG4gICAgICAgIGxldCB0b3RhbFRhYldpZHRoID0gMDtcclxuICAgICAgICBjb25zdCB0YWJMaXN0ID0gdGhpcy50YWJzLnRvQXJyYXkoKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudGFicy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCB0YWI6IFBpdm90VGFiQ29tcG9uZW50ID0gdGFiTGlzdFtpXTtcclxuICAgICAgICAgICAgY29uc3QgdGFiV2lkdGggPSB0YWIud2lkdGg7XHJcbiAgICAgICAgICAgIHRvdGFsVGFiV2lkdGggKz0gdGFiV2lkdGg7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRvdGFsVGFiV2lkdGggPD0gdGFiQmFyV2lkdGgpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYnMubGVuZ3RoOyArK2kpIHtcclxuICAgICAgICAgICAgICAgIHRhYkxpc3RbaV0uaXNWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZVRhYnMucHVzaCh0YWJMaXN0W2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZpc2libGVUYWJCYXJXaWR0aCA9IHRhYkJhcldpZHRoIC0gdGhpcy5kcm9wRG93bkJ1dHRvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYnMubGVuZ3RoOyArK2kpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRhYiA9IHRhYkxpc3RbaV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0YWJXaWR0aCA9IHRhYi53aWR0aDtcclxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50RmlsbCArIHRhYldpZHRoID4gdmlzaWJsZVRhYkJhcldpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFiLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJheVRhYnMucHVzaCh0YWIpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0YWIuaXNWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVUYWJzLnB1c2godGFiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50RmlsbCArPSB0YWJXaWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmVtaXRMYXlvdXRDaGFuZ2VkKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIjxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oXCIgW3N0eWxlLnBhZGRpbmdMZWZ0XT1cIm5vTGVmdFBhZGRpbmc/MDpudWxsXCI+XHJcbiAgPGg0ICpuZ0lmPVwiaGVhZGVyVGV4dFwiIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtYXV0b1wiPnt7aGVhZGVyVGV4dH19PC9oND5cclxuXHJcbiAgPGhlYWRlciBbY2xhc3Muc21lLXBpdm90LXJldmVyc2UtaGVhZGVyXT1cImFsaWduVGFicyA9PT0gJ3JpZ2h0J1wiIFtjbGFzcy5zbWUtcG9zaXRpb24tc3RyZXRjaC1oXT1cIiFoZWFkZXJUZXh0XCI+XHJcbiAgICA8IS0tIENhbm5vdCB1c2UgXCJzbWUtcGFkZGluZy1sZWZ0LW5vbmVcIiBDU1MgY2xhc3MgaW4gPGhlYWRlcj4gYWJvdmUgc2luY2Ugc21lLXBhZGRpbmctbGVmdC1ub25lIGRvZXNuJ3QgaGF2ZSBlbm91Z2ggc2VsZWN0b3Igd2VpZ2h0IHRvIG92ZXJyaWRlIHNtZS1waXZvdD5bcm9sZT1cInRhYmxpc3RcIl0gc2VsZWN0b3IgLS0+XHJcbiAgICA8ZGl2IHJvbGU9XCJ0YWJsaXN0XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB2aXNpYmxlVGFiczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgIDwhLS0gUm91dGVkIFRhYiBpdGVtIC0tPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJ0YWIudHlwZSA9PT0gcGl2b3RUYWJUeXBlLlJvdXRlZFwiIHJvbGU9XCJ0YWJcIiBbcm91dGVyTGlua109XCJ0YWIucm91dGVcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpZEJhZy50YWJQYW5lbFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgdGFiLmRpc2FibGVkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIiBbY2xhc3Muc21lLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQodGFiKVwiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ0YWIucm91dGVyTGlua0FjdGl2ZU9wdGlvbnNcIlxyXG4gICAgICAgICAgW2NsYXNzLnNtZS1hY3RpdmVdPVwiaXNTZWxlY3RlZCh0YWIpXCIgKHNtZVJvdXRlckxpbmtBY3RpdmF0ZWQpPVwic2VsZWN0KHRhYilcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPCEtLSBTdGF0aWMgVGFiIEl0ZW0gLS0+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInRhYi50eXBlID09PSBwaXZvdFRhYlR5cGUuU3RhdGljXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cInRhYlwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkQmFnLnRhYlBhbmVsICsgaVwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgdGFiLmRpc2FibGVkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIiBbY2xhc3Muc21lLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQodGFiKVwiIFtjbGFzcy5zbWUtYWN0aXZlXT1cImlzU2VsZWN0ZWQodGFiKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KHRhYilcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgcm9sZT1cIm1lbnVcIj5cclxuICAgICAgICA8c21lLWRyb3Bkb3duICNkcm9wRG93biByb2xlPVwicHJlc2VudGF0aW9uXCIgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lXCJcclxuICAgICAgICAgIFtjbGFzcy5zbWUtbGF5b3V0LWhpZGRlbl09XCJ0cmF5VGFicy5sZW5ndGggPT09IDBcIiBbY2xhc3Muc21lLWxheW91dC1ub25lXT1cInRyYXlUYWJzLmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiAjZHJvcERvd25CdXR0b24gdHlwZT1cImJ1dHRvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwibW9yZVRhYnNEaXNwbGF5XCIgcm9sZT1cIm1lbnVpdGVtXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzbWUtYnV0dG9uLXRyaWdnZXIgc21lLWxheW91dC1hY3Rpb24tYmFyLWl0ZW0taGVpZ2h0IHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtZHJvcGRvd24tdG9nZ2xlXCJcclxuICAgICAgICAgICAgW2NsYXNzLnNtZS10b2dnbGVkXT1cImRyb3BEb3duLmlzT3BlblwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZHJvcERvd24uaXNPcGVuXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgbW9yZVRhYnNEaXNwbGF5IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNtZS1pY29uIHNtZS1pY29uLXNpemUteHhzIHNtZS1pY29uLWNoZXZyb25Eb3duIHNtZS1tYXJnaW4tbGVmdC14c1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGRpdiByb2xlPVwibWVudVwiIGNsYXNzPVwic21lLWRyb3Bkb3duLWNvbnRlbnQgc21lLWFycmFuZ2Utc3RhY2stdiBzbWUtcG9zaXRpb24tc3RyZXRjaC1oXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oXCIgKm5nRm9yPVwibGV0IHRhYiBvZiB0cmF5VGFiczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ0YWIudHlwZSA9PT0gcGl2b3RUYWJUeXBlLlJvdXRlZFwiIHJvbGU9XCJtZW51aXRlbVwiIFtyb3V0ZXJMaW5rXT1cInRhYi5yb3V0ZVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIiBbY2xhc3Muc21lLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAoc21lUm91dGVyTGlua0FjdGl2YXRlZCk9XCJzZWxlY3QodGFiKVwiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ0YWIucm91dGVyTGlua0FjdGl2ZU9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidGFiLnR5cGUgPT09IHBpdm90VGFiVHlwZS5TdGF0aWNcIiByb2xlPVwibWVudWl0ZW1cIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNtZS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0YWIuZGlzYWJsZWRcIiAoY2xpY2spPVwic2VsZWN0KHRhYilcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25DbGFzc1wiIFtjbGFzc109XCJ0YWIuaWNvbkNsYXNzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3t0YWIubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NtZS1kcm9wZG93bj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2hlYWRlcj5cclxuPC9kaXY+XHJcbjwhLS0gUm91dGVkIFRhYiBDb250ZW50IC0tPlxyXG48c2VjdGlvbiAqbmdJZj1cImhhc1JvdXRlZFRhYnNcIiByb2xlPVwidGFicGFuZWxcIiBbaWRdPVwiaWRCYWcudGFiUGFuZWxcIiBbY2xhc3Muc21lLWxheW91dC1ub25lXT1cIiFzZWxlY3Rpb25Jc1JvdXRlZFwiXHJcbiAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXNlbGVjdGlvbklzUm91dGVkXCI+XHJcbiAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG48L3NlY3Rpb24+XHJcblxyXG48IS0tIFN0YXRpYyBUYWIgQ29udGVudCAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1N0YXRpY1RhYnNcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdmlzaWJsZVRhYnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWIudHlwZSA9PT0gcGl2b3RUYWJUeXBlLlN0YXRpY1wiPlxyXG4gICAgICA8c2VjdGlvbiByb2xlPVwidGFicGFuZWxcIiBbaWRdPVwiaWRCYWcudGFiUGFuZWwgKyBpXCIgW2NsYXNzLnNtZS1sYXlvdXQtbm9uZV09XCIhaXNTZWxlY3RlZCh0YWIpXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhaXNTZWxlY3RlZCh0YWIpXCIgW2F0dHIudGFiaW5kZXhdPVwiZ2V0VGFiUGFuZWxJbmRleChpZEJhZy50YWJQYW5lbCArIGksIGlzU2VsZWN0ZWQodGFiKSlcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiKHN3aXRjaFRhYkJ5U2hvd0hpZGUgfHwgaXNTZWxlY3RlZCh0YWIpKSA/IHRhYi5jb250ZW50VGVtcGxhdGUgOiBudWxsXCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19