@rededor/site-front-end-lib 1.3.49 → 1.3.50

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 (156) hide show
  1. package/README.md +114 -114
  2. package/esm2022/lib/components/algolia-dropdown/algolia-dropdown.component.mjs +3 -3
  3. package/esm2022/lib/components/banner/content-banner/content-banner.component.mjs +3 -3
  4. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
  5. package/esm2022/lib/components/cards/card-unidade-planos-convenios/card-unidade-planos-convenios.component.mjs +3 -3
  6. package/esm2022/lib/components/cards/expandable-card/expandable-card.component.mjs +3 -3
  7. package/esm2022/lib/components/cards/testimonial-card/testimonial-card.component.mjs +3 -3
  8. package/esm2022/lib/components/carousels/testimonials-carousel/testimonials-carousel.component.mjs +3 -3
  9. package/esm2022/lib/components/cta-wrapper/cta-wrapper.component.mjs +3 -3
  10. package/esm2022/lib/components/error/error-service/error.service.mjs +1 -1
  11. package/esm2022/lib/components/error/error.component.mjs +3 -3
  12. package/esm2022/lib/components/filter-letter-and-terms/filter-letter-and-terms.component.mjs +3 -3
  13. package/esm2022/lib/components/filters/filter-generic/filter-generic.component.mjs +82 -121
  14. package/esm2022/lib/components/filters/filter-planos-convenios/filter-planos-convenios.component.mjs +3 -3
  15. package/esm2022/lib/components/footer/footer.component.mjs +3 -3
  16. package/esm2022/lib/components/footer/helpers/footerTheme.func.mjs +1 -1
  17. package/esm2022/lib/components/footer/models/FooterTheme.model.mjs +1 -1
  18. package/esm2022/lib/components/header/components/header-action-menu/header-action-menu.component.mjs +3 -3
  19. package/esm2022/lib/components/header/components/header-aux-menu/header-aux-menu.component.mjs +3 -3
  20. package/esm2022/lib/components/header/components/header-aux-menu-container/header-aux-menu-container.component.mjs +3 -3
  21. package/esm2022/lib/components/header/components/header-aux-menu-item/header-aux-menu-item.component.mjs +3 -3
  22. package/esm2022/lib/components/header/components/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.mjs +3 -3
  23. package/esm2022/lib/components/header/components/header-logo/header-logo.component.mjs +3 -3
  24. package/esm2022/lib/components/header/components/header-main-menu/header-main-menu.component.mjs +3 -3
  25. package/esm2022/lib/components/header/components/header-main-menu-item/header-main-menu-item.component.mjs +3 -3
  26. package/esm2022/lib/components/header/components/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.mjs +3 -3
  27. package/esm2022/lib/components/header/components/header-side-menu/header-side-menu.component.mjs +3 -3
  28. package/esm2022/lib/components/header/components/header-side-menu-item/header-side-menu-item.component.mjs +3 -3
  29. package/esm2022/lib/components/header/header.component.mjs +3 -3
  30. package/esm2022/lib/components/header/helpers/headerTheme.func.mjs +1 -1
  31. package/esm2022/lib/components/header/models/HeaderTheme.model.mjs +1 -1
  32. package/esm2022/lib/components/header/services/header.service.mjs +1 -1
  33. package/esm2022/lib/components/image/image.component.mjs +3 -3
  34. package/esm2022/lib/components/index.mjs +1 -1
  35. package/esm2022/lib/components/load-screen/load-screen.component.mjs +3 -3
  36. package/esm2022/lib/components/overlay/overlay.component.mjs +3 -3
  37. package/esm2022/lib/components/page-header/page-header.component.mjs +3 -3
  38. package/esm2022/lib/components/page-template-fullcontent/page-template-fullcontent.component.mjs +3 -3
  39. package/esm2022/lib/components/page-template-sidebar/page-template-sidebar.component.mjs +3 -3
  40. package/esm2022/lib/components/pagination/pagination.component.mjs +3 -3
  41. package/esm2022/lib/components/search/search.component.mjs +3 -3
  42. package/esm2022/lib/components/section-navigation/section-navigation.component.mjs +3 -3
  43. package/esm2022/lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.mjs +3 -3
  44. package/esm2022/lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.mjs +3 -3
  45. package/esm2022/lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.mjs +3 -3
  46. package/esm2022/lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.mjs +3 -3
  47. package/esm2022/lib/components/side-ctas/models/SideCta.model.mjs +1 -1
  48. package/esm2022/lib/components/side-ctas/side-ctas.component.mjs +3 -3
  49. package/esm2022/lib/components/sidebar-navigation/sidebar-navigation.component.mjs +3 -3
  50. package/esm2022/lib/components/sticky-navigation/sticky-navigation.component.mjs +3 -3
  51. package/esm2022/lib/components/whatsapp/whatsapp.component.mjs +3 -3
  52. package/esm2022/lib/directives/index.mjs +1 -1
  53. package/esm2022/lib/directives/rdsite-click-outside/rdsite-click-outside.directive.mjs +1 -1
  54. package/esm2022/lib/directives/rdsite-link/rdsite-link.directive.mjs +1 -1
  55. package/esm2022/lib/directives/rdsite-phone-modal/rdsite-phone-modal.directive.mjs +1 -1
  56. package/esm2022/lib/enums/EnumDoencaTaxonomy.enum.mjs +1 -1
  57. package/esm2022/lib/enums/EnumError.enum.mjs +1 -1
  58. package/esm2022/lib/enums/EnumThemes.enum.mjs +1 -1
  59. package/esm2022/lib/enums/Estados.enum.mjs +1 -1
  60. package/esm2022/lib/enums/Filter.enum.mjs +1 -1
  61. package/esm2022/lib/enums/IconCuraDefaultType.enum.mjs +1 -1
  62. package/esm2022/lib/enums/ImageMimeType.enum.mjs +1 -1
  63. package/esm2022/lib/enums/RdsiteModalComponentStyle.enum.mjs +1 -1
  64. package/esm2022/lib/enums/UnidadeCoverageType.enum.mjs +1 -1
  65. package/esm2022/lib/enums/index.mjs +1 -1
  66. package/esm2022/lib/helpers/check-safari-agent.func.mjs +1 -1
  67. package/esm2022/lib/helpers/formatPhone.func.mjs +1 -1
  68. package/esm2022/lib/helpers/getCircularReplacer.func.mjs +1 -1
  69. package/esm2022/lib/helpers/getSiteUrl.func.mjs +1 -1
  70. package/esm2022/lib/helpers/index.mjs +1 -1
  71. package/esm2022/lib/helpers/mediaQueries.mjs +1 -1
  72. package/esm2022/lib/helpers/removeDuplicateObjectsFromArray.func.mjs +1 -1
  73. package/esm2022/lib/helpers/removeDuplicateValuesFromArray.func.mjs +1 -1
  74. package/esm2022/lib/helpers/removeHtmlTags.func.mjs +1 -1
  75. package/esm2022/lib/helpers/toQueryParams.func.mjs +1 -1
  76. package/esm2022/lib/interceptors/error.interceptor.mjs +4 -2
  77. package/esm2022/lib/interceptors/index.mjs +1 -1
  78. package/esm2022/lib/interceptors/log.interceptor.mjs +6 -3
  79. package/esm2022/lib/models/algolia-search-api.model.mjs +1 -1
  80. package/esm2022/lib/models/breadcrumbs/breadcrumbs-items.model.mjs +1 -1
  81. package/esm2022/lib/models/breadcrumbs/breadcrumbs-json-item.model.mjs +1 -1
  82. package/esm2022/lib/models/centro-estudos-backend.model.mjs +1 -1
  83. package/esm2022/lib/models/centro-medico.model.mjs +1 -1
  84. package/esm2022/lib/models/content-banner.model.mjs +1 -1
  85. package/esm2022/lib/models/cta-wrapper.model.mjs +1 -1
  86. package/esm2022/lib/models/doenca-backend.model.mjs +1 -1
  87. package/esm2022/lib/models/doenca-taxonomy.model.mjs +1 -1
  88. package/esm2022/lib/models/especialidade-backend.model.mjs +1 -1
  89. package/esm2022/lib/models/exame-backend.model.mjs +1 -1
  90. package/esm2022/lib/models/filters/filter-planos-convenios.model.mjs +1 -1
  91. package/esm2022/lib/models/filters/filter-section.type.mjs +1 -1
  92. package/esm2022/lib/models/filters/filter-sections.model.mjs +1 -1
  93. package/esm2022/lib/models/images/rdsite-image.model.mjs +1 -1
  94. package/esm2022/lib/models/medico-cv.model.mjs +1 -1
  95. package/esm2022/lib/models/menu-de-unidade.model.mjs +1 -1
  96. package/esm2022/lib/models/menu-item.model.mjs +1 -1
  97. package/esm2022/lib/models/privacy-tools/privacy-tools.model.mjs +1 -1
  98. package/esm2022/lib/models/rdsl-cobertura.model.mjs +1 -1
  99. package/esm2022/lib/models/rdsl-convenio.model.mjs +1 -1
  100. package/esm2022/lib/models/rdsl-especialidade.model.mjs +1 -1
  101. package/esm2022/lib/models/rdsl-planos.model.mjs +1 -1
  102. package/esm2022/lib/models/rdsl-post-category.model.mjs +1 -1
  103. package/esm2022/lib/models/rdsl-unidade.model.mjs +1 -1
  104. package/esm2022/lib/models/section-navigation.model.mjs +1 -1
  105. package/esm2022/lib/models/seo/seo-data.model.mjs +1 -1
  106. package/esm2022/lib/models/seo/seo-unidade.model.mjs +1 -1
  107. package/esm2022/lib/models/social-meta-properties.model.mjs +1 -1
  108. package/esm2022/lib/models/wordpress/WpResponse.model.mjs +1 -1
  109. package/esm2022/lib/models/wordpress/category/wpCategory.model.mjs +1 -1
  110. package/esm2022/lib/models/wordpress/general/content.model.mjs +1 -1
  111. package/esm2022/lib/models/wordpress/general/excerpt.model.mjs +1 -1
  112. package/esm2022/lib/models/wordpress/general/featuredMedia.model.mjs +1 -1
  113. package/esm2022/lib/models/wordpress/general/guid.model.mjs +1 -1
  114. package/esm2022/lib/models/wordpress/general/index.mjs +1 -1
  115. package/esm2022/lib/models/wordpress/general/links.model.mjs +1 -1
  116. package/esm2022/lib/models/wordpress/general/meta.model.mjs +1 -1
  117. package/esm2022/lib/models/wordpress/general/title.model.mjs +1 -1
  118. package/esm2022/lib/models/wordpress/general/yoastData.model.mjs +1 -1
  119. package/esm2022/lib/models/wordpress/general/yoastHeadJson.model.mjs +1 -1
  120. package/esm2022/lib/models/wordpress/general/yoastMeta.model.mjs +1 -1
  121. package/esm2022/lib/models/wordpress/page/page.model.mjs +1 -1
  122. package/esm2022/lib/models/wordpress/post/post.model.mjs +1 -1
  123. package/esm2022/lib/models/wordpress/unidade/wp-unidade-onco.model.mjs +1 -1
  124. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site-detalhe.model.mjs +1 -1
  125. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site.model.mjs +1 -1
  126. package/esm2022/lib/pipes/index.mjs +1 -1
  127. package/esm2022/lib/pipes/phone/phone.pipe.mjs +1 -1
  128. package/esm2022/lib/services/algolia/algolia.service.mjs +1 -1
  129. package/esm2022/lib/services/algolia-search-api/algolia-search-api.service.mjs +1 -1
  130. package/esm2022/lib/services/cura/cura.service.mjs +1 -1
  131. package/esm2022/lib/services/geoloc/geoloc.service.mjs +1 -1
  132. package/esm2022/lib/services/http-client/http-client.service.mjs +1 -1
  133. package/esm2022/lib/services/index.mjs +1 -1
  134. package/esm2022/lib/services/log/log.service.mjs +1 -1
  135. package/esm2022/lib/services/mapbox/mapbox.service.mjs +1 -1
  136. package/esm2022/lib/services/modal/modal.service.mjs +1 -1
  137. package/esm2022/lib/services/modal-drawer/modal-drawer.service.mjs +1 -1
  138. package/esm2022/lib/services/ngu-carousel/ngu-carousel.service.mjs +1 -1
  139. package/esm2022/lib/services/phone/phone.service.mjs +1 -1
  140. package/esm2022/lib/services/privacy-tools/privacy-tools.service.mjs +1 -1
  141. package/esm2022/lib/services/seo/seo.service.mjs +1 -1
  142. package/esm2022/lib/services/server-response/server-response.service.mjs +1 -1
  143. package/esm2022/lib/services/site-back-end/site-back-end.service.mjs +1 -1
  144. package/esm2022/lib/services/ssr-loading/ssr-loading.service.mjs +1 -1
  145. package/esm2022/lib/services/transfer-state/transfer-state.service.mjs +1 -1
  146. package/esm2022/lib/services/youtube/youtube.service.mjs +1 -1
  147. package/esm2022/lib/tokens/CuraApi.mjs +1 -1
  148. package/esm2022/lib/tokens/LibConfig.mjs +1 -1
  149. package/esm2022/lib/tokens/express.tokens.mjs +1 -1
  150. package/esm2022/public-api.mjs +1 -1
  151. package/fesm2022/rededor-site-front-end-lib.mjs +169 -203
  152. package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
  153. package/lib/components/filters/filter-generic/filter-generic.component.d.ts +40 -30
  154. package/lib/models/filters/filter-sections.model.d.ts +1 -0
  155. package/package.json +1 -1
  156. package/styles/_breakpoints.scss +5 -5
@@ -199,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
199
199
  type: Inject,
200
200
  args: [PLATFORM_ID]
