myrtex-widget-site-header 1.0.26 → 1.0.27

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 (28) hide show
  1. package/esm2020/lib/models/header-widget.model.mjs +1 -1
  2. package/esm2020/lib/modules/main-menu/main-menu.component.mjs +9 -3
  3. package/esm2020/lib/modules/ovz-menu/ovz-menu.component.mjs +1 -1
  4. package/esm2020/lib/modules/public-pages/public-pages.component.mjs +26 -2
  5. package/esm2020/lib/myrtex-widget-site-header.component.mjs +68 -23
  6. package/esm2020/lib/myrtex-widget-site-header.module.mjs +19 -4
  7. package/esm2020/lib/services/site-header.service.mjs +24 -0
  8. package/esm2020/lib/store/site-header.actions.mjs +11 -0
  9. package/esm2020/lib/store/site-header.effects.mjs +23 -0
  10. package/esm2020/lib/store/site-header.reducer.mjs +20 -0
  11. package/esm2020/lib/store/site-header.selectors.mjs +4 -0
  12. package/esm2020/lib/store/site-header.state.mjs +6 -0
  13. package/fesm2015/myrtex-widget-site-header.mjs +165 -26
  14. package/fesm2015/myrtex-widget-site-header.mjs.map +1 -1
  15. package/fesm2020/myrtex-widget-site-header.mjs +175 -25
  16. package/fesm2020/myrtex-widget-site-header.mjs.map +1 -1
  17. package/lib/models/header-widget.model.d.ts +6 -0
  18. package/lib/modules/main-menu/main-menu.component.d.ts +3 -1
  19. package/lib/modules/public-pages/public-pages.component.d.ts +8 -3
  20. package/lib/myrtex-widget-site-header.component.d.ts +12 -3
  21. package/lib/myrtex-widget-site-header.module.d.ts +8 -6
  22. package/lib/services/site-header.service.d.ts +15 -0
  23. package/lib/store/site-header.actions.d.ts +17 -0
  24. package/lib/store/site-header.effects.d.ts +14 -0
  25. package/lib/store/site-header.reducer.d.ts +4 -0
  26. package/lib/store/site-header.selectors.d.ts +3 -0
  27. package/lib/store/site-header.state.d.ts +7 -0
  28. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXdpZGdldC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC13aWRnZXQtc2l0ZS1oZWFkZXIvc3JjL2xpYi9tb2RlbHMvaGVhZGVyLXdpZGdldC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2hhcmVkTWVudU9wdGlvbnNUeXBlRW51bSwgU29jaWFsTGlua1R5cGVFbnVtIH0gZnJvbSAnLi9oZWFkZXItd2lkZ2V0LmVuYW0nO1xyXG5pbXBvcnQgeyBDb2xvclNjaGVtZUVudW0sIEZvbnRTaXplRW51bSB9IGZyb20gJy4vaGVhZGVyLXdpZGdldC5lbmFtJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0UHVibGljUGFnZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogSGVhZGVyV2lkZ2V0UHVibGljUGFnZVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpZGdldFBsYXRmb3JtIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbGluazogc3RyaW5nO1xyXG4gIHhsaW5rSHJlZjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpZGdldFBsYXRmb3Jtc0pzb24ge1xyXG4gIGhlYWRlclBsYXRmb3Jtc0xpc3RIZWFkPzogc3RyaW5nO1xyXG4gIGZvb3RlclBsYXRmb3Jtc0xpc3RIZWFkPzogc3RyaW5nO1xyXG4gIHBsYXRmb3Jtcz86IEhlYWRlcldpZGdldFBsYXRmb3JtW107XHJcbiAgdnNlSGVhZGVyUGxhdGZvcm1zTGlzdEhlYWQ/OiBzdHJpbmc7XHJcbiAgdnNlRm9vdGVyUGxhdGZvcm1zTGlzdEhlYWQ/OiBzdHJpbmc7XHJcbiAgaXNTaG93VnNlUGxhdGZvcm1zPzogYm9vbGVhbjtcclxuICB2c2VQbGF0Zm9ybXM/OiBIZWFkZXJXaWRnZXRQbGF0Zm9ybVtdO1xyXG4gIHVzZUZvb3RlcldpdGhQbGF0Zm9ybXM/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpZGdldFNoYXJlZE1lbnVTdWJJdGVtIHtcclxuICB0eXBlOiBTaGFyZWRNZW51T3B0aW9uc1R5cGVFbnVtO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB1cmw/OiBzdHJpbmc7XHJcbiAgY3NzQ2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIGFkZGl0aW9uYWxUeHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0U2hhcmVkTWVudUl0ZW0ge1xyXG4gIHR5cGU6IFNoYXJlZE1lbnVPcHRpb25zVHlwZUVudW07XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHVybD86IHN0cmluZztcclxuICBzdWJJdGVtcz86IEhlYWRlcldpZGdldFNoYXJlZE1lbnVTdWJJdGVtW107XHJcbiAgY3NzQ2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIGFkZGl0aW9uYWxUeHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0RXh0ZW5zaW9uTWVudUl0ZW0ge1xyXG4gIGV4dE1lbnVOYW1lOiBzdHJpbmc7XHJcbiAgZXh0T3JkZXI6IG51bWJlcjtcclxuICBleHRQb2xpY3k/OiBzdHJpbmc7XHJcbiAgZXh0VXJsOiBzdHJpbmc7XHJcbiAgaXNBY3RpdmU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0U3lzdGVtUm9sZSB7XHJcbiAgcm9sZTogbnVtYmVyOyAvLyBTeXN0ZW1Sb2xlc0VudW0gYXMgbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0Um9sZSB7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBzeXNOYW1lPzogc3RyaW5nO1xyXG4gIHZpc2libGU/OiBib29sZWFuO1xyXG4gIG9yZGVyPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpZGdldFVzZXJJZGVudGl0eSB7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBmdWxsTmFtZT86IHN0cmluZztcclxuICBzeXN0ZW1Sb2xlcz86IEhlYWRlcldpZGdldFN5c3RlbVJvbGVbXTtcclxuICByb2xlcz86IEhlYWRlcldpZGdldFJvbGVbXTtcclxuICBwcHA/OiBzdHJpbmc7XHJcbiAgdGVuYW50SWQ/OiBzdHJpbmc7XHJcbiAgaWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJXaWRnZXRTb2NpYWxMaW5rIHtcclxuICBpc0xpZ2h0SGVhZGVyPzogYm9vbGVhbjtcclxuICB0eXBlOiBTb2NpYWxMaW5rVHlwZUVudW07XHJcbiAgdXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0T3Z6U2V0dGluZ3Mge1xyXG4gIHBpY3R1cmVTd2l0Y2g6IGJvb2xlYW47XHJcbiAgZm9udFNpemU6IEZvbnRTaXplRW51bTtcclxuICBjb2xvclNjaGVtZTogQ29sb3JTY2hlbWVFbnVtO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpZGdldE1vZGVsIHtcclxuICBwdWJsaWNQYWdlczogSGVhZGVyV2lkZ2V0UHVibGljUGFnZVtdO1xyXG4gIGlzUGc/OiBib29sZWFuO1xyXG4gIGhhc092ej86IGJvb2xlYW47XHJcbiAgb3Z6U2V0dGluZ3M/OiBIZWFkZXJXaWRnZXRPdnpTZXR0aW5ncztcclxuICB1c2VySWRlbnRpdHk/OiBIZWFkZXJXaWRnZXRVc2VySWRlbnRpdHk7XHJcbiAgaXNMb2dnZWRJbj86IGJvb2xlYW47XHJcbiAgdXNlckhhc0F2YXRhcj86IGJvb2xlYW47XHJcbiAgdXNlckF2YXRhclVybD86IHN0cmluZztcclxuICBoZWFkZXJQb3NpdGlvbj86IHN0cmluZztcclxuICBpc0xpZ2h0PzogYm9vbGVhbjtcclxuICBpc1RyYW5zcGFyZW50PzogYm9vbGVhbjtcclxuICB0b3BNZW51TG9nb3V0VGV4dD86IHN0cmluZztcclxuICBwbGF0Zm9ybXNKc29uPzogSGVhZGVyV2lkZ2V0UGxhdGZvcm1zSnNvbjtcclxuICBpc1ZzZT86IGJvb2xlYW47XHJcbiAgYXdhcmRVc2VyTWVudUVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIHNoYXJlZE1lbnU/OiBIZWFkZXJXaWRnZXRTaGFyZWRNZW51SXRlbVtdO1xyXG4gIHNoYXJlZEV4dGVuc2lvbk1lbnU/OiBIZWFkZXJXaWRnZXRFeHRlbnNpb25NZW51SXRlbVtdO1xyXG4gIGxvZ291dFBhdGg/OiBzdHJpbmc7XHJcbiAgdXNlckFkbWluVXJsPzogc3RyaW5nO1xyXG4gIHVzZXJFeHBlcnRpc2VzVXJsPzogc3RyaW5nO1xyXG4gIGFncmVlbWVudEFkbWluRG9jdW1lbnRzVXJsPzogc3RyaW5nO1xyXG4gIGdyYW50VmFsaWRhdGlvbnNQZ1VybD86IHN0cmluZztcclxuICBhcHBsaWNhdGlvblZhbGlkYXRpb25BZG1pblVybD86IHN0cmluZztcclxuICB1c2VyUHJvZmlsZVVybD86IHN0cmluZztcclxuICB1c2VyQXBwbGljYXRpb25zVXJsPzogc3RyaW5nO1xyXG4gIGlkZW50aXR5VXNlclNldHRpbmdzVXJsPzogc3RyaW5nO1xyXG4gIHNob3dHcmFudFZhbGlkYXRpb25zSW5BdXRoTWVudT86IGJvb2xlYW47XHJcbiAgc2hvd1dvcmtQYW5lbD86IGJvb2xlYW47XHJcbiAgc2hvd0V4cGVydGlzZXM/OiBib29sZWFuO1xyXG4gIGNhblNlZURvY3M/OiBib29sZWFuO1xyXG4gIGhlYWRlclZpZXdSb2xlPzogc3RyaW5nO1xyXG4gIHNvY2lhbExpbmtzPzogSGVhZGVyV2lkZ2V0U29jaWFsTGlua1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJNZW51SXRlbSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGlzU3BlY2lhbD86IGJvb2xlYW47XHJcbiAgc3BlY2lhbElkPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXdpZGdldC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC13aWRnZXQtc2l0ZS1oZWFkZXIvc3JjL2xpYi9tb2RlbHMvaGVhZGVyLXdpZGdldC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2hhcmVkTWVudU9wdGlvbnNUeXBlRW51bSwgU29jaWFsTGlua1R5cGVFbnVtIH0gZnJvbSAnLi9oZWFkZXItd2lkZ2V0LmVuYW0nO1xyXG5pbXBvcnQgeyBDb2xvclNjaGVtZUVudW0sIEZvbnRTaXplRW51bSB9IGZyb20gJy4vaGVhZGVyLXdpZGdldC5lbmFtJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0UHVibGljUGFnZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogSGVhZGVyV2lkZ2V0UHVibGljUGFnZVtdO1xyXG4gIGlzQXR0YWNoZWRSZWdpb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpZGdldFBsYXRmb3JtIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbGluazogc3RyaW5nO1xyXG4gIHhsaW5rSHJlZjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpZGdldFBsYXRmb3Jtc0pzb24ge1xyXG4gIGhlYWRlclBsYXRmb3Jtc0xpc3RIZWFkPzogc3RyaW5nO1xyXG4gIGZvb3RlclBsYXRmb3Jtc0xpc3RIZWFkPzogc3RyaW5nO1xyXG4gIHBsYXRmb3Jtcz86IEhlYWRlcldpZGdldFBsYXRmb3JtW107XHJcbiAgdnNlSGVhZGVyUGxhdGZvcm1zTGlzdEhlYWQ/OiBzdHJpbmc7XHJcbiAgdnNlRm9vdGVyUGxhdGZvcm1zTGlzdEhlYWQ/OiBzdHJpbmc7XHJcbiAgaXNTaG93VnNlUGxhdGZvcm1zPzogYm9vbGVhbjtcclxuICB2c2VQbGF0Zm9ybXM/OiBIZWFkZXJXaWRnZXRQbGF0Zm9ybVtdO1xyXG4gIHVzZUZvb3RlcldpdGhQbGF0Zm9ybXM/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpZGdldFNoYXJlZE1lbnVTdWJJdGVtIHtcclxuICB0eXBlOiBTaGFyZWRNZW51T3B0aW9uc1R5cGVFbnVtO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB1cmw/OiBzdHJpbmc7XHJcbiAgY3NzQ2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIGFkZGl0aW9uYWxUeHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0U2hhcmVkTWVudUl0ZW0ge1xyXG4gIHR5cGU6IFNoYXJlZE1lbnVPcHRpb25zVHlwZUVudW07XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHVybD86IHN0cmluZztcclxuICBzdWJJdGVtcz86IEhlYWRlcldpZGdldFNoYXJlZE1lbnVTdWJJdGVtW107XHJcbiAgY3NzQ2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIGFkZGl0aW9uYWxUeHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0RXh0ZW5zaW9uTWVudUl0ZW0ge1xyXG4gIGV4dE1lbnVOYW1lOiBzdHJpbmc7XHJcbiAgZXh0T3JkZXI6IG51bWJlcjtcclxuICBleHRQb2xpY3k/OiBzdHJpbmc7XHJcbiAgZXh0VXJsOiBzdHJpbmc7XHJcbiAgaXNBY3RpdmU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0U3lzdGVtUm9sZSB7XHJcbiAgcm9sZTogbnVtYmVyOyAvLyBTeXN0ZW1Sb2xlc0VudW0gYXMgbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0Um9sZSB7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBzeXNOYW1lPzogc3RyaW5nO1xyXG4gIHZpc2libGU/OiBib29sZWFuO1xyXG4gIG9yZGVyPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpZGdldFVzZXJJZGVudGl0eSB7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBmdWxsTmFtZT86IHN0cmluZztcclxuICBzeXN0ZW1Sb2xlcz86IEhlYWRlcldpZGdldFN5c3RlbVJvbGVbXTtcclxuICByb2xlcz86IEhlYWRlcldpZGdldFJvbGVbXTtcclxuICBwcHA/OiBzdHJpbmc7XHJcbiAgdGVuYW50SWQ/OiBzdHJpbmc7XHJcbiAgaWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJXaWRnZXRTb2NpYWxMaW5rIHtcclxuICBpc0xpZ2h0SGVhZGVyPzogYm9vbGVhbjtcclxuICB0eXBlOiBTb2NpYWxMaW5rVHlwZUVudW07XHJcbiAgdXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2lkZ2V0T3Z6U2V0dGluZ3Mge1xyXG4gIHBpY3R1cmVTd2l0Y2g6IGJvb2xlYW47XHJcbiAgZm9udFNpemU6IEZvbnRTaXplRW51bTtcclxuICBjb2xvclNjaGVtZTogQ29sb3JTY2hlbWVFbnVtO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpZGdldE1vZGVsIHtcclxuICBwdWJsaWNQYWdlczogSGVhZGVyV2lkZ2V0UHVibGljUGFnZVtdO1xyXG4gIGlzUGc/OiBib29sZWFuO1xyXG4gIGhhc092ej86IGJvb2xlYW47XHJcbiAgb3Z6U2V0dGluZ3M/OiBIZWFkZXJXaWRnZXRPdnpTZXR0aW5ncztcclxuICB1c2VySWRlbnRpdHk/OiBIZWFkZXJXaWRnZXRVc2VySWRlbnRpdHk7XHJcbiAgaXNMb2dnZWRJbj86IGJvb2xlYW47XHJcbiAgdXNlckhhc0F2YXRhcj86IGJvb2xlYW47XHJcbiAgdXNlckF2YXRhclVybD86IHN0cmluZztcclxuICBoZWFkZXJQb3NpdGlvbj86IHN0cmluZztcclxuICBpc0xpZ2h0PzogYm9vbGVhbjtcclxuICBpc1RyYW5zcGFyZW50PzogYm9vbGVhbjtcclxuICB0b3BNZW51TG9nb3V0VGV4dD86IHN0cmluZztcclxuICBwbGF0Zm9ybXNKc29uPzogSGVhZGVyV2lkZ2V0UGxhdGZvcm1zSnNvbjtcclxuICBpc1ZzZT86IGJvb2xlYW47XHJcbiAgYXdhcmRVc2VyTWVudUVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIHNoYXJlZE1lbnU/OiBIZWFkZXJXaWRnZXRTaGFyZWRNZW51SXRlbVtdO1xyXG4gIHNoYXJlZEV4dGVuc2lvbk1lbnU/OiBIZWFkZXJXaWRnZXRFeHRlbnNpb25NZW51SXRlbVtdO1xyXG4gIGxvZ291dFBhdGg/OiBzdHJpbmc7XHJcbiAgdXNlckFkbWluVXJsPzogc3RyaW5nO1xyXG4gIHVzZXJFeHBlcnRpc2VzVXJsPzogc3RyaW5nO1xyXG4gIGFncmVlbWVudEFkbWluRG9jdW1lbnRzVXJsPzogc3RyaW5nO1xyXG4gIGdyYW50VmFsaWRhdGlvbnNQZ1VybD86IHN0cmluZztcclxuICBhcHBsaWNhdGlvblZhbGlkYXRpb25BZG1pblVybD86IHN0cmluZztcclxuICB1c2VyUHJvZmlsZVVybD86IHN0cmluZztcclxuICB1c2VyQXBwbGljYXRpb25zVXJsPzogc3RyaW5nO1xyXG4gIGlkZW50aXR5VXNlclNldHRpbmdzVXJsPzogc3RyaW5nO1xyXG4gIHNob3dHcmFudFZhbGlkYXRpb25zSW5BdXRoTWVudT86IGJvb2xlYW47XHJcbiAgc2hvd1dvcmtQYW5lbD86IGJvb2xlYW47XHJcbiAgc2hvd0V4cGVydGlzZXM/OiBib29sZWFuO1xyXG4gIGNhblNlZURvY3M/OiBib29sZWFuO1xyXG4gIGhlYWRlclZpZXdSb2xlPzogc3RyaW5nO1xyXG4gIHNvY2lhbExpbmtzPzogSGVhZGVyV2lkZ2V0U29jaWFsTGlua1tdO1xyXG4gIGxvZ29TdmdUYWdzPzogTG9nb1N2Z1RhZ3M7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlck1lbnVJdGVtIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgaXNTcGVjaWFsPzogYm9vbGVhbjtcclxuICBzcGVjaWFsSWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9nb1N2Z1RhZ3Ncclxue1xyXG4gIGJsYWNrTG9nb1RhZzogc3RyaW5nO1xyXG4gIHdoaXRlTG9nb1RhZzogc3RyaW5nO1xyXG59Il19