201
201
  }] }, { type: i1.MapBoxService }, { type: i2.LogService }] });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9nZW9sb2MvZ2VvbG9jLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEYsT0FBTyxnQkFBZ0IsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFcEQsTUFBTSxDQUFOLElBQVksc0JBSVg7QUFKRCxXQUFZLHNCQUFzQjtJQUNoQyw2Q0FBbUIsQ0FBQTtJQUNuQiwyQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUlqQztBQWtCRCxNQUFNLE9BQU8sYUFBYTtJQVV4QixJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFPRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUNxQyxRQUFrQixFQUNmLFVBQWtCLEVBQ2hELGFBQTRCLEVBQ25CLFVBQXNCO1FBSEosYUFB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QUNyRSxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLHVCQUF1QixNQUFNLHFCQUFxQixRQUFRLHlCQUF5QixDQUFDO1FBQzdHLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVk7UUFDakMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07aUJBQy9CLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQ1YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQzFCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUUvQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0FqTVUsYUFBYSxrQkFpQ2QsUUFBUSxhQUNSLFdBQVc7bUhBbENWLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBa0NJLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwQm94UmV2ZXJzZUdlb2NvZGluZ1BhcmFtcywgTWFwQm94U2VydmljZSB9IGZyb20gJy4uL21hcGJveC9tYXBib3guc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IGNoZWNrU2FmYXJpQWdlbnQgZnJvbSAnLi4vLi4vaGVscGVycy9jaGVjay1zYWZhcmktYWdlbnQuZnVuYyc7XG5pbXBvcnQgeyBnZXRDaXJjdWxhclJlcGxhY2VyIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5cbmV4cG9ydCBlbnVtIEdlb2xvY2F0aW9uUGVybWlzc2lvbnMge1xuICBHUkFOVEVEID0gJ2dyYW50ZWQnLFxuICBQUk9NUFQgPSAncHJvbXB0JyxcbiAgREVOSUVEID0gJ2RlbmllZCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvbG9jYXRpb24ge1xuICBsYXQ6IG51bWJlcjtcbiAgbG5nOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzcyB7XG4gIGNpdHk6IHN0cmluZztcbiAgc3RhdGU6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgc2hvcnRDb2RlOiBzdHJpbmc7XG4gIH07XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9sb2NTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfbWFwYm94R2VvY29kaW5nUGFyYW1zOiBNYXBCb3hSZXZlcnNlR2VvY29kaW5nUGFyYW1zID0ge1xuICAgIHR5cGVzOiAncGxhY2UnLFxuICAgIGxpbWl0OiAxLFxuICAgIGxhbmd1YWdlOiAncHQtQlInLFxuICAgIGNvdW50cnk6ICdCUicsXG4gIH07XG5cbiAgcHJpdmF0ZSBfaGFzQ29uc2VudCA9IGZhbHNlO1xuICBwcml2YXRlIF9zd2l0Y2hTdGF0dXMgPSBmYWxzZTtcbiAgcHVibGljIGdldCBzd2l0Y2hTdGF0dXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N3aXRjaFN0YXR1cztcbiAgfVxuICBwcml2YXRlIF9hZGRyZXNzOiBBZGRyZXNzIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyBnZXQgYWRkcmVzcygpOiBBZGRyZXNzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZHJlc3M7XG4gIH1cblxuICBwcml2YXRlIF9wZXJtaXNzaW9uOiBQZXJtaXNzaW9uU3RhdGUgPSBHZW9sb2NhdGlvblBlcm1pc3Npb25zLlBST01QVDtcbiAgcHVibGljIGdldCBwZXJtaXNzaW9uKCk6IFBlcm1pc3Npb25TdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3Blcm1pc3Npb247XG4gIH1cblxuICBwdWJsaWMgZ2VvbG9jYXRpb246IEJlaGF2aW9yU3ViamVjdDxHZW9sb2NhdGlvbiB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHZW9sb2NhdGlvbiB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgaXNDaGVja2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTsgLy8gRW1pdGUgdHJ1ZSBxdWFuZG8gbyBnZW9sb2MgZXN0w6EgZXN0w6F2ZWxcblxuICBwcml2YXRlIF9pc1NhZmFyaUFnZW50OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2Rpc2FibGVTd2l0Y2ggPSBmYWxzZTtcbiAgcHVibGljIGdldCBkaXNhYmxlU3dpdGNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlU3dpdGNoO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgcHJpdmF0ZSBtYXBib3hTZXJ2aWNlOiBNYXBCb3hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nU2VydmljZTogTG9nU2VydmljZSxcbiAgKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5pc0NoZWNrZWQubmV4dCh0cnVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1NhZmFyaUFnZW50ID0gY2hlY2tTYWZhcmlBZ2VudCgpO1xuICAgIGlmICh0aGlzLl9pc1NhZmFyaUFnZW50KSB7XG4gICAgICB0aGlzLl9oYXNDb25zZW50ID0gdGhpcy5jaGVja0FDb29raWVFeGlzdHMoJ2dlb2xvY2F0aW9uX2NvbnNlbnQnKTtcbiAgICAgIHRoaXMuaW5pdEdlb2xvY2F0aW9uKHRoaXMuX2hhc0NvbnNlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5hdmlnYXRvcj8ucGVybWlzc2lvbnNcbiAgICAgID8ucXVlcnkoeyBuYW1lOiAnZ2VvbG9jYXRpb24nIH0pXG4gICAgICAudGhlbigocGVybWlzc2lvbikgPT4ge1xuICAgICAgICB0aGlzLl9wZXJtaXNzaW9uID0gcGVybWlzc2lvbi5zdGF0ZTtcbiAgICAgICAgdGhpcy5pbml0R2VvbG9jYXRpb24odGhpcy5fcGVybWlzc2lvbiA9PT0gR2VvbG9jYXRpb25QZXJtaXNzaW9ucy5HUkFOVEVEKTtcblxuICAgICAgICBwZXJtaXNzaW9uLm9uY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3Blcm1pc3Npb24gPSBwZXJtaXNzaW9uLnN0YXRlO1xuICAgICAgICAgIHRoaXMuaW5pdEdlb2xvY2F0aW9uKHRoaXMuX3Blcm1pc3Npb24gPT09IEdlb2xvY2F0aW9uUGVybWlzc2lvbnMuR1JBTlRFRCk7XG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmxvZ1NlcnZpY2UubG9nTXNnKEpTT04uc3RyaW5naWZ5KGVycm9yLCBnZXRDaXJjdWxhclJlcGxhY2VyKCkpLCAnRVJST1InKTtcbiAgICAgICAgdGhpcy5fcGVybWlzc2lvbiA9IEdlb2xvY2F0aW9uUGVybWlzc2lvbnMuREVOSUVEO1xuICAgICAgICB0aGlzLl9kaXNhYmxlU3dpdGNoID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pbml0R2VvbG9jYXRpb24oZmFsc2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBpbml0R2VvbG9jYXRpb24oZ2VvbG9jQWxsb3dlZCA9IGZhbHNlKTogdm9pZCB7XG4gICAgdGhpcy5fc3dpdGNoU3RhdHVzID0gdHJ1ZTtcbiAgICBpZiAoZ2VvbG9jQWxsb3dlZCkge1xuICAgICAgdGhpcy5nZXRDdXJyZW50UG9zaXRpb24oKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocG9zaXRpb24pID0+IHtcbiAgICAgICAgICB0aGlzLl9kaXNhYmxlU3dpdGNoID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5zZXRHZW9sb2NhdGlvbihwb3NpdGlvbik7XG4gICAgICAgICAgdGhpcy5zZXRDb25zZW50Q29va2llKHRydWUsIDM2NTApO1xuICAgICAgICAgIHRoaXMuX2hhc0NvbnNlbnQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX3Blcm1pc3Npb24gPSBHZW9sb2NhdGlvblBlcm1pc3Npb25zLkdSQU5URUQ7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3Blcm1pc3Npb24gPT09IEdlb2xvY2F0aW9uUGVybWlzc2lvbnMuREVOSUVEKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlU3dpdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q29uc2VudENvb2tpZShmYWxzZSwgMTUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmdlb2xvY2F0aW9uLm5leHQobnVsbCk7XG4gICAgICAgICAgdGhpcy5fYWRkcmVzcyA9IG51bGw7XG4gICAgICAgICAgdGhpcy5faGFzQ29uc2VudCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX3N3aXRjaFN0YXR1cyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNDaGVja2VkLm5leHQodHJ1ZSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMucGVybWlzc2lvbiA9PT0gR2VvbG9jYXRpb25QZXJtaXNzaW9ucy5ERU5JRUQpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZVN3aXRjaCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0Q29uc2VudENvb2tpZShmYWxzZSwgMTUpO1xuICAgICAgfVxuICAgICAgdGhpcy5nZW9sb2NhdGlvbi5uZXh0KG51bGwpO1xuICAgICAgdGhpcy5fYWRkcmVzcyA9IG51bGw7XG4gICAgICB0aGlzLl9oYXNDb25zZW50ID0gZmFsc2U7XG4gICAgICB0aGlzLl9zd2l0Y2hTdGF0dXMgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNDaGVja2VkLm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50UG9zaXRpb24oKTogT2JzZXJ2YWJsZTxHZW9sb2NhdGlvblBvc2l0aW9uPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihcbiAgICAgICAgKHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChwb3NpdGlvbik7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiBvYnNlcnZlci5lcnJvcihlcnJvciksXG4gICAgICAgIHsgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlIH0sXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRHZW9sb2NhdGlvbihwb3NpdGlvbjogR2VvbG9jYXRpb25Qb3NpdGlvbik6IHZvaWQge1xuICAgIGlmIChwb3NpdGlvbikge1xuICAgICAgaWYgKHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSA9PT0gdGhpcy5nZW9sb2NhdGlvbi52YWx1ZT8ubGF0ICYmIHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUgPT09IHRoaXMuZ2VvbG9jYXRpb24udmFsdWU/LmxuZykgcmV0dXJuO1xuXG4gICAgICB0aGlzLmdlb2xvY2F0aW9uLm5leHQoe1xuICAgICAgICBsYXQ6IHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSxcbiAgICAgICAgbG5nOiBwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZ2V0TWFwYm94QWRyZXNzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2l0eSA9IHJlc3BvbnNlPy5mZWF0dXJlc1swXT8ucHJvcGVydGllcz8ubmFtZTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICAgICAgICBuYW1lOiByZXNwb25zZT8uZmVhdHVyZXNbMF0/LnByb3BlcnRpZXM/LmNvbnRleHQ/LnJlZ2lvbj8ubmFtZSxcbiAgICAgICAgICAgICAgc2hvcnRDb2RlOiByZXNwb25zZT8uZmVhdHVyZXNbMF0/LnByb3BlcnRpZXM/LmNvbnRleHQ/LnJlZ2lvbj8ucmVnaW9uX2NvZGUsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIHsgY2l0eSwgc3RhdGUgfTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2FkZHJlc3MgPSByZXNwb25zZTtcbiAgICAgICAgICAgIHRoaXMuX3N3aXRjaFN0YXR1cyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmlzQ2hlY2tlZC5uZXh0KHRydWUpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmxvZ01zZyhKU09OLnN0cmluZ2lmeShlcnJvciwgZ2V0Q2lyY3VsYXJSZXBsYWNlcigpKSwgJ0VSUk9SJyk7XG4gICAgICAgICAgICB0aGlzLl9zd2l0Y2hTdGF0dXMgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZ2VvbG9jYXRpb24ubmV4dChudWxsKTtcbiAgICAgICAgICAgIHRoaXMuX2FkZHJlc3MgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5pc0NoZWNrZWQubmV4dCh0cnVlKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5nZW9sb2NhdGlvbi5uZXh0KG51bGwpO1xuICAgICAgdGhpcy5fYWRkcmVzcyA9IG51bGw7XG4gICAgICB0aGlzLl9zd2l0Y2hTdGF0dXMgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNDaGVja2VkLm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRNYXBib3hBZHJlc3MoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBsbmcgPSBgJHt0aGlzLmdlb2xvY2F0aW9uLnZhbHVlPy5sbmd9YDtcbiAgICBjb25zdCBsYXQgPSBgJHt0aGlzLmdlb2xvY2F0aW9uLnZhbHVlPy5sYXR9YDtcbiAgICByZXR1cm4gdGhpcy5tYXBib3hTZXJ2aWNlLnJldmVyc2VHZW9jb2RpbmcobG5nLCBsYXQsIHRoaXMuX21hcGJveEdlb2NvZGluZ1BhcmFtcywgJ2dlb2xvY2FsaXphY2FvLnNlcnZpY2UgZ2V0TWFwYm94QWRyZXNzJyk7XG4gIH1cblxuICBjaGVja0FDb29raWVFeGlzdHMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCB0eXBlb2YgdGhpcy5kb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcgfHwgIXRoaXMuZG9jdW1lbnQ/LmNvb2tpZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5jb29raWVcbiAgICAgIC5zcGxpdCgnOycpXG4gICAgICAubWFwKChpdGVtKSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgIC5zb21lKChpdGVtKSA9PiBpdGVtLnRyaW0oKS5zdGFydHNXaXRoKG5hbWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29uc2VudENvb2tpZShzdGF0dXM6IGJvb2xlYW4sIGRheXM6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmdldENvb2tpZVZhbHVlKCdnZW9sb2NhdGlvbl9jb25zZW50JykgIT09IHN0YXR1cy50b1N0cmluZygpKSB7XG4gICAgICBjb25zdCBsaWZldGltZSA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBkYXlzICogODY0MDAwMDApLnRvVVRDU3RyaW5nKCk7XG4gICAgICB0aGlzLmRvY3VtZW50LmNvb2tpZSA9IGBnZW9sb2NhdGlvbl9jb25zZW50PSR7c3RhdHVzfTsgcGF0aD0vOyBleHBpcmVzPSR7bGlmZXRpbWV9OyBTYW1lU2l0ZT1Ob25lOyBTZWN1cmVgO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29va2llVmFsdWUocHJvcDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmRvY3VtZW50LmNvb2tpZVxuICAgICAgICAuc3BsaXQoJzsnKVxuICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgICAgLmZpbmQoKGl0ZW0pID0+IGl0ZW0uc3RhcnRzV2l0aChgJHtwcm9wfT1gKSk7XG5cbiAgICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnNsaWNlKHByb3AubGVuZ3RoICsgMSkgOiAnJztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4iXX0=
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9nZW9sb2MvZ2VvbG9jLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEYsT0FBTyxnQkFBZ0IsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFcEQsTUFBTSxDQUFOLElBQVksc0JBSVg7QUFKRCxXQUFZLHNCQUFzQjtJQUNoQyw2Q0FBbUIsQ0FBQTtJQUNuQiwyQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUlqQztBQWtCRCxNQUFNLE9BQU8sYUFBYTtJQVV4QixJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFPRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUNxQyxRQUFrQixFQUNmLFVBQWtCLEVBQ2hELGFBQTRCLEVBQ25CLFVBQXNCO1FBSEosYUFB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QUNyRSxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLHVCQUF1QixNQUFNLHFCQUFxQixRQUFRLHlCQUF5QixDQUFDO1FBQzdHLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVk7UUFDakMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07aUJBQy9CLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQ1YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQzFCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUUvQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0FqTVUsYUFBYSxrQkFpQ2QsUUFBUSxhQUNSLFdBQVc7bUhBbENWLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBa0NJLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXBCb3hSZXZlcnNlR2VvY29kaW5nUGFyYW1zLCBNYXBCb3hTZXJ2aWNlIH0gZnJvbSAnLi4vbWFwYm94L21hcGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XHJcbmltcG9ydCBjaGVja1NhZmFyaUFnZW50IGZyb20gJy4uLy4uL2hlbHBlcnMvY2hlY2stc2FmYXJpLWFnZW50LmZ1bmMnO1xyXG5pbXBvcnQgeyBnZXRDaXJjdWxhclJlcGxhY2VyIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XHJcblxyXG5leHBvcnQgZW51bSBHZW9sb2NhdGlvblBlcm1pc3Npb25zIHtcclxuICBHUkFOVEVEID0gJ2dyYW50ZWQnLFxyXG4gIFBST01QVCA9ICdwcm9tcHQnLFxyXG4gIERFTklFRCA9ICdkZW5pZWQnLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdlb2xvY2F0aW9uIHtcclxuICBsYXQ6IG51bWJlcjtcclxuICBsbmc6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzIHtcclxuICBjaXR5OiBzdHJpbmc7XHJcbiAgc3RhdGU6IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHNob3J0Q29kZTogc3RyaW5nO1xyXG4gIH07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZW9sb2NTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9tYXBib3hHZW9jb2RpbmdQYXJhbXM6IE1hcEJveFJldmVyc2VHZW9jb2RpbmdQYXJhbXMgPSB7XHJcbiAgICB0eXBlczogJ3BsYWNlJyxcclxuICAgIGxpbWl0OiAxLFxyXG4gICAgbGFuZ3VhZ2U6ICdwdC1CUicsXHJcbiAgICBjb3VudHJ5OiAnQlInLFxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgX2hhc0NvbnNlbnQgPSBmYWxzZTtcclxuICBwcml2YXRlIF9zd2l0Y2hTdGF0dXMgPSBmYWxzZTtcclxuICBwdWJsaWMgZ2V0IHN3aXRjaFN0YXR1cygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9zd2l0Y2hTdGF0dXM7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FkZHJlc3M6IEFkZHJlc3MgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgZ2V0IGFkZHJlc3MoKTogQWRkcmVzcyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FkZHJlc3M7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wZXJtaXNzaW9uOiBQZXJtaXNzaW9uU3RhdGUgPSBHZW9sb2NhdGlvblBlcm1pc3Npb25zLlBST01QVDtcclxuICBwdWJsaWMgZ2V0IHBlcm1pc3Npb24oKTogUGVybWlzc2lvblN0YXRlIHtcclxuICAgIHJldHVybiB0aGlzLl9wZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdlb2xvY2F0aW9uOiBCZWhhdmlvclN1YmplY3Q8R2VvbG9jYXRpb24gfCBudWxsPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8R2VvbG9jYXRpb24gfCBudWxsPihudWxsKTtcclxuICBwdWJsaWMgaXNDaGVja2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTsgLy8gRW1pdGUgdHJ1ZSBxdWFuZG8gbyBnZW9sb2MgZXN0w6EgZXN0w6F2ZWxcclxuXHJcbiAgcHJpdmF0ZSBfaXNTYWZhcmlBZ2VudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2Rpc2FibGVTd2l0Y2ggPSBmYWxzZTtcclxuICBwdWJsaWMgZ2V0IGRpc2FibGVTd2l0Y2goKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZVN3aXRjaDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IG9iamVjdCxcclxuICAgIHByaXZhdGUgbWFwYm94U2VydmljZTogTWFwQm94U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nU2VydmljZTogTG9nU2VydmljZSxcclxuICApIHtcclxuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgdGhpcy5pc0NoZWNrZWQubmV4dCh0cnVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2lzU2FmYXJpQWdlbnQgPSBjaGVja1NhZmFyaUFnZW50KCk7XHJcbiAgICBpZiAodGhpcy5faXNTYWZhcmlBZ2VudCkge1xyXG4gICAgICB0aGlzLl9oYXNDb25zZW50ID0gdGhpcy5jaGVja0FDb29raWVFeGlzdHMoJ2dlb2xvY2F0aW9uX2NvbnNlbnQnKTtcclxuICAgICAgdGhpcy5pbml0R2VvbG9jYXRpb24odGhpcy5faGFzQ29uc2VudCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBuYXZpZ2F0b3I/LnBlcm1pc3Npb25zXHJcbiAgICAgID8ucXVlcnkoeyBuYW1lOiAnZ2VvbG9jYXRpb24nIH0pXHJcbiAgICAgIC50aGVuKChwZXJtaXNzaW9uKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcGVybWlzc2lvbiA9IHBlcm1pc3Npb24uc3RhdGU7XHJcbiAgICAgICAgdGhpcy5pbml0R2VvbG9jYXRpb24odGhpcy5fcGVybWlzc2lvbiA9PT0gR2VvbG9jYXRpb25QZXJtaXNzaW9ucy5HUkFOVEVEKTtcclxuXHJcbiAgICAgICAgcGVybWlzc2lvbi5vbmNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3Blcm1pc3Npb24gPSBwZXJtaXNzaW9uLnN0YXRlO1xyXG4gICAgICAgICAgdGhpcy5pbml0R2VvbG9jYXRpb24odGhpcy5fcGVybWlzc2lvbiA9PT0gR2VvbG9jYXRpb25QZXJtaXNzaW9ucy5HUkFOVEVEKTtcclxuICAgICAgICB9O1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmxvZ01zZyhKU09OLnN0cmluZ2lmeShlcnJvciwgZ2V0Q2lyY3VsYXJSZXBsYWNlcigpKSwgJ0VSUk9SJyk7XHJcbiAgICAgICAgdGhpcy5fcGVybWlzc2lvbiA9IEdlb2xvY2F0aW9uUGVybWlzc2lvbnMuREVOSUVEO1xyXG4gICAgICAgIHRoaXMuX2Rpc2FibGVTd2l0Y2ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaW5pdEdlb2xvY2F0aW9uKGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbml0R2VvbG9jYXRpb24oZ2VvbG9jQWxsb3dlZCA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zd2l0Y2hTdGF0dXMgPSB0cnVlO1xyXG4gICAgaWYgKGdlb2xvY0FsbG93ZWQpIHtcclxuICAgICAgdGhpcy5nZXRDdXJyZW50UG9zaXRpb24oKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChwb3NpdGlvbikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fZGlzYWJsZVN3aXRjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zZXRHZW9sb2NhdGlvbihwb3NpdGlvbik7XHJcbiAgICAgICAgICB0aGlzLnNldENvbnNlbnRDb29raWUodHJ1ZSwgMzY1MCk7XHJcbiAgICAgICAgICB0aGlzLl9oYXNDb25zZW50ID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuX3Blcm1pc3Npb24gPSBHZW9sb2NhdGlvblBlcm1pc3Npb25zLkdSQU5URUQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuX3Blcm1pc3Npb24gPT09IEdlb2xvY2F0aW9uUGVybWlzc2lvbnMuREVOSUVEKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVTd2l0Y2ggPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNldENvbnNlbnRDb29raWUoZmFsc2UsIDE1KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuZ2VvbG9jYXRpb24ubmV4dChudWxsKTtcclxuICAgICAgICAgIHRoaXMuX2FkZHJlc3MgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5faGFzQ29uc2VudCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5fc3dpdGNoU3RhdHVzID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzQ2hlY2tlZC5uZXh0KHRydWUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMucGVybWlzc2lvbiA9PT0gR2VvbG9jYXRpb25QZXJtaXNzaW9ucy5ERU5JRUQpIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlU3dpdGNoID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldENvbnNlbnRDb29raWUoZmFsc2UsIDE1KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdlb2xvY2F0aW9uLm5leHQobnVsbCk7XHJcbiAgICAgIHRoaXMuX2FkZHJlc3MgPSBudWxsO1xyXG4gICAgICB0aGlzLl9oYXNDb25zZW50ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX3N3aXRjaFN0YXR1cyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzQ2hlY2tlZC5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDdXJyZW50UG9zaXRpb24oKTogT2JzZXJ2YWJsZTxHZW9sb2NhdGlvblBvc2l0aW9uPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oXHJcbiAgICAgICAgKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KHBvc2l0aW9uKTtcclxuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyb3IpID0+IG9ic2VydmVyLmVycm9yKGVycm9yKSxcclxuICAgICAgICB7IGVuYWJsZUhpZ2hBY2N1cmFjeTogdHJ1ZSB9LFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEdlb2xvY2F0aW9uKHBvc2l0aW9uOiBHZW9sb2NhdGlvblBvc2l0aW9uKTogdm9pZCB7XHJcbiAgICBpZiAocG9zaXRpb24pIHtcclxuICAgICAgaWYgKHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSA9PT0gdGhpcy5nZW9sb2NhdGlvbi52YWx1ZT8ubGF0ICYmIHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUgPT09IHRoaXMuZ2VvbG9jYXRpb24udmFsdWU/LmxuZykgcmV0dXJuO1xyXG5cclxuICAgICAgdGhpcy5nZW9sb2NhdGlvbi5uZXh0KHtcclxuICAgICAgICBsYXQ6IHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSxcclxuICAgICAgICBsbmc6IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5nZXRNYXBib3hBZHJlc3MoKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjaXR5ID0gcmVzcG9uc2U/LmZlYXR1cmVzWzBdPy5wcm9wZXJ0aWVzPy5uYW1lO1xyXG4gICAgICAgICAgICBjb25zdCBzdGF0ZSA9IHtcclxuICAgICAgICAgICAgICBuYW1lOiByZXNwb25zZT8uZmVhdHVyZXNbMF0/LnByb3BlcnRpZXM/LmNvbnRleHQ/LnJlZ2lvbj8ubmFtZSxcclxuICAgICAgICAgICAgICBzaG9ydENvZGU6IHJlc3BvbnNlPy5mZWF0dXJlc1swXT8ucHJvcGVydGllcz8uY29udGV4dD8ucmVnaW9uPy5yZWdpb25fY29kZSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgcmV0dXJuIHsgY2l0eSwgc3RhdGUgfTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9hZGRyZXNzID0gcmVzcG9uc2U7XHJcbiAgICAgICAgICAgIHRoaXMuX3N3aXRjaFN0YXR1cyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDaGVja2VkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UubG9nTXNnKEpTT04uc3RyaW5naWZ5KGVycm9yLCBnZXRDaXJjdWxhclJlcGxhY2VyKCkpLCAnRVJST1InKTtcclxuICAgICAgICAgICAgdGhpcy5fc3dpdGNoU3RhdHVzID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZ2VvbG9jYXRpb24ubmV4dChudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5fYWRkcmVzcyA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDaGVja2VkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5nZW9sb2NhdGlvbi5uZXh0KG51bGwpO1xyXG4gICAgICB0aGlzLl9hZGRyZXNzID0gbnVsbDtcclxuICAgICAgdGhpcy5fc3dpdGNoU3RhdHVzID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNDaGVja2VkLm5leHQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1hcGJveEFkcmVzcygpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgbG5nID0gYCR7dGhpcy5nZW9sb2NhdGlvbi52YWx1ZT8ubG5nfWA7XHJcbiAgICBjb25zdCBsYXQgPSBgJHt0aGlzLmdlb2xvY2F0aW9uLnZhbHVlPy5sYXR9YDtcclxuICAgIHJldHVybiB0aGlzLm1hcGJveFNlcnZpY2UucmV2ZXJzZUdlb2NvZGluZyhsbmcsIGxhdCwgdGhpcy5fbWFwYm94R2VvY29kaW5nUGFyYW1zLCAnZ2VvbG9jYWxpemFjYW8uc2VydmljZSBnZXRNYXBib3hBZHJlc3MnKTtcclxuICB9XHJcblxyXG4gIGNoZWNrQUNvb2tpZUV4aXN0cyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkgfHwgdHlwZW9mIHRoaXMuZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnIHx8ICF0aGlzLmRvY3VtZW50Py5jb29raWUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuY29va2llXHJcbiAgICAgIC5zcGxpdCgnOycpXHJcbiAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0udHJpbSgpKVxyXG4gICAgICAuc29tZSgoaXRlbSkgPT4gaXRlbS50cmltKCkuc3RhcnRzV2l0aChuYW1lKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbnNlbnRDb29raWUoc3RhdHVzOiBib29sZWFuLCBkYXlzOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmdldENvb2tpZVZhbHVlKCdnZW9sb2NhdGlvbl9jb25zZW50JykgIT09IHN0YXR1cy50b1N0cmluZygpKSB7XHJcbiAgICAgIGNvbnN0IGxpZmV0aW1lID0gbmV3IERhdGUoRGF0ZS5ub3coKSArIGRheXMgKiA4NjQwMDAwMCkudG9VVENTdHJpbmcoKTtcclxuICAgICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBgZ2VvbG9jYXRpb25fY29uc2VudD0ke3N0YXR1c307IHBhdGg9LzsgZXhwaXJlcz0ke2xpZmV0aW1lfTsgU2FtZVNpdGU9Tm9uZTsgU2VjdXJlYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q29va2llVmFsdWUocHJvcDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kb2N1bWVudC5jb29raWVcclxuICAgICAgICAuc3BsaXQoJzsnKVxyXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0udHJpbSgpKVxyXG4gICAgICAgIC5maW5kKChpdGVtKSA9PiBpdGVtLnN0YXJ0c1dpdGgoYCR7cHJvcH09YCkpO1xyXG5cclxuICAgICAgcmV0dXJuIHZhbHVlID8gdmFsdWUuc2xpY2UocHJvcC5sZW5ndGggKyAxKSA6ICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
52
52
  type: Inject,
53
53
  args: [LIB_CONFIG]
54
54
  }] }, { type: i1.HttpClient }, { type: i2.DeviceDetectorService }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL2h0dHAtY2xpZW50L2h0dHAtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFbkQseUVBQXlFO0FBRXpFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDK0IsVUFBa0IsRUFDbkIsU0FBb0IsRUFDeEMsSUFBZ0IsRUFDaEIsYUFBb0M7UUFIZixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFDM0MsQ0FBQztJQUVKLEdBQUcsQ0FBVSxHQUFXO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksQ0FBVSxHQUFXLEVBQUUsSUFBVTtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRTthQUNsQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQzthQUM5RCxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDaEQsR0FBRyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBRWxELElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0QsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDdkssQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUMvRCxDQUFDO0lBRU8sZUFBZTtRQUNyQixPQUFPLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN4RCxDQUFDOytHQXJDVSxpQkFBaUIsa0JBRWxCLFdBQVcsYUFDWCxVQUFVO21IQUhULGlCQUFpQixjQURKLE1BQU07OzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFHN0IsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tICduZ3gtZGV2aWNlLWRldGVjdG9yJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExJQl9DT05GSUcsIExpYkNvbmZpZyB9IGZyb20gJy4uLy4uL3Rva2Vucy9MaWJDb25maWcnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qIEFkaWNpb25hIG9zIEhlYWRlcnMgbmVjZXNzw6FyaW9zIHBhcmEgZnVuY2lvbmFtZW50byBkbyBzaXRlIGJhY2stZW5kICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEh0dHBDbGllbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGRldmljZVNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZSxcbiAgKSB7fVxuXG4gIGdldDxUID0gYW55Pih1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih1cmwsIHsgaGVhZGVycyB9KTtcbiAgfVxuXG4gIHBvc3Q8VCA9IGFueT4odXJsOiBzdHJpbmcsIGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHVybCwgZGF0YSwgeyBoZWFkZXJzIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCk6IEh0dHBIZWFkZXJzIHtcbiAgICBjb25zdCBiYXNlSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAuc2V0KFwieC1vcmlnaW4tYXBwbGljYXRpb25cIiwgdGhpcy5saWJDb25maWcueE9yaWdpbkFwcGxpY2F0aW9uKVxuICAgICAgLnNldChcIngtb3JpZ2luLWNoYW5uZWxcIiwgdGhpcy5nZXRPcmlnaW5DaGFubmVsKCkpXG4gICAgICAuc2V0KFwieC1vcmlnaW4tZGV2aWNlXCIsIHRoaXMuZ2V0T3JpZ2luRGV2aWNlKCkpO1xuXG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmxpYkNvbmZpZy5zZXJ2ZXIpIHtcbiAgICAgIHJldHVybiBiYXNlSGVhZGVycy5hcHBlbmQoXCJhdXRob3JpemF0aW9uXCIsIFwiQmFzaWMgXCIgKyBCdWZmZXIuZnJvbShgJHt0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLmF1dGgudXNlcn06JHt0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLmF1dGgucGFzc3dvcmR9YCkudG9TdHJpbmcoJ2Jhc2U2NCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGJhc2VIZWFkZXJzLmFwcGVuZChcImNsaWVudF9pZFwiLCB0aGlzLmxpYkNvbmZpZy5jbGllbnRfaWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3JpZ2luQ2hhbm5lbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRldmljZVNlcnZpY2UuaXNEZXNrdG9wKCkgPyAnZGVza3RvcCcgOiAnbW9iaWxlJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3JpZ2luRGV2aWNlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBhcHAtJHt0aGlzLmRldmljZVNlcnZpY2UuZ2V0RGV2aWNlSW5mbygpLm9zfWA7XG4gIH1cbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL2h0dHAtY2xpZW50L2h0dHAtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFbkQseUVBQXlFO0FBRXpFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDK0IsVUFBa0IsRUFDbkIsU0FBb0IsRUFDeEMsSUFBZ0IsRUFDaEIsYUFBb0M7UUFIZixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFDM0MsQ0FBQztJQUVKLEdBQUcsQ0FBVSxHQUFXO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksQ0FBVSxHQUFXLEVBQUUsSUFBVTtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRTthQUNsQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQzthQUM5RCxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDaEQsR0FBRyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBRWxELElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0QsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDdkssQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUMvRCxDQUFDO0lBRU8sZUFBZTtRQUNyQixPQUFPLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN4RCxDQUFDOytHQXJDVSxpQkFBaUIsa0JBRWxCLFdBQVcsYUFDWCxVQUFVO21IQUhULGlCQUFpQixjQURKLE1BQU07OzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFHN0IsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTElCX0NPTkZJRywgTGliQ29uZmlnIH0gZnJvbSAnLi4vLi4vdG9rZW5zL0xpYkNvbmZpZyc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLyogQWRpY2lvbmEgb3MgSGVhZGVycyBuZWNlc3PDoXJpb3MgcGFyYSBmdW5jaW9uYW1lbnRvIGRvIHNpdGUgYmFjay1lbmQgKi9cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEh0dHBDbGllbnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxyXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBkZXZpY2VTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBnZXQ8VCA9IGFueT4odXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHVybCwgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgcG9zdDxUID0gYW55Pih1cmw6IHN0cmluZywgZGF0YT86IGFueSk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHVybCwgZGF0YSwgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCk6IEh0dHBIZWFkZXJzIHtcclxuICAgIGNvbnN0IGJhc2VIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcclxuICAgICAgLnNldChcIngtb3JpZ2luLWFwcGxpY2F0aW9uXCIsIHRoaXMubGliQ29uZmlnLnhPcmlnaW5BcHBsaWNhdGlvbilcclxuICAgICAgLnNldChcIngtb3JpZ2luLWNoYW5uZWxcIiwgdGhpcy5nZXRPcmlnaW5DaGFubmVsKCkpXHJcbiAgICAgIC5zZXQoXCJ4LW9yaWdpbi1kZXZpY2VcIiwgdGhpcy5nZXRPcmlnaW5EZXZpY2UoKSk7XHJcblxyXG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmxpYkNvbmZpZy5zZXJ2ZXIpIHtcclxuICAgICAgcmV0dXJuIGJhc2VIZWFkZXJzLmFwcGVuZChcImF1dGhvcml6YXRpb25cIiwgXCJCYXNpYyBcIiArIEJ1ZmZlci5mcm9tKGAke3RoaXMubGliQ29uZmlnLnNpdGVBcGkuYXV0aC51c2VyfToke3RoaXMubGliQ29uZmlnLnNpdGVBcGkuYXV0aC5wYXNzd29yZH1gKS50b1N0cmluZygnYmFzZTY0JykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGJhc2VIZWFkZXJzLmFwcGVuZChcImNsaWVudF9pZFwiLCB0aGlzLmxpYkNvbmZpZy5jbGllbnRfaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRPcmlnaW5DaGFubmVsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXZpY2VTZXJ2aWNlLmlzRGVza3RvcCgpID8gJ2Rlc2t0b3AnIDogJ21vYmlsZSc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE9yaWdpbkRldmljZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGBhcHAtJHt0aGlzLmRldmljZVNlcnZpY2UuZ2V0RGV2aWNlSW5mbygpLm9zfWA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -17,4 +17,4 @@ export * from './algolia-search-api/algolia-search-api.service';
17
17
  export * from './youtube/youtube.service';
18
18
  export * from './mapbox/mapbox.service';
19
19
  export * from './geoloc/geoloc.service';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbGdvbGlhL2FsZ29saWEuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2N1cmEvY3VyYS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1jbGllbnQvaHR0cC1jbGllbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvZy9sb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsL21vZGFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1kcmF3ZXIvbW9kYWwtZHJhd2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3UtY2Fyb3VzZWwvbmd1LWNhcm91c2VsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9waG9uZS9waG9uZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJpdmFjeS10b29scy9wcml2YWN5LXRvb2xzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zaXRlLWJhY2stZW5kL3NpdGUtYmFjay1lbmQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Nlby9zZW8uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZlci1yZXNwb25zZS9zZXJ2ZXItcmVzcG9uc2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Nzci1sb2FkaW5nL3Nzci1sb2FkaW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2Zlci1zdGF0ZS90cmFuc2Zlci1zdGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4uL2NvbXBvbmVudHMvaGVhZGVyL3NlcnZpY2VzL2hlYWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWxnb2xpYS1zZWFyY2gtYXBpL2FsZ29saWEtc2VhcmNoLWFwaS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4veW91dHViZS95b3V0dWJlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3gvbWFwYm94LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW9sb2MvZ2VvbG9jLnNlcnZpY2UnO1xuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbGdvbGlhL2FsZ29saWEuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY3VyYS9jdXJhLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2h0dHAtY2xpZW50L2h0dHAtY2xpZW50LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZy9sb2cuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtZHJhd2VyL21vZGFsLWRyYXdlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9uZ3UtY2Fyb3VzZWwvbmd1LWNhcm91c2VsLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Bob25lL3Bob25lLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ByaXZhY3ktdG9vbHMvcHJpdmFjeS10b29scy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zaXRlLWJhY2stZW5kL3NpdGUtYmFjay1lbmQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VvL3Nlby5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2ZXItcmVzcG9uc2Uvc2VydmVyLXJlc3BvbnNlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Nzci1sb2FkaW5nL3Nzci1sb2FkaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RyYW5zZmVyLXN0YXRlL3RyYW5zZmVyLXN0YXRlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuLi9jb21wb25lbnRzL2hlYWRlci9zZXJ2aWNlcy9oZWFkZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYWxnb2xpYS1zZWFyY2gtYXBpL2FsZ29saWEtc2VhcmNoLWFwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi95b3V0dWJlL3lvdXR1YmUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94L21hcGJveC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9nZW9sb2MvZ2VvbG9jLnNlcnZpY2UnO1xyXG4iXX0=
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
43
43
  type: Inject,
44
44
  args: [PLATFORM_ID]
45
45
  }] }, { type: i1.Location }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9sb2cvbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFDOEIsU0FBb0IsRUFDbkIsVUFBZSxFQUNwQyxRQUFrQjtRQUZFLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7SUFFSixNQUFNLENBQUMsR0FBUSxFQUFFLEtBQWM7UUFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDL0csT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQWtCO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWtCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWtCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7SUFDcEcsQ0FBQzsrR0E1QlUsVUFBVSxrQkFFWCxVQUFVLGFBQ1YsV0FBVzttSEFIVixVQUFVLGNBRlQsTUFBTTs7NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcbmltcG9ydCB7IGdldFNpdGVVcmwgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExvZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KExJQl9DT05GSUcpIHByaXZhdGUgbGliQ29uZmlnOiBMaWJDb25maWcsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICkge31cblxuICBsb2dNc2cobXNnOiBhbnksIGxhYmVsPzogc3RyaW5nKSB7XG4gICAgbGFiZWwgPSBsYWJlbCA/IGAke2xhYmVsfSBgIDogJyc7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8IChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmICF0aGlzLmxpYkNvbmZpZz8ucHJvZHVjdGlvbikpIHtcbiAgICAgIGNvbnNvbGUubG9nKGAke2xhYmVsfSR7bXNnfWApO1xuICAgIH1cbiAgfVxuXG4gIGxvZ0xvYWQoY29tcG9uZW50Pzogc3RyaW5nKSB7XG4gICAgdGhpcy5sb2dNc2coYCR7dGhpcy5nZXRQYWdlVVJMKCl9JHtjb21wb25lbnQgPyAnIC0gJyArIGNvbXBvbmVudCA6ICcnfWAsICdMT0FEJyk7XG4gIH1cblxuICBsb2c0MDQoY29tcG9uZW50Pzogc3RyaW5nKSB7XG4gICAgdGhpcy5sb2dNc2coYCR7dGhpcy5nZXRQYWdlVVJMKCl9JHtjb21wb25lbnQgPyAnIC0gJyArIGNvbXBvbmVudCA6ICcnfWAsICc0MDQnKTtcbiAgfVxuXG4gIGxvZzUwMChjb21wb25lbnQ/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmxvZ01zZyhgJHt0aGlzLmdldFBhZ2VVUkwoKX0ke2NvbXBvbmVudCA/ICcgLSAnICsgY29tcG9uZW50IDogJyd9YCwgJzUwMCcpO1xuICB9XG5cbiAgZ2V0UGFnZVVSTCgpIHtcbiAgICByZXR1cm4gYCR7Z2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCl9JHt0aGlzLmxvY2F0aW9uLnBhdGgoKX1gO1xuICB9XG59XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9sb2cvbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFDOEIsU0FBb0IsRUFDbkIsVUFBZSxFQUNwQyxRQUFrQjtRQUZFLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7SUFFSixNQUFNLENBQUMsR0FBUSxFQUFFLEtBQWM7UUFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDL0csT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQWtCO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWtCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWtCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7SUFDcEcsQ0FBQzsrR0E1QlUsVUFBVSxrQkFFWCxVQUFVLGFBQ1YsV0FBVzttSEFIVixVQUFVLGNBRlQsTUFBTTs7NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTElCX0NPTkZJRywgTGliQ29uZmlnIH0gZnJvbSAnLi4vLi4vdG9rZW5zL0xpYkNvbmZpZyc7XHJcbmltcG9ydCB7IGdldFNpdGVVcmwgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTElCX0NPTkZJRykgcHJpdmF0ZSBsaWJDb25maWc6IExpYkNvbmZpZyxcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxyXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgKSB7fVxyXG5cclxuICBsb2dNc2cobXNnOiBhbnksIGxhYmVsPzogc3RyaW5nKSB7XHJcbiAgICBsYWJlbCA9IGxhYmVsID8gYCR7bGFiZWx9IGAgOiAnJztcclxuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiAhdGhpcy5saWJDb25maWc/LnByb2R1Y3Rpb24pKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGAke2xhYmVsfSR7bXNnfWApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9nTG9hZChjb21wb25lbnQ/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMubG9nTXNnKGAke3RoaXMuZ2V0UGFnZVVSTCgpfSR7Y29tcG9uZW50ID8gJyAtICcgKyBjb21wb25lbnQgOiAnJ31gLCAnTE9BRCcpO1xyXG4gIH1cclxuXHJcbiAgbG9nNDA0KGNvbXBvbmVudD86IHN0cmluZykge1xyXG4gICAgdGhpcy5sb2dNc2coYCR7dGhpcy5nZXRQYWdlVVJMKCl9JHtjb21wb25lbnQgPyAnIC0gJyArIGNvbXBvbmVudCA6ICcnfWAsICc0MDQnKTtcclxuICB9XHJcblxyXG4gIGxvZzUwMChjb21wb25lbnQ/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMubG9nTXNnKGAke3RoaXMuZ2V0UGFnZVVSTCgpfSR7Y29tcG9uZW50ID8gJyAtICcgKyBjb21wb25lbnQgOiAnJ31gLCAnNTAwJyk7XHJcbiAgfVxyXG5cclxuICBnZXRQYWdlVVJMKCkge1xyXG4gICAgcmV0dXJuIGAke2dldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpfSR7dGhpcy5sb2NhdGlvbi5wYXRoKCl9YDtcclxuICB9XHJcbn1cclxuIl19
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
66
66
  type: Inject,
67
67
  args: [PLATFORM_ID]
68
68
  }] }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tYXBib3gvbWFwYm94LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQThCL0QsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFDbUIsSUFBZ0IsRUFDaEIsVUFBc0IsRUFDWCxTQUFvQixFQUNWLFVBQWtCO1FBSHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNYLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDVixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBVGxELHNCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7UUFDckQseUJBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQztRQUMzRCxpQkFBWSxHQUFHLHdCQUF3QixDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsbUJBQW1CLENBQUM7SUFPdkMsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLFNBQWdDLEVBQUUsRUFBRSxVQUFtQjtRQUNyRixJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUN4QixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFdBQVcsY0FBYyxLQUFLLEVBQUUsQ0FBQztRQUMxRSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUNqSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLFNBQXVDLEVBQUUsRUFBRSxVQUFtQjtRQUN2RyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsV0FBVyxzQkFBc0IsR0FBRyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ2hHLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ2pILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sU0FBUyxDQUFDLGNBQXNCLEVBQUUsT0FBTyxHQUFHLFlBQVk7UUFDOUQsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMxRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsTUFBTSxjQUFjLE1BQU0sT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDOytHQWpEVSxhQUFhLHNFQVNkLFVBQVUsYUFDVixXQUFXO21IQVZWLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IExJQl9DT05GSUcsIExpYkNvbmZpZyB9IGZyb20gJy4uLy4uL3Rva2Vucy9MaWJDb25maWcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hcEJveEdlb2NvZGluZ1BhcmFtcyB7XG4gIGF1dG9jb21wbGV0ZT86IGJvb2xlYW47XG4gIGJib3g/OiBzdHJpbmc7IC8vIG1pbkxvbiwgbWluTGF0LCBtYXhMb24sIG1heExhdFxuICBjb3VudHJ5Pzogc3RyaW5nOyAvLyBjb3VudHJ5IGNvZGVzIHNlcGFyYXRlZCBieSBjb21tYXNcbiAgZnV6enlNYXRjaD86IGJvb2xlYW47XG4gIGxhbmd1YWdlPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjsgLy8gZGVmYXVsdDogNSwgbWF4OiAxMFxuICBwcm94aW1pdHk/OiBzdHJpbmc7IC8vIGxvbmdpdHVkZSwgbGF0aXR1ZGVcbiAgcm91dGluZz86IGJvb2xlYW47XG4gIC8vIFR5cGVzIGNhbiBiZSBjb21tYSBzZXBhcmF0ZWRcbiAgdHlwZXM/OiBzdHJpbmc7IC8vIFwiY291bnRyeVwiIHwgXCJyZWdpb25cIiB8IFwicG9zdGNvZGVcIiB8IFwiZGlzdHJpY3RcIiB8IFwicGxhY2VcIiB8IFwibG9jYWxpdHlcIiB8IFwibmVpZ2hib3Job29kXCIgfCBcImFkZHJlc3NcIiB8IFwicG9pXCJcbiAgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwQm94UmV2ZXJzZUdlb2NvZGluZ1BhcmFtcyB7XG4gIGNvdW50cnk/OiBzdHJpbmc7IC8vIGNvdW50cnkgY29kZXMgc2VwYXJhdGVkIGJ5IGNvbW1hc1xuICBsYW5ndWFnZT86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7IC8vIGRlZmF1bHQ6IDUsIG1heDogMTBcbiAgcmV2ZXJzZU1vZGU/OiAnZGlzdGFuY2UnIHwgJ3Njb3JlJztcbiAgcm91dGluZz86IGJvb2xlYW47XG4gIC8vIFR5cGVzIGNhbiBiZSBjb21tYSBzZXBhcmF0ZWRcbiAgdHlwZXM/OiBzdHJpbmc7IC8vIFwiY291bnRyeVwiIHwgXCJyZWdpb25cIiB8IFwicG9zdGNvZGVcIiB8IFwiZGlzdHJpY3RcIiB8IFwicGxhY2VcIiB8IFwibG9jYWxpdHlcIiB8IFwibmVpZ2hib3Job29kXCIgfCBcImFkZHJlc3NcIiB8IFwicG9pXCJcbiAgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBCb3hTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtYXBib3hBY2Nlc3NUb2tlbiA9IHRoaXMubGliQ29uZmlnLm1hcGJveEFjY2Vzc1Rva2VuO1xuICBwcml2YXRlIG1hcGJveFNTUkFjY2Vzc1Rva2VuID0gdGhpcy5saWJDb25maWcubWFwYm94U1NSQWNjZXNzVG9rZW47XG4gIHByaXZhdGUgbWFwYm94QXBpVXJsID0gJ2h0dHBzOi8vYXBpLm1hcGJveC5jb20nO1xuICBwcml2YXRlIGdlb2NvZGluZ0VwID0gJ3NlYXJjaC9nZW9jb2RlL3Y2JztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlLFxuICAgIEBJbmplY3QoTElCX0NPTkZJRykgcHJpdmF0ZSBsaWJDb25maWc6IExpYkNvbmZpZyxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IG9iamVjdCxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBCdXNjYSBnZW9jYWxpemFkYSBwb3Igbm9tZSBkbyBsb2NhbC5cbiAgICogRXguOiBiYXJyYSBkYSB0aWp1Y2EsIHJpbyBkZSBqYW5laXJvIC0gcmlvIGRlIGphbmVpcm8sIGJyYXNpbFxuICAgKiBAcGFyYW0gcXVlcnkgbm9tZSBkZSBsb2NhbCBwYXJhIGEgYnVzY2FcbiAgICogQHBhcmFtIHBhcmFtcyBwYXLDom1ldHJvcyBvcGNpb25haXMgZGUgYnVzY2EgZSBmaWx0cm9cbiAgICovXG4gIGZvcndhcmRHZW9jb2RpbmcocXVlcnk6IHN0cmluZywgcGFyYW1zOiBNYXBCb3hHZW9jb2RpbmdQYXJhbXMgPSB7fSwgbG9nQ29udGV4dD86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgdGhpcy5sb2dNYXBib3goJ2ZvcndhcmRHZW9jb2RpbmcnLCBsb2dDb250ZXh0KTtcbiAgICBpZiAocXVlcnkubGVuZ3RoID49IDI1Nikge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ1F1ZXJ5IGxlbmd0aCBleGNlZWRzIDI1NSBjaGFyYWN0ZXJzLicpO1xuICAgIH1cbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLm1hcGJveEFwaVVybH0vJHt0aGlzLmdlb2NvZGluZ0VwfS9mb3J3YXJkP3E9JHtxdWVyeX1gO1xuICAgIHBhcmFtc1snYWNjZXNzX3Rva2VuJ10gPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpID8gdGhpcy5tYXBib3hBY2Nlc3NUb2tlbiA6IHRoaXMubWFwYm94U1NSQWNjZXNzVG9rZW47XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHBhcmFtcywgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSk7XG4gIH1cblxuICAvKipcbiAgICogQnVzY2EgbG9jYWwgcG9yIGxvbmdpdHVkZSBlIGxhdGl0dWRlXG4gICAqIEBwYXJhbSBsbmcgZm9ybWF0byBsb25naXR1ZGVcbiAgICogQHBhcmFtIGxhdCBmb3JtYXRvIGxhdGl0dWRlXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFyw6JtZXRyb3Mgb3BjaW9uYWlzIGRlIGJ1c2NhIGUgZmlsdHJvXG4gICAqL1xuICByZXZlcnNlR2VvY29kaW5nKGxuZzogc3RyaW5nLCBsYXQ6IHN0cmluZywgcGFyYW1zOiBNYXBCb3hSZXZlcnNlR2VvY29kaW5nUGFyYW1zID0ge30sIGxvZ0NvbnRleHQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMubG9nTWFwYm94KCdyZXZlcnNlR2VvY29kaW5nJywgbG9nQ29udGV4dCk7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5tYXBib3hBcGlVcmx9LyR7dGhpcy5nZW9jb2RpbmdFcH0vcmV2ZXJzZT9sb25naXR1ZGU9JHtsbmd9JmxhdGl0dWRlPSR7bGF0fWA7XG4gICAgcGFyYW1zWydhY2Nlc3NfdG9rZW4nXSA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgPyB0aGlzLm1hcGJveEFjY2Vzc1Rva2VuIDogdGhpcy5tYXBib3hTU1JBY2Nlc3NUb2tlbjtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2dNYXBib3goY2FsbGVyRnVuY3Rpb246IHN0cmluZywgY29udGV4dCA9ICduby1jb250ZXh0Jykge1xuICAgIGNvbnN0IHBsYXRmb3JtID0gaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpID8gJ3NlcnZlcicgOiAnYnJvd3Nlcic7XG4gICAgdGhpcy5sb2dTZXJ2aWNlLmxvZ01zZyhgJHtwbGF0Zm9ybX0gLSAke2NhbGxlckZ1bmN0aW9ufSAtICR7Y29udGV4dH1gLCAnTUFQQk9YJyk7XG4gIH1cblxuICBwcml2YXRlIGdldEhlYWRlcnMoKTogSHR0cEhlYWRlcnMge1xuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ1JlZmVycmVyLVBvbGljeScsICdvcmlnaW4nKTtcbiAgfVxufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tYXBib3gvbWFwYm94LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQThCL0QsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFDbUIsSUFBZ0IsRUFDaEIsVUFBc0IsRUFDWCxTQUFvQixFQUNWLFVBQWtCO1FBSHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNYLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDVixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBVGxELHNCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7UUFDckQseUJBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQztRQUMzRCxpQkFBWSxHQUFHLHdCQUF3QixDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsbUJBQW1CLENBQUM7SUFPdkMsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLFNBQWdDLEVBQUUsRUFBRSxVQUFtQjtRQUNyRixJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUN4QixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFdBQVcsY0FBYyxLQUFLLEVBQUUsQ0FBQztRQUMxRSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUNqSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLFNBQXVDLEVBQUUsRUFBRSxVQUFtQjtRQUN2RyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsV0FBVyxzQkFBc0IsR0FBRyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ2hHLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ2pILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sU0FBUyxDQUFDLGNBQXNCLEVBQUUsT0FBTyxHQUFHLFlBQVk7UUFDOUQsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMxRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsTUFBTSxjQUFjLE1BQU0sT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDOytHQWpEVSxhQUFhLHNFQVNkLFVBQVUsYUFDVixXQUFXO21IQVZWLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciwgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWFwQm94R2VvY29kaW5nUGFyYW1zIHtcclxuICBhdXRvY29tcGxldGU/OiBib29sZWFuO1xyXG4gIGJib3g/OiBzdHJpbmc7IC8vIG1pbkxvbiwgbWluTGF0LCBtYXhMb24sIG1heExhdFxyXG4gIGNvdW50cnk/OiBzdHJpbmc7IC8vIGNvdW50cnkgY29kZXMgc2VwYXJhdGVkIGJ5IGNvbW1hc1xyXG4gIGZ1enp5TWF0Y2g/OiBib29sZWFuO1xyXG4gIGxhbmd1YWdlPzogc3RyaW5nO1xyXG4gIGxpbWl0PzogbnVtYmVyOyAvLyBkZWZhdWx0OiA1LCBtYXg6IDEwXHJcbiAgcHJveGltaXR5Pzogc3RyaW5nOyAvLyBsb25naXR1ZGUsIGxhdGl0dWRlXHJcbiAgcm91dGluZz86IGJvb2xlYW47XHJcbiAgLy8gVHlwZXMgY2FuIGJlIGNvbW1hIHNlcGFyYXRlZFxyXG4gIHR5cGVzPzogc3RyaW5nOyAvLyBcImNvdW50cnlcIiB8IFwicmVnaW9uXCIgfCBcInBvc3Rjb2RlXCIgfCBcImRpc3RyaWN0XCIgfCBcInBsYWNlXCIgfCBcImxvY2FsaXR5XCIgfCBcIm5laWdoYm9yaG9vZFwiIHwgXCJhZGRyZXNzXCIgfCBcInBvaVwiXHJcbiAgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWFwQm94UmV2ZXJzZUdlb2NvZGluZ1BhcmFtcyB7XHJcbiAgY291bnRyeT86IHN0cmluZzsgLy8gY291bnRyeSBjb2RlcyBzZXBhcmF0ZWQgYnkgY29tbWFzXHJcbiAgbGFuZ3VhZ2U/OiBzdHJpbmc7XHJcbiAgbGltaXQ/OiBudW1iZXI7IC8vIGRlZmF1bHQ6IDUsIG1heDogMTBcclxuICByZXZlcnNlTW9kZT86ICdkaXN0YW5jZScgfCAnc2NvcmUnO1xyXG4gIHJvdXRpbmc/OiBib29sZWFuO1xyXG4gIC8vIFR5cGVzIGNhbiBiZSBjb21tYSBzZXBhcmF0ZWRcclxuICB0eXBlcz86IHN0cmluZzsgLy8gXCJjb3VudHJ5XCIgfCBcInJlZ2lvblwiIHwgXCJwb3N0Y29kZVwiIHwgXCJkaXN0cmljdFwiIHwgXCJwbGFjZVwiIHwgXCJsb2NhbGl0eVwiIHwgXCJuZWlnaGJvcmhvb2RcIiB8IFwiYWRkcmVzc1wiIHwgXCJwb2lcIlxyXG4gIFtwcm9wTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFwQm94U2VydmljZSB7XHJcbiAgcHJpdmF0ZSBtYXBib3hBY2Nlc3NUb2tlbiA9IHRoaXMubGliQ29uZmlnLm1hcGJveEFjY2Vzc1Rva2VuO1xyXG4gIHByaXZhdGUgbWFwYm94U1NSQWNjZXNzVG9rZW4gPSB0aGlzLmxpYkNvbmZpZy5tYXBib3hTU1JBY2Nlc3NUb2tlbjtcclxuICBwcml2YXRlIG1hcGJveEFwaVVybCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcclxuICBwcml2YXRlIGdlb2NvZGluZ0VwID0gJ3NlYXJjaC9nZW9jb2RlL3Y2JztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KExJQl9DT05GSUcpIHByaXZhdGUgbGliQ29uZmlnOiBMaWJDb25maWcsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IG9iamVjdCxcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1c2NhIGdlb2NhbGl6YWRhIHBvciBub21lIGRvIGxvY2FsLlxyXG4gICAqIEV4LjogYmFycmEgZGEgdGlqdWNhLCByaW8gZGUgamFuZWlybyAtIHJpbyBkZSBqYW5laXJvLCBicmFzaWxcclxuICAgKiBAcGFyYW0gcXVlcnkgbm9tZSBkZSBsb2NhbCBwYXJhIGEgYnVzY2FcclxuICAgKiBAcGFyYW0gcGFyYW1zIHBhcsOibWV0cm9zIG9wY2lvbmFpcyBkZSBidXNjYSBlIGZpbHRyb1xyXG4gICAqL1xyXG4gIGZvcndhcmRHZW9jb2RpbmcocXVlcnk6IHN0cmluZywgcGFyYW1zOiBNYXBCb3hHZW9jb2RpbmdQYXJhbXMgPSB7fSwgbG9nQ29udGV4dD86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmxvZ01hcGJveCgnZm9yd2FyZEdlb2NvZGluZycsIGxvZ0NvbnRleHQpO1xyXG4gICAgaWYgKHF1ZXJ5Lmxlbmd0aCA+PSAyNTYpIHtcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ1F1ZXJ5IGxlbmd0aCBleGNlZWRzIDI1NSBjaGFyYWN0ZXJzLicpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5tYXBib3hBcGlVcmx9LyR7dGhpcy5nZW9jb2RpbmdFcH0vZm9yd2FyZD9xPSR7cXVlcnl9YDtcclxuICAgIHBhcmFtc1snYWNjZXNzX3Rva2VuJ10gPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpID8gdGhpcy5tYXBib3hBY2Nlc3NUb2tlbiA6IHRoaXMubWFwYm94U1NSQWNjZXNzVG9rZW47XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgcGFyYW1zLCBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1c2NhIGxvY2FsIHBvciBsb25naXR1ZGUgZSBsYXRpdHVkZVxyXG4gICAqIEBwYXJhbSBsbmcgZm9ybWF0byBsb25naXR1ZGVcclxuICAgKiBAcGFyYW0gbGF0IGZvcm1hdG8gbGF0aXR1ZGVcclxuICAgKiBAcGFyYW0gcGFyYW1zIHBhcsOibWV0cm9zIG9wY2lvbmFpcyBkZSBidXNjYSBlIGZpbHRyb1xyXG4gICAqL1xyXG4gIHJldmVyc2VHZW9jb2RpbmcobG5nOiBzdHJpbmcsIGxhdDogc3RyaW5nLCBwYXJhbXM6IE1hcEJveFJldmVyc2VHZW9jb2RpbmdQYXJhbXMgPSB7fSwgbG9nQ29udGV4dD86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmxvZ01hcGJveCgncmV2ZXJzZUdlb2NvZGluZycsIGxvZ0NvbnRleHQpO1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5tYXBib3hBcGlVcmx9LyR7dGhpcy5nZW9jb2RpbmdFcH0vcmV2ZXJzZT9sb25naXR1ZGU9JHtsbmd9JmxhdGl0dWRlPSR7bGF0fWA7XHJcbiAgICBwYXJhbXNbJ2FjY2Vzc190b2tlbiddID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSA/IHRoaXMubWFwYm94QWNjZXNzVG9rZW4gOiB0aGlzLm1hcGJveFNTUkFjY2Vzc1Rva2VuO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9nTWFwYm94KGNhbGxlckZ1bmN0aW9uOiBzdHJpbmcsIGNvbnRleHQgPSAnbm8tY29udGV4dCcpIHtcclxuICAgIGNvbnN0IHBsYXRmb3JtID0gaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpID8gJ3NlcnZlcicgOiAnYnJvd3Nlcic7XHJcbiAgICB0aGlzLmxvZ1NlcnZpY2UubG9nTXNnKGAke3BsYXRmb3JtfSAtICR7Y2FsbGVyRnVuY3Rpb259IC0gJHtjb250ZXh0fWAsICdNQVBCT1gnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SGVhZGVycygpOiBIdHRwSGVhZGVycyB7XHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdSZWZlcnJlci1Qb2xpY3knLCAnb3JpZ2luJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
53
53
  providedIn: 'root',
54
54
  }]
55
55
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFHeEQsTUFBTSxPQUFnQixzQkFBc0I7Q0FZM0M7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQUlFLGNBQVMsR0FBa0MsSUFBSSxDQUFDO0tBNENqRDtJQXpDQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQStCO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBd0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBeUIsRUFBRSxVQUErQixFQUFFO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0lBQy9DLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBeUI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFnQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBdUI7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0E1Q1UsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmRzaXRlTW9kYWxDb21wb25lbnRTdHlsZSB9IGZyb20gJy4uLy4uL2VudW1zL1Jkc2l0ZU1vZGFsQ29tcG9uZW50U3R5bGUuZW51bSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1vZGFsQ29tcG9uZW50IHtcbiAgYWJzdHJhY3QgaWQ6IHN0cmluZztcbiAgYWJzdHJhY3QgbW9kYWxUaXRsZTogc3RyaW5nIHwgbnVsbDtcbiAgYWJzdHJhY3QgbW9kYWxIZWFkZXI6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBhYnN0cmFjdCBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBhYnN0cmFjdCBtb2RhbENvbnRlbnRDb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbDtcbiAgYWJzdHJhY3QgbW9kYWxBY3Rpb25zOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcbiAgYWJzdHJhY3QgY29tcG9uZW50U3R5bGU6IGFueTtcbiAgYWJzdHJhY3QgbW9kYWw6IEhUTUxEaWFsb2dFbGVtZW50O1xuICBhYnN0cmFjdCBvcGVuKCk6IHZvaWQ7XG4gIGFic3RyYWN0IGNsb3NlKCk6IHZvaWQ7XG4gIGFic3RyYWN0IHJlc2V0KCk6IHZvaWQ7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbFNlcnZpY2Uge1xuICByZWZlcmVuY2U6IEFic3RyYWN0TW9kYWxDb21wb25lbnQgfCBudWxsID0gbnVsbDtcbiAgZGVmYXVsdFBob25lTW9kYWwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5yZWZlcmVuY2U/Lm9wZW4oKTtcbiAgfVxuXG4gIHNldFJlZmVyZW5jZShlbGVtZW50OiBBYnN0cmFjdE1vZGFsQ29tcG9uZW50KSB7XG4gICAgdGhpcy5yZWZlcmVuY2UgPSBlbGVtZW50O1xuICB9XG5cbiAgc2V0SGVhZGVyKGhlYWRlcjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcbiAgICB0aGlzLnJlZmVyZW5jZS5tb2RhbEhlYWRlciA9IGhlYWRlcjtcbiAgfVxuXG4gIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XG4gICAgdGhpcy5yZWZlcmVuY2UubW9kYWxUaXRsZSA9IHRpdGxlO1xuICB9XG5cbiAgc2V0Q29udGVudChjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+LCBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30pIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XG4gICAgdGhpcy5yZWZlcmVuY2UubW9kYWxDb250ZW50ID0gY29udGVudDtcbiAgICB0aGlzLnJlZmVyZW5jZS5tb2RhbENvbnRlbnRDb250ZXh0ID0gY29udGV4dDtcbiAgfVxuXG4gIHNldEFjdGlvbnMoYWN0aW9uczogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcbiAgICB0aGlzLnJlZmVyZW5jZS5tb2RhbEFjdGlvbnMgPSBhY3Rpb25zO1xuICB9XG5cbiAgc2V0U3R5bGUoc3R5bGU6IFJkc2l0ZU1vZGFsQ29tcG9uZW50U3R5bGUpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XG4gICAgdGhpcy5yZWZlcmVuY2UuY29tcG9uZW50U3R5bGUgPSBzdHlsZTtcbiAgfVxuXG4gIHNldERlZmF1bHRQaG9uZU1vZGFsKG1vZGFsOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5kZWZhdWx0UGhvbmVNb2RhbCA9IG1vZGFsO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5yZWZlcmVuY2U/LmNsb3NlKCk7XG4gIH1cbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFHeEQsTUFBTSxPQUFnQixzQkFBc0I7Q0FZM0M7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQUlFLGNBQVMsR0FBa0MsSUFBSSxDQUFDO0tBNENqRDtJQXpDQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQStCO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBd0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBeUIsRUFBRSxVQUErQixFQUFFO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0lBQy9DLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBeUI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFnQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBdUI7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0E1Q1UsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZHNpdGVNb2RhbENvbXBvbmVudFN0eWxlIH0gZnJvbSAnLi4vLi4vZW51bXMvUmRzaXRlTW9kYWxDb21wb25lbnRTdHlsZS5lbnVtJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1vZGFsQ29tcG9uZW50IHtcclxuICBhYnN0cmFjdCBpZDogc3RyaW5nO1xyXG4gIGFic3RyYWN0IG1vZGFsVGl0bGU6IHN0cmluZyB8IG51bGw7XHJcbiAgYWJzdHJhY3QgbW9kYWxIZWFkZXI6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xyXG4gIGFic3RyYWN0IG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XHJcbiAgYWJzdHJhY3QgbW9kYWxDb250ZW50Q29udGV4dDogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGw7XHJcbiAgYWJzdHJhY3QgbW9kYWxBY3Rpb25zOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcclxuICBhYnN0cmFjdCBjb21wb25lbnRTdHlsZTogYW55O1xyXG4gIGFic3RyYWN0IG1vZGFsOiBIVE1MRGlhbG9nRWxlbWVudDtcclxuICBhYnN0cmFjdCBvcGVuKCk6IHZvaWQ7XHJcbiAgYWJzdHJhY3QgY2xvc2UoKTogdm9pZDtcclxuICBhYnN0cmFjdCByZXNldCgpOiB2b2lkO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxTZXJ2aWNlIHtcclxuICByZWZlcmVuY2U6IEFic3RyYWN0TW9kYWxDb21wb25lbnQgfCBudWxsID0gbnVsbDtcclxuICBkZWZhdWx0UGhvbmVNb2RhbCE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIG9wZW4oKSB7XHJcbiAgICB0aGlzLnJlZmVyZW5jZT8ub3BlbigpO1xyXG4gIH1cclxuXHJcbiAgc2V0UmVmZXJlbmNlKGVsZW1lbnQ6IEFic3RyYWN0TW9kYWxDb21wb25lbnQpIHtcclxuICAgIHRoaXMucmVmZXJlbmNlID0gZWxlbWVudDtcclxuICB9XHJcblxyXG4gIHNldEhlYWRlcihoZWFkZXI6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcclxuICAgIHRoaXMucmVmZXJlbmNlLm1vZGFsSGVhZGVyID0gaGVhZGVyO1xyXG4gIH1cclxuXHJcbiAgc2V0VGl0bGUodGl0bGU6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5yZWZlcmVuY2UubW9kYWxUaXRsZSA9IHRpdGxlO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29udGVudChjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+LCBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30pIHtcclxuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcclxuICAgIHRoaXMucmVmZXJlbmNlLm1vZGFsQ29udGVudCA9IGNvbnRlbnQ7XHJcbiAgICB0aGlzLnJlZmVyZW5jZS5tb2RhbENvbnRlbnRDb250ZXh0ID0gY29udGV4dDtcclxuICB9XHJcblxyXG4gIHNldEFjdGlvbnMoYWN0aW9uczogVGVtcGxhdGVSZWY8YW55Pikge1xyXG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5yZWZlcmVuY2UubW9kYWxBY3Rpb25zID0gYWN0aW9ucztcclxuICB9XHJcblxyXG4gIHNldFN0eWxlKHN0eWxlOiBSZHNpdGVNb2RhbENvbXBvbmVudFN0eWxlKSB7XHJcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XHJcbiAgICB0aGlzLnJlZmVyZW5jZS5jb21wb25lbnRTdHlsZSA9IHN0eWxlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGVmYXVsdFBob25lTW9kYWwobW9kYWw6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIHRoaXMuZGVmYXVsdFBob25lTW9kYWwgPSBtb2RhbDtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5yZWZlcmVuY2U/LmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
39
39
  providedIn: 'root',