@@ -18,6 +18,8 @@ export class MainMenuComponent {
18
18
  this.isMobile = false;
19
19
  this.isShowAwardUserMenu = false;
20
20
  this.headerModel = { publicPages: [] };
21
+ this.hideNotLogginMainMenu = false;
22
+ this.selectedRegion = null;
21
23
  this._userMenuItems = [];
22
24
  }
23
25
  ngOnInit() {
@@ -137,10 +139,10 @@ export class MainMenuComponent {
137
139
  }
138
140
  }
139
141
  MainMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MainMenuComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
140
- MainMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MainMenuComponent, selector: "lib-main-menu", inputs: { customClass: "customClass", opened: "opened", isMobile: "isMobile", isShowAwardUserMenu: "isShowAwardUserMenu", headerModel: "headerModel" }, ngImport: i0, template: "<div *ngIf=\"!isMobile || opened\" [class]=\"customClass\" class=\"universal-header__top-nav\">\r\n <div *ngIf=\"!headerModel.isLoggedIn\" class=\"universal-header__login\">\r\n <a href=\"/identity/account/login\" class=\"universal-button--accent\">\u0412\u043E\u0439\u0442\u0438</a>\r\n </div>\r\n\r\n <ng-container *ngIf=\"isShowAwardUserMenu && isMobile\">\r\n <mrx-award-user-menu [hideUserNavMenu]=\"true\"></mrx-award-user-menu>\r\n </ng-container>\r\n\r\n <div\r\n *ngIf=\"headerModel.isLoggedIn\"\r\n class=\"universal-header__user\"\r\n tabindex=\"0\"\r\n role=\"button\"\r\n aria-haspopup=\"menu\"\r\n aria-expanded=\"false\"\r\n aria-controls=\"user-dropdown\"\r\n >\r\n <div class=\"universal-header__user-profile\" (click)=\"toggleUserMenu()\">\r\n <div class=\"universal-header__user-profile__wrapper\">\r\n <div class=\"user-profile__avatar\" aria-hidden=\"true\"> \r\n <span *ngIf=\"!headerModel.userHasAvatar\" class=\"mrx-icon icon-user icon-font-24 text-normal\"></span> \r\n <img *ngIf=\"headerModel.userHasAvatar\" src=\"{{userAvatarUrl}}\" alt=\"\u0410\u0432\u0430\u0442\u0430\u0440 {{userName}}\">\r\n </div>\r\n\r\n <div class=\"user-profile__info\" *ngIf=\"hasUserInfo\">\r\n <span class=\"user-profile__info-role\">{{ userRole }}</span>\r\n <span class=\"user-profile__info-name\" [class.active]=\"isUserMenuOpened && isMobile\">{{ userName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"isMobile\"\r\n class=\"mrx-icon icon-chevron-down icon-font-24\"\r\n [class.icon-up]=\"isUserMenuOpened\"\r\n ></div>\r\n </div>\r\n\r\n <div *ngIf='isUserMenuOpened || !isMobile' class=\"universal-header__user-menu\" id=\"dropdown\">\r\n <ul class=\"user-menu__list\">\r\n <li *ngFor=\"let item of userMenuItems\" [class.active]=\"activeUserItem?.name == item.name\">\r\n <a [href]=\"item.url\">\r\n {{ item.name }}\r\n <ng-container *ngIf=\"chatAuthMenu$ | async as chatAuthMenu\">\r\n <span *ngIf=\"item.isSpecial\" class=\"badge\">\r\n {{chatAuthMenu.msgsCount}}\r\n </span>\r\n </ng-container>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <lib-public-pages\r\n *ngIf=\"isMobile\"\r\n [data]=\"headerModel.publicPages\"\r\n [headerPosition]=\"headerModel.headerPosition || '' \"\r\n ></lib-public-pages>\r\n</div>\r\n", components: [{ type: i2.AwardUserMenuComponent, selector: "mrx-award-user-menu", inputs: ["hideUserNavMenu", "opened"], outputs: ["openedChange"] }, { type: i3.PublicPagesComponent, selector: "lib-public-pages", inputs: ["data", "headerPosition"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4.AsyncPipe } });
142
+ MainMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MainMenuComponent, selector: "lib-main-menu", inputs: { customClass: "customClass", opened: "opened", isMobile: "isMobile", isShowAwardUserMenu: "isShowAwardUserMenu", headerModel: "headerModel", hideNotLogginMainMenu: "hideNotLogginMainMenu", selectedRegion: "selectedRegion" }, ngImport: i0, template: "<div *ngIf=\"!isMobile || opened\" [class]=\"customClass\" class=\"universal-header__top-nav\">\r\n <div *ngIf=\"!headerModel.isLoggedIn && !hideNotLogginMainMenu\" class=\"universal-header__login\">\r\n <a href=\"/identity/account/login\" class=\"universal-button--accent\">\u0412\u043E\u0439\u0442\u0438</a>\r\n </div>\r\n\r\n <ng-container *ngIf=\"isShowAwardUserMenu && isMobile\">\r\n <mrx-award-user-menu [hideUserNavMenu]=\"true\"></mrx-award-user-menu>\r\n </ng-container>\r\n\r\n <div\r\n *ngIf=\"headerModel.isLoggedIn\"\r\n class=\"universal-header__user\"\r\n tabindex=\"0\"\r\n role=\"button\"\r\n aria-haspopup=\"menu\"\r\n aria-expanded=\"false\"\r\n aria-controls=\"user-dropdown\"\r\n >\r\n <div class=\"universal-header__user-profile\" (click)=\"toggleUserMenu()\">\r\n <div class=\"universal-header__user-profile__wrapper\">\r\n <div class=\"user-profile__avatar\" aria-hidden=\"true\"> \r\n <span *ngIf=\"!headerModel.userHasAvatar\" class=\"mrx-icon icon-user icon-font-24 text-normal\"></span> \r\n <img *ngIf=\"headerModel.userHasAvatar\" src=\"{{userAvatarUrl}}\" alt=\"\u0410\u0432\u0430\u0442\u0430\u0440 {{userName}}\">\r\n </div>\r\n\r\n <div class=\"user-profile__info\" *ngIf=\"hasUserInfo\">\r\n <span class=\"user-profile__info-role\">{{ userRole }}</span>\r\n <span class=\"user-profile__info-name\" [class.active]=\"isUserMenuOpened && isMobile\">{{ userName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"isMobile\"\r\n class=\"mrx-icon icon-chevron-down icon-font-24\"\r\n [class.icon-up]=\"isUserMenuOpened\"\r\n ></div>\r\n </div>\r\n\r\n <div *ngIf='isUserMenuOpened || !isMobile' class=\"universal-header__user-menu\" id=\"dropdown\">\r\n <ul class=\"user-menu__list\">\r\n <li *ngFor=\"let item of userMenuItems\" [class.active]=\"activeUserItem?.name == item.name\">\r\n <a [href]=\"item.url\">\r\n {{ item.name }}\r\n <ng-container *ngIf=\"chatAuthMenu$ | async as chatAuthMenu\">\r\n <span *ngIf=\"item.isSpecial\" class=\"badge\">\r\n {{chatAuthMenu.msgsCount}}\r\n </span>\r\n </ng-container>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <lib-public-pages\r\n *ngIf=\"isMobile\"\r\n [data]=\"headerModel.publicPages\"\r\n [selectedRegion]=\"selectedRegion\"\r\n [headerPosition]=\"headerModel.headerPosition || '' \"\r\n ></lib-public-pages>\r\n</div>\r\n", components: [{ type: i2.AwardUserMenuComponent, selector: "mrx-award-user-menu", inputs: ["hideUserNavMenu", "opened"], outputs: ["openedChange"] }, { type: i3.PublicPagesComponent, selector: "lib-public-pages", inputs: ["data", "headerPosition", "selectedRegion"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4.AsyncPipe } });
141
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MainMenuComponent, decorators: [{
142
144
  type: Component,
143
- args: [{ selector: 'lib-main-menu', template: "<div *ngIf=\"!isMobile || opened\" [class]=\"customClass\" class=\"universal-header__top-nav\">\r\n <div *ngIf=\"!headerModel.isLoggedIn\" class=\"universal-header__login\">\r\n <a href=\"/identity/account/login\" class=\"universal-button--accent\">\u0412\u043E\u0439\u0442\u0438</a>\r\n </div>\r\n\r\n <ng-container *ngIf=\"isShowAwardUserMenu && isMobile\">\r\n <mrx-award-user-menu [hideUserNavMenu]=\"true\"></mrx-award-user-menu>\r\n </ng-container>\r\n\r\n <div\r\n *ngIf=\"headerModel.isLoggedIn\"\r\n class=\"universal-header__user\"\r\n tabindex=\"0\"\r\n role=\"button\"\r\n aria-haspopup=\"menu\"\r\n aria-expanded=\"false\"\r\n aria-controls=\"user-dropdown\"\r\n >\r\n <div class=\"universal-header__user-profile\" (click)=\"toggleUserMenu()\">\r\n <div class=\"universal-header__user-profile__wrapper\">\r\n <div class=\"user-profile__avatar\" aria-hidden=\"true\"> \r\n <span *ngIf=\"!headerModel.userHasAvatar\" class=\"mrx-icon icon-user icon-font-24 text-normal\"></span> \r\n <img *ngIf=\"headerModel.userHasAvatar\" src=\"{{userAvatarUrl}}\" alt=\"\u0410\u0432\u0430\u0442\u0430\u0440 {{userName}}\">\r\n </div>\r\n\r\n <div class=\"user-profile__info\" *ngIf=\"hasUserInfo\">\r\n <span class=\"user-profile__info-role\">{{ userRole }}</span>\r\n <span class=\"user-profile__info-name\" [class.active]=\"isUserMenuOpened && isMobile\">{{ userName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"isMobile\"\r\n class=\"mrx-icon icon-chevron-down icon-font-24\"\r\n [class.icon-up]=\"isUserMenuOpened\"\r\n ></div>\r\n </div>\r\n\r\n <div *ngIf='isUserMenuOpened || !isMobile' class=\"universal-header__user-menu\" id=\"dropdown\">\r\n <ul class=\"user-menu__list\">\r\n <li *ngFor=\"let item of userMenuItems\" [class.active]=\"activeUserItem?.name == item.name\">\r\n <a [href]=\"item.url\">\r\n {{ item.name }}\r\n <ng-container *ngIf=\"chatAuthMenu$ | async as chatAuthMenu\">\r\n <span *ngIf=\"item.isSpecial\" class=\"badge\">\r\n {{chatAuthMenu.msgsCount}}\r\n </span>\r\n </ng-container>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <lib-public-pages\r\n *ngIf=\"isMobile\"\r\n [data]=\"headerModel.publicPages\"\r\n [headerPosition]=\"headerModel.headerPosition || '' \"\r\n ></lib-public-pages>\r\n</div>\r\n" }]
145
+ args: [{ selector: 'lib-main-menu', template: "<div *ngIf=\"!isMobile || opened\" [class]=\"customClass\" class=\"universal-header__top-nav\">\r\n <div *ngIf=\"!headerModel.isLoggedIn && !hideNotLogginMainMenu\" class=\"universal-header__login\">\r\n <a href=\"/identity/account/login\" class=\"universal-button--accent\">\u0412\u043E\u0439\u0442\u0438</a>\r\n </div>\r\n\r\n <ng-container *ngIf=\"isShowAwardUserMenu && isMobile\">\r\n <mrx-award-user-menu [hideUserNavMenu]=\"true\"></mrx-award-user-menu>\r\n </ng-container>\r\n\r\n <div\r\n *ngIf=\"headerModel.isLoggedIn\"\r\n class=\"universal-header__user\"\r\n tabindex=\"0\"\r\n role=\"button\"\r\n aria-haspopup=\"menu\"\r\n aria-expanded=\"false\"\r\n aria-controls=\"user-dropdown\"\r\n >\r\n <div class=\"universal-header__user-profile\" (click)=\"toggleUserMenu()\">\r\n <div class=\"universal-header__user-profile__wrapper\">\r\n <div class=\"user-profile__avatar\" aria-hidden=\"true\"> \r\n <span *ngIf=\"!headerModel.userHasAvatar\" class=\"mrx-icon icon-user icon-font-24 text-normal\"></span> \r\n <img *ngIf=\"headerModel.userHasAvatar\" src=\"{{userAvatarUrl}}\" alt=\"\u0410\u0432\u0430\u0442\u0430\u0440 {{userName}}\">\r\n </div>\r\n\r\n <div class=\"user-profile__info\" *ngIf=\"hasUserInfo\">\r\n <span class=\"user-profile__info-role\">{{ userRole }}</span>\r\n <span class=\"user-profile__info-name\" [class.active]=\"isUserMenuOpened && isMobile\">{{ userName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"isMobile\"\r\n class=\"mrx-icon icon-chevron-down icon-font-24\"\r\n [class.icon-up]=\"isUserMenuOpened\"\r\n ></div>\r\n </div>\r\n\r\n <div *ngIf='isUserMenuOpened || !isMobile' class=\"universal-header__user-menu\" id=\"dropdown\">\r\n <ul class=\"user-menu__list\">\r\n <li *ngFor=\"let item of userMenuItems\" [class.active]=\"activeUserItem?.name == item.name\">\r\n <a [href]=\"item.url\">\r\n {{ item.name }}\r\n <ng-container *ngIf=\"chatAuthMenu$ | async as chatAuthMenu\">\r\n <span *ngIf=\"item.isSpecial\" class=\"badge\">\r\n {{chatAuthMenu.msgsCount}}\r\n </span>\r\n </ng-container>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <lib-public-pages\r\n *ngIf=\"isMobile\"\r\n [data]=\"headerModel.publicPages\"\r\n [selectedRegion]=\"selectedRegion\"\r\n [headerPosition]=\"headerModel.headerPosition || '' \"\r\n ></lib-public-pages>\r\n</div>\r\n" }]
144
146
  }], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { customClass: [{
145
147
  type: Input
146
148
  }], opened: [{
@@ -151,5 +153,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
151
153
  type: Input
152
154
  }], headerModel: [{
153
155
  type: Input
156
+ }], hideNotLogginMainMenu: [{
157
+ type: Input
158
+ }], selectedRegion: [{
159
+ type: Input
154
160
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC13aWRnZXQtc2l0ZS1oZWFkZXIvc3JjL2xpYi9tb2R1bGVzL21haW4tbWVudS9tYWluLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LXdpZGdldC1zaXRlLWhlYWRlci9zcmMvbGliL21vZHVsZXMvbWFpbi1tZW51L21haW4tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBTXBFLE1BQU0sT0FBTyxpQkFBaUI7SUFhNUIsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFaekIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLG1CQUFjLEdBQXdCLElBQUksQ0FBQztRQUMzQyxrQkFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFckQsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQXNCLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBRXRELG1CQUFjLEdBQW1CLEVBQUUsQ0FBQztJQUc1QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxj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K0M7Z0JBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQ1QsSUFBSSxFQUFFLFdBQVcsQ0FBQyxXQUFXO29CQUM3QixHQUFHLEVBQUUsV0FBVyxDQUFDLE1BQU07aUJBQ3hCLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUM3QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUsseUJBQXlCLENBQUMsT0FBTyxDQUNsRCxDQUFDO1FBQ0YsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUN0QyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNULElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtnQkFDbEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUkseUJBQXlCO2FBQzlDLENBQUMsQ0FBQztTQUNKO1FBRUQsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNULElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixJQUFJLE9BQU87WUFDbkQsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxJQUFJLDBCQUEwQjtTQUMvRCxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OytHQTdLVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw2TUNYOUIsdS9FQTREQTs0RkRqRGEsaUJBQWlCO2tCQUo3QixTQUFTOytCQUNFLGVBQWU7NEZBUWhCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSGVhZGVyV2lkZ2V0TW9kZWwsIFVzZXJNZW51SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkZXItd2lkZ2V0Lm1vZGVsJztcclxuaW1wb3J0IHsgU2hhcmVkTWVudU9wdGlvbnNUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkZXItd2lkZ2V0LmVuYW0nO1xyXG5pbXBvcnQgeyBzZWxlY3RNYWluTWVudU1vZGVsIH0gZnJvbSAnLi9zdG9yZS9tYWluLW1lbnUuc2VsZWN0b3JzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IGxvYWRDaGF0QXV0aE1lbnVQZW5kaW5nIH0gZnJvbSAnLi9zdG9yZS9tYWluLW1lbnUuYWN0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1tYWluLW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLW1lbnUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWluTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGlzVXNlck1lbnVPcGVuZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgYWN0aXZlVXNlckl0ZW06IFVzZXJNZW51SXRlbSB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBjaGF0QXV0aE1lbnUkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0TWFpbk1lbnVNb2RlbCk7XHJcblxyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzID0gJyc7XHJcbiAgQElucHV0KCkgb3BlbmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNNb2JpbGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1Nob3dBd2FyZFVzZXJNZW51ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGVhZGVyTW9kZWw6IEhlYWRlcldpZGdldE1vZGVsID0geyBwdWJsaWNQYWdlczogW10gfTtcclxuXHJcbiAgcHJpdmF0ZSBfdXNlck1lbnVJdGVtczogVXNlck1lbnVJdGVtW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdXNlck1lbnVJdGVtcyA9IHRoaXMuX2J1aWxkVXNlck1lbnVJdGVtcygpO1xyXG5cclxuICAgIGNvbnN0IGl0ZW0gPVxyXG4gICAgICB0aGlzLl91c2VyTWVudUl0ZW1zLmZpbmQoaXRlbSA9PlxyXG4gICAgICAgIGl0ZW0udXJsLmluY2x1ZGVzKGRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lKSBcclxuICAgICAgKSA/PyBudWxsO1xyXG5cclxuICAgIHRoaXMuYWN0aXZlVXNlckl0ZW0gPSBkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSAhPSAnLycgPyBpdGVtIDogbnVsbDtcclxuXHJcbiAgICBpZih0aGlzLmhlYWRlck1vZGVsLmlzTG9nZ2VkSW4gPz8gZmFsc2UpXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobG9hZENoYXRBdXRoTWVudVBlbmRpbmcoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHVzZXJNZW51SXRlbXMoKTogVXNlck1lbnVJdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXJNZW51SXRlbXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHVzZXJSb2xlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJNb2RlbC5oZWFkZXJWaWV3Um9sZSA/PyAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdXNlck5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmhlYWRlck1vZGVsLnVzZXJJZGVudGl0eT8uZnVsbE5hbWUgPz8gJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGhhc1VzZXJJbmZvKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy51c2VyTmFtZT8udHJpbSgpIHx8ICEhdGhpcy51c2VyUm9sZT8udHJpbSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB1c2VyQXZhdGFyVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJNb2RlbC51c2VyQXZhdGFyVXJsID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQWN0aXZlVXNlck1lbnUoaXRlbTogVXNlck1lbnVJdGVtKSB7XHJcbiAgICByZXR1cm4gaXRlbS51cmwuaW5jbHVkZXMoZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVVzZXJNZW51KCkge1xyXG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcclxuICAgICAgdGhpcy5pc1VzZXJNZW51T3BlbmVkID0gIXRoaXMuaXNVc2VyTWVudU9wZW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2J1aWxkVXNlck1lbnVJdGVtcygpOiBVc2VyTWVudUl0ZW1bXSB7XHJcbiAgICBjb25zdCBpdGVtczogVXNlck1lbnVJdGVtW10gPSBbXTtcclxuICAgIGNvbnN0IHNoYXJlZE1lbnUgPSB0aGlzLmhlYWRlck1vZGVsLnNoYXJlZE1lbnUgPz8gW107XHJcbiAgICBjb25zdCBzaGFyZWRFeHRlbnNpb25NZW51ID0gdGhpcy5oZWFkZXJNb2RlbC5zaGFyZWRFeHRlbnNpb25NZW51ID8/IFtdO1xyXG5cclxuICAgIC8v0JvQvtCz0LjQutCwINC30LAg0LjRgdC60LvRjtGH0LXQvdC40LXQvCDQv9GA0L7QstC10YDQvtC6INC/0L7Qu9C40YLQuNC6INGB0LrQvtC/0LjRgNC+0LLQsNC90LAg0YEgQXV0aE5hdk1lbnVNZW51LmNzaHRtbCDQuNC3IFJvc2dyYW50LldlYnNoYXJlZFxyXG5cclxuICAgIGNvbnN0IGFkbWluUGFuZWwgPSBzaGFyZWRNZW51LmZpbmQoXHJcbiAgICAgIHggPT4geC50eXBlID09PSBTaGFyZWRNZW51T3B0aW9uc1R5cGVFbnVtLkFkbWluUGFuZWxcclxuICAgICk7XHJcbiAgICBpZiAoYWRtaW5QYW5lbCAmJiB0aGlzLmhlYWRlck1vZGVsLnNob3dXb3JrUGFuZWwpIHtcclxuICAgICAgaXRlbXMucHVzaCh7XHJcbiAgICAgICAgbmFtZTogYWRtaW5QYW5lbC5uYW1lLFxyXG4gICAgICAgIHVybDogYWRtaW5QYW5lbC51cmwgfHwgJy91c2VyL2FkbWluJ1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBleHBlcnRQcm9maWxlID0gc2hhcmVkTWVudS5maW5kKFxyXG4gICAgICB4ID0+IHgudHlwZSA9PT0gU2hhcmVkTWVudU9wdGlvbnNUeXBlRW51bS5FeHBlcnRQcm9maWxlXHJcbiAgICApO1xyXG4gICAgY29uc3QgZXhwZXJ0aXNlID0gZXhwZXJ0UHJvZmlsZT8uc3ViSXRlbXM/LmZpbmQoXHJcbiAgICAgIHggPT4geC50eXBlID09PSBTaGFyZWRNZW51T3B0aW9uc1R5cGVFbnVtLkV4cGVydGlzZVxyXG4gICAgKTtcclxuICAgIGlmIChleHBlcnRpc2UgJiYgdGhpcy5oZWFkZXJNb2RlbC5zaG93RXhwZXJ0aXNlcyAmJiAhdGhpcy5oZWFkZXJNb2RlbC5pc1ZzZSkge1xyXG4gICAgICBpdGVtcy5wdXNoKHtcclxuICAgICAgICBuYW1lOiBleHBlcnRpc2UubmFtZSxcclxuICAgICAgICB1cmw6IGV4cGVydGlzZS51cmwgfHwgJy91c2VyL2V4cGVydGlzZXMnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRvY3VtZW50c0FjdHMgPSBleHBlcnRQcm9maWxlPy5zdWJJdGVtcz8uZmluZChcclxuICAgICAgeCA9PiB4LnR5cGUgPT09IFNoYXJlZE1lbnVPcHRpb25zVHlwZUVudW0uRG9jdW1lbnRzQWN0c1xyXG4gICAgKTtcclxuXHJcbiAgICBpZiAodGhpcy5oZWFkZXJNb2RlbC5jYW5TZWVEb2NzICYmIGRvY3VtZW50c0FjdHMgJiYgIXRoaXMuaGVhZGVyTW9kZWwuaXNWc2UpIHtcclxuICAgICAgaXRlbXMucHVzaCh7XHJcbiAgICAgICAgbmFtZTogJ9CU0L7Qs9C+0LLQvtGA0YsnLFxyXG4gICAgICAgIHVybDpcclxuICAgICAgICAgIHRoaXMuaGVhZGVyTW9kZWwuYWdyZWVtZW50QWRtaW5Eb2N1bWVudHNVcmwgfHxcclxuICAgICAgICAgICcvYWdyZWVtZW50L2FkbWluL2RvY3VtZW50cydcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGVhZGVyTW9kZWwuc2hvd0dyYW50VmFsaWRhdGlvbnNJbkF1dGhNZW51KSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25VcmwgPSB0aGlzLmhlYWRlck1vZGVsLmlzUGdcclxuICAgICAgICA/IHRoaXMuaGVhZGVyTW9kZWwuZ3JhbnRWYWxpZGF0aW9uc1BnVXJsIHx8ICcvZ3JhbnQvdmFsaWRhdGlvbnMtcGcnXHJcbiAgICAgICAgOiB0aGlzLmhlYWRlck1vZGVsLmFwcGxpY2F0aW9uVmFsaWRhdGlvbkFkbWluVXJsIHx8XHJcbiAgICAgICAgJy9hcHBsaWNhdGlvbi92YWxpZGF0aW9uLWFkbWluJztcclxuICAgICAgaXRlbXMucHVzaCh7XHJcbiAgICAgICAgbmFtZTogJ9Cf0LXRgNC10YfQtdC90Ywg0LfQsNGP0LLQvtC6JyxcclxuICAgICAgICB1cmw6IHZhbGlkYXRpb25VcmxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcGVyc29uYWxJbmZvID0gc2hhcmVkTWVudS5maW5kKFxyXG4gICAgICB4ID0+IHgudHlwZSA9PT0gU2hhcmVkTWVudU9wdGlvbnNUeXBlRW51bS5QZXJzb25hbEluZm9cclxuICAgICk7XHJcbiAgICBpZiAocGVyc29uYWxJbmZvKSB7XHJcbiAgICAgIGl0ZW1zLnB1c2goe1xyXG4gICAgICAgIG5hbWU6IHBlcnNvbmFsSW5mby5uYW1lLFxyXG4gICAgICAgIHVybDogcGVyc29uYWxJbmZvLnVybCB8fCAnL3VzZXIvcHJvZmlsZSdcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZGlhbG9ncyA9IHNoYXJlZE1lbnUuZmluZChcclxuICAgICAgeCA9PiB4LnR5cGUgPT09IFNoYXJlZE1lbnVPcHRpb25zVHlwZUVudW0uRGlhbG9nc1xyXG4gICAgKTtcclxuICAgIGlmIChkaWFsb2dzICYmICF0aGlzLmhlYWRlck1vZGVsLmlzVnNlKSB7XHJcbiAgICAgIGl0ZW1zLnB1c2goe1xyXG4gICAgICAgIG5hbWU6IGRpYWxvZ3MubmFtZSB8fCAn0JzQvtC4INC00LjQsNC70L7Qs9C4JyxcclxuICAgICAgICB1cmw6IGRpYWxvZ3MudXJsIHx8ICcvY2hhdC9ncm91cHMnLFxyXG4gICAgICAgIGlzU3BlY2lhbDogdHJ1ZSxcclxuICAgICAgICBzcGVjaWFsSWQ6ICd1c2VyLWNoYXQtYXV0aC1pbmZvJ1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhcHBsaWNhdGlvbiA9IHNoYXJlZE1lbnUuZmluZChcclxuICAgICAgeCA9PiB4LnR5cGUgPT09IFNoYXJlZE1lbnVPcHRpb25zVHlwZUVudW0uQXBwbGljYXRpb25cclxuICAgICk7XHJcbiAgICBpZiAoYXBwbGljYXRpb24gJiYgIXRoaXMuaGVhZGVyTW9kZWwuaXNWc2UpIHtcclxuICAgICAgaXRlbXMucHVzaCh7XHJcbiAgICAgICAgbmFtZTogYXBwbGljYXRpb24ubmFtZSxcclxuICAgICAgICB1cmw6IGFwcGxpY2F0aW9uLnVybCB8fCAnL2FwcGxpY2F0aW9uL2xpc3QnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNoYXJlZEV4dGVuc2lvbk1lbnUuZm9yRWFjaChpdGVtRXh0TWVudSA9PiB7XHJcbiAgICAgIGlmIChpdGVtRXh0TWVudS5pc0FjdGl2ZSAmJiAhdGhpcy5oZWFkZXJNb2RlbC5pc1ZzZSkge1xyXG4gICAgICAgIC8vINCf0YDQuNC80LXRh9Cw0L3QuNC1OiDQv9GA0L7QstC10YDQutCwIEV4dFBvbGljeSDQtNC+0LvQttC90LAg0LHRi9GC0Ywg0L3QsCDQsdGN0LrQtdC90LTQtVxyXG4gICAgICAgIC8vINCX0LTQtdGB0Ywg0LzRiyDQv9C+0LrQsNC30YvQstCw0LXQvCDRjdC70LXQvNC10L3Rgiwg0LXRgdC70Lgg0L7QvSDQsNC60YLQuNCy0LXQvVxyXG4gICAgICAgIGl0ZW1zLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogaXRlbUV4dE1lbnUuZXh0TWVudU5hbWUsXHJcbiAgICAgICAgICB1cmw6IGl0ZW1FeHRNZW51LmV4dFVybFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzZXR0aW5nID0gc2hhcmVkTWVudS5maW5kKFxyXG4gICAgICB4ID0+IHgudHlwZSA9PT0gU2hhcmVkTWVudU9wdGlvbnNUeXBlRW51bS5TZXR0aW5nXHJcbiAgICApO1xyXG4gICAgaWYgKHNldHRpbmcgJiYgIXRoaXMuaGVhZGVyTW9kZWwuaXNWc2UpIHtcclxuICAgICAgaXRlbXMucHVzaCh7XHJcbiAgICAgICAgbmFtZTogc2V0dGluZy5uYW1lLFxyXG4gICAgICAgIHVybDogc2V0dGluZy51cmwgfHwgJy9pZGVudGl0eS91c2VyL3NldHRpbmdzJ1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpdGVtcy5wdXNoKHtcclxuICAgICAgbmFtZTogdGhpcy5oZWFkZXJNb2RlbC50b3BNZW51TG9nb3V0VGV4dCB8fCAn0JLRi9C50YLQuCcsXHJcbiAgICAgIHVybDogdGhpcy5oZWFkZXJNb2RlbC5sb2dvdXRQYXRoIHx8ICcvaWRlbnRpdHkvYWNjb3VudC9sb2dvdXQnXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gaXRlbXM7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCIhaXNNb2JpbGUgfHwgb3BlbmVkXCIgW2NsYXNzXT1cImN1c3RvbUNsYXNzXCIgY2xhc3M9XCJ1bml2ZXJzYWwtaGVhZGVyX190b3AtbmF2XCI+XHJcbiAgPGRpdiAqbmdJZj1cIiFoZWFkZXJNb2RlbC5pc0xvZ2dlZEluXCIgY2xhc3M9XCJ1bml2ZXJzYWwtaGVhZGVyX19sb2dpblwiPlxyXG4gICAgPGEgaHJlZj1cIi9pZGVudGl0eS9hY2NvdW50L2xvZ2luXCIgY2xhc3M9XCJ1bml2ZXJzYWwtYnV0dG9uLS1hY2NlbnRcIj7QktC+0LnRgtC4PC9hPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaG93QXdhcmRVc2VyTWVudSAmJiBpc01vYmlsZVwiPlxyXG4gICAgPG1yeC1hd2FyZC11c2VyLW1lbnUgW2hpZGVVc2VyTmF2TWVudV09XCJ0cnVlXCI+PC9tcngtYXdhcmQtdXNlci1tZW51PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cImhlYWRlck1vZGVsLmlzTG9nZ2VkSW5cIlxyXG4gICAgY2xhc3M9XCJ1bml2ZXJzYWwtaGVhZGVyX191c2VyXCJcclxuICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICByb2xlPVwiYnV0dG9uXCJcclxuICAgIGFyaWEtaGFzcG9wdXA9XCJtZW51XCJcclxuICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXHJcbiAgICBhcmlhLWNvbnRyb2xzPVwidXNlci1kcm9wZG93blwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cInVuaXZlcnNhbC1oZWFkZXJfX3VzZXItcHJvZmlsZVwiIChjbGljayk9XCJ0b2dnbGVVc2VyTWVudSgpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ1bml2ZXJzYWwtaGVhZGVyX191c2VyLXByb2ZpbGVfX3dyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1wcm9maWxlX19hdmF0YXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4gICAgXHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFoZWFkZXJNb2RlbC51c2VySGFzQXZhdGFyXCIgY2xhc3M9XCJtcngtaWNvbiBpY29uLXVzZXIgaWNvbi1mb250LTI0IHRleHQtbm9ybWFsXCI+PC9zcGFuPiAgICAgICAgICBcclxuICAgICAgICAgIDxpbWcgKm5nSWY9XCJoZWFkZXJNb2RlbC51c2VySGFzQXZhdGFyXCIgc3JjPVwie3t1c2VyQXZhdGFyVXJsfX1cIiBhbHQ9XCLQkNCy0LDRgtCw0YAge3t1c2VyTmFtZX19XCI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLXByb2ZpbGVfX2luZm9cIiAqbmdJZj1cImhhc1VzZXJJbmZvXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItcHJvZmlsZV9faW5mby1yb2xlXCI+e3sgdXNlclJvbGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItcHJvZmlsZV9faW5mby1uYW1lXCIgW2NsYXNzLmFjdGl2ZV09XCJpc1VzZXJNZW51T3BlbmVkICYmIGlzTW9iaWxlXCI+e3sgdXNlck5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0lmPVwiaXNNb2JpbGVcIlxyXG4gICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLWRvd24gaWNvbi1mb250LTI0XCJcclxuICAgICAgICBbY2xhc3MuaWNvbi11cF09XCJpc1VzZXJNZW51T3BlbmVkXCJcclxuICAgICAgPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj0naXNVc2VyTWVudU9wZW5lZCB8fCAhaXNNb2JpbGUnIGNsYXNzPVwidW5pdmVyc2FsLWhlYWRlcl9fdXNlci1tZW51XCIgaWQ9XCJkcm9wZG93blwiPlxyXG4gICAgICA8dWwgY2xhc3M9XCJ1c2VyLW1lbnVfX2xpc3RcIj5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdXNlck1lbnVJdGVtc1wiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVXNlckl0ZW0/Lm5hbWUgPT0gaXRlbS5uYW1lXCI+XHJcbiAgICAgICAgICA8YSBbaHJlZl09XCJpdGVtLnVybFwiPlxyXG4gICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoYXRBdXRoTWVudSQgfCBhc3luYyBhcyBjaGF0QXV0aE1lbnVcIj5cclxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uaXNTcGVjaWFsXCIgY2xhc3M9XCJiYWRnZVwiPlxyXG4gICAgICAgICAgICAgICAge3tjaGF0QXV0aE1lbnUubXNnc0NvdW50fX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGxpYi1wdWJsaWMtcGFnZXNcclxuICAgICpuZ0lmPVwiaXNNb2JpbGVcIlxyXG4gICAgW2RhdGFdPVwiaGVhZGVyTW9kZWwucHVibGljUGFnZXNcIlxyXG4gICAgW2hlYWRlclBvc2l0aW9uXT1cImhlYWRlck1vZGVsLmhlYWRlclBvc2l0aW9uIHx8ICcnIFwiXHJcbiAgPjwvbGliLXB1YmxpYy1wYWdlcz5cclxuPC9kaXY+XHJcbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC13aWRnZXQtc2l0ZS1oZWFkZXIvc3JjL2xpYi9tb2R1bGVzL21haW4tbWVudS9tYWluLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LXdpZGdldC1zaXRlLWhlYWRlci9zcmMvbGliL21vZHVsZXMvbWFpbi1tZW51L21haW4tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBTXBFLE1BQU0sT0FBTyxpQkFBaUI7SUFlNUIsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFkekIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLG1CQUFjLEdBQXdCLElBQUksQ0FBQztRQUMzQyxrQkFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFckQsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQXNCLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3JELDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QixtQkFBYyxHQUFrQixJQUFJLENBQUM7UUFFdEMsbUJB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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIZWFkZXJXaWRnZXRNb2RlbCwgVXNlck1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci13aWRnZXQubW9kZWwnO1xyXG5pbXBvcnQgeyBTaGFyZWRNZW51T3B0aW9uc1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci13aWRnZXQuZW5hbSc7XHJcbmltcG9ydCB7IHNlbGVjdE1haW5NZW51TW9kZWwgfSBmcm9tICcuL3N0b3JlL21haW4tbWVudS5zZWxlY3RvcnMnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgbG9hZENoYXRBdXRoTWVudVBlbmRpbmcgfSBmcm9tICcuL3N0b3JlL21haW4tbWVudS5hY3Rpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLW1haW4tbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tbWVudS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1haW5NZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgaXNVc2VyTWVudU9wZW5lZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhY3RpdmVVc2VySXRlbTogVXNlck1lbnVJdGVtIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGNoYXRBdXRoTWVudSQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RNYWluTWVudU1vZGVsKTtcclxuXHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3MgPSAnJztcclxuICBASW5wdXQoKSBvcGVuZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc01vYmlsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzU2hvd0F3YXJkVXNlck1lbnUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoZWFkZXJNb2RlbDogSGVhZGVyV2lkZ2V0TW9kZWwgPSB7IHB1YmxpY1BhZ2VzOiBbXSB9O1xyXG4gIEBJbnB1dCgpIGhpZGVOb3RMb2dnaW5NYWluTWVudSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkUmVnaW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbDsgIFxyXG4gIFxyXG4gIHByaXZhdGUgX3VzZXJNZW51SXRlbXM6IFVzZXJNZW51SXRlbVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VzZXJNZW51SXRlbXMgPSB0aGlzLl9idWlsZFVzZXJNZW51SXRlbXMoKTtcclxuXHJcbiAgICBjb25zdCBpdGVtID1cclxuICAgICAgdGhpcy5fdXNlck1lbnVJdGVtcy5maW5kKGl0ZW0gPT5cclxuICAgICAgICBpdGVtLnVybC5pbmNsdWRlcyhkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSkgXHJcbiAgICAgICkgPz8gbnVsbDtcclxuXHJcbiAgICB0aGlzLmFjdGl2ZVVzZXJJdGVtID0gZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUgIT0gJy8nID8gaXRlbSA6IG51bGw7XHJcblxyXG4gICAgaWYodGhpcy5oZWFkZXJNb2RlbC5pc0xvZ2dlZEluID8/IGZhbHNlKVxyXG4gICAge1xyXG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGxvYWRDaGF0QXV0aE1lbnVQZW5kaW5nKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB1c2VyTWVudUl0ZW1zKCk6IFVzZXJNZW51SXRlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLl91c2VyTWVudUl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB1c2VyUm9sZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVhZGVyTW9kZWwuaGVhZGVyVmlld1JvbGUgPz8gJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHVzZXJOYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJNb2RlbC51c2VySWRlbnRpdHk/LmZ1bGxOYW1lID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoYXNVc2VySW5mbygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMudXNlck5hbWU/LnRyaW0oKSB8fCAhIXRoaXMudXNlclJvbGU/LnRyaW0oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdXNlckF2YXRhclVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVhZGVyTW9kZWwudXNlckF2YXRhclVybCA/PyAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0FjdGl2ZVVzZXJNZW51KGl0ZW06IFVzZXJNZW51SXRlbSkge1xyXG4gICAgcmV0dXJuIGl0ZW0udXJsLmluY2x1ZGVzKGRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVVc2VyTWVudSgpIHtcclxuICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XHJcbiAgICAgIHRoaXMuaXNVc2VyTWVudU9wZW5lZCA9ICF0aGlzLmlzVXNlck1lbnVPcGVuZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9idWlsZFVzZXJNZW51SXRlbXMoKTogVXNlck1lbnVJdGVtW10ge1xyXG4gICAgY29uc3QgaXRlbXM6IFVzZXJNZW51SXRlbVtdID0gW107XHJcbiAgICBjb25zdCBzaGFyZWRNZW51ID0gdGhpcy5oZWFkZXJNb2RlbC5zaGFyZWRNZW51ID8/IFtdO1xyXG4gICAgY29uc3Qgc2hhcmVkRXh0ZW5zaW9uTWVudSA9IHRoaXMuaGVhZGVyTW9kZWwuc2hhcmVkRXh0ZW5zaW9uTWVudSA/PyBbXTtcclxuXHJcbiAgICAvL9Cb0L7Qs9C40LrQsCDQt9CwINC40YHQutC70Y7Rh9C10L3QuNC10Lwg0L/RgNC+0LLQtdGA0L7QuiDQv9C+0LvQuNGC0LjQuiDRgdC60L7Qv9C40YDQvtCy0LDQvdCwINGBIEF1dGhOYXZNZW51TWVudS5jc2h0bWwg0LjQtyBSb3NncmFudC5XZWJzaGFyZWRcclxuXHJcbiAgICBjb25zdCBhZG1pblBhbmVsID0gc2hhcmVkTWVudS5maW5kKFxyXG4gICAgICB4ID0+IHgudHlwZSA9PT0gU2hhcmVkTWVudU9wdGlvbnNUeXBlRW51bS5BZG1pblBhbmVsXHJcbiAgICApO1xyXG4gICAgaWYgKGFkbWluUGFuZWwgJiYgdGhpcy5oZWFkZXJNb2RlbC5zaG93V29ya1BhbmVsKSB7XHJcbiAgICAgIGl0ZW1zLnB1c2goe1xyXG4gICAgICAgIG5hbWU6IGFkbWluUGFuZWwubmFtZSxcclxuICAgICAgICB1cmw6IGFkbWluUGFuZWwudXJsIHx8ICcvdXNlci9hZG1pbidcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXhwZXJ0UHJvZmlsZSA9IHNoYXJlZE1lbnUuZmluZChcclxuICAgICAgeCA9PiB4LnR5cGUgPT09IFNoYXJlZE1lbnVPcHRpb25zVHlwZUVudW0uRXhwZXJ0UHJvZmlsZVxyXG4gICAgKTtcclxuICAgIGNvbnN0IGV4cGVydGlzZSA9IGV4cGVydFByb2ZpbGU/LnN1Ykl0ZW1zPy5maW5kKFxyXG4gICAgICB4ID0+IHgudHlwZSA9PT0gU2hhcmVkTWVudU9wdGlvbnNUeXBlRW51bS5FeHBlcnRpc2VcclxuICAgICk7XHJcbiAgICBpZiAoZXhwZXJ0aXNlICYmIHRoaXMuaGVhZGVyTW9kZWwuc2hvd0V4cGVydGlzZXMgJiYgIXRoaXMuaGVhZGVyTW9kZWwuaXNWc2UpIHtcclxuICAgICAgaXRlbXMucHVzaCh7XHJcbiAgICAgICAgbmFtZTogZXhwZXJ0aXNlLm5hbWUsXHJcbiAgICAgICAgdXJsOiBleHBlcnRpc2UudXJsIHx8ICcvdXNlci9leHBlcnRpc2VzJ1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkb2N1bWVudHNBY3RzID0gZXhwZXJ0UHJvZmlsZT8uc3ViSXRlbXM/LmZpbmQoXHJcbiAgICAgIHggPT4geC50eXBlID09PSBTaGFyZWRNZW51T3B0aW9uc1R5cGVFbnVtLkRvY3VtZW50c0FjdHNcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHRoaXMuaGVhZGVyTW9kZWwuY2FuU2VlRG9jcyAmJiBkb2N1bWVudHNBY3RzICYmICF0aGlzLmhlYWRlck1vZGVsLmlzVnNlKSB7XHJcbiAgICAgIGl0ZW1zLnB1c2goe1xyXG4gICAgICAgIG5hbWU6ICfQlNC+0LPQvtCy0L7RgNGLJyxcclxuICAgICAgICB1cmw6XHJcbiAgICAgICAgICB0aGlzLmhlYWRlck1vZGVsLmFncmVlbWVudEFkbWluRG9jdW1lbnRzVXJsIHx8XHJcbiAgICAgICAgICAnL2FncmVlbWVudC9hZG1pbi9kb2N1bWVudHMnXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhlYWRlck1vZGVsLnNob3dHcmFudFZhbGlkYXRpb25zSW5BdXRoTWVudSkge1xyXG4gICAgICBjb25zdCB2YWxpZGF0aW9uVXJsID0gdGhpcy5oZWFkZXJNb2RlbC5pc1BnXHJcbiAgICAgICAgPyB0aGlzLmhlYWRlck1vZGVsLmdyYW50VmFsaWRhdGlvbnNQZ1VybCB8fCAnL2dyYW50L3ZhbGlkYXRpb25zLXBnJ1xyXG4gICAgICAgIDogdGhpcy5oZWFkZXJNb2RlbC5hcHBsaWNhdGlvblZhbGlkYXRpb25BZG1pblVybCB8fFxyXG4gICAgICAgICcvYXBwbGljYXRpb24vdmFsaWRhdGlvbi1hZG1pbic7XHJcbiAgICAgIGl0ZW1zLnB1c2goe1xyXG4gICAgICAgIG5hbWU6ICfQn9C10YDQtdGH0LXQvdGMINC30LDRj9Cy0L7QuicsXHJcbiAgICAgICAgdXJsOiB2YWxpZGF0aW9uVXJsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHBlcnNvbmFsSW5mbyA9IHNoYXJlZE1lbnUuZmluZChcclxuICAgICAgeCA9PiB4LnR5cGUgPT09IFNoYXJlZE1lbnVPcHRpb25zVHlwZUVudW0uUGVyc29uYWxJbmZvXHJcbiAgICApO1xyXG4gICAgaWYgKHBlcnNvbmFsSW5mbykge1xyXG4gICAgICBpdGVtcy5wdXNoKHtcclxuICAgICAgICBuYW1lOiBwZXJzb25hbEluZm8ubmFtZSxcclxuICAgICAgICB1cmw6IHBlcnNvbmFsSW5mby51cmwgfHwgJy91c2VyL3Byb2ZpbGUnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRpYWxvZ3MgPSBzaGFyZWRNZW51LmZpbmQoXHJcbiAgICAgIHggPT4geC50eXBlID09PSBTaGFyZWRNZW51T3B0aW9uc1R5cGVFbnVtLkRpYWxvZ3NcclxuICAgICk7XHJcbiAgICBpZiAoZGlhbG9ncyAmJiAhdGhpcy5oZWFkZXJNb2RlbC5pc1ZzZSkge1xyXG4gICAgICBpdGVtcy5wdXNoKHtcclxuICAgICAgICBuYW1lOiBkaWFsb2dzLm5hbWUgfHwgJ9Cc0L7QuCDQtNC40LDQu9C+0LPQuCcsXHJcbiAgICAgICAgdXJsOiBkaWFsb2dzLnVybCB8fCAnL2NoYXQvZ3JvdXBzJyxcclxuICAgICAgICBpc1NwZWNpYWw6IHRydWUsXHJcbiAgICAgICAgc3BlY2lhbElkOiAndXNlci1jaGF0LWF1dGgtaW5mbydcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYXBwbGljYXRpb24gPSBzaGFyZWRNZW51LmZpbmQoXHJcbiAgICAgIHggPT4geC50eXBlID09PSBTaGFyZWRNZW51T3B0aW9uc1R5cGVFbnVtLkFwcGxpY2F0aW9uXHJcbiAgICApO1xyXG4gICAgaWYgKGFwcGxpY2F0aW9uICYmICF0aGlzLmhlYWRlck1vZGVsLmlzVnNlKSB7XHJcbiAgICAgIGl0ZW1zLnB1c2goe1xyXG4gICAgICAgIG5hbWU6IGFwcGxpY2F0aW9uLm5hbWUsXHJcbiAgICAgICAgdXJsOiBhcHBsaWNhdGlvbi51cmwgfHwgJy9hcHBsaWNhdGlvbi9saXN0J1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzaGFyZWRFeHRlbnNpb25NZW51LmZvckVhY2goaXRlbUV4dE1lbnUgPT4ge1xyXG4gICAgICBpZiAoaXRlbUV4dE1lbnUuaXNBY3RpdmUgJiYgIXRoaXMuaGVhZGVyTW9kZWwuaXNWc2UpIHtcclxuICAgICAgICAvLyDQn9GA0LjQvNC10YfQsNC90LjQtTog0L/RgNC+0LLQtdGA0LrQsCBFeHRQb2xpY3kg0LTQvtC70LbQvdCwINCx0YvRgtGMINC90LAg0LHRjdC60LXQvdC00LVcclxuICAgICAgICAvLyDQl9C00LXRgdGMINC80Ysg0L/QvtC60LDQt9GL0LLQsNC10Lwg0Y3Qu9C10LzQtdC90YIsINC10YHQu9C4INC+0L0g0LDQutGC0LjQstC10L1cclxuICAgICAgICBpdGVtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IGl0ZW1FeHRNZW51LmV4dE1lbnVOYW1lLFxyXG4gICAgICAgICAgdXJsOiBpdGVtRXh0TWVudS5leHRVcmxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgc2V0dGluZyA9IHNoYXJlZE1lbnUuZmluZChcclxuICAgICAgeCA9PiB4LnR5cGUgPT09IFNoYXJlZE1lbnVPcHRpb25zVHlwZUVudW0uU2V0dGluZ1xyXG4gICAgKTtcclxuICAgIGlmIChzZXR0aW5nICYmICF0aGlzLmhlYWRlck1vZGVsLmlzVnNlKSB7XHJcbiAgICAgIGl0ZW1zLnB1c2goe1xyXG4gICAgICAgIG5hbWU6IHNldHRpbmcubmFtZSxcclxuICAgICAgICB1cmw6IHNldHRpbmcudXJsIHx8ICcvaWRlbnRpdHkvdXNlci9zZXR0aW5ncydcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXRlbXMucHVzaCh7XHJcbiAgICAgIG5hbWU6IHRoaXMuaGVhZGVyTW9kZWwudG9wTWVudUxvZ291dFRleHQgfHwgJ9CS0YvQudGC0LgnLFxyXG4gICAgICB1cmw6IHRoaXMuaGVhZGVyTW9kZWwubG9nb3V0UGF0aCB8fCAnL2lkZW50aXR5L2FjY291bnQvbG9nb3V0J1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGl0ZW1zO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiIWlzTW9iaWxlIHx8IG9wZW5lZFwiIFtjbGFzc109XCJjdXN0b21DbGFzc1wiIGNsYXNzPVwidW5pdmVyc2FsLWhlYWRlcl9fdG9wLW5hdlwiPlxyXG4gIDxkaXYgKm5nSWY9XCIhaGVhZGVyTW9kZWwuaXNMb2dnZWRJbiAmJiAhaGlkZU5vdExvZ2dpbk1haW5NZW51XCIgY2xhc3M9XCJ1bml2ZXJzYWwtaGVhZGVyX19sb2dpblwiPlxyXG4gICAgPGEgaHJlZj1cIi9pZGVudGl0eS9hY2NvdW50L2xvZ2luXCIgY2xhc3M9XCJ1bml2ZXJzYWwtYnV0dG9uLS1hY2NlbnRcIj7QktC+0LnRgtC4PC9hPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaG93QXdhcmRVc2VyTWVudSAmJiBpc01vYmlsZVwiPlxyXG4gICAgPG1yeC1hd2FyZC11c2VyLW1lbnUgW2hpZGVVc2VyTmF2TWVudV09XCJ0cnVlXCI+PC9tcngtYXdhcmQtdXNlci1tZW51PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cImhlYWRlck1vZGVsLmlzTG9nZ2VkSW5cIlxyXG4gICAgY2xhc3M9XCJ1bml2ZXJzYWwtaGVhZGVyX191c2VyXCJcclxuICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICByb2xlPVwiYnV0dG9uXCJcclxuICAgIGFyaWEtaGFzcG9wdXA9XCJtZW51XCJcclxuICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXHJcbiAgICBhcmlhLWNvbnRyb2xzPVwidXNlci1kcm9wZG93blwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cInVuaXZlcnNhbC1oZWFkZXJfX3VzZXItcHJvZmlsZVwiIChjbGljayk9XCJ0b2dnbGVVc2VyTWVudSgpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ1bml2ZXJzYWwtaGVhZGVyX191c2VyLXByb2ZpbGVfX3dyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1wcm9maWxlX19hdmF0YXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4gICAgXHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFoZWFkZXJNb2RlbC51c2VySGFzQXZhdGFyXCIgY2xhc3M9XCJtcngtaWNvbiBpY29uLXVzZXIgaWNvbi1mb250LTI0IHRleHQtbm9ybWFsXCI+PC9zcGFuPiAgICAgICAgICBcclxuICAgICAgICAgIDxpbWcgKm5nSWY9XCJoZWFkZXJNb2RlbC51c2VySGFzQXZhdGFyXCIgc3JjPVwie3t1c2VyQXZhdGFyVXJsfX1cIiBhbHQ9XCLQkNCy0LDRgtCw0YAge3t1c2VyTmFtZX19XCI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLXByb2ZpbGVfX2luZm9cIiAqbmdJZj1cImhhc1VzZXJJbmZvXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItcHJvZmlsZV9faW5mby1yb2xlXCI+e3sgdXNlclJvbGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItcHJvZmlsZV9faW5mby1uYW1lXCIgW2NsYXNzLmFjdGl2ZV09XCJpc1VzZXJNZW51T3BlbmVkICYmIGlzTW9iaWxlXCI+e3sgdXNlck5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0lmPVwiaXNNb2JpbGVcIlxyXG4gICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLWRvd24gaWNvbi1mb250LTI0XCJcclxuICAgICAgICBbY2xhc3MuaWNvbi11cF09XCJpc1VzZXJNZW51T3BlbmVkXCJcclxuICAgICAgPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj0naXNVc2VyTWVudU9wZW5lZCB8fCAhaXNNb2JpbGUnIGNsYXNzPVwidW5pdmVyc2FsLWhlYWRlcl9fdXNlci1tZW51XCIgaWQ9XCJkcm9wZG93blwiPlxyXG4gICAgICA8dWwgY2xhc3M9XCJ1c2VyLW1lbnVfX2xpc3RcIj5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdXNlck1lbnVJdGVtc1wiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVXNlckl0ZW0/Lm5hbWUgPT0gaXRlbS5uYW1lXCI+XHJcbiAgICAgICAgICA8YSBbaHJlZl09XCJpdGVtLnVybFwiPlxyXG4gICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoYXRBdXRoTWVudSQgfCBhc3luYyBhcyBjaGF0QXV0aE1lbnVcIj5cclxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uaXNTcGVjaWFsXCIgY2xhc3M9XCJiYWRnZVwiPlxyXG4gICAgICAgICAgICAgICAge3tjaGF0QXV0aE1lbnUubXNnc0NvdW50fX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGxpYi1wdWJsaWMtcGFnZXNcclxuICAgICpuZ0lmPVwiaXNNb2JpbGVcIlxyXG4gICAgW2RhdGFdPVwiaGVhZGVyTW9kZWwucHVibGljUGFnZXNcIlxyXG4gICAgW3NlbGVjdGVkUmVnaW9uXT1cInNlbGVjdGVkUmVnaW9uXCJcclxuICAgIFtoZWFkZXJQb3NpdGlvbl09XCJoZWFkZXJNb2RlbC5oZWFkZXJQb3NpdGlvbiB8fCAnJyBcIlxyXG4gID48L2xpYi1wdWJsaWMtcGFnZXM+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -79,7 +79,7 @@ export class OvzMenuComponent {
79
79
  }
80
80
  }
81
81
  OvzMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: OvzMenuComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
82
- OvzMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: OvzMenuComponent, selector: "lib-ovz-menu", inputs: { opened: "opened", isAutentificated: "isAutentificated", initialSettings: "initialSettings", userId: "userId" }, outputs: { closed: "closed", settingsChanged: "settingsChanged" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"opened\" #wrapper class=\"universal-header__ovz-mode\" id=\"ovzDropdown\">\r\n <div class=\"ovz-mode__section\">\r\n <span class=\"ovz-mode__label\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0442\u0435\u043A\u0441\u0442\u0430</span>\r\n <div class=\"ovz-mode__toggle-group\">\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__toggle\"\r\n [class.active]=\"selectedFontSize === FontSizeEnum.Small\"\r\n aria-label=\"\u041C\u0430\u043B\u0435\u043D\u044C\u043A\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\"\r\n [attr.aria-pressed]=\"selectedFontSize === FontSizeEnum.Small\"\r\n (click)=\"selectFontSize(FontSizeEnum.Small)\"\r\n >\r\n \u0410\r\n </button>\r\n \r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__toggle ovz-mode__toggle--medium\"\r\n [class.active]=\"selectedFontSize === FontSizeEnum.Medium\"\r\n aria-label=\"\u0421\u0440\u0435\u0434\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\"\r\n [attr.aria-pressed]=\"selectedFontSize === FontSizeEnum.Medium\"\r\n (click)=\"selectFontSize(FontSizeEnum.Medium)\"\r\n >\r\n \u0410\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__toggle ovz-mode__toggle--large\"\r\n [class.active]=\"selectedFontSize === FontSizeEnum.Large\"\r\n aria-label=\"\u0411\u043E\u043B\u044C\u0448\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\"\r\n [attr.aria-pressed]=\"selectedFontSize === FontSizeEnum.Large\"\r\n (click)=\"selectFontSize(FontSizeEnum.Large)\"\r\n >\r\n \u0410\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ovz-mode__section\">\r\n <span class=\"ovz-mode__label\">\u0426\u0432\u0435\u0442 \u0441\u0430\u0439\u0442\u0430</span>\r\n <div class=\"ovz-mode__color-group\">\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--default\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Default\"\r\n aria-label=\"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Default\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Default)\"\r\n >\r\n \u0411\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--light\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Light\"\r\n aria-label=\"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Light\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Light)\"\r\n >\r\n \u0411\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--sepia\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Sepia\"\r\n aria-label=\"\u0421\u0435\u043F\u0438\u044F\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Sepia\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Sepia)\"\r\n >\r\n \u0411\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--blue\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Blue\"\r\n aria-label=\"\u0421\u0438\u043D\u044F\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Blue\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Blue)\"\r\n >\r\n \u0411\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--black\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Black\"\r\n aria-label=\"\u0427\u0451\u0440\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Black\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Black)\"\r\n >\r\n \u0411\r\n </button>\r\n </div>\r\n </div>\r\n\r\n \r\n <!-- hide-images body -->\r\n <div class=\"ovz-mode__section\">\r\n <span class=\"ovz-mode__label\">\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F</span>\r\n <mrx-switch\r\n [ngModel]=\"pictureSwitch\"\r\n [customClasses]=\"'ovz-img-switch'\"\r\n (ngModelChange)=\"changePicturesVisibility($event)\"\r\n (keydown)=\"onPictureSwitchKeydown($event)\"\r\n ></mrx-switch>\r\n </div>\r\n\r\n <div class=\"ovz-mode__section\">\r\n <button type=\"button\" class=\"universal-button w-100\" (click)=\"resetFilters()\">\r\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B\r\n </button>\r\n </div>\r\n</div>\r\n", components: [{ type: i2.SwitchComponent, selector: "mrx-switch", inputs: ["fields", "size", "type", "label", "boldLabel", "disabled", "readonly", "required", "hideLabel", "customClasses", "leftText", "rightText"], outputs: ["changed", "modelChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
82
+ OvzMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: OvzMenuComponent, selector: "lib-ovz-menu", inputs: { opened: "opened", isAutentificated: "isAutentificated", initialSettings: "initialSettings", userId: "userId" }, outputs: { closed: "closed", settingsChanged: "settingsChanged" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"opened\" #wrapper class=\"universal-header__ovz-mode\" id=\"ovzDropdown\">\r\n <div class=\"ovz-mode__section\">\r\n <span class=\"ovz-mode__label\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0442\u0435\u043A\u0441\u0442\u0430</span>\r\n <div class=\"ovz-mode__toggle-group\">\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__toggle\"\r\n [class.active]=\"selectedFontSize === FontSizeEnum.Small\"\r\n aria-label=\"\u041C\u0430\u043B\u0435\u043D\u044C\u043A\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\"\r\n [attr.aria-pressed]=\"selectedFontSize === FontSizeEnum.Small\"\r\n (click)=\"selectFontSize(FontSizeEnum.Small)\"\r\n >\r\n \u0410\r\n </button>\r\n \r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__toggle ovz-mode__toggle--medium\"\r\n [class.active]=\"selectedFontSize === FontSizeEnum.Medium\"\r\n aria-label=\"\u0421\u0440\u0435\u0434\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\"\r\n [attr.aria-pressed]=\"selectedFontSize === FontSizeEnum.Medium\"\r\n (click)=\"selectFontSize(FontSizeEnum.Medium)\"\r\n >\r\n \u0410\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__toggle ovz-mode__toggle--large\"\r\n [class.active]=\"selectedFontSize === FontSizeEnum.Large\"\r\n aria-label=\"\u0411\u043E\u043B\u044C\u0448\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\"\r\n [attr.aria-pressed]=\"selectedFontSize === FontSizeEnum.Large\"\r\n (click)=\"selectFontSize(FontSizeEnum.Large)\"\r\n >\r\n \u0410\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ovz-mode__section\">\r\n <span class=\"ovz-mode__label\">\u0426\u0432\u0435\u0442 \u0441\u0430\u0439\u0442\u0430</span>\r\n <div class=\"ovz-mode__color-group\">\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--default\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Default\"\r\n aria-label=\"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Default\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Default)\"\r\n >\r\n \u0411\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--light\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Light\"\r\n aria-label=\"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Light\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Light)\"\r\n >\r\n \u0411\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--sepia\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Sepia\"\r\n aria-label=\"\u0421\u0435\u043F\u0438\u044F\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Sepia\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Sepia)\"\r\n >\r\n \u0411\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--blue\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Blue\"\r\n aria-label=\"\u0421\u0438\u043D\u044F\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Blue\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Blue)\"\r\n >\r\n \u0411\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--black\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Black\"\r\n aria-label=\"\u0427\u0451\u0440\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Black\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Black)\"\r\n >\r\n \u0411\r\n </button>\r\n </div>\r\n </div>\r\n\r\n \r\n <!-- hide-images body -->\r\n <div class=\"ovz-mode__section\">\r\n <span class=\"ovz-mode__label\">\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F</span>\r\n <mrx-switch\r\n [ngModel]=\"pictureSwitch\"\r\n [customClasses]=\"'ovz-img-switch'\"\r\n (ngModelChange)=\"changePicturesVisibility($event)\"\r\n (keydown)=\"onPictureSwitchKeydown($event)\"\r\n ></mrx-switch>\r\n </div>\r\n\r\n <div class=\"ovz-mode__section\">\r\n <button type=\"button\" class=\"universal-button w-100\" (click)=\"resetFilters()\">\r\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B\r\n </button>\r\n </div>\r\n</div>\r\n", components: [{ type: i2.SwitchComponent, selector: "mrx-switch", inputs: ["fields", "size", "type", "label", "boldLabel", "disabled", "readonly", "required", "customClasses", "leftText", "rightText"], outputs: ["changed", "modelChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: OvzMenuComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'lib-ovz-menu', template: "<div *ngIf=\"opened\" #wrapper class=\"universal-header__ovz-mode\" id=\"ovzDropdown\">\r\n <div class=\"ovz-mode__section\">\r\n <span class=\"ovz-mode__label\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0442\u0435\u043A\u0441\u0442\u0430</span>\r\n <div class=\"ovz-mode__toggle-group\">\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__toggle\"\r\n [class.active]=\"selectedFontSize === FontSizeEnum.Small\"\r\n aria-label=\"\u041C\u0430\u043B\u0435\u043D\u044C\u043A\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\"\r\n [attr.aria-pressed]=\"selectedFontSize === FontSizeEnum.Small\"\r\n (click)=\"selectFontSize(FontSizeEnum.Small)\"\r\n >\r\n \u0410\r\n </button>\r\n \r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__toggle ovz-mode__toggle--medium\"\r\n [class.active]=\"selectedFontSize === FontSizeEnum.Medium\"\r\n aria-label=\"\u0421\u0440\u0435\u0434\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\"\r\n [attr.aria-pressed]=\"selectedFontSize === FontSizeEnum.Medium\"\r\n (click)=\"selectFontSize(FontSizeEnum.Medium)\"\r\n >\r\n \u0410\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__toggle ovz-mode__toggle--large\"\r\n [class.active]=\"selectedFontSize === FontSizeEnum.Large\"\r\n aria-label=\"\u0411\u043E\u043B\u044C\u0448\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\"\r\n [attr.aria-pressed]=\"selectedFontSize === FontSizeEnum.Large\"\r\n (click)=\"selectFontSize(FontSizeEnum.Large)\"\r\n >\r\n \u0410\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ovz-mode__section\">\r\n <span class=\"ovz-mode__label\">\u0426\u0432\u0435\u0442 \u0441\u0430\u0439\u0442\u0430</span>\r\n <div class=\"ovz-mode__color-group\">\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--default\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Default\"\r\n aria-label=\"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Default\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Default)\"\r\n >\r\n \u0411\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--light\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Light\"\r\n aria-label=\"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Light\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Light)\"\r\n >\r\n \u0411\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--sepia\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Sepia\"\r\n aria-label=\"\u0421\u0435\u043F\u0438\u044F\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Sepia\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Sepia)\"\r\n >\r\n \u0411\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--blue\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Blue\"\r\n aria-label=\"\u0421\u0438\u043D\u044F\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Blue\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Blue)\"\r\n >\r\n \u0411\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ovz-mode__color ovz-mode__color--black\"\r\n [class.active]=\"selectedColorScheme === ColorSchemeEnum.Black\"\r\n aria-label=\"\u0427\u0451\u0440\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430\"\r\n [attr.aria-pressed]=\"selectedColorScheme === ColorSchemeEnum.Black\"\r\n (click)=\"selectColorScheme(ColorSchemeEnum.Black)\"\r\n >\r\n \u0411\r\n </button>\r\n </div>\r\n </div>\r\n\r\n \r\n <!-- hide-images body -->\r\n <div class=\"ovz-mode__section\">\r\n <span class=\"ovz-mode__label\">\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F</span>\r\n <mrx-switch\r\n [ngModel]=\"pictureSwitch\"\r\n [customClasses]=\"'ovz-img-switch'\"\r\n (ngModelChange)=\"changePicturesVisibility($event)\"\r\n (keydown)=\"onPictureSwitchKeydown($event)\"\r\n ></mrx-switch>\r\n </div>\r\n\r\n <div class=\"ovz-mode__section\">\r\n <button type=\"button\" class=\"universal-button w-100\" (click)=\"resetFilters()\">\r\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B\r\n </button>\r\n </div>\r\n</div>\r\n" }]
@@ -8,8 +8,10 @@ export class PublicPagesComponent {
8
8
  constructor(router) {
9
9
  this.router = router;
10
10
  this.activePage = null;
11
+ this.publicPages = [];
11
12
  this.data = [];
12
13
  this.headerPosition = '';
14
+ this.selectedRegion = null;
13
15
  }
14
16
  ngOnInit() {
15
17
  this.updateActivePage();
@@ -28,10 +30,30 @@ export class PublicPagesComponent {
28
30
  }
29
31
  const found = this.data.find(page => currentPath === page.url || currentPath.startsWith(page.url + '/'));
30
32
  this.activePage = found ?? null;
33
+ this.publicPages = this.data;
34
+ }
35
+ ngOnChanges(changes) {
36
+ if (changes.selectedRegion) {
37
+ this._applyRegionToPublicPages();
38
+ }
39
+ }
40
+ _applyRegionToPublicPages() {
41
+ if (!Array.isArray(this.data) || !this.data.length) {
42
+ return;
43
+ }
44
+ this.publicPages = this.data;
45
+ this._updateContestsUrlInPages(this.publicPages);
46
+ }
47
+ _updateContestsUrlInPages(pages) {
48
+ pages.forEach((page) => {
49
+ if (page.isAttachedRegion) {
50
+ page.url = `${page.url}${this.selectedRegion ? encodeURIComponent(this.selectedRegion) : ''}`;
51
+ }
52
+ });
31
53
  }
32
54
  }
33
55
  PublicPagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PublicPagesComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
34
- PublicPagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PublicPagesComponent, selector: "lib-public-pages", inputs: { data: "data", headerPosition: "headerPosition" }, ngImport: i0, template: "<nav class=\"universal-header__nav\" [ngClass]=\"headerPosition\">\r\n <ul class=\"universal-header__nav-list\" *ngIf=\"data?.length\">\r\n <li *ngFor=\"let page of data\" [class.active]=\"activePage?.name == page.name\">\r\n <a [href]=\"page.url || '#'\">{{ page.name }}</a>\r\n </li>\r\n </ul>\r\n</nav>\r\n", directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
56
+ PublicPagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PublicPagesComponent, selector: "lib-public-pages", inputs: { data: "data", headerPosition: "headerPosition", selectedRegion: "selectedRegion" }, usesOnChanges: true, ngImport: i0, template: "<nav class=\"universal-header__nav\" [ngClass]=\"headerPosition\">\r\n <ul class=\"universal-header__nav-list\" *ngIf=\"data?.length\">\r\n <li *ngFor=\"let page of data\" [class.active]=\"activePage?.name == page.name\">\r\n <a [href]=\"page.url || '#'\">{{ page.name }}</a>\r\n </li>\r\n </ul>\r\n</nav>\r\n", directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
35
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PublicPagesComponent, decorators: [{
36
58
  type: Component,
37
59
  args: [{ selector: 'lib-public-pages', template: "<nav class=\"universal-header__nav\" [ngClass]=\"headerPosition\">\r\n <ul class=\"universal-header__nav-list\" *ngIf=\"data?.length\">\r\n <li *ngFor=\"let page of data\" [class.active]=\"activePage?.name == page.name\">\r\n <a [href]=\"page.url || '#'\">{{ page.name }}</a>\r\n </li>\r\n </ul>\r\n</nav>\r\n" }]
@@ -39,5 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
39
61
  type: Input
40
62
  }], headerPosition: [{
41
63
  type: Input
64
+ }], selectedRegion: [{
65
+ type: Input
42
66
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXBhZ2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC13aWRnZXQtc2l0ZS1oZWFkZXIvc3JjL2xpYi9tb2R1bGVzL3B1YmxpYy1wYWdlcy9wdWJsaWMtcGFnZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LXdpZGdldC1zaXRlLWhlYWRlci9zcmMvbGliL21vZHVsZXMvcHVibGljLXBhZ2VzL3B1YmxpYy1wYWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFVLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVF4QyxNQUFNLE9BQU8sb0JBQW9CO0lBTy9CLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTDNCLGVBQVUsR0FBa0MsSUFBSSxDQUFDO1FBRS9DLFNBQUksR0FBNkIsRUFBRSxDQUFDO1FBQ3BDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO0lBRVEsQ0FBQztJQUV0QyxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDO2FBQ3JELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDL0MsSUFBSSxXQUFXLEtBQUssR0FBRyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLE9BQU87U0FDUjtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2xDLFdBQVcsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FDbkUsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQztJQUNsQyxDQUFDOztrSEEvQlUsb0JBQW9CO3NHQUFwQixvQkFBb0Isb0hDVmpDLG9VQU9BOzRGREdhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxrQkFBa0I7NkZBT25CLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSGVhZGVyV2lkZ2V0UHVibGljUGFnZSB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkZXItd2lkZ2V0Lm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXB1YmxpYy1wYWdlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3B1YmxpYy1wYWdlcy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFB1YmxpY1BhZ2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcm91dGVyU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG4gIHB1YmxpYyBhY3RpdmVQYWdlOiBIZWFkZXJXaWRnZXRQdWJsaWNQYWdlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE6IEhlYWRlcldpZGdldFB1YmxpY1BhZ2VbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGhlYWRlclBvc2l0aW9uID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XHJcbiAgXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZVBhZ2UoKTtcclxuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgIC5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlQWN0aXZlUGFnZSgpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIFxyXG4gIHByaXZhdGUgdXBkYXRlQWN0aXZlUGFnZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWU7XHJcbiAgICBpZiAoY3VycmVudFBhdGggPT09ICcvJykge1xyXG4gICAgICB0aGlzLmFjdGl2ZVBhZ2UgPSBudWxsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZm91bmQgPSB0aGlzLmRhdGEuZmluZChwYWdlID0+XHJcbiAgICAgIGN1cnJlbnRQYXRoID09PSBwYWdlLnVybCB8fCBjdXJyZW50UGF0aC5zdGFydHNXaXRoKHBhZ2UudXJsICsgJy8nKVxyXG4gICAgKTtcclxuICAgIHRoaXMuYWN0aXZlUGFnZSA9IGZvdW5kID8/IG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIjxuYXYgY2xhc3M9XCJ1bml2ZXJzYWwtaGVhZGVyX19uYXZcIiBbbmdDbGFzc109XCJoZWFkZXJQb3NpdGlvblwiPlxyXG4gIDx1bCBjbGFzcz1cInVuaXZlcnNhbC1oZWFkZXJfX25hdi1saXN0XCIgKm5nSWY9XCJkYXRhPy5sZW5ndGhcIj5cclxuICAgIDxsaSAqbmdGb3I9XCJsZXQgcGFnZSBvZiBkYXRhXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVQYWdlPy5uYW1lID09IHBhZ2UubmFtZVwiPlxyXG4gICAgICA8YSBbaHJlZl09XCJwYWdlLnVybCB8fCAnIydcIj57eyBwYWdlLm5hbWUgfX08L2E+XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvbmF2PlxyXG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXBhZ2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC13aWRnZXQtc2l0ZS1oZWFkZXIvc3JjL2xpYi9tb2R1bGVzL3B1YmxpYy1wYWdlcy9wdWJsaWMtcGFnZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LXdpZGdldC1zaXRlLWhlYWRlci9zcmMvbGliL21vZHVsZXMvcHVibGljLXBhZ2VzL3B1YmxpYy1wYWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBOEMsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFVLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVN4QyxNQUFNLE9BQU8sb0JBQW9CO0lBUy9CLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBUDNCLGVBQVUsR0FBa0MsSUFBSSxDQUFDO1FBQ2pELGdCQUFXLEdBQTZCLEVBQUUsQ0FBQztRQUV6QyxTQUFJLEdBQTZCLEVBQUUsQ0FBQztRQUNwQyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixtQkFBYyxHQUFrQixJQUFJLENBQUM7SUFFVCxDQUFDO0lBRXRDLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7YUFDckQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUMvQyxJQUFJLFdBQVcsS0FBSyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDbEMsV0FBVyxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUNuRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUMxQixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFTyx5QkFBeUI7UUFFL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbEQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLHlCQUF5QixDQUFDLEtBQStCO1FBRS9ELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNyQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFDekI7Z0JBQ0UsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQzthQUMvRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBNURVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLDJLQ1hqQyxvVUFPQTs0RkRJYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCOzZGQVNuQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvbkVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEhlYWRlcldpZGdldFB1YmxpY1BhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGVhZGVyLXdpZGdldC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1wdWJsaWMtcGFnZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wdWJsaWMtcGFnZXMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgUHVibGljUGFnZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIHJvdXRlclN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuICBwdWJsaWMgYWN0aXZlUGFnZTogSGVhZGVyV2lkZ2V0UHVibGljUGFnZSB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBwdWJsaWNQYWdlczogSGVhZGVyV2lkZ2V0UHVibGljUGFnZVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE6IEhlYWRlcldpZGdldFB1YmxpY1BhZ2VbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGhlYWRlclBvc2l0aW9uID0gJyc7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSZWdpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxyXG4gIFxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVBY3RpdmVQYWdlKCk7XHJcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZUFjdGl2ZVBhZ2UoKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuICBcclxuICBwcml2YXRlIHVwZGF0ZUFjdGl2ZVBhZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50UGF0aCA9IGRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lO1xyXG4gICAgaWYgKGN1cnJlbnRQYXRoID09PSAnLycpIHtcclxuICAgICAgdGhpcy5hY3RpdmVQYWdlID0gbnVsbDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZvdW5kID0gdGhpcy5kYXRhLmZpbmQocGFnZSA9PlxyXG4gICAgICBjdXJyZW50UGF0aCA9PT0gcGFnZS51cmwgfHwgY3VycmVudFBhdGguc3RhcnRzV2l0aChwYWdlLnVybCArICcvJylcclxuICAgICk7XHJcbiAgICB0aGlzLmFjdGl2ZVBhZ2UgPSBmb3VuZCA/PyBudWxsO1xyXG4gICAgdGhpcy5wdWJsaWNQYWdlcyA9IHRoaXMuZGF0YTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLnNlbGVjdGVkUmVnaW9uKSB7XHJcbiAgICAgIHRoaXMuX2FwcGx5UmVnaW9uVG9QdWJsaWNQYWdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYXBwbHlSZWdpb25Ub1B1YmxpY1BhZ2VzKCk6IHZvaWQgXHJcbiAge1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuZGF0YSkgfHwgIXRoaXMuZGF0YS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucHVibGljUGFnZXMgPSB0aGlzLmRhdGE7XHJcbiAgICB0aGlzLl91cGRhdGVDb250ZXN0c1VybEluUGFnZXModGhpcy5wdWJsaWNQYWdlcyk7XHJcbiAgfVxyXG4gIFxyXG4gIHByaXZhdGUgX3VwZGF0ZUNvbnRlc3RzVXJsSW5QYWdlcyhwYWdlczogSGVhZGVyV2lkZ2V0UHVibGljUGFnZVtdKTogdm9pZCBcclxuICB7XHJcbiAgICBwYWdlcy5mb3JFYWNoKChwYWdlKSA9PiB7XHJcbiAgICAgIGlmIChwYWdlLmlzQXR0YWNoZWRSZWdpb24pIFxyXG4gICAgICB7XHJcbiAgICAgICAgcGFnZS51cmwgPSBgJHtwYWdlLnVybH0ke3RoaXMuc2VsZWN0ZWRSZWdpb24gPyBlbmNvZGVVUklDb21wb25lbnQodGhpcy5zZWxlY3RlZFJlZ2lvbikgOiAnJ31gO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9ICBcclxufVxyXG4iLCI8bmF2IGNsYXNzPVwidW5pdmVyc2FsLWhlYWRlcl9fbmF2XCIgW25nQ2xhc3NdPVwiaGVhZGVyUG9zaXRpb25cIj5cclxuICA8dWwgY2xhc3M9XCJ1bml2ZXJzYWwtaGVhZGVyX19uYXYtbGlzdFwiICpuZ0lmPVwiZGF0YT8ubGVuZ3RoXCI+XHJcbiAgICA8bGkgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgZGF0YVwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlUGFnZT8ubmFtZSA9PSBwYWdlLm5hbWVcIj5cclxuICAgICAgPGEgW2hyZWZdPVwicGFnZS51cmwgfHwgJyMnXCI+e3sgcGFnZS5uYW1lIH19PC9hPlxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG48L25hdj5cclxuIl19