40
40
  }]
41
41
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1kcmF3ZXIvbW9kYWwtZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFHcEUsTUFBTSxPQUFnQiw0QkFBNEI7Q0FzQmpEO0FBS0QsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlFLGNBQVMsR0FBd0MsSUFBSSxDQUFDO0tBNEJ2RDtJQTFCQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQXFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBc0M7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFzQztRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUM7K0dBNUJVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmRzaXRlTW9kYWxEcmF3ZXJDb21wb25lbnRTdHlsZSB9IGZyb20gJy4uLy4uL2VudW1zJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TW9kYWxEcmF3ZXJDb21wb25lbnQge1xuICBhYnN0cmFjdCBzaGVldDogSFRNTEVsZW1lbnQgfCBudWxsO1xuICBhYnN0cmFjdCBzaGVldENvbnRlbnRzOiBIVE1MRWxlbWVudCB8IG51bGw7XG4gIGFic3RyYWN0IGRyYWdnYWJsZUFyZWE6IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgYWJzdHJhY3Qgc2hlZXRIZWlnaHQ6IG51bWJlciB8IG51bGw7XG4gIGFic3RyYWN0IGRyYWdQb3NpdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgYWJzdHJhY3QgbWF4SGVpZ2h0OiBudW1iZXIgfCBudWxsO1xuICBhYnN0cmFjdCBjbG9zZUhlaWdodDogbnVtYmVyIHwgbnVsbDtcbiAgYWJzdHJhY3QgcmRzaXRlTW9kYWxDb21wb25lbnRTdHlsZTogYW55O1xuICBhYnN0cmFjdCBpZDogc3RyaW5nO1xuICBhYnN0cmFjdCBtb2RhbENvbnRlbnQ6IEVsZW1lbnRSZWYgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcbiAgYWJzdHJhY3QgY29tcG9uZW50U3R5bGU6IGFueTtcbiAgYWJzdHJhY3QgbW9kYWw6IEhUTUxEaWFsb2dFbGVtZW50O1xuICBhYnN0cmFjdCBzZXRTaGVldEhlaWdodCh2YWx1ZTogbnVtYmVyKTogdm9pZDtcbiAgYWJzdHJhY3Qgc2V0SXNTaGVldFNob3duKGlzU2hvd246IGJvb2xlYW4pOiB2b2lkO1xuICBhYnN0cmFjdCBvcGVuU2hlZXQoKTogdm9pZDtcbiAgYWJzdHJhY3QgY2xvc2VTaGVldCgpOiB2b2lkO1xuICBhYnN0cmFjdCB0b3VjaFBvc2l0aW9uKGV2ZW50OiBhbnkpOiB2b2lkO1xuICBhYnN0cmFjdCBvbkRyYWdTdGFydChldmVudDogYW55KTogdm9pZDtcbiAgYWJzdHJhY3Qgb25EcmFnTW92ZShldmVudDogYW55KTogdm9pZDtcbiAgYWJzdHJhY3Qgb25EcmFnRW5kKCk6IHZvaWQ7XG4gIGFic3RyYWN0IHJlc2V0KCk6IHZvaWQ7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbERyYXdlclNlcnZpY2Uge1xuICByZWZlcmVuY2U6IEFic3RyYWN0TW9kYWxEcmF3ZXJDb21wb25lbnQgfCBudWxsID0gbnVsbDtcblxuICBvcGVuKCkge1xuICAgIHRoaXMucmVmZXJlbmNlPy5vcGVuU2hlZXQoKTtcbiAgfVxuXG4gIHNldFJlZmVyZW5jZShlbGVtZW50OiBBYnN0cmFjdE1vZGFsRHJhd2VyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5yZWZlcmVuY2UgPSBlbGVtZW50O1xuICB9XG5cbiAgc2V0Q29udGVudChjb250ZW50OiBFbGVtZW50UmVmIHwgVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcbiAgICB0aGlzLnJlZmVyZW5jZS5tb2RhbENvbnRlbnQgPSBjb250ZW50O1xuICB9XG5cbiAgc2V0U3R5bGUoc3R5bGU6IFJkc2l0ZU1vZGFsRHJhd2VyQ29tcG9uZW50U3R5bGUpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XG4gICAgdGhpcy5yZWZlcmVuY2UuY29tcG9uZW50U3R5bGUgPSBzdHlsZTtcbiAgfVxuXG4gIHNldEhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZSkgcmV0dXJuO1xuICAgIHRoaXMucmVmZXJlbmNlLm1heEhlaWdodCA9IHZhbHVlO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5yZWZlcmVuY2U/LmNsb3NlU2hlZXQoKTtcbiAgfVxufVxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1kcmF3ZXIvbW9kYWwtZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFHcEUsTUFBTSxPQUFnQiw0QkFBNEI7Q0FzQmpEO0FBS0QsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlFLGNBQVMsR0FBd0MsSUFBSSxDQUFDO0tBNEJ2RDtJQTFCQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQXFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBc0M7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFzQztRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUM7K0dBNUJVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZHNpdGVNb2RhbERyYXdlckNvbXBvbmVudFN0eWxlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TW9kYWxEcmF3ZXJDb21wb25lbnQge1xyXG4gIGFic3RyYWN0IHNoZWV0OiBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgYWJzdHJhY3Qgc2hlZXRDb250ZW50czogSFRNTEVsZW1lbnQgfCBudWxsO1xyXG4gIGFic3RyYWN0IGRyYWdnYWJsZUFyZWE6IEhUTUxFbGVtZW50IHwgbnVsbDtcclxuICBhYnN0cmFjdCBzaGVldEhlaWdodDogbnVtYmVyIHwgbnVsbDtcclxuICBhYnN0cmFjdCBkcmFnUG9zaXRpb246IG51bWJlciB8IG51bGw7XHJcbiAgYWJzdHJhY3QgbWF4SGVpZ2h0OiBudW1iZXIgfCBudWxsO1xyXG4gIGFic3RyYWN0IGNsb3NlSGVpZ2h0OiBudW1iZXIgfCBudWxsO1xyXG4gIGFic3RyYWN0IHJkc2l0ZU1vZGFsQ29tcG9uZW50U3R5bGU6IGFueTtcclxuICBhYnN0cmFjdCBpZDogc3RyaW5nO1xyXG4gIGFic3RyYWN0IG1vZGFsQ29udGVudDogRWxlbWVudFJlZiB8IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xyXG4gIGFic3RyYWN0IGNvbXBvbmVudFN0eWxlOiBhbnk7XHJcbiAgYWJzdHJhY3QgbW9kYWw6IEhUTUxEaWFsb2dFbGVtZW50O1xyXG4gIGFic3RyYWN0IHNldFNoZWV0SGVpZ2h0KHZhbHVlOiBudW1iZXIpOiB2b2lkO1xyXG4gIGFic3RyYWN0IHNldElzU2hlZXRTaG93bihpc1Nob3duOiBib29sZWFuKTogdm9pZDtcclxuICBhYnN0cmFjdCBvcGVuU2hlZXQoKTogdm9pZDtcclxuICBhYnN0cmFjdCBjbG9zZVNoZWV0KCk6IHZvaWQ7XHJcbiAgYWJzdHJhY3QgdG91Y2hQb3NpdGlvbihldmVudDogYW55KTogdm9pZDtcclxuICBhYnN0cmFjdCBvbkRyYWdTdGFydChldmVudDogYW55KTogdm9pZDtcclxuICBhYnN0cmFjdCBvbkRyYWdNb3ZlKGV2ZW50OiBhbnkpOiB2b2lkO1xyXG4gIGFic3RyYWN0IG9uRHJhZ0VuZCgpOiB2b2lkO1xyXG4gIGFic3RyYWN0IHJlc2V0KCk6IHZvaWQ7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RhbERyYXdlclNlcnZpY2Uge1xyXG4gIHJlZmVyZW5jZTogQWJzdHJhY3RNb2RhbERyYXdlckNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBvcGVuKCkge1xyXG4gICAgdGhpcy5yZWZlcmVuY2U/Lm9wZW5TaGVldCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UmVmZXJlbmNlKGVsZW1lbnQ6IEFic3RyYWN0TW9kYWxEcmF3ZXJDb21wb25lbnQpIHtcclxuICAgIHRoaXMucmVmZXJlbmNlID0gZWxlbWVudDtcclxuICB9XHJcblxyXG4gIHNldENvbnRlbnQoY29udGVudDogRWxlbWVudFJlZiB8IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcclxuICAgIHRoaXMucmVmZXJlbmNlLm1vZGFsQ29udGVudCA9IGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBzZXRTdHlsZShzdHlsZTogUmRzaXRlTW9kYWxEcmF3ZXJDb21wb25lbnRTdHlsZSkge1xyXG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5yZWZlcmVuY2UuY29tcG9uZW50U3R5bGUgPSBzdHlsZTtcclxuICB9XHJcblxyXG4gIHNldEhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XHJcbiAgICB0aGlzLnJlZmVyZW5jZS5tYXhIZWlnaHQgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5yZWZlcmVuY2U/LmNsb3NlU2hlZXQoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
78
78
  providedIn: 'root',
79
79
  }]
80
80
  }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd1LWNhcm91c2VsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9uZ3UtY2Fyb3VzZWwvbmd1LWNhcm91c2VsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlVLDJCQUFzQixHQUFzQjtZQUNsRCxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtZQUM3RCxlQUFlLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFO1lBQ3pELEtBQUssRUFBRSxDQUFDO1lBQ1IsS0FBSyxFQUFFLEdBQUc7WUFDVixRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLElBQUk7Z0JBQ1osWUFBWSxFQUFFLElBQUk7YUFDbkI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELFFBQVEsRUFBRSxHQUFHO1lBQ2IsSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLGFBQWE7U0FDdEIsQ0FBQztLQXVESDtJQXREQyxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFrQztRQUNyRCxPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUMscUJBQXFCO1lBQzdCLEdBQUcsTUFBTTtTQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQStCLEVBQUUsS0FBYTtRQUNuRCxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBK0IsRUFBRSxJQUFJLEdBQUcsSUFBSTtRQUNyRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUErQixFQUFFLElBQUksR0FBRyxJQUFJO1FBQ3RELElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9FLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUF5QixFQUFFLEtBQWEsRUFBRSxjQUFzQixDQUFDO1FBQ2hGLE1BQU0sRUFDSixJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQzVCLGVBQWUsR0FDaEIsR0FBRyxNQUFNLENBQUM7UUFDWCxJQUFJLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFdBQVcsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBeEVVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3VDYXJvdXNlbCwgTmd1Q2Fyb3VzZWxDb25maWcgfSBmcm9tICdAbmd1L2Nhcm91c2VsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5ndUNhcm91c2VsU2VydmljZSB7XG4gIHByaXZhdGUgX2RlZmF1bHRDYXJvdXNlbENvbmZpZzogTmd1Q2Fyb3VzZWxDb25maWcgPSB7XG4gICAgZ3JpZDogeyB4czogMS4yLCBzbTogMS4yLCBtZDogMy4yLCBsZzogNC4yLCB4bDogNS4yLCBhbGw6IDAgfSxcbiAgICBncmlkQnJlYWtwb2ludHM6IHsgc206IDM2MCwgbWQ6IDc2OCwgbGc6IDEzNjYsIHhsOiAxOTIwIH0sXG4gICAgc2xpZGU6IDEsXG4gICAgc3BlZWQ6IDUwMCxcbiAgICBpbnRlcnZhbDoge1xuICAgICAgdGltaW5nOiA3MDAwLFxuICAgICAgaW5pdGlhbERlbGF5OiAxMDAwLFxuICAgIH0sXG4gICAgcG9pbnQ6IHtcbiAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgIH0sXG4gICAgdmVsb2NpdHk6IDAuNSxcbiAgICBsb2FkOiAxLFxuICAgIGxvb3A6IHRydWUsXG4gICAgdG91Y2g6IHRydWUsXG4gICAgZWFzaW5nOiAnZWFzZS1pbi1vdXQnLFxuICB9O1xuICBnZXQgZGVmYXVsdENhcm91c2VsQ29uZmlnKCkge1xuICAgIHJldHVybiB7IC4uLkpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZGVmYXVsdENhcm91c2VsQ29uZmlnKSkgfTtcbiAgfVxuXG4gIGN1c3RvbUNhcm91c2VsQ29uZmlnKGNvbmZpZzogUGFydGlhbDxOZ3VDYXJvdXNlbENvbmZpZz4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5kZWZhdWx0Q2Fyb3VzZWxDb25maWcsXG4gICAgICAuLi5jb25maWcsXG4gICAgfTtcbiAgfVxuXG4gIG1vdmVUbyhjYXJvdXNlbDogTmd1Q2Fyb3VzZWw8YW55LCBhbnk+LCBpbmRleDogbnVtYmVyKSB7XG4gICAgY2Fyb3VzZWwubW92ZVRvKGluZGV4KTtcbiAgfVxuXG4gIHNjcm9sbExlZnQoY2Fyb3VzZWw6IE5ndUNhcm91c2VsPGFueSwgYW55PiwgbG9vcCA9IHRydWUpIHtcbiAgICBpZiAoY2Fyb3VzZWwuaXNGaXJzdCB8fCBjYXJvdXNlbC5hY3RpdmVQb2ludCA8IDEpIHtcbiAgICAgIGlmIChsb29wKSB7XG4gICAgICAgIGNhcm91c2VsLm1vdmVUbyhjYXJvdXNlbC5wb2ludE51bWJlcnNbY2Fyb3VzZWwucG9pbnROdW1iZXJzLmxlbmd0aCAtIDFdKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY2Fyb3VzZWwubW92ZVRvKGNhcm91c2VsLmFjdGl2ZVBvaW50IC0gMSk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsUmlnaHQoY2Fyb3VzZWw6IE5ndUNhcm91c2VsPGFueSwgYW55PiwgbG9vcCA9IHRydWUpIHtcbiAgICBpZiAoY2Fyb3VzZWwuaXNMYXN0IHx8IGNhcm91c2VsLmFjdGl2ZVBvaW50ID4gY2Fyb3VzZWwucG9pbnROdW1iZXJzLmxlbmd0aCAtIDEpIHtcbiAgICAgIGlmIChsb29wKSB7XG4gICAgICAgIGNhcm91c2VsLm1vdmVUbygwKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY2Fyb3VzZWwubW92ZVRvKGNhcm91c2VsLmFjdGl2ZVBvaW50ICsgMSk7XG4gICAgfVxuICB9XG5cbiAgbmVlZFNob3dDb250cm9scyhjb25maWc6IE5ndUNhcm91c2VsQ29uZmlnLCB3aWR0aDogbnVtYmVyLCBpdGVtc0xlbmd0aDogbnVtYmVyID0gMCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGdyaWQ6IHsgeHMsIHNtLCBtZCwgbGcsIHhsIH0sXG4gICAgICBncmlkQnJlYWtwb2ludHMsXG4gICAgfSA9IGNvbmZpZztcbiAgICBpZiAod2lkdGggPiAoZ3JpZEJyZWFrcG9pbnRzPy54bCA/PyAwKSkge1xuICAgICAgcmV0dXJuIGl0ZW1zTGVuZ3RoID4gKHhsID8/IDApO1xuICAgIH1cbiAgICBpZiAod2lkdGggPiAoZ3JpZEJyZWFrcG9pbnRzPy5sZyA/PyAwKSkge1xuICAgICAgcmV0dXJuIGl0ZW1zTGVuZ3RoID4gbGc7XG4gICAgfVxuICAgIGlmICh3aWR0aCA+IChncmlkQnJlYWtwb2ludHM/Lm1kID8/IDApKSB7XG4gICAgICByZXR1cm4gaXRlbXNMZW5ndGggPiBtZDtcbiAgICB9XG4gICAgaWYgKHdpZHRoID4gKGdyaWRCcmVha3BvaW50cz8uc20gPz8gMCkpIHtcbiAgICAgIHJldHVybiBpdGVtc0xlbmd0aCA+IHNtO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbXNMZW5ndGggPiB4cztcbiAgfVxufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd1LWNhcm91c2VsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9uZ3UtY2Fyb3VzZWwvbmd1LWNhcm91c2VsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlVLDJCQUFzQixHQUFzQjtZQUNsRCxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtZQUM3RCxlQUFlLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFO1lBQ3pELEtBQUssRUFBRSxDQUFDO1lBQ1IsS0FBSyxFQUFFLEdBQUc7WUFDVixRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLElBQUk7Z0JBQ1osWUFBWSxFQUFFLElBQUk7YUFDbkI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELFFBQVEsRUFBRSxHQUFHO1lBQ2IsSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLGFBQWE7U0FDdEIsQ0FBQztLQXVESDtJQXREQyxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFrQztRQUNyRCxPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUMscUJBQXFCO1lBQzdCLEdBQUcsTUFBTTtTQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQStCLEVBQUUsS0FBYTtRQUNuRCxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBK0IsRUFBRSxJQUFJLEdBQUcsSUFBSTtRQUNyRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUErQixFQUFFLElBQUksR0FBRyxJQUFJO1FBQ3RELElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9FLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUF5QixFQUFFLEtBQWEsRUFBRSxjQUFzQixDQUFDO1FBQ2hGLE1BQU0sRUFDSixJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQzVCLGVBQWUsR0FDaEIsR0FBRyxNQUFNLENBQUM7UUFDWCxJQUFJLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFdBQVcsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBeEVVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5ndUNhcm91c2VsLCBOZ3VDYXJvdXNlbENvbmZpZyB9IGZyb20gJ0BuZ3UvY2Fyb3VzZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5ndUNhcm91c2VsU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBfZGVmYXVsdENhcm91c2VsQ29uZmlnOiBOZ3VDYXJvdXNlbENvbmZpZyA9IHtcclxuICAgIGdyaWQ6IHsgeHM6IDEuMiwgc206IDEuMiwgbWQ6IDMuMiwgbGc6IDQuMiwgeGw6IDUuMiwgYWxsOiAwIH0sXHJcbiAgICBncmlkQnJlYWtwb2ludHM6IHsgc206IDM2MCwgbWQ6IDc2OCwgbGc6IDEzNjYsIHhsOiAxOTIwIH0sXHJcbiAgICBzbGlkZTogMSxcclxuICAgIHNwZWVkOiA1MDAsXHJcbiAgICBpbnRlcnZhbDoge1xyXG4gICAgICB0aW1pbmc6IDcwMDAsXHJcbiAgICAgIGluaXRpYWxEZWxheTogMTAwMCxcclxuICAgIH0sXHJcbiAgICBwb2ludDoge1xyXG4gICAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB2ZWxvY2l0eTogMC41LFxyXG4gICAgbG9hZDogMSxcclxuICAgIGxvb3A6IHRydWUsXHJcbiAgICB0b3VjaDogdHJ1ZSxcclxuICAgIGVhc2luZzogJ2Vhc2UtaW4tb3V0JyxcclxuICB9O1xyXG4gIGdldCBkZWZhdWx0Q2Fyb3VzZWxDb25maWcoKSB7XHJcbiAgICByZXR1cm4geyAuLi5KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuX2RlZmF1bHRDYXJvdXNlbENvbmZpZykpIH07XHJcbiAgfVxyXG5cclxuICBjdXN0b21DYXJvdXNlbENvbmZpZyhjb25maWc6IFBhcnRpYWw8Tmd1Q2Fyb3VzZWxDb25maWc+KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi50aGlzLmRlZmF1bHRDYXJvdXNlbENvbmZpZyxcclxuICAgICAgLi4uY29uZmlnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG1vdmVUbyhjYXJvdXNlbDogTmd1Q2Fyb3VzZWw8YW55LCBhbnk+LCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBjYXJvdXNlbC5tb3ZlVG8oaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsTGVmdChjYXJvdXNlbDogTmd1Q2Fyb3VzZWw8YW55LCBhbnk+LCBsb29wID0gdHJ1ZSkge1xyXG4gICAgaWYgKGNhcm91c2VsLmlzRmlyc3QgfHwgY2Fyb3VzZWwuYWN0aXZlUG9pbnQgPCAxKSB7XHJcbiAgICAgIGlmIChsb29wKSB7XHJcbiAgICAgICAgY2Fyb3VzZWwubW92ZVRvKGNhcm91c2VsLnBvaW50TnVtYmVyc1tjYXJvdXNlbC5wb2ludE51bWJlcnMubGVuZ3RoIC0gMV0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjYXJvdXNlbC5tb3ZlVG8oY2Fyb3VzZWwuYWN0aXZlUG9pbnQgLSAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNjcm9sbFJpZ2h0KGNhcm91c2VsOiBOZ3VDYXJvdXNlbDxhbnksIGFueT4sIGxvb3AgPSB0cnVlKSB7XHJcbiAgICBpZiAoY2Fyb3VzZWwuaXNMYXN0IHx8IGNhcm91c2VsLmFjdGl2ZVBvaW50ID4gY2Fyb3VzZWwucG9pbnROdW1iZXJzLmxlbmd0aCAtIDEpIHtcclxuICAgICAgaWYgKGxvb3ApIHtcclxuICAgICAgICBjYXJvdXNlbC5tb3ZlVG8oMCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNhcm91c2VsLm1vdmVUbyhjYXJvdXNlbC5hY3RpdmVQb2ludCArIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmVlZFNob3dDb250cm9scyhjb25maWc6IE5ndUNhcm91c2VsQ29uZmlnLCB3aWR0aDogbnVtYmVyLCBpdGVtc0xlbmd0aDogbnVtYmVyID0gMCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBncmlkOiB7IHhzLCBzbSwgbWQsIGxnLCB4bCB9LFxyXG4gICAgICBncmlkQnJlYWtwb2ludHMsXHJcbiAgICB9ID0gY29uZmlnO1xyXG4gICAgaWYgKHdpZHRoID4gKGdyaWRCcmVha3BvaW50cz8ueGwgPz8gMCkpIHtcclxuICAgICAgcmV0dXJuIGl0ZW1zTGVuZ3RoID4gKHhsID8/IDApO1xyXG4gICAgfVxyXG4gICAgaWYgKHdpZHRoID4gKGdyaWRCcmVha3BvaW50cz8ubGcgPz8gMCkpIHtcclxuICAgICAgcmV0dXJuIGl0ZW1zTGVuZ3RoID4gbGc7XHJcbiAgICB9XHJcbiAgICBpZiAod2lkdGggPiAoZ3JpZEJyZWFrcG9pbnRzPy5tZCA/PyAwKSkge1xyXG4gICAgICByZXR1cm4gaXRlbXNMZW5ndGggPiBtZDtcclxuICAgIH1cclxuICAgIGlmICh3aWR0aCA+IChncmlkQnJlYWtwb2ludHM/LnNtID8/IDApKSB7XHJcbiAgICAgIHJldHVybiBpdGVtc0xlbmd0aCA+IHNtO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW1zTGVuZ3RoID4geHM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
25
25
  type: Inject,
26
26
  args: [DOCUMENT]
27
27
  }] }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL3Bob25lL3Bob25lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtuRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFzQyxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSmhELGFBQVEsR0FBRyxNQUFNLENBQUM7UUFFbkIsd0JBQW1CLEdBQVksSUFBSSxDQUFDLENBQUMsZ0VBQWdFO0lBRWpELENBQUM7SUFFNUQsK0VBQStFO0lBQ3hFLFlBQVksQ0FBQyxJQUFZO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7SUFDOUQsQ0FBQzsrR0FaVSxZQUFZLGtCQUtILFFBQVE7bUhBTGpCLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTWMsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9uZVNlcnZpY2Uge1xuICBwcml2YXRlIHRlbFJlZ2V4ID0gL3RlbDovO1xuXG4gIHB1YmxpYyBwaG9uZU1vZGFsSXNBbGxvd2VkOiBib29sZWFuID0gdHJ1ZTsgLy8gdmFyaWF2ZWwgdXRpbGl6YWRhIHBhcmEgcGVybWl0aXIvYmxvcXVlYXIgbyBtb2RhbCBkZSB0ZWxlZm9uZVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50KSB7fVxuXG4gIC8qKiBWZXJpZmljYSBzZSBvICdocmVmJyDDqSBkZSB0ZWxlZm9uZSBlIHNlIGEgamFuZWxhIGVzdMOhIGVtIHRhbWFuaG8gZGVza3RvcCAqL1xuICBwdWJsaWMgaXNQaG9uZU1vZGFsKGhyZWY6IHN0cmluZykge1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8uaW5uZXJXaWR0aCA/PyAwO1xuICAgIGNvbnN0IFNNQUxMX0JSRUFLUE9JTlQgPSA3MTg7XG4gICAgcmV0dXJuIHRoaXMudGVsUmVnZXgudGVzdChocmVmKSAmJiB3aWR0aCA+IFNNQUxMX0JSRUFLUE9JTlQ7XG4gIH1cbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL3Bob25lL3Bob25lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtuRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFzQyxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSmhELGFBQVEsR0FBRyxNQUFNLENBQUM7UUFFbkIsd0JBQW1CLEdBQVksSUFBSSxDQUFDLENBQUMsZ0VBQWdFO0lBRWpELENBQUM7SUFFNUQsK0VBQStFO0lBQ3hFLFlBQVksQ0FBQyxJQUFZO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7SUFDOUQsQ0FBQzsrR0FaVSxZQUFZLGtCQUtILFFBQVE7bUhBTGpCLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTWMsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgdGVsUmVnZXggPSAvdGVsOi87XHJcblxyXG4gIHB1YmxpYyBwaG9uZU1vZGFsSXNBbGxvd2VkOiBib29sZWFuID0gdHJ1ZTsgLy8gdmFyaWF2ZWwgdXRpbGl6YWRhIHBhcmEgcGVybWl0aXIvYmxvcXVlYXIgbyBtb2RhbCBkZSB0ZWxlZm9uZVxyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCkge31cclxuXHJcbiAgLyoqIFZlcmlmaWNhIHNlIG8gJ2hyZWYnIMOpIGRlIHRlbGVmb25lIGUgc2UgYSBqYW5lbGEgZXN0w6EgZW0gdGFtYW5obyBkZXNrdG9wICovXHJcbiAgcHVibGljIGlzUGhvbmVNb2RhbChocmVmOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8uaW5uZXJXaWR0aCA/PyAwO1xyXG4gICAgY29uc3QgU01BTExfQlJFQUtQT0lOVCA9IDcxODtcclxuICAgIHJldHVybiB0aGlzLnRlbFJlZ2V4LnRlc3QoaHJlZikgJiYgd2lkdGggPiBTTUFMTF9CUkVBS1BPSU5UO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
89
89
  type: Inject,
90
90
  args: [PLATFORM_ID]
91
91
  }] }] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmFjeS10b29scy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvc2VydmljZXMvcHJpdmFjeS10b29scy9wcml2YWN5LXRvb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUMyQixRQUFrQixFQUNmLFVBQWtCO1FBRHJCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBUmhELHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQzVDLHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLDhCQUF5QixHQUE2QixJQUFJLENBQUM7UUFDM0Qsa0JBQWEsR0FBOEIsRUFBRSxDQUFDO1FBQzlDLGtCQUFhLEdBQVEsSUFBSSxDQUFDO0lBS3ZCLENBQUM7SUFFSixZQUFZO0lBQ0wsTUFBTSxDQUFDLE9BQWtDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCx5QkFBeUI7SUFDbEIsaUJBQWlCLENBQUMsZUFBdUI7UUFDOUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFFOUcsSUFB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RUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7K0dBekZVLG1CQUFtQixrQkFRcEIsUUFBUSxhQUNSLFdBQVc7bUhBVFYsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByaXZhY3lUb29sc0NvbmZpZ09wdGlvbnMsIFByaXZhY3lUb29sc0Nvb2tpZUJhbm5lciB9IGZyb20gJy4uLy4uL21vZGVscy9wcml2YWN5LXRvb2xzL3ByaXZhY3ktdG9vbHMubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUHJpdmFjeVRvb2xzU2VydmljZSB7XG4gIGNvb2tpZUJhbm5lclNjcmlwdElkID0gJ1ByaXZhY3lUb29sc1NjcmlwdCc7XG4gIGNvb2tpZUJhbm5lclN0eWxlSWQgPSAnUHJpdmFjeVRvb2xzU3R5bGUnO1xuICBjb29raWVCYW5uZXJTY3JpcHRFbGVtZW50OiBIVE1MU2NyaXB0RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBjb25maWdPcHRpb25zOiBQcml2YWN5VG9vbHNDb25maWdPcHRpb25zID0ge307XG4gIGNvb2tpZUNvbnNlbnQ6IGFueSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHVibGljIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwdWJsaWMgcGxhdGZvcm1JZDogb2JqZWN0LFxuICApIHt9XG5cbiAgLyogQ29uZmlnICovXG4gIHB1YmxpYyBjb25maWcob3B0aW9uczogUHJpdmFjeVRvb2xzQ29uZmlnT3B0aW9ucykge1xuICAgIHRoaXMuY29uZmlnT3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICAvKiBTZXR1cCBjb29raWUgQmFubmVyICovXG4gIHB1YmxpYyBzZXR1cENvb2tpZUJhbm5lcih1bmlkYWRlQmFzZVBhdGg6IHN0cmluZykge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBjb25zdCBiYW5uZXIgPSB0aGlzLmNvbmZpZ09wdGlvbnM/LmNvb2tpZUJhbm5lcnM/LmZpbmQoKGJhbm5lcikgPT4gYmFubmVyLmJhc2VQYXRoLmluY2x1ZGVzKHVuaWRhZGVCYXNlUGF0aCkpO1xuXG4gICAgICBpZiAoYmFubmVyKSB7XG4gICAgICAgIHRoaXMuYWRkQ29va2llQmFubmVyKGJhbm5lcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5Db29raWVCYW5uZXIoKSB7XG4gICAgaWYgKHRoaXMuY29va2llQ29uc2VudCAmJiB0aGlzLmNvb2tpZUJhbm5lclNjcmlwdEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuY29va2llQ29uc2VudC5wcml2YWN5VG9vbHNTaG93Q29va2llTm90aWNlKCk7XG4gICAgfVxuICB9XG5cbiAgLyogQWRkIGNvb2tpZSBiYW5uZXIgc3R5bGUgYW5kIHNjcmlwdCAqL1xuICBwcml2YXRlIGFkZENvb2tpZUJhbm5lcihiYW5uZXI6IFByaXZhY3lUb29sc0Nvb2tpZUJhbm5lcikge1xuICAgIHRoaXMuY29va2llQmFubmVyU2NyaXB0RWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5hZGRDb29raWVCYW5uZXJTdHlsZShiYW5uZXIuc3R5bGVTcmMpO1xuICAgIHRoaXMuYWRkQ29va2llQmFubmVyU2NyaXB0KGJhbm5lci5zY3JpcHRTcmMpO1xuICB9XG5cbiAgLyogQWRkIGNvb2tpZSBiYW5uZXIgc3R5bGUuICovXG4gIHB1YmxpYyBhZGRDb29raWVCYW5uZXJTdHlsZShzcmM6IHN0cmluZykge1xuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcblxuICAgIHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J5UmVtb3ZlUG9ydGFsJyk/LnJlbW92ZSgpO1xuXG4gICAgY29uc3Qgb2xkU3R5bGUgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29va2llQmFubmVyU3R5bGVJZCk7XG5cbiAgICBpZiAob2xkU3R5bGUpIHtcbiAgICAgIG9sZFN0eWxlLnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgc3R5bGUuaWQgPSB0aGlzLmNvb2tpZUJhbm5lclN0eWxlSWQ7XG4gICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnO1xuICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgIHN0eWxlLmhyZWYgPSBzcmM7XG4gICAgc3R5bGUubWVkaWEgPSAnbm9uZSc7XG5cbiAgICBzdHlsZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgICAgc3R5bGUubWVkaWEgPSAnYWxsJztcbiAgICB9KTtcblxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzdHlsZSk7XG4gIH1cblxuICAvKiBBZGQgY29va2llIGJhbm5lciBzY3JpcHQuICovXG4gIHB1YmxpYyBhZGRDb29raWVCYW5uZXJTY3JpcHQoc3JjOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpIHx8IHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG5cbiAgICAod2luZG93IGFzIGFueSlbJ2Nvb2tpZWNvbnNlbnQnXSA9IG51bGw7XG5cbiAgICBjb25zdCBvbGRTY3JpcHQgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29va2llQmFubmVyU2NyaXB0SWQpO1xuXG4gICAgaWYgKG9sZFNjcmlwdCkge1xuICAgICAgb2xkU2NyaXB0LnJlbW92ZSgpO1xuICAgIH1cbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHNjcmlwdC5pZCA9IHRoaXMuY29va2llQmFubmVyU2NyaXB0SWQ7XG4gICAgc2NyaXB0LnNyYyA9IHNyYztcblxuICAgIHNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgICAgdGhpcy5jb29raWVCYW5uZXJTY3JpcHRFbGVtZW50ID0gc2NyaXB0O1xuICAgICAgdGhpcy5jb29raWVDb25zZW50ID0gKHdpbmRvdyBhcyBhbnkpWydjb29raWVjb25zZW50J107XG4gICAgICAod2luZG93IGFzIGFueSlbJ3BvcnRhbEJhbm5lciddPy5jYWxsKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmFjeS10b29scy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvc2VydmljZXMvcHJpdmFjeS10b29scy9wcml2YWN5LXRvb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUMyQixRQUFrQixFQUNmLFVBQWtCO1FBRHJCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBUmhELHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQzVDLHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLDhCQUF5QixHQUE2QixJQUFJLENBQUM7UUFDM0Qsa0JBQWEsR0FBOEIsRUFBRSxDQUFDO1FBQzlDLGtCQUFhLEdBQVEsSUFBSSxDQUFDO0lBS3ZCLENBQUM7SUFFSixZQUFZO0lBQ0wsTUFBTSxDQUFDLE9BQWtDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCx5QkFBeUI7SUFDbEIsaUJBQWlCLENBQUMsZUFBdUI7UUFDOUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFFOUcsSUFB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RUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7K0dBekZVLG1CQUFtQixrQkFRcEIsUUFBUSxhQUNSLFdBQVc7bUhBVFYsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcml2YWN5VG9vbHNDb25maWdPcHRpb25zLCBQcml2YWN5VG9vbHNDb29raWVCYW5uZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvcHJpdmFjeS10b29scy9wcml2YWN5LXRvb2xzLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcml2YWN5VG9vbHNTZXJ2aWNlIHtcclxuICBjb29raWVCYW5uZXJTY3JpcHRJZCA9ICdQcml2YWN5VG9vbHNTY3JpcHQnO1xyXG4gIGNvb2tpZUJhbm5lclN0eWxlSWQgPSAnUHJpdmFjeVRvb2xzU3R5bGUnO1xyXG4gIGNvb2tpZUJhbm5lclNjcmlwdEVsZW1lbnQ6IEhUTUxTY3JpcHRFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgY29uZmlnT3B0aW9uczogUHJpdmFjeVRvb2xzQ29uZmlnT3B0aW9ucyA9IHt9O1xyXG4gIGNvb2tpZUNvbnNlbnQ6IGFueSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHVibGljIGRvY3VtZW50OiBEb2N1bWVudCxcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHB1YmxpYyBwbGF0Zm9ybUlkOiBvYmplY3QsXHJcbiAgKSB7fVxyXG5cclxuICAvKiBDb25maWcgKi9cclxuICBwdWJsaWMgY29uZmlnKG9wdGlvbnM6IFByaXZhY3lUb29sc0NvbmZpZ09wdGlvbnMpIHtcclxuICAgIHRoaXMuY29uZmlnT3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICAvKiBTZXR1cCBjb29raWUgQmFubmVyICovXHJcbiAgcHVibGljIHNldHVwQ29va2llQmFubmVyKHVuaWRhZGVCYXNlUGF0aDogc3RyaW5nKSB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICBjb25zdCBiYW5uZXIgPSB0aGlzLmNvbmZpZ09wdGlvbnM/LmNvb2tpZUJhbm5lcnM/LmZpbmQoKGJhbm5lcikgPT4gYmFubmVyLmJhc2VQYXRoLmluY2x1ZGVzKHVuaWRhZGVCYXNlUGF0aCkpO1xyXG5cclxuICAgICAgaWYgKGJhbm5lcikge1xyXG4gICAgICAgIHRoaXMuYWRkQ29va2llQmFubmVyKGJhbm5lcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuQ29va2llQmFubmVyKCkge1xyXG4gICAgaWYgKHRoaXMuY29va2llQ29uc2VudCAmJiB0aGlzLmNvb2tpZUJhbm5lclNjcmlwdEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5jb29raWVDb25zZW50LnByaXZhY3lUb29sc1Nob3dDb29raWVOb3RpY2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIEFkZCBjb29raWUgYmFubmVyIHN0eWxlIGFuZCBzY3JpcHQgKi9cclxuICBwcml2YXRlIGFkZENvb2tpZUJhbm5lcihiYW5uZXI6IFByaXZhY3lUb29sc0Nvb2tpZUJhbm5lcikge1xyXG4gICAgdGhpcy5jb29raWVCYW5uZXJTY3JpcHRFbGVtZW50ID0gbnVsbDtcclxuICAgIHRoaXMuYWRkQ29va2llQmFubmVyU3R5bGUoYmFubmVyLnN0eWxlU3JjKTtcclxuICAgIHRoaXMuYWRkQ29va2llQmFubmVyU2NyaXB0KGJhbm5lci5zY3JpcHRTcmMpO1xyXG4gIH1cclxuXHJcbiAgLyogQWRkIGNvb2tpZSBiYW5uZXIgc3R5bGUuICovXHJcbiAgcHVibGljIGFkZENvb2tpZUJhbm5lclN0eWxlKHNyYzogc3RyaW5nKSB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnlSZW1vdmVQb3J0YWwnKT8ucmVtb3ZlKCk7XHJcblxyXG4gICAgY29uc3Qgb2xkU3R5bGUgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29va2llQmFubmVyU3R5bGVJZCk7XHJcblxyXG4gICAgaWYgKG9sZFN0eWxlKSB7XHJcbiAgICAgIG9sZFN0eWxlLnJlbW92ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICBzdHlsZS5pZCA9IHRoaXMuY29va2llQmFubmVyU3R5bGVJZDtcclxuICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xyXG4gICAgc3R5bGUuaHJlZiA9IHNyYztcclxuICAgIHN0eWxlLm1lZGlhID0gJ25vbmUnO1xyXG5cclxuICAgIHN0eWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XHJcbiAgICAgIHN0eWxlLm1lZGlhID0gJ2FsbCc7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3R5bGUpO1xyXG4gIH1cclxuXHJcbiAgLyogQWRkIGNvb2tpZSBiYW5uZXIgc2NyaXB0LiAqL1xyXG4gIHB1YmxpYyBhZGRDb29raWVCYW5uZXJTY3JpcHQoc3JjOiBzdHJpbmcpIHtcclxuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkgfHwgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcclxuXHJcbiAgICAod2luZG93IGFzIGFueSlbJ2Nvb2tpZWNvbnNlbnQnXSA9IG51bGw7XHJcblxyXG4gICAgY29uc3Qgb2xkU2NyaXB0ID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNvb2tpZUJhbm5lclNjcmlwdElkKTtcclxuXHJcbiAgICBpZiAob2xkU2NyaXB0KSB7XHJcbiAgICAgIG9sZFNjcmlwdC5yZW1vdmUoKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICBzY3JpcHQuaWQgPSB0aGlzLmNvb2tpZUJhbm5lclNjcmlwdElkO1xyXG4gICAgc2NyaXB0LnNyYyA9IHNyYztcclxuXHJcbiAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcclxuICAgICAgdGhpcy5jb29raWVCYW5uZXJTY3JpcHRFbGVtZW50ID0gc2NyaXB0O1xyXG4gICAgICB0aGlzLmNvb2tpZUNvbnNlbnQgPSAod2luZG93IGFzIGFueSlbJ2Nvb2tpZWNvbnNlbnQnXTtcclxuICAgICAgKHdpbmRvdyBhcyBhbnkpWydwb3J0YWxCYW5uZXInXT8uY2FsbCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -486,4 +486,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
486
486
  type: Inject,
487
487
  args: [DOCUMENT]
488
488
  }] }] });
489
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZW8vc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBUXpCLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUsvRCxNQUFNLE9BQU8sVUFBVTtJQXlCckIsWUFDVSxLQUFZLEVBQ1osSUFBVSxFQUNWLFFBQWtCLEVBQ0UsU0FBb0IsRUFDdEIsUUFBa0I7UUFKcEMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLFNBQUksR0FBSixJQUFJLENBQU07UUFDVixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ0UsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBN0J2QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsV0FBVyxDQUFDO1FBRTNCLFdBQU0sR0FBRztZQUNkLG1DQUFtQztZQUNuQyw0Q0FBNEM7WUFDNUMsa0RBQWtEO1lBQ2xELDZCQUE2QjtTQUM5QixDQUFDO1FBQ0ssZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFJeEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0Qix5QkFBb0IsR0FBRyxpQkFBaUIsQ0FBQztRQUUxQyxZQUFPLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsRUFBRSxDQUFD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LElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0sVUFBVSxDQUFDLEVBQUUsT0FBTyxHQUFHLElBQUksRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQUUsV0FBVyxHQUFHLEVBQUUsRUFBYztRQUNwRyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDOytHQXRnQlUsVUFBVSxtRkE2QlgsVUFBVSxhQUNWLFFBQVE7bUhBOUJQLFVBQVUsY0FGVCxNQUFNOzs0RkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBOEJJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IERPQ1VNRU5ULCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCAqIGFzIGhlIGZyb20gJ2hlJztcblxuaW1wb3J0IHsgU29jaWFsTWV0YVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvc29jaWFsLW1ldGEtcHJvcGVydGllcy5tb2RlbCc7XG5pbXBvcnQgeyBCcmVhZGNydW1ic0l0ZW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLWl0ZW1zLm1vZGVsJztcbmltcG9ydCB7IEJyZWFkY3J1bWJzSnNvbkl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMtanNvbi1pdGVtLm1vZGVsJztcbmltcG9ydCB7IFNlb0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VvL3Nlby1kYXRhLm1vZGVsJztcbmltcG9ydCB7IFNlb1VuaWRhZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VvL3Nlby11bmlkYWRlLm1vZGVsJztcbmltcG9ydCB7IFdwUG9zdCB9IGZyb20gJy4uLy4uL21vZGVscy93b3JkcHJlc3MvcG9zdC9wb3N0Lm1vZGVsJztcbmltcG9ydCB7IGdldFNpdGVVcmwsIHJlbW92ZUh0bWxUYWdzIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNlb1NlcnZpY2Uge1xuICBwdWJsaWMgc2VwYXJhdG9yID0gJyAtICc7XG4gIHB1YmxpYyBkZWZhdWx0VGl0bGUgPSAnUmVkZSBE4oCZT3InO1xuICBwdWJsaWMgYWN0aXZlRGVzY3JpcHRpb24hOiBzdHJpbmc7XG4gIHB1YmxpYyBzYW1lQXMgPSBbXG4gICAgJ2h0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9yZWRlZG9yLycsXG4gICAgJ2h0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vcmVkZWRvcl9vZmljaWFsLycsXG4gICAgJ2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L3JlZGVkb3Itc2FvbHVpeicsXG4gICAgJ2h0dHBzOi8vdHdpdHRlci5jb20vcmVkZWRvcicsXG4gIF07XG4gIHB1YmxpYyB0d2l0dGVyVXNlciA9ICdAcmVkZWRvcic7XG5cbiAgcHJpdmF0ZSBjYW5vbmljYWxUYWchOiBIVE1MTGlua0VsZW1lbnQ7XG4gIHByaXZhdGUganNvblRhZyE6IEhUTUxTY3JpcHRFbGVtZW50O1xuICBwcml2YXRlIGpzb25UYWdJZCA9ICdzZW9KU09OJztcbiAgcHJpdmF0ZSBicmVhZGNydW1ic0pzb25UYWchOiBIVE1MU2NyaXB0RWxlbWVudDtcbiAgcHJpdmF0ZSBicmVhZGNydW1ic0pzb25UYWdJZCA9ICdicmVhZGNydW1ic0pTT04nO1xuXG4gIHB1YmxpYyB1bmlkYWRlOiBhbnkgPSBudWxsO1xuICBwdWJsaWMgdW5pZGFkZU5hbWU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgdW5pZGFkZVBhdGg6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgdW5pZGFkZVNsdWc6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBjdXN0b21Kc29uVHlwZTogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRpdGxlOiBUaXRsZSxcbiAgICBwcml2YXRlIG1ldGE6IE1ldGEsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICApIHt9XG5cbiAgcHVibGljIHNldEZ1bGxTZW8oZGF0YTogU2VvRGF0YSkge1xuICAgIHRoaXMuc2V0VGl0bGUoZGF0YS50aXRsZS50ZXh0LCAhIWRhdGEudGl0bGUuc3ViKTtcbiAgICB0aGlzLnNldERlc2NyaXB0aW9uKGRhdGEuZGVzY3JpcHRpb24pO1xuICAgIHRoaXMuc2V0Q2Fub25pY2FsSHJlZihkYXRhLmNhbm9uaWNhbCk7XG4gICAgdGhpcy5zZXRQYWdlSnNvbigpO1xuICAgIHRoaXMuc2V0U29jaWFsVGFncyhkYXRhLnNvY2lhbFRhZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSB0YWcgZGVzY3JpcHRpb24gZGEgcMOhZ2luYVxuICAgKiBAcGFyYW0gY29udGVudCBjb250ZcO6ZG8gZGEgZGVzY3Jpw6fDo28gPHN0cmluZz5cbiAgICovXG4gIHB1YmxpYyBzZXREZXNjcmlwdGlvbihjb250ZW50OiBzdHJpbmcpOiBTZW9TZXJ2aWNlIHtcbiAgICBjb25zdCBkZXNjVGFnID0gdGhpcy5tZXRhLmdldFRhZyhcIm5hbWU9J2Rlc2NyaXB0aW9uJ1wiKTtcbiAgICBpZiAoY29udGVudCkge1xuICAgICAgY29udGVudCA9IGhlLmRlY29kZShjb250ZW50KTtcbiAgICAgIGNvbnRlbnQgPSByZW1vdmVIdG1sVGFncyhjb250ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGVudCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZURlc2NyaXB0aW9uID0gY29udGVudDtcbiAgICBjb25zdCB0YWdDb250ZW50ID0geyBuYW1lOiAnZGVzY3JpcHRpb24nLCBjb250ZW50IH07XG4gICAgaWYgKGRlc2NUYWcpIHtcbiAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcodGFnQ29udGVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWV0YS5hZGRUYWcodGFnQ29udGVudCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBtZXRhIHRhZ3MgcGFyYSBhIHDDoWdpbmFcbiAgICogQHBhcmFtIHRhZyBub21lIGRhIHRhZyBtZXRhXG4gICAqIEBwYXJhbSBjb250ZW50IGNvbnRlw7pkbyBkYSB0YWcgbWV0YVxuICAgKiBAcGFyYW0gdHlwZSB0aXBvIGRlIHRhZyBtZXRhXG4gICAqL1xuICBwdWJsaWMgc2V0TWV0YVRhZyh0YWc6IHN0cmluZywgY29udGVudDogc3RyaW5nLCB0eXBlID0gJ25hbWUnKSB7XG4gICAgY29uc3QgbWV0YXRhZyA9IHRoaXMubWV0YS5nZXRUYWcoYCR7dHlwZX09JyR7dGFnfSdgKTtcbiAgICBjb250ZW50ID0gaGUuZGVjb2RlKGNvbnRlbnQpO1xuICAgIGNvbnRlbnQgPSByZW1vdmVIdG1sVGFncyhjb250ZW50KTtcbiAgICBjb25zdCB0YWdDb250ZW50ID0ge1xuICAgICAgW3R5cGVdOiB0YWcsXG4gICAgICBjb250ZW50LFxuICAgIH07XG4gICAgaWYgKCFtZXRhdGFnKSB7XG4gICAgICB0aGlzLm1ldGEuYWRkVGFnKHRhZ0NvbnRlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHRhZ0NvbnRlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbWV0YSB0YWdzIGRhIHDDoWdpbmFcbiAgICogQHBhcmFtIHRhZyBub21lIGRhIHRhZyBtZXRhXG4gICAqIEBwYXJhbSBjb250ZW50IGNvbnRlw7pkbyBkYSB0YWcgbWV0YVxuICAgKiBAcGFyYW0gYXR0ciBhdHJpYnV0byBkYSB0YWcgbWV0YVxuICAgKiBAcGFyYW0gdHlwZSB0aXBvIGRlIHRhZyBtZXRhXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVGFnKHRhZzogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIGF0dHI6IHN0cmluZywgdHlwZSA9ICduYW1lJykge1xuICAgIGNvbnN0IG1ldGF0YWcgPSB0aGlzLm1ldGEuZ2V0VGFnKGAke3R5cGV9PScke3RhZ30nYCk7XG4gICAgaWYgKG1ldGF0YWcpIHtcbiAgICAgIHRoaXMubWV0YS5yZW1vdmVUYWcoYCR7YXR0cn09JHtjb250ZW50fWApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgbWV0YSB0YWdzIHBhcmEgRmFjZWJvb2tcbiAgICogQHBhcmFtIHRpdGxlIHTDrXR1bG8gcGFyYSBvIGZhY2Vib29rXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiBkZXNjcmnDp8OjbyBwYXJhIG8gZmFjZWJvb2tcbiAgICogQHBhcmFtIHVybCB1cmwgcGFyYSBkZWZpbmnDp8OjbyBkbyBmYWNlYm9va1xuICAgKiBAcGFyYW0gaW1nIGltYWdlbSBwYXJhIGRlZmluacOnw6NvIG5vIGZhY2Vib29rXG4gICAqL1xuICBwdWJsaWMgc2V0TWV0YUZhY2Vib29rKHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcsIHVybDogc3RyaW5nLCBpbWc6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzp1cmwnLCB1cmwsICdwcm9wZXJ0eScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygnb2c6dGl0bGUnLCB0aXRsZSwgJ3Byb3BlcnR5Jyk7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzpkZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uLCAncHJvcGVydHknKTtcbiAgICB0aGlzLnNldE1ldGFUYWcoJ29nOnR5cGUnLCAnd2Vic2l0ZScsICdwcm9wZXJ0eScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygnb2c6aW1hZ2UnLCBpbWcgPz8gJycsICdwcm9wZXJ0eScpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBtZXRhIHRhZ3MgcGFyYSBUd2l0dGVyXG4gICAqIEBwYXJhbSB0aXRsZSB0w610dWxvIHBhcmEgbyB0d2l0dGVyXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiBkZXNjcmnDp8OjbyBwYXJhIG8gdHdpdHRlclxuICAgKiBAcGFyYW0gdXJsIHVybCBwYXJhIG8gdHdpdHRlclxuICAgKiBAcGFyYW0gaW1nIGltYWdlbSBwYXJhIGRlZmluacOnw6NvIG5vIHR3aXR0ZXJcbiAgICovXG4gIHB1YmxpYyBzZXRNZXRhVHdpdHRlcih0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nLCB1cmw6IHN0cmluZywgaW1nOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpzaXRlJywgdXJsLCAnbmFtZScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjp0aXRsZScsIHRpdGxlLCAnbmFtZScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpkZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uLCAnbmFtZScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjppbWFnZScsIGltZyA/PyAnJywgJ25hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGFncyBkZSByZWRlcyBzb2NpYWlzIChUd2l0dGVyIGUgT3BlbiBHcmFwaClcbiAgICogQHBhcmFtIHByb3BlcnRpZXNcbiAgICovXG4gIHNldFNvY2lhbFRhZ3MocHJvcGVydGllcz86IFNvY2lhbE1ldGFQcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgcGFnZVBhdGggPSB0aGlzLmxvY2F0aW9uLnBhdGgoKTtcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XG4gICAgbGV0IGRlZmF1bHRQcm9wZXJ0aWVzOiBTb2NpYWxNZXRhUHJvcGVydGllcyA9IHtcbiAgICAgIHR3aXR0ZXJDYXJkOiAnc3VtbWFyeScsXG4gICAgICB0d2l0dGVyU2l0ZTogdGhpcy50d2l0dGVyVXNlcixcbiAgICAgIHR5cGU6ICd3ZWJzaXRlJyxcbiAgICAgIHRpdGxlOiB0aGlzLmdldFRpdGxlKCksXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5hY3RpdmVEZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHVybDogYCR7c2l0ZXVybH0ke3BhZ2VQYXRofWAsXG4gICAgICBpbWFnZTogdGhpcy5saWJDb25maWc/LmxvZ29QYXRoID8gYCR7c2l0ZXVybH0ke3RoaXMubGliQ29uZmlnLmxvZ29QYXRofWAgOiAnaHR0cHM6Ly93d3cucmVkZWRvcnNhb2x1aXouY29tLmJyL2Fzc2V0cy9pbWdzL2xvZ28tcmVkZWRvci1ibHVlLnBuZycsXG4gICAgfTtcbiAgICBpZiAocHJvcGVydGllcykge1xuICAgICAgZGVmYXVsdFByb3BlcnRpZXMgPSB7IC4uLmRlZmF1bHRQcm9wZXJ0aWVzLCAuLi5wcm9wZXJ0aWVzIH07XG4gICAgfVxuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpjYXJkJywgZGVmYXVsdFByb3BlcnRpZXMudHdpdHRlckNhcmQgfHwgJycsICduYW1lJylcbiAgICAgIC5zZXRNZXRhVGFnKCd0d2l0dGVyOnNpdGUnLCBkZWZhdWx0UHJvcGVydGllcy50d2l0dGVyU2l0ZSB8fCAnJywgJ25hbWUnKVxuICAgICAgLnNldE1ldGFUYWcoJ29nOnR5cGUnLCBkZWZhdWx0UHJvcGVydGllcy50eXBlIHx8ICcnLCAncHJvcGVydHknKVxuICAgICAgLnNldE1ldGFUYWcoJ29nOnRpdGxlJywgZGVmYXVsdFByb3BlcnRpZXMudGl0bGUgfHwgJycsICdwcm9wZXJ0eScpXG4gICAgICAuc2V0TWV0YVRhZygnb2c6ZGVzY3JpcHRpb24nLCBkZWZhdWx0UHJvcGVydGllcy5kZXNjcmlwdGlvbiB8fCAnJywgJ3Byb3BlcnR5JylcbiAgICAgIC5zZXRNZXRhVGFnKCdvZzp1cmwnLCBkZWZhdWx0UHJvcGVydGllcy51cmwgfHwgJycsICdwcm9wZXJ0eScpXG4gICAgICAuc2V0TWV0YVRhZygnb2c6aW1hZ2UnLCBkZWZhdWx0UHJvcGVydGllcy5pbWFnZSB8fCAnJywgJ3Byb3BlcnR5Jyk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdMOtdHVsbyBkYSBww6FnaW5hXG4gICAqIEBwYXJhbSB0aXRsZSB0w610dWxvIGRhIHDDoWdpbmEgPHN0cmluZz5cbiAgICogQHBhcmFtIHN1YiBTZSDDqSBzdWJzaXRlIGFjcmVzY2VudGEgdW5pZGFkZSA8Ym9vbGVhbj5cbiAgICovXG4gIHB1YmxpYyBzZXRUaXRsZSh0aXRsZTogc3RyaW5nLCBzdWIgPSBmYWxzZSkge1xuICAgIGlmICh0aXRsZSAmJiB0aXRsZSAhPT0gJycpIHtcbiAgICAgIHRpdGxlID0gaGUuZGVjb2RlKHRpdGxlKTtcbiAgICAgIHRpdGxlID0gcmVtb3ZlSHRtbFRhZ3ModGl0bGUpO1xuICAgICAgaWYgKHN1Yikge1xuICAgICAgICB0aXRsZSA9IGhlLmRlY29kZShgJHt0aXRsZX0ke3RoaXMuc2VwYXJhdG9yfSR7dGhpcy51bmlkYWRlTmFtZX1gKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudGl0bGUuc2V0VGl0bGUodGl0bGUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBPYnRlbSB0w610dWxvIGF0dWFsIGRhIHDDoWdpbmEgKi9cbiAgcHVibGljIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUuZ2V0VGl0bGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQ0MDRUaXRsZShjb21wb25lbnQ6IHN0cmluZyA9ICdEZWZhdWx0IENvbXBvbmVudCcpIHtcbiAgICBpZiAoY29tcG9uZW50ICYmIGNvbXBvbmVudCAhPT0gJycpIHtcbiAgICAgIGNvbXBvbmVudCA9IGhlLmRlY29kZShjb21wb25lbnQpO1xuICAgICAgY29tcG9uZW50ID0gcmVtb3ZlSHRtbFRhZ3MoY29tcG9uZW50KTtcbiAgICAgIGlmICh0aGlzLnVuaWRhZGVOYW1lKSB7XG4gICAgICAgIGNvbXBvbmVudCA9IGhlLmRlY29kZShgJHtjb21wb25lbnR9JHt0aGlzLnNlcGFyYXRvcn0ke3RoaXMudW5pZGFkZU5hbWV9YCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gYEVycm8gNDA0IC0gJHtjb21wb25lbnR9IC0gJHt0aGlzLmxpYkNvbmZpZz8uc2l0ZU5hbWV9IC0gJHt0aGlzLmxvY2F0aW9uLnBhdGgoKX1gO1xuICAgIHRoaXMudGl0bGUuc2V0VGl0bGUodGl0bGUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNldDUwMFRpdGxlKGNvbXBvbmVudDogc3RyaW5nID0gJ0RlZmF1bHQgQ29tcG9uZW50Jykge1xuICAgIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50ICE9PSAnJykge1xuICAgICAgY29tcG9uZW50ID0gaGUuZGVjb2RlKGNvbXBvbmVudCk7XG4gICAgICBjb21wb25lbnQgPSByZW1vdmVIdG1sVGFncyhjb21wb25lbnQpO1xuICAgICAgaWYgKHRoaXMudW5pZGFkZU5hbWUpIHtcbiAgICAgICAgY29tcG9uZW50ID0gaGUuZGVjb2RlKGAke2NvbXBvbmVudH0ke3RoaXMuc2VwYXJhdG9yfSR7dGhpcy51bmlkYWRlTmFtZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgdGl0bGUgPSBgRXJybyA1MDAgLSAke2NvbXBvbmVudH0gLSAke3RoaXMubGliQ29uZmlnPy5zaXRlTmFtZX0gLSAke3RoaXMubG9jYXRpb24ucGF0aCgpfWA7XG4gICAgdGhpcy50aXRsZS5zZXRUaXRsZSh0aXRsZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQ3JpYSB0YWcgc2NyaXB0IHBhcmEgSlNPTiBkZSBicmVhZGNydW1icyAqL1xuICBwcml2YXRlIGNyZWF0ZUJyZWFkY3J1bWJzSlNPTlRhZygpOiBIVE1MU2NyaXB0RWxlbWVudCB7XG4gICAgY29uc3QgdGFnOiBIVE1MU2NyaXB0RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgdGFnLmlkID0gdGhpcy5icmVhZGNydW1ic0pzb25UYWdJZDtcbiAgICB0YWcudHlwZSA9ICdhcHBsaWNhdGlvbi9sZCtqc29uJztcbiAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGFnKTtcbiAgICB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZyA9IHRhZztcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgLyoqIFJldG9ybmEgdGFnIHBhcmEgc2NyaXB0IGpzb24gZGUgYnJlYWRjcnVtYnMgb3UgY3JpYSBzZSBuw6NvIGhvdXZlci4gKi9cbiAgcHJpdmF0ZSBnZXRCcmVhZGNydW1ic0pTT05UYWcoKTogSFRNTFNjcmlwdEVsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xuICAgIGxldCBpOiBudW1iZXI7XG4gICAgZm9yIChpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBlbGVtID0gZWxlbWVudHNbaV0gYXMgSFRNTFNjcmlwdEVsZW1lbnQ7XG4gICAgICBpZiAoZWxlbSAmJiBlbGVtLmlkID09PSB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZ0lkKSB7XG4gICAgICAgIHJldHVybiBlbGVtO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVCcmVhZGNydW1ic0pTT05UYWcoKTtcbiAgfVxuXG4gIC8qKiBEZWZpbmUgbyBKU09OIGRlIGJyZWFkY3J1bWJzIGRhIHDDoWdpbmEgKi9cbiAgcHVibGljIHNldEJyZWFkY3J1bWJzSnNvbihpdGVtczogQnJlYWRjcnVtYnNJdGVtc1tdKSB7XG4gICAgdGhpcy5icmVhZGNydW1ic0pzb25UYWcgPSB0aGlzLmdldEJyZWFkY3J1bWJzSlNPTlRhZygpO1xuICAgIGNvbnN0IGpzb24gPSB7XG4gICAgICAnQGNvbnRleHQnOiAnaHR0cDovL3NjaGVtYS5vcmcnLFxuICAgICAgJ0B0eXBlJzogJ0JyZWFkY3J1bWJMaXN0JyxcbiAgICAgIGl0ZW1MaXN0RWxlbWVudDogdGhpcy5nZXRKc29uQnJlYWRjcnVtYkl0ZW1zKGl0ZW1zKSxcbiAgICB9O1xuICAgIHRoaXMuYnJlYWRjcnVtYnNKc29uVGFnLmlubmVySFRNTCA9IEpTT04uc3RyaW5naWZ5KGpzb24pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIENvbnZlcnRlIGl0ZW5zIGRvIGJyZWFkY3J1bWIgZW0gaXRlbnMgZG8gSlNPTiAqL1xuICBwcml2YXRlIGdldEpzb25CcmVhZGNydW1iSXRlbXMoaXRlbXM6IEJyZWFkY3J1bWJzSXRlbXNbXSk6IEJyZWFkY3J1bWJzSnNvbkl0ZW1bXSB7XG4gICAgY29uc3QganNvbkl0ZW1zID0gW1xuICAgICAge1xuICAgICAgICAnQHR5cGUnOiAnTGlzdEl0ZW0nLFxuICAgICAgICBwb3NpdGlvbjogMSxcbiAgICAgICAgaXRlbTogeyAnQGlkJzogdGhpcy5nZXRCcmVhZGNydW1iSXRlbVVybChbJy8nXSksIG5hbWU6IGhlLmVuY29kZSgnUMOhZ2luYSBJbmljaWFsJykgfSxcbiAgICAgIH0gYXMgQnJlYWRjcnVtYnNKc29uSXRlbSxcbiAgICBdO1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgIGNvbnN0IGpzb25JdGVtOiBCcmVhZGNydW1ic0pzb25JdGVtID0ge1xuICAgICAgICAnQHR5cGUnOiAnTGlzdEl0ZW0nLFxuICAgICAgICBwb3NpdGlvbjogaSArIDIsXG4gICAgICAgIGl0ZW06IHsgJ0BpZCc6IHRoaXMuZ2V0QnJlYWRjcnVtYkl0ZW1VcmwoaXRlbT8udXJsIHx8IFtdKSwgbmFtZTogaGUuZW5jb2RlKGl0ZW0ubGFiZWwpIH0sXG4gICAgICB9O1xuICAgICAganNvbkl0ZW1zLnB1c2goanNvbkl0ZW0pO1xuICAgIH0pO1xuICAgIHJldHVybiBqc29uSXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogTW9udGEgYSB1cmwgZG8gaXRlbSBkZSBicmVhZGNydW1iIHByb3ZlbmllbnRlIGRvIGFycmF5IGRlIHVybHNcbiAgICogb3UgZG8gY2FtaW5obyBkYSBwcsOzcHJpYSBww6FnaW5hLCBjb25mb3JtZSBjYXNvIGRvIMO6bHRpbW8gaXRlbS5cbiAgICovXG4gIHByaXZhdGUgZ2V0QnJlYWRjcnVtYkl0ZW1VcmwodXJsOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIGlmICghdXJsIHx8IHVybC5sZW5ndGggPD0gMCkge1xuICAgICAgY29uc3QgcGFnZVBhdGggPSB0aGlzLmxvY2F0aW9uLnBhdGgoKTtcbiAgICAgIHJldHVybiBgJHtzaXRldXJsfSR7cGFnZVBhdGh9YDtcbiAgICB9XG4gICAgdXJsID0gdXJsLmZpbHRlcigodSkgPT4gdSAhPT0gdGhpcy51bmlkYWRlUGF0aCk7XG4gICAgY29uc3QgdW5pZGFkZVBhdGggPSB0aGlzLmdldFVuaWRhZGVQYXRoKCk7XG4gICAgY29uc3QgZnVsbFBhdGggPSBgJHt1bmlkYWRlUGF0aH0vJHt1cmwuam9pbignLycpLnJlcGxhY2UoL15cXC8/LywgJycpfWA7XG4gICAgcmV0dXJuIGAke3NpdGV1cmx9JHtmdWxsUGF0aH1gLnJlcGxhY2UoL1xcLyQvLCAnJyk7XG4gIH1cblxuICAvKiogQ3JpYSB0YWcgc2NyaXB0IHBhcmEgbyBKU09OIGRlIFNFTyAqL1xuICBwcml2YXRlIGNyZWF0ZUpTT05UYWcoKTogSFRNTFNjcmlwdEVsZW1lbnQge1xuICAgIGNvbnN0IHRhZzogSFRNTFNjcmlwdEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHRhZy5pZCA9IHRoaXMuanNvblRhZ0lkO1xuICAgIHRhZy50eXBlID0gJ2FwcGxpY2F0aW9uL2xkK2pzb24nO1xuICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0YWcpO1xuICAgIHRoaXMuanNvblRhZyA9IHRhZztcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgLyoqIFJldG9ybmEgdGFnIHBhcmEgc2NyaXB0IGpzb24gZGUgYnJlYWRjcnVtYnMgb3UgY3JpYSBzZSBuw6NvIGhvdXZlci4gKi9cbiAgcHJpdmF0ZSBnZXRKU09OVGFnKCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZG9jdW1lbnQuaGVhZC5jaGlsZHJlbjtcbiAgICBsZXQgaTogbnVtYmVyO1xuICAgIGZvciAoaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZWxlbSA9IGVsZW1lbnRzW2ldIGFzIEhUTUxTY3JpcHRFbGVtZW50O1xuICAgICAgaWYgKGVsZW0gJiYgZWxlbS5pZCA9PT0gdGhpcy5qc29uVGFnSWQpIHtcbiAgICAgICAgcmV0dXJuIGVsZW07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUpTT05UYWcoKTtcbiAgfVxuXG4gIC8qKiBEZWZpbmUgSlNPTiBwYXJhIFNFTyBzb21lbnRlIHF1YW5kbyBubyBzZXJ2aWRvciAqL1xuICBwdWJsaWMgc2V0UGFnZUpzb24oKSB7XG4gICAgdGhpcy5qc29uVGFnID0gdGhpcy5nZXRKU09OVGFnKCk7XG5cbiAgICBjb25zdCBiYXNlR3JhcGggPSBbdGhpcy5nZXRPcmdKc29uKCksIHRoaXMuZ2V0V2Vic2l0ZUpzb24oKSwgdGhpcy5nZXRXZWJwYWdlSnNvbigpXTtcblxuICAgIGNvbnN0IGV4dGVuZGVkR3JhcGggPSB0aGlzLmN1c3RvbUpzb25UeXBlLmxlbmd0aCA/IFsuLi5iYXNlR3JhcGgsIC4uLnRoaXMuY3VzdG9tSnNvblR5cGVdIDogYmFzZUdyYXBoO1xuXG4gICAgdGhpcy5jdXN0b21Kc29uVHlwZSA9IFtdO1xuXG4gICAgY29uc3QganNvbiA9IHtcbiAgICAgICdAY29udGV4dCc6ICdodHRwOi8vc2NoZW1hLm9yZycsXG4gICAgICAnQGdyYXBoJzogZXh0ZW5kZWRHcmFwaCxcbiAgICB9O1xuXG4gICAgdGhpcy5qc29uVGFnLmlubmVySFRNTCA9IEpTT04uc3RyaW5naWZ5KGpzb24pO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogT2J0ZW0gSlNPTiBkYSBPcmdhbml6YcOnw6NvICovXG4gIHByaXZhdGUgZ2V0T3JnSnNvbigpIHtcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICdAdHlwZSc6ICdPcmdhbml6YXRpb24nLFxuICAgICAgJ0BpZCc6IGAke3NpdGV1cmx9I29yZ2FuaXphdGlvbmAsXG4gICAgICBuYW1lOiB0aGlzLmRlZmF1bHRUaXRsZSxcbiAgICAgIGtleXdvcmRzOiB0aGlzLmxpYkNvbmZpZz8ua2V5d29yZHMsXG4gICAgICB1cmw6IGAke3NpdGV1cmx9YCxcbiAgICAgIHNhbWVBczogdGhpcy5zYW1lQXMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBPYnRlbSBKU09OIGRvIFdlYnNpdGUgKHBvcnRhbCwgdW5pZGFkZXMsIGV0YykgKi9cbiAgcHJpdmF0ZSBnZXRXZWJzaXRlSnNvbigpIHtcbiAgICBjb25zdCB1bmlkYWRlUGF0aCA9IHRoaXMuZ2V0VW5pZGFkZVBhdGgoKTtcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICdAdHlwZSc6ICdXZWJTaXRlJyxcbiAgICAgICdAaWQnOiBgJHtzaXRldXJsfSR7dW5pZGFkZVBhdGh9I3dlYnNpdGVgLFxuICAgICAgdXJsOiBgJHtzaXRldXJsfSR7dW5pZGFkZVBhdGh9YCxcbiAgICAgIG5hbWU6IHRoaXMudW5pZGFkZU5hbWUsXG4gICAgICBrZXl3b3JkczogdGhpcy5saWJDb25maWc/LmtleXdvcmRzLFxuICAgIH07XG4gIH1cblxuICAvKiogT2J0ZW0gSnNvbiBkYSBww6FnaW5hICovXG4gIHByaXZhdGUgZ2V0V2VicGFnZUpzb24oKSB7XG4gICAgY29uc3QgdW5pZGFkZVBhdGggPSB0aGlzLmdldFVuaWRhZGVQYXRoKCk7XG4gICAgY29uc3Qgc2l0ZVVSTCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIGNvbnN0IHBhZ2VQYXRoID0gYCR7c2l0ZVVSTH0ke3RoaXMubG9jYXRpb24ucGF0aCgpfWA7XG4gICAgY29uc3QgZGVzYyA9IHRoaXMuYWN0aXZlRGVzY3JpcHRpb24gPyB0aGlzLmFjdGl2ZURlc2NyaXB0aW9uIDogJyc7XG4gICAgcmV0dXJuIHtcbiAgICAgICdAdHlwZSc6ICdXZWJQYWdlJyxcbiAgICAgICdAaWQnOiBgJHtwYWdlUGF0aH0jd2VicGFnZWAsXG4gICAgICB1cmw6IHBhZ2VQYXRoLFxuICAgICAgaW5MYW5ndWFnZTogJ3B0LUJSJyxcbiAgICAgIG5hbWU6IHRoaXMuZ2V0VGl0bGUoKSxcbiAgICAgIGlzUGFydE9mOiB7ICdAaWQnOiBgJHtzaXRlVVJMfSR7dW5pZGFkZVBhdGh9I3dlYnNpdGVgIH0sXG4gICAgICBhYm91dDogeyAnQGlkJzogYCR7c2l0ZVVSTH0jb3JnYW5pemF0aW9uYCB9LFxuICAgICAgZGVzY3JpcHRpb246IGRlc2MsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VW5pZGFkZVBhdGgoKSB7XG4gICAgbGV0IHVuaWRhZGVQYXRoID0gJyc7XG4gICAgaWYgKHRoaXMudW5pZGFkZSAmJiB0aGlzLnVuaWRhZGVQYXRoKSB7XG4gICAgICB1bmlkYWRlUGF0aCA9IHRoaXMudW5pZGFkZT8ucGF0aCA9PT0gJy8nID8gJycgOiB0aGlzLnVuaWRhZGVQYXRoPy5zdWJzdHJpbmcoMCwgdGhpcy51bmlkYWRlUGF0aD8ubGVuZ3RoIC0gMSk7XG4gICAgfVxuICAgIHJldHVybiB1bmlkYWRlUGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnTDqW0gYSBVUkwgY2Fuw7RuaWNhIGRhIHDDoWdpbmEuXG4gICAqIEByZXR1cm5zIEEgVVJMIGNhbsO0bmljYSBkYSBww6FnaW5hLlxuICAgKi9cbiAgcHVibGljIGdldENhbm9uaWNhbEhyZWYoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY2Fub25pY2FsVGFnKSB7XG4gICAgICB0aGlzLmNhbm9uaWNhbFRhZyA9IHRoaXMuZ2V0Q2Fub25pY2FsVGFnKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhbm9uaWNhbFRhZy5ocmVmO1xuICB9XG5cbiAgLyoqIENyaWEgdGFnIHBhcmEgbGlua3MgY2Fub25pY2FscyBubyBoZWFkICovXG4gIHByaXZhdGUgY3JlYXRlQ2Fub25pY2FsVGFnKCk6IEhUTUxMaW5rRWxlbWVudCB7XG4gICAgY29uc3QgdGFnID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgdGFnLnNldEF0dHJpYnV0ZSgncmVsJywgJ2Nhbm9uaWNhbCcpO1xuICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0YWcpO1xuICAgIHRhZy5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB0aGlzLmRvY3VtZW50LlVSTCk7XG4gICAgdGhpcy5jYW5vbmljYWxUYWcgPSB0YWc7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIC8qKiBSZXRvcm5hIHRhZyBwYXJhIGxpbmsgY2Fub25pY2FsIGV4aXN0ZSBvdSBjcmlhIHNlIG7Do28gaG91dmVyLiAqL1xuICBwcml2YXRlIGdldENhbm9uaWNhbFRhZygpOiBIVE1MTGlua0VsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xuICAgIGxldCBpOiBudW1iZXI7XG4gICAgZm9yIChpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBlbGVtID0gZWxlbWVudHNbaV0gYXMgSFRNTExpbmtFbGVtZW50O1xuICAgICAgaWYgKGVsZW0gJiYgZWxlbS50YWdOYW1lID09PSAnTElOSycgJiYgZWxlbS5yZWwgPT09ICdjYW5vbmljYWwnKSB7XG4gICAgICAgIHJldHVybiBlbGVtO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVDYW5vbmljYWxUYWcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgbGluayBjYW5vbmljYWwgZGEgcMOhZ2luYVxuICAgKiBAcGFyYW0gdXJsIHVybCBjYW5vbmljYWxcbiAgICovXG4gIHB1YmxpYyBzZXRDYW5vbmljYWxIcmVmKHVybD86IHN0cmluZykge1xuICAgIGlmICghdGhpcy5jYW5vbmljYWxUYWcpIHtcbiAgICAgIHRoaXMuY2Fub25pY2FsVGFnID0gdGhpcy5nZXRDYW5vbmljYWxUYWcoKTtcbiAgICB9XG5cbiAgICBsZXQgcGF0aCA9IHRoaXMuZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWU7XG5cbiAgICBpZiAodGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCAmJiBwYXRoLmluY2x1ZGVzKHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpKSB7XG4gICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgsICcnKTtcbiAgICB9XG5cbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICBwYXRoID0gYC8ke3BhdGh9YDtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5vbmljYWxVcmwgPSB1cmwgJiYgdGhpcy5pc0N1c3RvbUNhbm9uaWNhbCh1cmwpID8gdXJsIDogYCR7Z2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCl9JHtwYXRofWA7XG5cbiAgICB0aGlzLmNhbm9uaWNhbFRhZy5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBjYW5vbmljYWxVcmwpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNlIGEgVVJMIGZvcm5lY2lkYSDDqSB1bSBsaW5rIGNhbm9uaWNhbCBwZXJzb25hbGl6YWRvXG4gICAqIEBwYXJhbSB1cmwgVVJMIGZvcm5lY2lkYVxuICAgKi9cbiAgcHVibGljIGlzQ3VzdG9tQ2Fub25pY2FsKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIHJldHVybiB1cmwuc3RhcnRzV2l0aChzaXRldXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnTDqW0gdW1hIHVybCB2w6FsaWRhIG5hIGFwbGljYcOnw6NvIHByb3ZlbmllbnRlIGRlIHVtYSBVUkwgZ2VyYWRhXG4gICAqIHBlbG8gcGx1Z2luIFlvYXN0IHBhcmEgY2Fub25pY2FsIGF1dG9tw6F0aWNvLlxuICAgKiBFeC46IGh0dHBzOi8vd3AucmVkZWRvcnNhb2x1aXouY29tLmJyL2JyYXNpbC9lc3BlY2lhbGlkYWRlcy9jYXJkaW9sb2dpYS9cbiAgICogQHBhcmFtIHVybEZyb21XcEFwaSBVUkwgY2Fub25pY2EgZ2VyYWRhIHBlbG8gWW9hc3QgUGx1Z2luLlxuICAgKi9cbiAgdG9Mb2NhbENhbm9uaWNhbCh1cmxGcm9tV3BBcGk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYXBpVXJsID0gdGhpcy5saWJDb25maWc/LndwVXJsID8/ICcnO1xuICAgIGNvbnN0IHNpdGV1cmwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcbiAgICBjb25zdCB1bmlkYWRlU2x1ZyA9IHRoaXMudW5pZGFkZVNsdWc7XG4gICAgbGV0IGNvbnZlcnRlZCA9IHVybEZyb21XcEFwaS5yZXBsYWNlKGFwaVVybCwgc2l0ZXVybCk7XG4gICAgaWYgKHVuaWRhZGVTbHVnICE9PSAnLycgJiYgY29udmVydGVkLmluY2x1ZGVzKGAvJHt1bmlkYWRlU2x1Z30vYCkpIHtcbiAgICAgIGNvbnZlcnRlZCA9IGNvbnZlcnRlZC5yZXBsYWNlKGAvJHt1bmlkYWRlU2x1Z30vYCwgYCR7dGhpcy51bmlkYWRlUGF0aH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnZlcnRlZDtcbiAgfVxuXG4gIGdldFBvc3RDb250ZW50KHBvc3Q6IFdwUG9zdCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29udGVudCA9IHBvc3Q/LmFjZj8uWydyZHNsX3Bvc3RfY29udGVudCddID8gcG9zdD8uYWNmPy5yZHNsX3Bvc3RfY29udGVudD8uZmluZCgoY29udGVudDogYW55KSA9PiBjb250ZW50LmFjZl9mY19sYXlvdXQgPT09ICd0ZXh0X2h0bWwnKSA6IG51bGw7XG4gICAgcmV0dXJuIGNvbnRlbnQ/LmNvbnRlbnQgfHwgcG9zdC5jb250ZW50LnJlbmRlcmVkIHx8ICcnO1xuICB9XG5cbiAgYWRkQXJ0aWNsZVNjcmlwdChwb3N0OiBXcFBvc3QsIHNjcmlwdE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHBvc3RDb250ZW50ID0gdGhpcy5nZXRQb3N0Q29udGVudChwb3N0KTtcbiAgICBjb25zdCBwb3N0SGVhZGVySW1hZ2UgPSBwb3N0Py5hY2Y/LlsncmRzbF9wb3N0X2hlYWRlcl9pbWcnXVxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwb3N0Py5hY2Y/LlsncmRzbF9wb3N0X2hlYWRlcl9pbWcnXS51cmwsXG4gICAgICAgICAgd2lkdGg6IHBvc3Q/LmFjZj8uWydyZHNsX3Bvc3RfaGVhZGVyX2ltZyddLndpZHRoLFxuICAgICAgICAgIGhlaWdodDogcG9zdD8uYWNmPy5bJ3Jkc2xfcG9zdF9oZWFkZXJfaW1nJ10uaGVpZ2h0LFxuICAgICAgICB9XG4gICAgICA6IG51bGw7XG5cbiAgICBjb25zdCBzdHJ1Y3R1cmVkRGF0YSA9IHtcbiAgICAgICdAY29udGV4dCc6ICdodHRwczovL3NjaGVtYS5vcmcnLFxuICAgICAgJ0B0eXBlJzogJ0FydGljbGUnLFxuICAgICAgbWFpbkVudGl0eU9mUGFnZTogYCR7Z2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCl9JHt0aGlzLmxvY2F0aW9uLnBhdGgoKX1gLFxuICAgICAgaGVhZGxpbmU6IHBvc3QudGl0bGU/LnJlbmRlcmVkLFxuICAgICAgZGF0ZVB1Ymxpc2hlZDogcG9zdC5kYXRlX2dtdCxcbiAgICAgIHB1Ymxpc2hlcjoge1xuICAgICAgICAnQHR5cGUnOiAnT3JnYW5pemF0aW9uJyxcbiAgICAgICAgbmFtZTogJ1JlZGUgROKAmU9yJyxcbiAgICAgIH0sXG4gICAgICBkZXNjcmlwdGlvbjogcG9zdC50aXRsZT8ucmVuZGVyZWQsXG4gICAgICBhcnRpY2xlQm9keTogcmVtb3ZlSHRtbFRhZ3MoaGUuZGVjb2RlKHBvc3RDb250ZW50KSksXG4gICAgICBkYXRlTW9kaWZpZWQ6IHBvc3QubW9kaWZpZWRfZ210LFxuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgJ0B0eXBlJzogJ0ltYWdlT2JqZWN0JyxcbiAgICAgICAgdXJsOiBwb3N0SGVhZGVySW1hZ2U/LnVybCB8fCBwb3N0LmZlYXR1cmVkX21lZGlhX3BhdGggfHwgJycsXG4gICAgICAgIGhlaWdodDogcG9zdEhlYWRlckltYWdlPy5oZWlnaHQgfHwgJycsXG4gICAgICAgIHdpZHRoOiBwb3N0SGVhZGVySW1hZ2U/LndpZHRoIHx8ICcnLFxuICAgICAgfSxcbiAgICAgIGF1dGhvcjoge1xuICAgICAgICAnQHR5cGUnOiAnT3JnYW5pemF0aW9uJyxcbiAgICAgICAgbmFtZTogJ1JlZGUgROKAmU9yJyxcbiAgICAgIH0sXG4gICAgICB3b3JkY291bnQ6IHBvc3RDb250ZW50LnNwbGl0KCcgJykubGVuZ3RoLFxuICAgIH07XG5cbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuXG4gICAgc2NyaXB0LnR5cGUgPSAnYXBwbGljYXRpb24vbGQranNvbic7XG4gICAgc2NyaXB0LmlkID0gc2NyaXB0TmFtZTtcbiAgICBzY3JpcHQuaW5uZXJIVE1MID0gSlNPTi5zdHJpbmdpZnkoc3RydWN0dXJlZERhdGEpO1xuXG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gIH1cblxuICByZW1vdmVBcnRpY2xlU2NyaXB0KHNjcmlwdE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2NyaXB0TmFtZSk7XG4gICAgc2NyaXB0Py5yZW1vdmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRVbmlkYWRlKHsgdW5pZGFkZSA9IG51bGwsIHVuaWRhZGVOYW1lID0gJycsIHVuaWRhZGVQYXRoID0gJycsIHVuaWRhZGVTbHVnID0gJycgfTogU2VvVW5pZGFkZSkge1xuICAgIHRoaXMudW5pZGFkZSA9IHVuaWRhZGU7XG4gICAgdGhpcy51bmlkYWRlTmFtZSA9IHVuaWRhZGVOYW1lO1xuICAgIHRoaXMudW5pZGFkZVBhdGggPSB1bmlkYWRlUGF0aDtcbiAgICB0aGlzLnVuaWRhZGVTbHVnID0gdW5pZGFkZVNsdWc7XG4gIH1cbn1cbiJdfQ==
489
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZW8vc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBUXpCLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUsvRCxNQUFNLE9BQU8sVUFBVTtJQXlCckIsWUFDVSxLQUFZLEVBQ1osSUFBVSxFQUNWLFFBQWtCLEVBQ0UsU0FBb0IsRUFDdEIsUUFBa0I7UUFKcEMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLFNBQUksR0FBSixJQUFJLENBQU07UUFDVixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ0UsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBN0J2QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsV0FBVyxDQUFDO1FBRTNCLFdBQU0sR0FBRztZQUNkLG1DQUFtQztZQUNuQyw0Q0FBNEM7WUFDNUMsa0RBQWtEO1lBQ2xELDZCQUE2QjtTQUM5QixDQUFDO1FBQ0ssZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFJeEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0Qix5QkFBb0IsR0FBRyxpQkFBaUIsQ0FBQztRQUUxQyxZQUFPLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRXpCLG1CQUFjLEdBQVUsRUFBRSxDQUFDO0lBUS9CLENBQUM7SUFFRyxVQUFVLENBQUMsSUFBYTtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxjQUFjLENBQUMsT0FBZTtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3QixPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDO1FBQ2pDLE1BQU0sVUFBVSxHQUFHLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNwRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxVQUFVLENBQUMsR0FBVyxFQUFFLE9BQWUsRUFBRSxJQUFJLEdBQUcsTUFBTTtRQUMzRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQUc7WUFDakIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHO1lBQ1gsT0FBTztTQUNSLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTLENBQUMsR0FBVyxFQUFFLE9BQWUsRUFBRSxJQUFZLEVBQUUsSUFBSSxHQUFHLE1BQU07UUFDeEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNyRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZUFBZSxDQUFDLEtBQWEsRUFBRSxXQUFtQixFQUFFLEdBQVcsRUFBRSxNQUFxQixJQUFJO1FBQy9GLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGNBQWMsQ0FBQyxLQUFhLEVBQUUsV0FBbUIsRUFBRSxHQUFXLEVBQUUsTUFBcUIsSUFBSTtRQUM5RixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxVQUFpQztRQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQy9FLElBQUksaUJBQWlCLEdBQXlCO1lBQzVDLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLElBQUksRUFBRTtZQUN6QyxHQUFHLEVBQUUsR0FBRyxPQUFPLEdBQUcsUUFBUSxFQUFFO1lBQzVCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMscUVBQXFFO1NBQ2pKLENBQUM7UUFDRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsaUJBQWlCLEdBQUcsRUFBRSxHQUFHLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDOUQsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUFDO2FBQ3pFLFVBQVUsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUM7YUFDdkUsVUFBVSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQzthQUMvRCxVQUFVLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDO2FBQ2pFLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQzthQUM3RSxVQUFVLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDO2FBQzdELFVBQVUsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVyRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLEtBQWEsRUFBRSxHQUFHLEdBQUcsS0FBSztRQUN4QyxJQUFJLEtBQUssSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUIsS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNSLEtBQUssR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDcEUsQ0FBQztZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxtQ0FBbUM7SUFDNUIsUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sV0FBVyxDQUFDLFlBQW9CLG1CQUFtQjtRQUN4RCxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbEMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0QyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckIsU0FBUyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUM1RSxDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLGNBQWMsU0FBUyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNoRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxXQUFXLENBQUMsWUFBb0IsbUJBQW1CO1FBQ3hELElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNsQyxTQUFTLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqQyxTQUFTLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNyQixTQUFTLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsY0FBYyxTQUFTLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ2hHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELCtDQUErQztJQUN2Qyx3QkFBd0I7UUFDOUIsTUFBTSxHQUFHLEdBQXNCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ25DLEdBQUcsQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLENBQUM7UUFDOUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQseUVBQXlFO0lBQ2pFLHFCQUFxQjtRQUMzQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0MsSUFBSSxDQUFTLENBQUM7UUFDZCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFzQixDQUFDO1lBQzlDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQ2xELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCw2Q0FBNkM7SUFDdEMsa0JBQWtCLENBQUMsS0FBeUI7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sSUFBSSxHQUFHO1lBQ1gsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLGVBQWUsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDO1NBQ3BELENBQUM7UUFDRixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0RBQW9EO0lBQzVDLHNCQUFzQixDQUFDLEtBQXlCO1FBQ3RELE1BQU0sU0FBUyxHQUFHO1lBQ2hCO2dCQUNFLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixRQUFRLEVBQUUsQ0FBQztnQkFDWCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2FBQzlEO1NBQ3pCLENBQUM7UUFDRixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sUUFBUSxHQUF3QjtnQkFDcEMsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQztnQkFDZixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2FBQ3pGLENBQUM7WUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLG9CQUFvQixDQUFDLEdBQWE7UUFDeEMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEMsT0FBTyxHQUFHLE9BQU8sR0FBRyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLE1BQU0sUUFBUSxHQUFHLEdBQUcsV0FBVyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3ZFLE9BQU8sR0FBRyxPQUFPLEdBQUcsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQseUNBQXlDO0lBQ2pDLGFBQWE7UUFDbkIsTUFBTSxHQUFHLEdBQXNCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QixHQUFHLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCx5RUFBeUU7SUFDakUsVUFBVTtRQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0MsSUFBSSxDQUFTLENBQUM7UUFDZCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFzQixDQUFDO1lBQzlDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN2QyxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELHNEQUFzRDtJQUMvQyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWpDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVwRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRXRHLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXpCLE1BQU0sSUFBSSxHQUFHO1lBQ1gsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixRQUFRLEVBQUUsYUFBYTtTQUN4QixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQ0FBZ0M7SUFDeEIsVUFBVTtRQUNoQixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMvRSxPQUFPO1lBQ0wsT0FBTyxFQUFFLGNBQWM7WUFDdkIsS0FBSyxFQUFFLEdBQUcsT0FBTyxlQUFlO1lBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRO1lBQ2xDLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRTtZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFRCxvREFBb0Q7SUFDNUMsY0FBYztRQUNwQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDL0UsT0FBTztZQUNMLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLEtBQUssRUFBRSxHQUFHLE9BQU8sR0FBRyxXQUFXLFVBQVU7WUFDekMsR0FBRyxFQUFFLEdBQUcsT0FBTyxHQUFHLFdBQVcsRUFBRTtZQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUTtTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVELDJCQUEyQjtJQUNuQixjQUFjO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMvRSxNQUFNLFFBQVEsR0FBRyxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDckQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRSxPQUFPO1lBQ0wsT0FBTyxFQUFFLFNBQVM7WUFDbEIsS0FBSyxFQUFFLEdBQUcsUUFBUSxVQUFVO1lBQzVCLEdBQUcsRUFBRSxRQUFRO1lBQ2IsVUFBVSxFQUFFLE9BQU87WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDckIsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxHQUFHLFdBQVcsVUFBVSxFQUFFO1lBQ3ZELEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sZUFBZSxFQUFFO1lBQzNDLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvRyxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCw2Q0FBNkM7SUFDckMsa0JBQWtCO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO1FBQ3hCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELG9FQUFvRTtJQUM1RCxlQUFlO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLENBQVMsQ0FBQztRQUNkLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQW9CLENBQUM7WUFDNUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDaEUsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGdCQUFnQixDQUFDLEdBQVk7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBRTNDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDMUUsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUUzSSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksaUJBQWlCLENBQUMsR0FBVztRQUNsQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMvRSxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsWUFBb0I7UUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxTQUFTLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEQsSUFBSSxXQUFXLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEUsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxXQUFXLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVk7UUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdEosT0FBTyxPQUFPLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLFVBQWtCO1FBQy9DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO1lBQ3pELENBQUMsQ0FBQztnQkFDRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUMsR0FBRztnQkFDNUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEtBQUs7Z0JBQ2hELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxNQUFNO2FBQ25EO1lBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVULE1BQU0sY0FBYyxHQUFHO1lBQ3JCLFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsT0FBTyxFQUFFLFNBQVM7WUFDbEIsZ0JBQWdCLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVHLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVE7WUFDOUIsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsY0FBYztnQkFDdkIsSUFBSSxFQUFFLFdBQVc7YUFDbEI7WUFDRCxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRO1lBQ2pDLFdBQVcsRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuRCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixHQUFHLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUksRUFBRTtnQkFDM0QsTUFBTSxFQUFFLGVBQWUsRUFBRSxNQUFNLElBQUksRUFBRTtnQkFDckMsS0FBSyxFQUFFLGVBQWUsRUFBRSxLQUFLLElBQUksRUFBRTthQUNwQztZQUNELE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsY0FBYztnQkFDdkIsSUFBSSxFQUFFLFdBQVc7YUFDbEI7WUFDRCxTQUFTLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNO1NBQ3pDLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyRCxNQUFNLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVsRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0sVUFBVSxDQUFDLEVBQUUsT0FBTyxHQUFHLElBQUksRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQUUsV0FBVyxHQUFHLEVBQUUsRUFBYztRQUNwRyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDOytHQXRnQlUsVUFBVSxtRkE2QlgsVUFBVSxhQUNWLFFBQVE7bUhBOUJQLFVBQVUsY0FGVCxNQUFNOzs0RkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBOEJJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhLCBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0ICogYXMgaGUgZnJvbSAnaGUnO1xyXG5cclxuaW1wb3J0IHsgU29jaWFsTWV0YVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvc29jaWFsLW1ldGEtcHJvcGVydGllcy5tb2RlbCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJzSXRlbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMtaXRlbXMubW9kZWwnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1ic0pzb25JdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLWpzb24taXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IFNlb0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VvL3Nlby1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgU2VvVW5pZGFkZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZW8vc2VvLXVuaWRhZGUubW9kZWwnO1xyXG5pbXBvcnQgeyBXcFBvc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMvd29yZHByZXNzL3Bvc3QvcG9zdC5tb2RlbCc7XHJcbmltcG9ydCB7IGdldFNpdGVVcmwsIHJlbW92ZUh0bWxUYWdzIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XHJcbmltcG9ydCB7IExJQl9DT05GSUcsIExpYkNvbmZpZyB9IGZyb20gJy4uLy4uL3Rva2Vucy9MaWJDb25maWcnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlb1NlcnZpY2Uge1xyXG4gIHB1YmxpYyBzZXBhcmF0b3IgPSAnIC0gJztcclxuICBwdWJsaWMgZGVmYXVsdFRpdGxlID0gJ1JlZGUgROKAmU9yJztcclxuICBwdWJsaWMgYWN0aXZlRGVzY3JpcHRpb24hOiBzdHJpbmc7XHJcbiAgcHVibGljIHNhbWVBcyA9IFtcclxuICAgICdodHRwczovL3d3dy5mYWNlYm9vay5jb20vcmVkZWRvci8nLFxyXG4gICAgJ2h0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vcmVkZWRvcl9vZmljaWFsLycsXHJcbiAgICAnaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvcmVkZWRvci1zYW9sdWl6JyxcclxuICAgICdodHRwczovL3R3aXR0ZXIuY29tL3JlZGVkb3InLFxyXG4gIF07XHJcbiAgcHVibGljIHR3aXR0ZXJVc2VyID0gJ0ByZWRlZG9yJztcclxuXHJcbiAgcHJpdmF0ZSBjYW5vbmljYWxUYWchOiBIVE1MTGlua0VsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBqc29uVGFnITogSFRNTFNjcmlwdEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBqc29uVGFnSWQgPSAnc2VvSlNPTic7XHJcbiAgcHJpdmF0ZSBicmVhZGNydW1ic0pzb25UYWchOiBIVE1MU2NyaXB0RWxlbWVudDtcclxuICBwcml2YXRlIGJyZWFkY3J1bWJzSnNvblRhZ0lkID0gJ2JyZWFkY3J1bWJzSlNPTic7XHJcblxyXG4gIHB1YmxpYyB1bmlkYWRlOiBhbnkgPSBudWxsO1xyXG4gIHB1YmxpYyB1bmlkYWRlTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIHVuaWRhZGVQYXRoOiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgdW5pZGFkZVNsdWc6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwdWJsaWMgY3VzdG9tSnNvblR5cGU6IGFueVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0aXRsZTogVGl0bGUsXHJcbiAgICBwcml2YXRlIG1ldGE6IE1ldGEsXHJcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgIEBJbmplY3QoTElCX0NPTkZJRykgcHJpdmF0ZSBsaWJDb25maWc6IExpYkNvbmZpZyxcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICkge31cclxuXHJcbiAgcHVibGljIHNldEZ1bGxTZW8oZGF0YTogU2VvRGF0YSkge1xyXG4gICAgdGhpcy5zZXRUaXRsZShkYXRhLnRpdGxlLnRleHQsICEhZGF0YS50aXRsZS5zdWIpO1xyXG4gICAgdGhpcy5zZXREZXNjcmlwdGlvbihkYXRhLmRlc2NyaXB0aW9uKTtcclxuICAgIHRoaXMuc2V0Q2Fub25pY2FsSHJlZihkYXRhLmNhbm9uaWNhbCk7XHJcbiAgICB0aGlzLnNldFBhZ2VKc29uKCk7XHJcbiAgICB0aGlzLnNldFNvY2lhbFRhZ3MoZGF0YS5zb2NpYWxUYWdzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSB0YWcgZGVzY3JpcHRpb24gZGEgcMOhZ2luYVxyXG4gICAqIEBwYXJhbSBjb250ZW50IGNvbnRlw7pkbyBkYSBkZXNjcmnDp8OjbyA8c3RyaW5nPlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXREZXNjcmlwdGlvbihjb250ZW50OiBzdHJpbmcpOiBTZW9TZXJ2aWNlIHtcclxuICAgIGNvbnN0IGRlc2NUYWcgPSB0aGlzLm1ldGEuZ2V0VGFnKFwibmFtZT0nZGVzY3JpcHRpb24nXCIpO1xyXG4gICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgY29udGVudCA9IGhlLmRlY29kZShjb250ZW50KTtcclxuICAgICAgY29udGVudCA9IHJlbW92ZUh0bWxUYWdzKGNvbnRlbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29udGVudCA9ICcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVEZXNjcmlwdGlvbiA9IGNvbnRlbnQ7XHJcbiAgICBjb25zdCB0YWdDb250ZW50ID0geyBuYW1lOiAnZGVzY3JpcHRpb24nLCBjb250ZW50IH07XHJcbiAgICBpZiAoZGVzY1RhZykge1xyXG4gICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHRhZ0NvbnRlbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tZXRhLmFkZFRhZyh0YWdDb250ZW50KTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIG1ldGEgdGFncyBwYXJhIGEgcMOhZ2luYVxyXG4gICAqIEBwYXJhbSB0YWcgbm9tZSBkYSB0YWcgbWV0YVxyXG4gICAqIEBwYXJhbSBjb250ZW50IGNvbnRlw7pkbyBkYSB0YWcgbWV0YVxyXG4gICAqIEBwYXJhbSB0eXBlIHRpcG8gZGUgdGFnIG1ldGFcclxuICAgKi9cclxuICBwdWJsaWMgc2V0TWV0YVRhZyh0YWc6IHN0cmluZywgY29udGVudDogc3RyaW5nLCB0eXBlID0gJ25hbWUnKSB7XHJcbiAgICBjb25zdCBtZXRhdGFnID0gdGhpcy5tZXRhLmdldFRhZyhgJHt0eXBlfT0nJHt0YWd9J2ApO1xyXG4gICAgY29udGVudCA9IGhlLmRlY29kZShjb250ZW50KTtcclxuICAgIGNvbnRlbnQgPSByZW1vdmVIdG1sVGFncyhjb250ZW50KTtcclxuICAgIGNvbnN0IHRhZ0NvbnRlbnQgPSB7XHJcbiAgICAgIFt0eXBlXTogdGFnLFxyXG4gICAgICBjb250ZW50LFxyXG4gICAgfTtcclxuICAgIGlmICghbWV0YXRhZykge1xyXG4gICAgICB0aGlzLm1ldGEuYWRkVGFnKHRhZ0NvbnRlbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh0YWdDb250ZW50KTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIG1ldGEgdGFncyBkYSBww6FnaW5hXHJcbiAgICogQHBhcmFtIHRhZyBub21lIGRhIHRhZyBtZXRhXHJcbiAgICogQHBhcmFtIGNvbnRlbnQgY29udGXDumRvIGRhIHRhZyBtZXRhXHJcbiAgICogQHBhcmFtIGF0dHIgYXRyaWJ1dG8gZGEgdGFnIG1ldGFcclxuICAgKiBAcGFyYW0gdHlwZSB0aXBvIGRlIHRhZyBtZXRhXHJcbiAgICovXHJcbiAgcHVibGljIHJlbW92ZVRhZyh0YWc6IHN0cmluZywgY29udGVudDogc3RyaW5nLCBhdHRyOiBzdHJpbmcsIHR5cGUgPSAnbmFtZScpIHtcclxuICAgIGNvbnN0IG1ldGF0YWcgPSB0aGlzLm1ldGEuZ2V0VGFnKGAke3R5cGV9PScke3RhZ30nYCk7XHJcbiAgICBpZiAobWV0YXRhZykge1xyXG4gICAgICB0aGlzLm1ldGEucmVtb3ZlVGFnKGAke2F0dHJ9PSR7Y29udGVudH1gKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIG1ldGEgdGFncyBwYXJhIEZhY2Vib29rXHJcbiAgICogQHBhcmFtIHRpdGxlIHTDrXR1bG8gcGFyYSBvIGZhY2Vib29rXHJcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIGRlc2NyacOnw6NvIHBhcmEgbyBmYWNlYm9va1xyXG4gICAqIEBwYXJhbSB1cmwgdXJsIHBhcmEgZGVmaW5pw6fDo28gZG8gZmFjZWJvb2tcclxuICAgKiBAcGFyYW0gaW1nIGltYWdlbSBwYXJhIGRlZmluacOnw6NvIG5vIGZhY2Vib29rXHJcbiAgICovXHJcbiAgcHVibGljIHNldE1ldGFGYWNlYm9vayh0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nLCB1cmw6IHN0cmluZywgaW1nOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xyXG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzp1cmwnLCB1cmwsICdwcm9wZXJ0eScpO1xyXG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzp0aXRsZScsIHRpdGxlLCAncHJvcGVydHknKTtcclxuICAgIHRoaXMuc2V0TWV0YVRhZygnb2c6ZGVzY3JpcHRpb24nLCBkZXNjcmlwdGlvbiwgJ3Byb3BlcnR5Jyk7XHJcbiAgICB0aGlzLnNldE1ldGFUYWcoJ29nOnR5cGUnLCAnd2Vic2l0ZScsICdwcm9wZXJ0eScpO1xyXG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzppbWFnZScsIGltZyA/PyAnJywgJ3Byb3BlcnR5Jyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgbWV0YSB0YWdzIHBhcmEgVHdpdHRlclxyXG4gICAqIEBwYXJhbSB0aXRsZSB0w610dWxvIHBhcmEgbyB0d2l0dGVyXHJcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIGRlc2NyacOnw6NvIHBhcmEgbyB0d2l0dGVyXHJcbiAgICogQHBhcmFtIHVybCB1cmwgcGFyYSBvIHR3aXR0ZXJcclxuICAgKiBAcGFyYW0gaW1nIGltYWdlbSBwYXJhIGRlZmluacOnw6NvIG5vIHR3aXR0ZXJcclxuICAgKi9cclxuICBwdWJsaWMgc2V0TWV0YVR3aXR0ZXIodGl0bGU6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZywgdXJsOiBzdHJpbmcsIGltZzogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcclxuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpzaXRlJywgdXJsLCAnbmFtZScpO1xyXG4gICAgdGhpcy5zZXRNZXRhVGFnKCd0d2l0dGVyOnRpdGxlJywgdGl0bGUsICduYW1lJyk7XHJcbiAgICB0aGlzLnNldE1ldGFUYWcoJ3R3aXR0ZXI6ZGVzY3JpcHRpb24nLCBkZXNjcmlwdGlvbiwgJ25hbWUnKTtcclxuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjppbWFnZScsIGltZyA/PyAnJywgJ25hbWUnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSB0YWdzIGRlIHJlZGVzIHNvY2lhaXMgKFR3aXR0ZXIgZSBPcGVuIEdyYXBoKVxyXG4gICAqIEBwYXJhbSBwcm9wZXJ0aWVzXHJcbiAgICovXHJcbiAgc2V0U29jaWFsVGFncyhwcm9wZXJ0aWVzPzogU29jaWFsTWV0YVByb3BlcnRpZXMpIHtcclxuICAgIGNvbnN0IHBhZ2VQYXRoID0gdGhpcy5sb2NhdGlvbi5wYXRoKCk7XHJcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XHJcbiAgICBsZXQgZGVmYXVsdFByb3BlcnRpZXM6IFNvY2lhbE1ldGFQcm9wZXJ0aWVzID0ge1xyXG4gICAgICB0d2l0dGVyQ2FyZDogJ3N1bW1hcnknLFxyXG4gICAgICB0d2l0dGVyU2l0ZTogdGhpcy50d2l0dGVyVXNlcixcclxuICAgICAgdHlwZTogJ3dlYnNpdGUnLFxyXG4gICAgICB0aXRsZTogdGhpcy5nZXRUaXRsZSgpLFxyXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5hY3RpdmVEZXNjcmlwdGlvbiB8fCAnJyxcclxuICAgICAgdXJsOiBgJHtzaXRldXJsfSR7cGFnZVBhdGh9YCxcclxuICAgICAgaW1hZ2U6IHRoaXMubGliQ29uZmlnPy5sb2dvUGF0aCA/IGAke3NpdGV1cmx9JHt0aGlzLmxpYkNvbmZpZy5sb2dvUGF0aH1gIDogJ2h0dHBzOi8vd3d3LnJlZGVkb3JzYW9sdWl6LmNvbS5ici9hc3NldHMvaW1ncy9sb2dvLXJlZGVkb3ItYmx1ZS5wbmcnLFxyXG4gICAgfTtcclxuICAgIGlmIChwcm9wZXJ0aWVzKSB7XHJcbiAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzID0geyAuLi5kZWZhdWx0UHJvcGVydGllcywgLi4ucHJvcGVydGllcyB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRNZXRhVGFnKCd0d2l0dGVyOmNhcmQnLCBkZWZhdWx0UHJvcGVydGllcy50d2l0dGVyQ2FyZCB8fCAnJywgJ25hbWUnKVxyXG4gICAgICAuc2V0TWV0YVRhZygndHdpdHRlcjpzaXRlJywgZGVmYXVsdFByb3BlcnRpZXMudHdpdHRlclNpdGUgfHwgJycsICduYW1lJylcclxuICAgICAgLnNldE1ldGFUYWcoJ29nOnR5cGUnLCBkZWZhdWx0UHJvcGVydGllcy50eXBlIHx8ICcnLCAncHJvcGVydHknKVxyXG4gICAgICAuc2V0TWV0YVRhZygnb2c6dGl0bGUnLCBkZWZhdWx0UHJvcGVydGllcy50aXRsZSB8fCAnJywgJ3Byb3BlcnR5JylcclxuICAgICAgLnNldE1ldGFUYWcoJ29nOmRlc2NyaXB0aW9uJywgZGVmYXVsdFByb3BlcnRpZXMuZGVzY3JpcHRpb24gfHwgJycsICdwcm9wZXJ0eScpXHJcbiAgICAgIC5zZXRNZXRhVGFnKCdvZzp1cmwnLCBkZWZhdWx0UHJvcGVydGllcy51cmwgfHwgJycsICdwcm9wZXJ0eScpXHJcbiAgICAgIC5zZXRNZXRhVGFnKCdvZzppbWFnZScsIGRlZmF1bHRQcm9wZXJ0aWVzLmltYWdlIHx8ICcnLCAncHJvcGVydHknKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSB0w610dWxvIGRhIHDDoWdpbmFcclxuICAgKiBAcGFyYW0gdGl0bGUgdMOtdHVsbyBkYSBww6FnaW5hIDxzdHJpbmc+XHJcbiAgICogQHBhcmFtIHN1YiBTZSDDqSBzdWJzaXRlIGFjcmVzY2VudGEgdW5pZGFkZSA8Ym9vbGVhbj5cclxuICAgKi9cclxuICBwdWJsaWMgc2V0VGl0bGUodGl0bGU6IHN0cmluZywgc3ViID0gZmFsc2UpIHtcclxuICAgIGlmICh0aXRsZSAmJiB0aXRsZSAhPT0gJycpIHtcclxuICAgICAgdGl0bGUgPSBoZS5kZWNvZGUodGl0bGUpO1xyXG4gICAgICB0aXRsZSA9IHJlbW92ZUh0bWxUYWdzKHRpdGxlKTtcclxuICAgICAgaWYgKHN1Yikge1xyXG4gICAgICAgIHRpdGxlID0gaGUuZGVjb2RlKGAke3RpdGxlfSR7dGhpcy5zZXBhcmF0b3J9JHt0aGlzLnVuaWRhZGVOYW1lfWApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudGl0bGUuc2V0VGl0bGUodGl0bGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogT2J0ZW0gdMOtdHVsbyBhdHVhbCBkYSBww6FnaW5hICovXHJcbiAgcHVibGljIGdldFRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50aXRsZS5nZXRUaXRsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldDQwNFRpdGxlKGNvbXBvbmVudDogc3RyaW5nID0gJ0RlZmF1bHQgQ29tcG9uZW50Jykge1xyXG4gICAgaWYgKGNvbXBvbmVudCAmJiBjb21wb25lbnQgIT09ICcnKSB7XHJcbiAgICAgIGNvbXBvbmVudCA9IGhlLmRlY29kZShjb21wb25lbnQpO1xyXG4gICAgICBjb21wb25lbnQgPSByZW1vdmVIdG1sVGFncyhjb21wb25lbnQpO1xyXG4gICAgICBpZiAodGhpcy51bmlkYWRlTmFtZSkge1xyXG4gICAgICAgIGNvbXBvbmVudCA9IGhlLmRlY29kZShgJHtjb21wb25lbnR9JHt0aGlzLnNlcGFyYXRvcn0ke3RoaXMudW5pZGFkZU5hbWV9YCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHRpdGxlID0gYEVycm8gNDA0IC0gJHtjb21wb25lbnR9IC0gJHt0aGlzLmxpYkNvbmZpZz8uc2l0ZU5hbWV9IC0gJHt0aGlzLmxvY2F0aW9uLnBhdGgoKX1gO1xyXG4gICAgdGhpcy50aXRsZS5zZXRUaXRsZSh0aXRsZSk7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQ1MDBUaXRsZShjb21wb25lbnQ6IHN0cmluZyA9ICdEZWZhdWx0IENvbXBvbmVudCcpIHtcclxuICAgIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50ICE9PSAnJykge1xyXG4gICAgICBjb21wb25lbnQgPSBoZS5kZWNvZGUoY29tcG9uZW50KTtcclxuICAgICAgY29tcG9uZW50ID0gcmVtb3ZlSHRtbFRhZ3MoY29tcG9uZW50KTtcclxuICAgICAgaWYgKHRoaXMudW5pZGFkZU5hbWUpIHtcclxuICAgICAgICBjb21wb25lbnQgPSBoZS5kZWNvZGUoYCR7Y29tcG9uZW50fSR7dGhpcy5zZXBhcmF0b3J9JHt0aGlzLnVuaWRhZGVOYW1lfWApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aXRsZSA9IGBFcnJvIDUwMCAtICR7Y29tcG9uZW50fSAtICR7dGhpcy5saWJDb25maWc/LnNpdGVOYW1lfSAtICR7dGhpcy5sb2NhdGlvbi5wYXRoKCl9YDtcclxuICAgIHRoaXMudGl0bGUuc2V0VGl0bGUodGl0bGUpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogQ3JpYSB0YWcgc2NyaXB0IHBhcmEgSlNPTiBkZSBicmVhZGNydW1icyAqL1xyXG4gIHByaXZhdGUgY3JlYXRlQnJlYWRjcnVtYnNKU09OVGFnKCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcclxuICAgIGNvbnN0IHRhZzogSFRNTFNjcmlwdEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgdGFnLmlkID0gdGhpcy5icmVhZGNydW1ic0pzb25UYWdJZDtcclxuICAgIHRhZy50eXBlID0gJ2FwcGxpY2F0aW9uL2xkK2pzb24nO1xyXG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRhZyk7XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZyA9IHRhZztcclxuICAgIHJldHVybiB0YWc7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSB0YWcgcGFyYSBzY3JpcHQganNvbiBkZSBicmVhZGNydW1icyBvdSBjcmlhIHNlIG7Do28gaG91dmVyLiAqL1xyXG4gIHByaXZhdGUgZ2V0QnJlYWRjcnVtYnNKU09OVGFnKCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcclxuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xyXG4gICAgbGV0IGk6IG51bWJlcjtcclxuICAgIGZvciAoaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBlbGVtID0gZWxlbWVudHNbaV0gYXMgSFRNTFNjcmlwdEVsZW1lbnQ7XHJcbiAgICAgIGlmIChlbGVtICYmIGVsZW0uaWQgPT09IHRoaXMuYnJlYWRjcnVtYnNKc29uVGFnSWQpIHtcclxuICAgICAgICByZXR1cm4gZWxlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnNKU09OVGFnKCk7XHJcbiAgfVxyXG5cclxuICAvKiogRGVmaW5lIG8gSlNPTiBkZSBicmVhZGNydW1icyBkYSBww6FnaW5hICovXHJcbiAgcHVibGljIHNldEJyZWFkY3J1bWJzSnNvbihpdGVtczogQnJlYWRjcnVtYnNJdGVtc1tdKSB7XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZyA9IHRoaXMuZ2V0QnJlYWRjcnVtYnNKU09OVGFnKCk7XHJcbiAgICBjb25zdCBqc29uID0ge1xyXG4gICAgICAnQGNvbnRleHQnOiAnaHR0cDovL3NjaGVtYS5vcmcnLFxyXG4gICAgICAnQHR5cGUnOiAnQnJlYWRjcnVtYkxpc3QnLFxyXG4gICAgICBpdGVtTGlzdEVsZW1lbnQ6IHRoaXMuZ2V0SnNvbkJyZWFkY3J1bWJJdGVtcyhpdGVtcyksXHJcbiAgICB9O1xyXG4gICAgdGhpcy5icmVhZGNydW1ic0pzb25UYWcuaW5uZXJIVE1MID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKiBDb252ZXJ0ZSBpdGVucyBkbyBicmVhZGNydW1iIGVtIGl0ZW5zIGRvIEpTT04gKi9cclxuICBwcml2YXRlIGdldEpzb25CcmVhZGNydW1iSXRlbXMoaXRlbXM6IEJyZWFkY3J1bWJzSXRlbXNbXSk6IEJyZWFkY3J1bWJzSnNvbkl0ZW1bXSB7XHJcbiAgICBjb25zdCBqc29uSXRlbXMgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICAnQHR5cGUnOiAnTGlzdEl0ZW0nLFxyXG4gICAgICAgIHBvc2l0aW9uOiAxLFxyXG4gICAgICAgIGl0ZW06IHsgJ0BpZCc6IHRoaXMuZ2V0QnJlYWRjcnVtYkl0ZW1VcmwoWycvJ10pLCBuYW1lOiBoZS5lbmNvZGUoJ1DDoWdpbmEgSW5pY2lhbCcpIH0sXHJcbiAgICAgIH0gYXMgQnJlYWRjcnVtYnNKc29uSXRlbSxcclxuICAgIF07XHJcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IGpzb25JdGVtOiBCcmVhZGNydW1ic0pzb25JdGVtID0ge1xyXG4gICAgICAgICdAdHlwZSc6ICdMaXN0SXRlbScsXHJcbiAgICAgICAgcG9zaXRpb246IGkgKyAyLFxyXG4gICAgICAgIGl0ZW06IHsgJ0BpZCc6IHRoaXMuZ2V0QnJlYWRjcnVtYkl0ZW1VcmwoaXRlbT8udXJsIHx8IFtdKSwgbmFtZTogaGUuZW5jb2RlKGl0ZW0ubGFiZWwpIH0sXHJcbiAgICAgIH07XHJcbiAgICAgIGpzb25JdGVtcy5wdXNoKGpzb25JdGVtKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGpzb25JdGVtcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vbnRhIGEgdXJsIGRvIGl0ZW0gZGUgYnJlYWRjcnVtYiBwcm92ZW5pZW50ZSBkbyBhcnJheSBkZSB1cmxzXHJcbiAgICogb3UgZG8gY2FtaW5obyBkYSBwcsOzcHJpYSBww6FnaW5hLCBjb25mb3JtZSBjYXNvIGRvIMO6bHRpbW8gaXRlbS5cclxuICAgKi9cclxuICBwcml2YXRlIGdldEJyZWFkY3J1bWJJdGVtVXJsKHVybDogc3RyaW5nW10pOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xyXG4gICAgaWYgKCF1cmwgfHwgdXJsLmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgIGNvbnN0IHBhZ2VQYXRoID0gdGhpcy5sb2NhdGlvbi5wYXRoKCk7XHJcbiAgICAgIHJldHVybiBgJHtzaXRldXJsfSR7cGFnZVBhdGh9YDtcclxuICAgIH1cclxuICAgIHVybCA9IHVybC5maWx0ZXIoKHUpID0+IHUgIT09IHRoaXMudW5pZGFkZVBhdGgpO1xyXG4gICAgY29uc3QgdW5pZGFkZVBhdGggPSB0aGlzLmdldFVuaWRhZGVQYXRoKCk7XHJcbiAgICBjb25zdCBmdWxsUGF0aCA9IGAke3VuaWRhZGVQYXRofS8ke3VybC5qb2luKCcvJykucmVwbGFjZSgvXlxcLz8vLCAnJyl9YDtcclxuICAgIHJldHVybiBgJHtzaXRldXJsfSR7ZnVsbFBhdGh9YC5yZXBsYWNlKC9cXC8kLywgJycpO1xyXG4gIH1cclxuXHJcbiAgLyoqIENyaWEgdGFnIHNjcmlwdCBwYXJhIG8gSlNPTiBkZSBTRU8gKi9cclxuICBwcml2YXRlIGNyZWF0ZUpTT05UYWcoKTogSFRNTFNjcmlwdEVsZW1lbnQge1xyXG4gICAgY29uc3QgdGFnOiBIVE1MU2NyaXB0RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICB0YWcuaWQgPSB0aGlzLmpzb25UYWdJZDtcclxuICAgIHRhZy50eXBlID0gJ2FwcGxpY2F0aW9uL2xkK2pzb24nO1xyXG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRhZyk7XHJcbiAgICB0aGlzLmpzb25UYWcgPSB0YWc7XHJcbiAgICByZXR1cm4gdGFnO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldG9ybmEgdGFnIHBhcmEgc2NyaXB0IGpzb24gZGUgYnJlYWRjcnVtYnMgb3UgY3JpYSBzZSBuw6NvIGhvdXZlci4gKi9cclxuICBwcml2YXRlIGdldEpTT05UYWcoKTogSFRNTFNjcmlwdEVsZW1lbnQge1xyXG4gICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLmRvY3VtZW50LmhlYWQuY2hpbGRyZW47XHJcbiAgICBsZXQgaTogbnVtYmVyO1xyXG4gICAgZm9yIChpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSBlbGVtZW50c1tpXSBhcyBIVE1MU2NyaXB0RWxlbWVudDtcclxuICAgICAgaWYgKGVsZW0gJiYgZWxlbS5pZCA9PT0gdGhpcy5qc29uVGFnSWQpIHtcclxuICAgICAgICByZXR1cm4gZWxlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlSlNPTlRhZygpO1xyXG4gIH1cclxuXHJcbiAgLyoqIERlZmluZSBKU09OIHBhcmEgU0VPIHNvbWVudGUgcXVhbmRvIG5vIHNlcnZpZG9yICovXHJcbiAgcHVibGljIHNldFBhZ2VKc29uKCkge1xyXG4gICAgdGhpcy5qc29uVGFnID0gdGhpcy5nZXRKU09OVGFnKCk7XHJcblxyXG4gICAgY29uc3QgYmFzZUdyYXBoID0gW3RoaXMuZ2V0T3JnSnNvbigpLCB0aGlzLmdldFdlYnNpdGVKc29uKCksIHRoaXMuZ2V0V2VicGFnZUpzb24oKV07XHJcblxyXG4gICAgY29uc3QgZXh0ZW5kZWRHcmFwaCA9IHRoaXMuY3VzdG9tSnNvblR5cGUubGVuZ3RoID8gWy4uLmJhc2VHcmFwaCwgLi4udGhpcy5jdXN0b21Kc29uVHlwZV0gOiBiYXNlR3JhcGg7XHJcblxyXG4gICAgdGhpcy5jdXN0b21Kc29uVHlwZSA9IFtdO1xyXG5cclxuICAgIGNvbnN0IGpzb24gPSB7XHJcbiAgICAgICdAY29udGV4dCc6ICdodHRwOi8vc2NoZW1hLm9yZycsXHJcbiAgICAgICdAZ3JhcGgnOiBleHRlbmRlZEdyYXBoLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmpzb25UYWcuaW5uZXJIVE1MID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogT2J0ZW0gSlNPTiBkYSBPcmdhbml6YcOnw6NvICovXHJcbiAgcHJpdmF0ZSBnZXRPcmdKc29uKCkge1xyXG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ0B0eXBlJzogJ09yZ2FuaXphdGlvbicsXHJcbiAgICAgICdAaWQnOiBgJHtzaXRldXJsfSNvcmdhbml6YXRpb25gLFxyXG4gICAgICBuYW1lOiB0aGlzLmRlZmF1bHRUaXRsZSxcclxuICAgICAga2V5d29yZHM6IHRoaXMubGliQ29uZmlnPy5rZXl3b3JkcyxcclxuICAgICAgdXJsOiBgJHtzaXRldXJsfWAsXHJcbiAgICAgIHNhbWVBczogdGhpcy5zYW1lQXMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqIE9idGVtIEpTT04gZG8gV2Vic2l0ZSAocG9ydGFsLCB1bmlkYWRlcywgZXRjKSAqL1xyXG4gIHByaXZhdGUgZ2V0V2Vic2l0ZUpzb24oKSB7XHJcbiAgICBjb25zdCB1bmlkYWRlUGF0aCA9IHRoaXMuZ2V0VW5pZGFkZVBhdGgoKTtcclxuICAgIGNvbnN0IHNpdGV1cmwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICdAdHlwZSc6ICdXZWJTaXRlJyxcclxuICAgICAgJ0BpZCc6IGAke3NpdGV1cmx9JHt1bmlkYWRlUGF0aH0jd2Vic2l0ZWAsXHJcbiAgICAgIHVybDogYCR7c2l0ZXVybH0ke3VuaWRhZGVQYXRofWAsXHJcbiAgICAgIG5hbWU6IHRoaXMudW5pZGFkZU5hbWUsXHJcbiAgICAgIGtleXdvcmRzOiB0aGlzLmxpYkNvbmZpZz8ua2V5d29yZHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqIE9idGVtIEpzb24gZGEgcMOhZ2luYSAqL1xyXG4gIHByaXZhdGUgZ2V0V2VicGFnZUpzb24oKSB7XHJcbiAgICBjb25zdCB1bmlkYWRlUGF0aCA9IHRoaXMuZ2V0VW5pZGFkZVBhdGgoKTtcclxuICAgIGNvbnN0IHNpdGVVUkwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcclxuICAgIGNvbnN0IHBhZ2VQYXRoID0gYCR7c2l0ZVVSTH0ke3RoaXMubG9jYXRpb24ucGF0aCgpfWA7XHJcbiAgICBjb25zdCBkZXNjID0gdGhpcy5hY3RpdmVEZXNjcmlwdGlvbiA/IHRoaXMuYWN0aXZlRGVzY3JpcHRpb24gOiAnJztcclxuICAgIHJldHVybiB7XHJcbiAgICAgICdAdHlwZSc6ICdXZWJQYWdlJyxcclxuICAgICAgJ0BpZCc6IGAke3BhZ2VQYXRofSN3ZWJwYWdlYCxcclxuICAgICAgdXJsOiBwYWdlUGF0aCxcclxuICAgICAgaW5MYW5ndWFnZTogJ3B0LUJSJyxcclxuICAgICAgbmFtZTogdGhpcy5nZXRUaXRsZSgpLFxyXG4gICAgICBpc1BhcnRPZjogeyAnQGlkJzogYCR7c2l0ZVVSTH0ke3VuaWRhZGVQYXRofSN3ZWJzaXRlYCB9LFxyXG4gICAgICBhYm91dDogeyAnQGlkJzogYCR7c2l0ZVVSTH0jb3JnYW5pemF0aW9uYCB9LFxyXG4gICAgICBkZXNjcmlwdGlvbjogZGVzYyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFVuaWRhZGVQYXRoKCkge1xyXG4gICAgbGV0IHVuaWRhZGVQYXRoID0gJyc7XHJcbiAgICBpZiAodGhpcy51bmlkYWRlICYmIHRoaXMudW5pZGFkZVBhdGgpIHtcclxuICAgICAgdW5pZGFkZVBhdGggPSB0aGlzLnVuaWRhZGU/LnBhdGggPT09ICcvJyA/ICcnIDogdGhpcy51bmlkYWRlUGF0aD8uc3Vic3RyaW5nKDAsIHRoaXMudW5pZGFkZVBhdGg/Lmxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuaWRhZGVQYXRoO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT2J0w6ltIGEgVVJMIGNhbsO0bmljYSBkYSBww6FnaW5hLlxyXG4gICAqIEByZXR1cm5zIEEgVVJMIGNhbsO0bmljYSBkYSBww6FnaW5hLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRDYW5vbmljYWxIcmVmKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuY2Fub25pY2FsVGFnKSB7XHJcbiAgICAgIHRoaXMuY2Fub25pY2FsVGFnID0gdGhpcy5nZXRDYW5vbmljYWxUYWcoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNhbm9uaWNhbFRhZy5ocmVmO1xyXG4gIH1cclxuXHJcbiAgLyoqIENyaWEgdGFnIHBhcmEgbGlua3MgY2Fub25pY2FscyBubyBoZWFkICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVDYW5vbmljYWxUYWcoKTogSFRNTExpbmtFbGVtZW50IHtcclxuICAgIGNvbnN0IHRhZyA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgdGFnLnNldEF0dHJpYnV0ZSgncmVsJywgJ2Nhbm9uaWNhbCcpO1xyXG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRhZyk7XHJcbiAgICB0YWcuc2V0QXR0cmlidXRlKCdocmVmJywgdGhpcy5kb2N1bWVudC5VUkwpO1xyXG4gICAgdGhpcy5jYW5vbmljYWxUYWcgPSB0YWc7XHJcbiAgICByZXR1cm4gdGFnO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldG9ybmEgdGFnIHBhcmEgbGluayBjYW5vbmljYWwgZXhpc3RlIG91IGNyaWEgc2UgbsOjbyBob3V2ZXIuICovXHJcbiAgcHJpdmF0ZSBnZXRDYW5vbmljYWxUYWcoKTogSFRNTExpbmtFbGVtZW50IHtcclxuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xyXG4gICAgbGV0IGk6IG51bWJlcjtcclxuICAgIGZvciAoaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBlbGVtID0gZWxlbWVudHNbaV0gYXMgSFRNTExpbmtFbGVtZW50O1xyXG4gICAgICBpZiAoZWxlbSAmJiBlbGVtLnRhZ05hbWUgPT09ICdMSU5LJyAmJiBlbGVtLnJlbCA9PT0gJ2Nhbm9uaWNhbCcpIHtcclxuICAgICAgICByZXR1cm4gZWxlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ2Fub25pY2FsVGFnKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgbGluayBjYW5vbmljYWwgZGEgcMOhZ2luYVxyXG4gICAqIEBwYXJhbSB1cmwgdXJsIGNhbm9uaWNhbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRDYW5vbmljYWxIcmVmKHVybD86IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmNhbm9uaWNhbFRhZykge1xyXG4gICAgICB0aGlzLmNhbm9uaWNhbFRhZyA9IHRoaXMuZ2V0Q2Fub25pY2FsVGFnKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHBhdGggPSB0aGlzLmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lO1xyXG5cclxuICAgIGlmICh0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4ICYmIHBhdGguaW5jbHVkZXModGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCkpIHtcclxuICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSh0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4LCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xyXG4gICAgICBwYXRoID0gYC8ke3BhdGh9YDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjYW5vbmljYWxVcmwgPSB1cmwgJiYgdGhpcy5pc0N1c3RvbUNhbm9uaWNhbCh1cmwpID8gdXJsIDogYCR7Z2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCl9JHtwYXRofWA7XHJcblxyXG4gICAgdGhpcy5jYW5vbmljYWxUYWcuc2V0QXR0cmlidXRlKCdocmVmJywgY2Fub25pY2FsVXJsKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmVyaWZpY2Egc2UgYSBVUkwgZm9ybmVjaWRhIMOpIHVtIGxpbmsgY2Fub25pY2FsIHBlcnNvbmFsaXphZG9cclxuICAgKiBAcGFyYW0gdXJsIFVSTCBmb3JuZWNpZGFcclxuICAgKi9cclxuICBwdWJsaWMgaXNDdXN0b21DYW5vbmljYWwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNpdGV1cmwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcclxuICAgIHJldHVybiB1cmwuc3RhcnRzV2l0aChzaXRldXJsKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9idMOpbSB1bWEgdXJsIHbDoWxpZGEgbmEgYXBsaWNhw6fDo28gcHJvdmVuaWVudGUgZGUgdW1hIFVSTCBnZXJhZGFcclxuICAgKiBwZWxvIHBsdWdpbiBZb2FzdCBwYXJhIGNhbm9uaWNhbCBhdXRvbcOhdGljby5cclxuICAgKiBFeC46IGh0dHBzOi8vd3AucmVkZWRvcnNhb2x1aXouY29tLmJyL2JyYXNpbC9lc3BlY2lhbGlkYWRlcy9jYXJkaW9sb2dpYS9cclxuICAgKiBAcGFyYW0gdXJsRnJvbVdwQXBpIFVSTCBjYW5vbmljYSBnZXJhZGEgcGVsbyBZb2FzdCBQbHVnaW4uXHJcbiAgICovXHJcbiAgdG9Mb2NhbENhbm9uaWNhbCh1cmxGcm9tV3BBcGk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhcGlVcmwgPSB0aGlzLmxpYkNvbmZpZz8ud3BVcmwgPz8gJyc7XHJcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XHJcbiAgICBjb25zdCB1bmlkYWRlU2x1ZyA9IHRoaXMudW5pZGFkZVNsdWc7XHJcbiAgICBsZXQgY29udmVydGVkID0gdXJsRnJvbVdwQXBpLnJlcGxhY2UoYXBpVXJsLCBzaXRldXJsKTtcclxuICAgIGlmICh1bmlkYWRlU2x1ZyAhPT0gJy8nICYmIGNvbnZlcnRlZC5pbmNsdWRlcyhgLyR7dW5pZGFkZVNsdWd9L2ApKSB7XHJcbiAgICAgIGNvbnZlcnRlZCA9IGNvbnZlcnRlZC5yZXBsYWNlKGAvJHt1bmlkYWRlU2x1Z30vYCwgYCR7dGhpcy51bmlkYWRlUGF0aH1gKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb252ZXJ0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRQb3N0Q29udGVudChwb3N0OiBXcFBvc3QpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgY29udGVudCA9IHBvc3Q/LmFjZj8uWydyZHNsX3Bvc3RfY29udGVudCddID8gcG9zdD8uYWNmPy5yZHNsX3Bvc3RfY29udGVudD8uZmluZCgoY29udGVudDogYW55KSA9PiBjb250ZW50LmFjZl9mY19sYXlvdXQgPT09ICd0ZXh0X2h0bWwnKSA6IG51bGw7XHJcbiAgICByZXR1cm4gY29udGVudD8uY29udGVudCB8fCBwb3N0LmNvbnRlbnQucmVuZGVyZWQgfHwgJyc7XHJcbiAgfVxyXG5cclxuICBhZGRBcnRpY2xlU2NyaXB0KHBvc3Q6IFdwUG9zdCwgc2NyaXB0TmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBwb3N0Q29udGVudCA9IHRoaXMuZ2V0UG9zdENvbnRlbnQocG9zdCk7XHJcbiAgICBjb25zdCBwb3N0SGVhZGVySW1hZ2UgPSBwb3N0Py5hY2Y/LlsncmRzbF9wb3N0X2hlYWRlcl9pbWcnXVxyXG4gICAgICA/IHtcclxuICAgICAgICAgIHVybDogcG9zdD8uYWNmPy5bJ3Jkc2xfcG9zdF9oZWFkZXJfaW1nJ10udXJsLFxyXG4gICAgICAgICAgd2lkdGg6IHBvc3Q/LmFjZj8uWydyZHNsX3Bvc3RfaGVhZGVyX2ltZyddLndpZHRoLFxyXG4gICAgICAgICAgaGVpZ2h0OiBwb3N0Py5hY2Y/LlsncmRzbF9wb3N0X2hlYWRlcl9pbWcnXS5oZWlnaHQsXHJcbiAgICAgICAgfVxyXG4gICAgICA6IG51bGw7XHJcblxyXG4gICAgY29uc3Qgc3RydWN0dXJlZERhdGEgPSB7XHJcbiAgICAgICdAY29udGV4dCc6ICdodHRwczovL3NjaGVtYS5vcmcnLFxyXG4gICAgICAnQHR5cGUnOiAnQXJ0aWNsZScsXHJcbiAgICAgIG1haW5FbnRpdHlPZlBhZ2U6IGAke2dldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpfSR7dGhpcy5sb2NhdGlvbi5wYXRoKCl9YCxcclxuICAgICAgaGVhZGxpbmU6IHBvc3QudGl0bGU/LnJlbmRlcmVkLFxyXG4gICAgICBkYXRlUHVibGlzaGVkOiBwb3N0LmRhdGVfZ210LFxyXG4gICAgICBwdWJsaXNoZXI6IHtcclxuICAgICAgICAnQHR5cGUnOiAnT3JnYW5pemF0aW9uJyxcclxuICAgICAgICBuYW1lOiAnUmVkZSBE4oCZT3InLFxyXG4gICAgICB9LFxyXG4gICAgICBkZXNjcmlwdGlvbjogcG9zdC50aXRsZT8ucmVuZGVyZWQsXHJcbiAgICAgIGFydGljbGVCb2R5OiByZW1vdmVIdG1sVGFncyhoZS5kZWNvZGUocG9zdENvbnRlbnQpKSxcclxuICAgICAgZGF0ZU1vZGlmaWVkOiBwb3N0Lm1vZGlmaWVkX2dtdCxcclxuICAgICAgaW1hZ2U6IHtcclxuICAgICAgICAnQHR5cGUnOiAnSW1hZ2VPYmplY3QnLFxyXG4gICAgICAgIHVybDogcG9zdEhlYWRlckltYWdlPy51cmwgfHwgcG9zdC5mZWF0dXJlZF9tZWRpYV9wYXRoIHx8ICcnLFxyXG4gICAgICAgIGhlaWdodDogcG9zdEhlYWRlckltYWdlPy5oZWlnaHQgfHwgJycsXHJcbiAgICAgICAgd2lkdGg6IHBvc3RIZWFkZXJJbWFnZT8ud2lkdGggfHwgJycsXHJcbiAgICAgIH0sXHJcbiAgICAgIGF1dGhvcjoge1xyXG4gICAgICAgICdAdHlwZSc6ICdPcmdhbml6YXRpb24nLFxyXG4gICAgICAgIG5hbWU6ICdSZWRlIETigJlPcicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHdvcmRjb3VudDogcG9zdENvbnRlbnQuc3BsaXQoJyAnKS5sZW5ndGgsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcblxyXG4gICAgc2NyaXB0LnR5cGUgPSAnYXBwbGljYXRpb24vbGQranNvbic7XHJcbiAgICBzY3JpcHQuaWQgPSBzY3JpcHROYW1lO1xyXG4gICAgc2NyaXB0LmlubmVySFRNTCA9IEpTT04uc3RyaW5naWZ5KHN0cnVjdHVyZWREYXRhKTtcclxuXHJcbiAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUFydGljbGVTY3JpcHQoc2NyaXB0TmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcmlwdE5hbWUpO1xyXG4gICAgc2NyaXB0Py5yZW1vdmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRVbmlkYWRlKHsgdW5pZGFkZSA9IG51bGwsIHVuaWRhZGVOYW1lID0gJycsIHVuaWRhZGVQYXRoID0gJycsIHVuaWRhZGVTbHVnID0gJycgfTogU2VvVW5pZGFkZSkge1xyXG4gICAgdGhpcy51bmlkYWRlID0gdW5pZGFkZTtcclxuICAgIHRoaXMudW5pZGFkZU5hbWUgPSB1bmlkYWRlTmFtZTtcclxuICAgIHRoaXMudW5pZGFkZVBhdGggPSB1bmlkYWRlUGF0aDtcclxuICAgIHRoaXMudW5pZGFkZVNsdWcgPSB1bmlkYWRlU2x1ZztcclxuICB9XHJcbn1cclxuIl19