fabrikantencore 2.6.11 → 2.6.13

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 (281) hide show
  1. package/{esm2020 → esm2022}/fabrikantencore.mjs +4 -4
  2. package/{esm2020 → esm2022}/public_api.mjs +12 -12
  3. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.mjs +49 -0
  4. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.mjs +73 -0
  5. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.mjs +54 -0
  6. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-display-ebo/beheer-display-ebo.component.mjs +30 -0
  7. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.mjs +139 -0
  8. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.mjs +211 -0
  9. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.mjs +88 -0
  10. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.mjs +59 -0
  11. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.mjs +99 -0
  12. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.mjs +34 -0
  13. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.mjs +80 -0
  14. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.mjs +49 -0
  15. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.mjs +21 -0
  16. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.mjs +47 -0
  17. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.mjs +56 -0
  18. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +125 -0
  19. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +185 -0
  20. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +216 -0
  21. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap-bereik/beheer-products-eigenschap-bereik.component.mjs +18 -0
  22. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +143 -0
  23. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.mjs +32 -0
  24. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +150 -0
  25. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-rangeinput/beheer-rangeinput.component.mjs +87 -0
  26. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.mjs +85 -0
  27. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.mjs +299 -0
  28. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.mjs +101 -0
  29. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component.mjs +82 -0
  30. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-boolean/beheer-settings-boolean.component.mjs +43 -0
  31. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.mjs +27 -0
  32. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.mjs +27 -0
  33. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.mjs +30 -0
  34. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.mjs +289 -0
  35. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.mjs +143 -0
  36. package/esm2022/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.mjs +158 -0
  37. package/esm2022/src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.mjs +15 -0
  38. package/esm2022/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.mjs +86 -0
  39. package/esm2022/src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.mjs +36 -0
  40. package/esm2022/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.mjs +69 -0
  41. package/esm2022/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.mjs +55 -0
  42. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.mjs +134 -0
  43. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.mjs +320 -0
  44. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.mjs +64 -0
  45. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.mjs +64 -0
  46. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.mjs +94 -0
  47. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.mjs +134 -0
  48. package/esm2022/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +49 -0
  49. package/esm2022/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.mjs +59 -0
  50. package/esm2022/src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.mjs +34 -0
  51. package/esm2022/src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.mjs +18 -0
  52. package/esm2022/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.mjs +63 -0
  53. package/esm2022/src/app/modules/fabrikantencore/components/fab-iframe/fab-iframe.component.mjs +31 -0
  54. package/esm2022/src/app/modules/fabrikantencore/components/fab-input/fab-input.component.mjs +31 -0
  55. package/esm2022/src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.mjs +26 -0
  56. package/esm2022/src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.mjs +16 -0
  57. package/esm2022/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.mjs +53 -0
  58. package/esm2022/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.mjs +45 -0
  59. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.mjs +53 -0
  60. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.mjs +36 -0
  61. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.mjs +24 -0
  62. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.mjs +47 -0
  63. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +115 -0
  64. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.mjs +100 -0
  65. package/esm2022/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.mjs +79 -0
  66. package/esm2022/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.mjs +59 -0
  67. package/esm2022/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.mjs +99 -0
  68. package/esm2022/src/app/modules/fabrikantencore/components/fab-range-input-fold/fab-range-input-fold.component.mjs +45 -0
  69. package/esm2022/src/app/modules/fabrikantencore/components/fab-select-bcbproduct/fab-select-bcbproduct.component.mjs +30 -0
  70. package/esm2022/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +31 -0
  71. package/esm2022/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +75 -0
  72. package/esm2022/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.mjs +48 -0
  73. package/{esm2020 → esm2022}/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.mjs +96 -89
  74. package/esm2022/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +483 -0
  75. package/esm2022/src/app/modules/fabrikantencore/helpers/auth.guard.mjs +33 -0
  76. package/esm2022/src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.mjs +28 -0
  77. package/esm2022/src/app/modules/fabrikantencore/helpers/error.interceptor.mjs +29 -0
  78. package/esm2022/src/app/modules/fabrikantencore/services/authentication.service.mjs +74 -0
  79. package/esm2022/src/app/modules/fabrikantencore/services/bestek.service.mjs +90 -0
  80. package/esm2022/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +988 -0
  81. package/esm2022/src/app/modules/fabrikantencore/services/importsets.service.mjs +137 -0
  82. package/esm2022/src/app/modules/fabrikantencore/services/mobile.service.mjs +50 -0
  83. package/esm2022/src/app/modules/fabrikantencore/services/navigate.service.mjs +42 -0
  84. package/esm2022/src/app/modules/fabrikantencore/services/photo.service.mjs +102 -0
  85. package/esm2022/src/app/modules/fabrikantencore/services/products.service.mjs +223 -0
  86. package/esm2022/src/app/modules/fabrikantencore/services/projectsetting.service.mjs +94 -0
  87. package/esm2022/src/app/modules/fabrikantencore/services/statistics.service.mjs +82 -0
  88. package/esm2022/src/app/modules/fabrikantencore/services/svg.service.mjs +79 -0
  89. package/esm2022/src/app/modules/fabrikantencore/services/texture.service.mjs +31 -0
  90. package/esm2022/src/app/modules/fabrikantencore/services/toebehoren.service.mjs +57 -0
  91. package/esm2022/src/app/modules/fabrikantencore/services/translate.service.mjs +135 -0
  92. package/esm2022/src/app/modules/fabrikantencore/services/webgl.service.mjs +64 -0
  93. package/{esm2020 → esm2022}/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +11481 -10774
  94. package/{fesm2020 → fesm2022}/fabrikantencore.mjs +18860 -17864
  95. package/fesm2022/fabrikantencore.mjs.map +1 -0
  96. package/index.d.ts +5 -5
  97. package/package.json +23 -27
  98. package/public_api.d.ts +12 -12
  99. package/src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.d.ts +14 -14
  100. package/src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.d.ts +22 -22
  101. package/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.d.ts +19 -19
  102. package/src/app/modules/fabrikantencore/beheer/components/beheer-display-ebo/beheer-display-ebo.component.d.ts +11 -11
  103. package/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.d.ts +23 -23
  104. package/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.d.ts +30 -30
  105. package/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.d.ts +24 -24
  106. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.d.ts +20 -20
  107. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.d.ts +29 -29
  108. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.d.ts +14 -14
  109. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.d.ts +23 -23
  110. package/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.d.ts +21 -21
  111. package/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.d.ts +10 -10
  112. package/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.d.ts +19 -19
  113. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.d.ts +17 -17
  114. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.d.ts +34 -34
  115. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.d.ts +36 -36
  116. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.d.ts +30 -30
  117. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap-bereik/beheer-products-eigenschap-bereik.component.d.ts +10 -10
  118. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.d.ts +36 -36
  119. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.d.ts +14 -14
  120. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.d.ts +26 -26
  121. package/src/app/modules/fabrikantencore/beheer/components/beheer-rangeinput/beheer-rangeinput.component.d.ts +17 -17
  122. package/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.d.ts +23 -23
  123. package/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.d.ts +41 -41
  124. package/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.d.ts +30 -30
  125. package/src/app/modules/fabrikantencore/beheer/components/beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component.d.ts +25 -23
  126. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-boolean/beheer-settings-boolean.component.d.ts +14 -14
  127. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.d.ts +12 -12
  128. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.d.ts +12 -12
  129. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.d.ts +11 -11
  130. package/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.d.ts +44 -28
  131. package/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.d.ts +25 -25
  132. package/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.d.ts +51 -51
  133. package/src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.d.ts +8 -8
  134. package/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.d.ts +24 -24
  135. package/src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.d.ts +15 -15
  136. package/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.d.ts +23 -23
  137. package/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.d.ts +22 -22
  138. package/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.d.ts +28 -28
  139. package/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.d.ts +38 -38
  140. package/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.d.ts +22 -22
  141. package/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.d.ts +22 -22
  142. package/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.d.ts +28 -28
  143. package/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.d.ts +28 -28
  144. package/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.d.ts +23 -23
  145. package/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.d.ts +19 -19
  146. package/src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.d.ts +12 -12
  147. package/src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.d.ts +9 -9
  148. package/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.d.ts +20 -20
  149. package/src/app/modules/fabrikantencore/components/fab-iframe/fab-iframe.component.d.ts +12 -12
  150. package/src/app/modules/fabrikantencore/components/fab-input/fab-input.component.d.ts +9 -9
  151. package/src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.d.ts +13 -13
  152. package/src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.d.ts +8 -8
  153. package/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.d.ts +20 -20
  154. package/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.d.ts +20 -20
  155. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.d.ts +23 -23
  156. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.d.ts +15 -15
  157. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.d.ts +12 -12
  158. package/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.d.ts +17 -17
  159. package/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.d.ts +36 -36
  160. package/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.d.ts +28 -28
  161. package/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.d.ts +28 -28
  162. package/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.d.ts +24 -24
  163. package/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.d.ts +25 -25
  164. package/src/app/modules/fabrikantencore/components/fab-range-input-fold/fab-range-input-fold.component.d.ts +20 -20
  165. package/src/app/modules/fabrikantencore/components/fab-select-bcbproduct/fab-select-bcbproduct.component.d.ts +15 -15
  166. package/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.d.ts +15 -15
  167. package/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.d.ts +26 -26
  168. package/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.d.ts +20 -20
  169. package/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.d.ts +25 -25
  170. package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +105 -104
  171. package/src/app/modules/fabrikantencore/helpers/auth.guard.d.ts +11 -11
  172. package/src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.d.ts +11 -11
  173. package/src/app/modules/fabrikantencore/helpers/error.interceptor.d.ts +11 -11
  174. package/src/app/modules/fabrikantencore/services/authentication.service.d.ts +20 -20
  175. package/src/app/modules/fabrikantencore/services/bestek.service.d.ts +20 -20
  176. package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +99 -99
  177. package/src/app/modules/fabrikantencore/services/importsets.service.d.ts +31 -31
  178. package/src/app/modules/fabrikantencore/services/mobile.service.d.ts +19 -19
  179. package/src/app/modules/fabrikantencore/services/navigate.service.d.ts +15 -15
  180. package/src/app/modules/fabrikantencore/services/photo.service.d.ts +20 -20
  181. package/src/app/modules/fabrikantencore/services/products.service.d.ts +31 -31
  182. package/src/app/modules/fabrikantencore/services/projectsetting.service.d.ts +20 -20
  183. package/src/app/modules/fabrikantencore/services/statistics.service.d.ts +17 -17
  184. package/src/app/modules/fabrikantencore/services/svg.service.d.ts +27 -27
  185. package/src/app/modules/fabrikantencore/services/texture.service.d.ts +12 -12
  186. package/src/app/modules/fabrikantencore/services/toebehoren.service.d.ts +18 -18
  187. package/src/app/modules/fabrikantencore/services/translate.service.d.ts +27 -27
  188. package/src/app/modules/fabrikantencore/services/webgl.service.d.ts +21 -21
  189. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +2970 -2955
  190. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.mjs +0 -56
  191. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.mjs +0 -77
  192. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.mjs +0 -49
  193. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-display-ebo/beheer-display-ebo.component.mjs +0 -28
  194. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.mjs +0 -133
  195. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.mjs +0 -225
  196. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.mjs +0 -87
  197. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.mjs +0 -56
  198. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.mjs +0 -90
  199. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.mjs +0 -30
  200. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.mjs +0 -74
  201. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.mjs +0 -44
  202. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.mjs +0 -19
  203. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.mjs +0 -48
  204. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.mjs +0 -56
  205. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +0 -111
  206. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +0 -175
  207. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +0 -208
  208. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap-bereik/beheer-products-eigenschap-bereik.component.mjs +0 -16
  209. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +0 -144
  210. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.mjs +0 -28
  211. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +0 -150
  212. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-rangeinput/beheer-rangeinput.component.mjs +0 -87
  213. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.mjs +0 -89
  214. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.mjs +0 -299
  215. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.mjs +0 -104
  216. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component.mjs +0 -76
  217. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-boolean/beheer-settings-boolean.component.mjs +0 -40
  218. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.mjs +0 -24
  219. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.mjs +0 -24
  220. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.mjs +0 -27
  221. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.mjs +0 -126
  222. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.mjs +0 -143
  223. package/esm2020/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.mjs +0 -147
  224. package/esm2020/src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.mjs +0 -14
  225. package/esm2020/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.mjs +0 -80
  226. package/esm2020/src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.mjs +0 -31
  227. package/esm2020/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.mjs +0 -68
  228. package/esm2020/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.mjs +0 -49
  229. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.mjs +0 -128
  230. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.mjs +0 -305
  231. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.mjs +0 -57
  232. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.mjs +0 -57
  233. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.mjs +0 -88
  234. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.mjs +0 -128
  235. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +0 -42
  236. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.mjs +0 -55
  237. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.mjs +0 -32
  238. package/esm2020/src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.mjs +0 -16
  239. package/esm2020/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.mjs +0 -57
  240. package/esm2020/src/app/modules/fabrikantencore/components/fab-iframe/fab-iframe.component.mjs +0 -29
  241. package/esm2020/src/app/modules/fabrikantencore/components/fab-input/fab-input.component.mjs +0 -29
  242. package/esm2020/src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.mjs +0 -23
  243. package/esm2020/src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.mjs +0 -15
  244. package/esm2020/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.mjs +0 -48
  245. package/esm2020/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.mjs +0 -40
  246. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.mjs +0 -46
  247. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.mjs +0 -32
  248. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.mjs +0 -21
  249. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.mjs +0 -42
  250. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +0 -106
  251. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.mjs +0 -93
  252. package/esm2020/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.mjs +0 -70
  253. package/esm2020/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.mjs +0 -52
  254. package/esm2020/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.mjs +0 -92
  255. package/esm2020/src/app/modules/fabrikantencore/components/fab-range-input-fold/fab-range-input-fold.component.mjs +0 -40
  256. package/esm2020/src/app/modules/fabrikantencore/components/fab-select-bcbproduct/fab-select-bcbproduct.component.mjs +0 -26
  257. package/esm2020/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +0 -26
  258. package/esm2020/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +0 -66
  259. package/esm2020/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.mjs +0 -42
  260. package/esm2020/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +0 -478
  261. package/esm2020/src/app/modules/fabrikantencore/helpers/auth.guard.mjs +0 -30
  262. package/esm2020/src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.mjs +0 -26
  263. package/esm2020/src/app/modules/fabrikantencore/helpers/error.interceptor.mjs +0 -27
  264. package/esm2020/src/app/modules/fabrikantencore/services/authentication.service.mjs +0 -70
  265. package/esm2020/src/app/modules/fabrikantencore/services/bestek.service.mjs +0 -91
  266. package/esm2020/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +0 -1066
  267. package/esm2020/src/app/modules/fabrikantencore/services/importsets.service.mjs +0 -137
  268. package/esm2020/src/app/modules/fabrikantencore/services/mobile.service.mjs +0 -47
  269. package/esm2020/src/app/modules/fabrikantencore/services/navigate.service.mjs +0 -39
  270. package/esm2020/src/app/modules/fabrikantencore/services/photo.service.mjs +0 -99
  271. package/esm2020/src/app/modules/fabrikantencore/services/products.service.mjs +0 -226
  272. package/esm2020/src/app/modules/fabrikantencore/services/projectsetting.service.mjs +0 -90
  273. package/esm2020/src/app/modules/fabrikantencore/services/statistics.service.mjs +0 -82
  274. package/esm2020/src/app/modules/fabrikantencore/services/svg.service.mjs +0 -78
  275. package/esm2020/src/app/modules/fabrikantencore/services/texture.service.mjs +0 -33
  276. package/esm2020/src/app/modules/fabrikantencore/services/toebehoren.service.mjs +0 -58
  277. package/esm2020/src/app/modules/fabrikantencore/services/translate.service.mjs +0 -127
  278. package/esm2020/src/app/modules/fabrikantencore/services/webgl.service.mjs +0 -66
  279. package/fesm2015/fabrikantencore.mjs +0 -18179
  280. package/fesm2015/fabrikantencore.mjs.map +0 -1
  281. package/fesm2020/fabrikantencore.mjs.map +0 -1
@@ -1,143 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { CreateUserModel, DeleteUserModel, EditUserModel, LoginResponseModel, UserViewModel } from '../../../swagger/SwaggerClient';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../swagger/SwaggerClient";
5
- import * as i2 from "../../../services/authentication.service";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/input";
9
- import * as i6 from "@angular/forms";
10
- import * as i7 from "@angular/material/button";
11
- import * as i8 from "@angular/material/card";
12
- import * as i9 from "@angular/material/select";
13
- import * as i10 from "@angular/material/core";
14
- import * as i11 from "../beheer-nav/beheer-nav.component";
15
- import * as i12 from "../../../components/fab-loader/fab-loader.component";
16
- export class BeheerUsersComponent {
17
- constructor(securityApiClient, authenticationService) {
18
- this.securityApiClient = securityApiClient;
19
- this.authenticationService = authenticationService;
20
- this.Loading = false;
21
- this.Overview = true;
22
- this.NewUser = false;
23
- this.EditUser = false;
24
- this.Password = "";
25
- }
26
- ngOnInit() {
27
- this.LoadUsers();
28
- }
29
- Add() {
30
- this.EditUser = false;
31
- this.NewUser = true;
32
- this.Overview = false;
33
- this.UserViewModel = new UserViewModel();
34
- }
35
- Edit(user) {
36
- this.EditUser = true;
37
- this.Overview = false;
38
- this.NewUser = false;
39
- this.UserViewModel = user;
40
- }
41
- Save() {
42
- this.Loading = true;
43
- if (this.NewUser) {
44
- var model = new CreateUserModel();
45
- model.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
46
- model.userName = this.UserViewModel.userName;
47
- model.password = this.Password;
48
- model.userRole = this.UserViewModel.userRole;
49
- this.securityApiClient.createUser(model).subscribe((model) => {
50
- if (!model.success) {
51
- alert(model.message);
52
- }
53
- this.LoadUsers();
54
- }, (error) => {
55
- if (error.status == 400)
56
- console.log(error.json());
57
- else {
58
- console.log('An unexpected error occured');
59
- console.log(error);
60
- }
61
- this.Loading = false;
62
- });
63
- }
64
- else if (this.EditUser) {
65
- var model2 = new EditUserModel();
66
- model2.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
67
- model2.userName = this.UserViewModel.userName;
68
- model2.password = this.Password;
69
- model2.userRole = this.UserViewModel.userRole;
70
- model2.userId = this.UserViewModel.userId;
71
- this.securityApiClient.editUser(model2).subscribe((model) => {
72
- if (!model.success) {
73
- alert(model.message);
74
- }
75
- this.LoadUsers();
76
- }, (error) => {
77
- if (error.status == 400)
78
- console.log(error.json());
79
- else {
80
- console.log('An unexpected error occured');
81
- console.log(error);
82
- }
83
- this.Loading = false;
84
- });
85
- }
86
- }
87
- Cancel() {
88
- this.Overview = true;
89
- this.NewUser = false;
90
- this.EditUser = false;
91
- this.Password = "";
92
- this.UserViewModel = new UserViewModel();
93
- }
94
- Delete(user) {
95
- if (confirm("Weet je het zeker?")) {
96
- this.Loading = true;
97
- var model = new DeleteUserModel();
98
- model.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
99
- model.userId = user.userId;
100
- this.securityApiClient.deleteUser(model).subscribe((model) => {
101
- if (!model.success) {
102
- alert(model.message);
103
- }
104
- this.LoadUsers();
105
- }, (error) => {
106
- if (error.status == 400)
107
- console.log(error.json());
108
- else {
109
- console.log('An unexpected error occured');
110
- console.log(error);
111
- }
112
- this.Loading = false;
113
- });
114
- }
115
- }
116
- LoadUsers() {
117
- this.Loading = true;
118
- this.NewUser = false;
119
- this.EditUser = false;
120
- this.Overview = true;
121
- this.UserViewModel = new UserViewModel();
122
- this.Password = "";
123
- this.securityApiClient.getUsersViewModel(this.authenticationService.currentUserValue).subscribe((model) => {
124
- this.UsersViewModel = model;
125
- this.Loading = false;
126
- }, (error) => {
127
- if (error.status == 400)
128
- console.log(error.json());
129
- else {
130
- console.log('An unexpected error occured');
131
- console.log(error);
132
- }
133
- this.Loading = false;
134
- });
135
- }
136
- }
137
- BeheerUsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerUsersComponent, deps: [{ token: i1.SecurityApiClient }, { token: i2.AuthenticationService }], target: i0.ɵɵFactoryTarget.Component });
138
- BeheerUsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerUsersComponent, selector: "app-beheer-users", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div class=\"displayflex\">\r\n <mat-card class=\"card\">\r\n <mat-card-content>\r\n <div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n </div>\r\n <ng-container *ngIf=\"!Loading\">\r\n <div *ngIf=\"Overview\">\r\n <table>\r\n <tr>\r\n <td class=\"headercell-username\"><b>Username</b></td>\r\n <td class=\"headercell-role\"><b>Role</b></td>\r\n <td class=\"headercell-actions\"></td>\r\n <td class=\"headercell-actions\"></td>\r\n </tr>\r\n <ng-container *ngFor=\"let user of this.UsersViewModel.users\">\r\n <tr>\r\n <td class=\"cell\">{{ user.userName }}</td>\r\n <td class=\"cell\">{{ user.userRoleStr }}</td>\r\n <td>\r\n <button mat-raised-button (click)=\"Edit(user)\">\r\n Edit\r\n </button>\r\n\r\n </td>\r\n <td>\r\n <button mat-raised-button (click)=\"Delete(user)\" [disabled]=\"user.userId == this.UsersViewModel.currentUserId\">\r\n Delete\r\n </button>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n <br />\r\n <br />\r\n <br />\r\n <br />\r\n <button mat-raised-button (click)=\"Add()\">\r\n Add\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"NewUser || EditUser\">\r\n <div>\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label>\r\n Username\r\n </mat-label>\r\n <input matInput type=\"text\" [(ngModel)]=\"this.UserViewModel.userName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label>\r\n Password\r\n </mat-label>\r\n <input matInput type=\"password\" [(ngModel)]=\"Password\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field style=\"width: 100%;\">\r\n <mat-select placeholder=\"Role\" [(ngModel)]=\"UserViewModel.userRole\">\r\n <mat-option [value]=\"0\">\r\n Content\r\n </mat-option>\r\n <mat-option [value]=\"1\">\r\n Administrator\r\n </mat-option>\r\n <!--<mat-option [value]=\"2\">\r\n DeTweeSnoeken\r\n </mat-option>-->\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <br />\r\n <br />\r\n <br />\r\n\r\n <div class=\"displayflex\">\r\n <button mat-raised-button (click)=\"Cancel()\">\r\n Cancel\r\n </button>\r\n <div style=\"flex: auto;\">\r\n\r\n </div>\r\n <button mat-raised-button (click)=\"Save()\">\r\n Save\r\n </button>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n \r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n", styles: [".card{margin:auto}.displayflex{display:flex}.cell{border-bottom:1px solid #000}.headercell-username{min-width:300px}.headercell-role{min-width:200px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i11.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i12.FabLoaderComponent, selector: "app-fab-loader" }] });
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerUsersComponent, decorators: [{
140
- type: Component,
141
- args: [{ selector: 'app-beheer-users', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div class=\"displayflex\">\r\n <mat-card class=\"card\">\r\n <mat-card-content>\r\n <div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n </div>\r\n <ng-container *ngIf=\"!Loading\">\r\n <div *ngIf=\"Overview\">\r\n <table>\r\n <tr>\r\n <td class=\"headercell-username\"><b>Username</b></td>\r\n <td class=\"headercell-role\"><b>Role</b></td>\r\n <td class=\"headercell-actions\"></td>\r\n <td class=\"headercell-actions\"></td>\r\n </tr>\r\n <ng-container *ngFor=\"let user of this.UsersViewModel.users\">\r\n <tr>\r\n <td class=\"cell\">{{ user.userName }}</td>\r\n <td class=\"cell\">{{ user.userRoleStr }}</td>\r\n <td>\r\n <button mat-raised-button (click)=\"Edit(user)\">\r\n Edit\r\n </button>\r\n\r\n </td>\r\n <td>\r\n <button mat-raised-button (click)=\"Delete(user)\" [disabled]=\"user.userId == this.UsersViewModel.currentUserId\">\r\n Delete\r\n </button>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n <br />\r\n <br />\r\n <br />\r\n <br />\r\n <button mat-raised-button (click)=\"Add()\">\r\n Add\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"NewUser || EditUser\">\r\n <div>\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label>\r\n Username\r\n </mat-label>\r\n <input matInput type=\"text\" [(ngModel)]=\"this.UserViewModel.userName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label>\r\n Password\r\n </mat-label>\r\n <input matInput type=\"password\" [(ngModel)]=\"Password\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field style=\"width: 100%;\">\r\n <mat-select placeholder=\"Role\" [(ngModel)]=\"UserViewModel.userRole\">\r\n <mat-option [value]=\"0\">\r\n Content\r\n </mat-option>\r\n <mat-option [value]=\"1\">\r\n Administrator\r\n </mat-option>\r\n <!--<mat-option [value]=\"2\">\r\n DeTweeSnoeken\r\n </mat-option>-->\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <br />\r\n <br />\r\n <br />\r\n\r\n <div class=\"displayflex\">\r\n <button mat-raised-button (click)=\"Cancel()\">\r\n Cancel\r\n </button>\r\n <div style=\"flex: auto;\">\r\n\r\n </div>\r\n <button mat-raised-button (click)=\"Save()\">\r\n Save\r\n </button>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n \r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n", styles: [".card{margin:auto}.displayflex{display:flex}.cell{border-bottom:1px solid #000}.headercell-username{min-width:300px}.headercell-role{min-width:200px}\n"] }]
142
- }], ctorParameters: function () { return [{ type: i1.SecurityApiClient }, { type: i2.AuthenticationService }]; } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXVzZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXVzZXJzL2JlaGVlci11c2Vycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci11c2Vycy9iZWhlZXItdXNlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQXdELGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQU8xTCxNQUFNLE9BQU8sb0JBQW9CO0lBYS9CLFlBQW9CLGlCQUFvQyxFQUM5QyxxQkFBNEM7UUFEbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUM5QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBWi9DLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsYUFBUSxHQUFXLEVBQUUsQ0FBQztJQU82QixDQUFDO0lBRTNELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLEdBQUc7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUss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TyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQTVKVSxvQkFBb0I7cUdBQXBCLG9CQUFvQix3RENUakMsNHlHQXNHQTsyRkQ3RmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDcmVhdGVVc2VyTW9kZWwsIERlbGV0ZVVzZXJNb2RlbCwgRWRpdFVzZXJNb2RlbCwgTG9naW5SZXNwb25zZU1vZGVsLCBTZWN1cml0eUFwaUNsaWVudCwgVXNlclJlc3BvbnNlTW9kZWwsIFVzZXJzVmlld01vZGVsLCBVc2VyVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci11c2VycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci11c2Vycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXVzZXJzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlclVzZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIExvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgT3ZlcnZpZXc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBOZXdVc2VyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIEVkaXRVc2VyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBQYXNzd29yZDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHVibGljIFVzZXJzVmlld01vZGVsOiBVc2Vyc1ZpZXdNb2RlbDtcclxuXHJcbiAgcHVibGljIFVzZXJWaWV3TW9kZWw6IFVzZXJWaWV3TW9kZWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VjdXJpdHlBcGlDbGllbnQ6IFNlY3VyaXR5QXBpQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkVXNlcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBBZGQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkVkaXRVc2VyID0gZmFsc2U7XHJcbiAgICB0aGlzLk5ld1VzZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5PdmVydmlldyA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuVXNlclZpZXdNb2RlbCA9IG5ldyBVc2VyVmlld01vZGVsKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgRWRpdCh1c2VyOiBVc2VyVmlld01vZGVsKSB7XHJcbiAgICB0aGlzLkVkaXRVc2VyID0gdHJ1ZTtcclxuICAgIHRoaXMuT3ZlcnZpZXcgPSBmYWxzZTtcclxuICAgIHRoaXMuTmV3VXNlciA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuVXNlclZpZXdNb2RlbCA9IHVzZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2F2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMuTmV3VXNlcikge1xyXG4gICAgICB2YXIgbW9kZWwgPSBuZXcgQ3JlYXRlVXNlck1vZGVsKCk7XHJcblxyXG4gICAgICBtb2RlbC5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG5cclxuICAgICAgbW9kZWwudXNlck5hbWUgPSB0aGlzLlVzZXJWaWV3TW9kZWwudXNlck5hbWU7XHJcbiAgICAgIG1vZGVsLnBhc3N3b3JkID0gdGhpcy5QYXNzd29yZDtcclxuICAgICAgbW9kZWwudXNlclJvbGUgPSB0aGlzLlVzZXJWaWV3TW9kZWwudXNlclJvbGU7XHJcblxyXG4gICAgICB0aGlzLnNlY3VyaXR5QXBpQ2xpZW50LmNyZWF0ZVVzZXIobW9kZWwpLnN1YnNjcmliZSgobW9kZWw6IFVzZXJSZXNwb25zZU1vZGVsKSA9PiB7XHJcblxyXG4gICAgICAgIGlmICghbW9kZWwuc3VjY2Vzcykge1xyXG4gICAgICAgICAgYWxlcnQobW9kZWwubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLkxvYWRVc2VycygpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5FZGl0VXNlcikge1xyXG4gICAgICB2YXIgbW9kZWwyID0gbmV3IEVkaXRVc2VyTW9kZWwoKTtcclxuXHJcbiAgICAgIG1vZGVsMi5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG5cclxuICAgICAgbW9kZWwyLnVzZXJOYW1lID0gdGhpcy5Vc2VyVmlld01vZGVsLnVzZXJOYW1lO1xyXG4gICAgICBtb2RlbDIucGFzc3dvcmQgPSB0aGlzLlBhc3N3b3JkO1xyXG4gICAgICBtb2RlbDIudXNlclJvbGUgPSB0aGlzLlVzZXJWaWV3TW9kZWwudXNlclJvbGU7XHJcbiAgICAgIG1vZGVsMi51c2VySWQgPSB0aGlzLlVzZXJWaWV3TW9kZWwudXNlcklkO1xyXG5cclxuICAgICAgdGhpcy5zZWN1cml0eUFwaUNsaWVudC5lZGl0VXNlcihtb2RlbDIpLnN1YnNjcmliZSgobW9kZWw6IFVzZXJSZXNwb25zZU1vZGVsKSA9PiB7XHJcbiAgICAgICAgaWYgKCFtb2RlbC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBhbGVydChtb2RlbC5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuTG9hZFVzZXJzKCk7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5PdmVydmlldyA9IHRydWU7XHJcbiAgICB0aGlzLk5ld1VzZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuRWRpdFVzZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuUGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgdGhpcy5Vc2VyVmlld01vZGVsID0gbmV3IFVzZXJWaWV3TW9kZWwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBEZWxldGUodXNlcjogVXNlclZpZXdNb2RlbCkge1xyXG4gICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuICAgICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgIHZhciBtb2RlbCA9IG5ldyBEZWxldGVVc2VyTW9kZWwoKTtcclxuXHJcbiAgICAgIG1vZGVsLmxvZ2luUmVzcG9uc2VNb2RlbCA9IG5ldyBMb2dpblJlc3BvbnNlTW9kZWwodGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZSk7XHJcblxyXG4gICAgICBtb2RlbC51c2VySWQgPSB1c2VyLnVzZXJJZDtcclxuXHJcbiAgICAgIHRoaXMuc2VjdXJpdHlBcGlDbGllbnQuZGVsZXRlVXNlcihtb2RlbCkuc3Vic2NyaWJlKChtb2RlbDogVXNlclJlc3BvbnNlTW9kZWwpID0+IHtcclxuXHJcbiAgICAgICAgaWYgKCFtb2RlbC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBhbGVydChtb2RlbC5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuTG9hZFVzZXJzKCk7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTG9hZFVzZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLk5ld1VzZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuRWRpdFVzZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuT3ZlcnZpZXcgPSB0cnVlO1xyXG4gICAgdGhpcy5Vc2VyVmlld01vZGVsID0gbmV3IFVzZXJWaWV3TW9kZWwoKTtcclxuICAgIHRoaXMuUGFzc3dvcmQgPSBcIlwiO1xyXG5cclxuICAgIHRoaXMuc2VjdXJpdHlBcGlDbGllbnQuZ2V0VXNlcnNWaWV3TW9kZWwodGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZSkuc3Vic2NyaWJlKChtb2RlbDogVXNlcnNWaWV3TW9kZWwpID0+IHtcclxuICAgICAgdGhpcy5Vc2Vyc1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtYmVoZWVyLW5hdj48L2FwcC1iZWhlZXItbmF2PlxyXG5cclxuPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCI+XHJcbiAgPG1hdC1jYXJkIGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJMb2FkaW5nXCI+XHJcbiAgICAgICAgPGFwcC1mYWItbG9hZGVyPjwvYXBwLWZhYi1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIUxvYWRpbmdcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiT3ZlcnZpZXdcIj5cclxuICAgICAgICAgIDx0YWJsZT5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImhlYWRlcmNlbGwtdXNlcm5hbWVcIj48Yj5Vc2VybmFtZTwvYj48L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImhlYWRlcmNlbGwtcm9sZVwiPjxiPlJvbGU8L2I+PC90ZD5cclxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJoZWFkZXJjZWxsLWFjdGlvbnNcIj48L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImhlYWRlcmNlbGwtYWN0aW9uc1wiPjwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVzZXIgb2YgdGhpcy5Vc2Vyc1ZpZXdNb2RlbC51c2Vyc1wiPlxyXG4gICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImNlbGxcIj57eyB1c2VyLnVzZXJOYW1lIH19PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImNlbGxcIj57eyB1c2VyLnVzZXJSb2xlU3RyIH19PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiRWRpdCh1c2VyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEVkaXRcclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiRGVsZXRlKHVzZXIpXCIgW2Rpc2FibGVkXT1cInVzZXIudXNlcklkID09IHRoaXMuVXNlcnNWaWV3TW9kZWwuY3VycmVudFVzZXJJZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIERlbGV0ZVxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJBZGQoKVwiPlxyXG4gICAgICAgICAgICBBZGRcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiTmV3VXNlciB8fCBFZGl0VXNlclwiPlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsd2lkdGhcIj5cclxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgVXNlcm5hbWVcclxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInRoaXMuVXNlclZpZXdNb2RlbC51c2VyTmFtZVwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsd2lkdGhcIj5cclxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgUGFzc3dvcmRcclxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgWyhuZ01vZGVsKV09XCJQYXNzd29yZFwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJSb2xlXCIgWyhuZ01vZGVsKV09XCJVc2VyVmlld01vZGVsLnVzZXJSb2xlXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiMFwiPlxyXG4gICAgICAgICAgICAgICAgICBDb250ZW50XHJcbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiMVwiPlxyXG4gICAgICAgICAgICAgICAgICBBZG1pbmlzdHJhdG9yXHJcbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8IS0tPG1hdC1vcHRpb24gW3ZhbHVlXT1cIjJcIj5cclxuICAgICAgICAgICAgICAgICAgRGVUd2VlU25vZWtlblxyXG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPi0tPlxyXG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgPGJyIC8+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNhbmNlbCgpXCI+XHJcbiAgICAgICAgICAgICAgQ2FuY2VsXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleDogYXV0bztcIj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJTYXZlKClcIj5cclxuICAgICAgICAgICAgICBTYXZlXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIFxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDwvbWF0LWNhcmQ+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,147 +0,0 @@
1
- import { Component, Input, ViewEncapsulation } from '@angular/core';
2
- import { TranslationCategory, TranslationSubCategory } from '../../swagger/SwaggerClient';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/mobile.service";
5
- import * as i2 from "../../services/fabrikanten.service";
6
- import * as i3 from "../../services/translate.service";
7
- import * as i4 from "../../services/bestek.service";
8
- import * as i5 from "../../services/texture.service";
9
- import * as i6 from "../../services/svg.service";
10
- import * as i7 from "../../services/webgl.service";
11
- import * as i8 from "../../services/toebehoren.service";
12
- import * as i9 from "@angular/common";
13
- import * as i10 from "@angular/material/form-field";
14
- import * as i11 from "@angular/forms";
15
- import * as i12 from "@angular/material/button";
16
- import * as i13 from "@angular/material/icon";
17
- import * as i14 from "@angular/material/button-toggle";
18
- import * as i15 from "@angular/material/select";
19
- import * as i16 from "@angular/material/core";
20
- export class FabActionmenuComponent {
21
- constructor(MobileService, FabrikantenService, TranslateService, BestekService, TextureService, SVGService, WebGLService, ToebehorenService, ChangeDetectorRef) {
22
- this.MobileService = MobileService;
23
- this.FabrikantenService = FabrikantenService;
24
- this.TranslateService = TranslateService;
25
- this.BestekService = BestekService;
26
- this.TextureService = TextureService;
27
- this.SVGService = SVGService;
28
- this.WebGLService = WebGLService;
29
- this.ToebehorenService = ToebehorenService;
30
- this.ChangeDetectorRef = ChangeDetectorRef;
31
- }
32
- get TranslationCategory() {
33
- return TranslationCategory;
34
- }
35
- get TranslationSubCategory() {
36
- return TranslationSubCategory;
37
- }
38
- OpenLink(url) {
39
- window.open(url, "_blank");
40
- }
41
- Show3DButtons() {
42
- return this.display == "3D";
43
- }
44
- Show2DButtons() {
45
- return this.display == "2D";
46
- }
47
- ShowBestekButtons() {
48
- return this.display == "Bestek";
49
- }
50
- ShowTextureButtons() {
51
- return this.display == "Texture";
52
- }
53
- ShowToebehorenButtons() {
54
- return this.display == "Toebehoren";
55
- }
56
- ShowBCBButton() {
57
- if (this.FabrikantenService.FabrikantenSettingsViewModel?.showBCBButton == true) {
58
- return true;
59
- }
60
- return false;
61
- }
62
- DownloadBestek() {
63
- if (this.BestekService.TypeBestek == "STABU" && this.BestekService.FabrikantenBestekViewModel.suf != null) {
64
- this.FabrikantenService.DownloadBestek(this.BestekService.FabrikantenBestekViewModel.suf);
65
- }
66
- else if (this.BestekService.TypeBestek == "Vrij" && this.BestekService.fabProductBestek != null) {
67
- this.FabrikantenService.DownloadBestek(this.BestekService.fabProductBestek.nativeElement.innerText);
68
- }
69
- else {
70
- alert("Error: unabled to download specifications");
71
- }
72
- }
73
- CopyToClipBoard() {
74
- if (this.BestekService.fabProductBestek != null) {
75
- this.BestekService.CopyToClipboard(this.BestekService.fabProductBestek.nativeElement.innerText);
76
- }
77
- else {
78
- alert("Error: unabled to copy specifications");
79
- }
80
- }
81
- CopyToClipBoardSUF() {
82
- if (this.BestekService.FabrikantenBestekViewModel.suf != null) {
83
- this.BestekService.CopyToClipboard(this.BestekService.FabrikantenBestekViewModel.suf);
84
- }
85
- else {
86
- alert("Error: unabled to copy specifications");
87
- }
88
- }
89
- ShowBestekSelect() {
90
- if (this.ShowVrij()) {
91
- return true;
92
- }
93
- return false;
94
- }
95
- ShowSTABU() {
96
- return this.BestekService.FabrikantenBestekViewModel?.stabu != '' && this.BestekService.FabrikantenBestekViewModel?.stabu != undefined;
97
- }
98
- ShowSUF() {
99
- return this.BestekService.FabrikantenBestekViewModel?.suf != '' && this.BestekService.FabrikantenBestekViewModel?.suf != undefined;
100
- }
101
- ShowOSF() {
102
- return this.BestekService.FabrikantenBestekViewModel?.osfhtml != '' && this.BestekService.FabrikantenBestekViewModel?.osfhtml != undefined;
103
- }
104
- ShowVrij() {
105
- if (this.FabrikantenService.FabrikantenSettingsViewModel?.enableVrijeBestekTekst == false) {
106
- return false;
107
- }
108
- return this.BestekService.FabrikantenBestekViewModel?.vrijBestekHTML != '' && this.BestekService.FabrikantenBestekViewModel?.vrijBestekHTML != undefined;
109
- }
110
- OpenBCBLink3D() {
111
- this.FabrikantenService.OpenBCBLink(this.WebGLService.Fabrikanten3DViewModel.wuid + "");
112
- }
113
- OpenBCBLink2D() {
114
- this.FabrikantenService.OpenBCBLink(this.SVGService.FabrikantenSVGViewModel.wuid + "");
115
- }
116
- OpenBCBLinkBestek() {
117
- this.FabrikantenService.OpenBCBLink(this.BestekService.FabrikantenBestekViewModel.wuid + "");
118
- }
119
- OpenBCBLinkTexture() {
120
- this.FabrikantenService.OpenBCBLink(this.TextureService.FabrikantenTextureViewModel.wuid + "");
121
- }
122
- OpenBCBLinkToebehoren() {
123
- this.FabrikantenService.OpenBCBLink(this.BestekService.FabrikantenBestekViewModel.wuid + "");
124
- }
125
- DownloadRevit() {
126
- this.FabrikantenService.DownloadRFA(undefined);
127
- }
128
- RefreshSnede() {
129
- if (this.FabrikantenService?.FabrikantenViewModel?.sessionId != null) {
130
- this.SVGService.LoadFabrikantenSVGViewModel(this.FabrikantenService.FabrikantenViewModel.sessionId, this.ChangeDetectorRef);
131
- }
132
- }
133
- RefreshSchaal() {
134
- if (this.FabrikantenService?.FabrikantenViewModel?.sessionId != null) {
135
- this.SVGService.LoadFabrikantenSVGViewModel(this.FabrikantenService.FabrikantenViewModel.sessionId, this.ChangeDetectorRef);
136
- }
137
- }
138
- }
139
- FabActionmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabActionmenuComponent, deps: [{ token: i1.MobileService }, { token: i2.FabrikantenService }, { token: i3.TranslateService }, { token: i4.BestekService }, { token: i5.TextureService }, { token: i6.SVGService }, { token: i7.WebGLService }, { token: i8.ToebehorenService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
140
- FabActionmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabActionmenuComponent, selector: "app-fab-actionmenu", inputs: { display: "display" }, ngImport: i0, template: "<div class=\"column\" *ngIf=\"Show3DButtons()\">\r\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"DownloadRevit()\" *ngIf=\"WebGLService.HasNativeRFA()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadRevit) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadARKEYAdomi) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadIFC) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <!--<button mat-stroked-button class=\"toolbar-button revit-plugin-button\" (click)=\"FabrikantenService.DownloadRevitPlugin(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRevitPluginLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRevitPluginLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadRevitPlugin\") }}</span>\r\n </div>\r\n </div>\r\n </button>-->\r\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" (click)=\"FabrikantenService.Download3DAutoCADDwg(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download3DAutoCADDwg) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-3d-button\" (click)=\"FabrikantenService.Download3DDxf(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DDxfLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download3DDxf) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink3D()\" *ngIf=\"ShowBCBButton()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.BCB) }}\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n\r\n<div class=\"column\" *ngIf=\"Show2DButtons()\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label class=\"select-mat-label\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Snede) }}</mat-label>\r\n <mat-select [(ngModel)]=\"SVGService.Snede\" (selectionChange)=\"RefreshSnede()\">\r\n <mat-option *ngFor=\"let snede of SVGService.Snedes\" [value]=\"snede\">\r\n {{ snede }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label class=\"select-mat-label\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Schaal) }}</mat-label>\r\n <mat-select [(ngModel)]=\"SVGService.Schaal\" (selectionChange)=\"RefreshSchaal()\">\r\n <mat-option [value]=\"'0'\">1:1</mat-option>\r\n <mat-option [value]=\"'1'\">1:2</mat-option>\r\n <mat-option [value]=\"'2'\">1:5</mat-option>\r\n <mat-option [value]=\"'3'\">1:10</mat-option>\r\n <mat-option [value]=\"'4'\">1:20</mat-option>\r\n <mat-option [value]=\"'5'\">1:50</mat-option>\r\n <mat-option [value]=\"'6'\">1:100</mat-option>\r\n <mat-option [value]=\"'7'\">1:200</mat-option>\r\n <mat-option [value]=\"'8'\">1:500</mat-option>\r\n <mat-option [value]=\"'9'\">1:1000</mat-option>\r\n <mat-option [value]=\"'10'\">1:2000</mat-option>\r\n <mat-option [value]=\"'11'\">1:5000</mat-option>\r\n <mat-option [value]=\"'12'\">1:10000</mat-option>\r\n <mat-option [value]=\"'13'\">1:20000</mat-option>\r\n <mat-option [value]=\"'14'\">1:50000</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"DownloadRevit()\" *ngIf=\"SVGService.HasNativeRFA()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadRevit) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadARKEYAdomi) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadIFC) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button autocad-2d-button\" (click)=\"FabrikantenService.Download2DAutoCADDwg(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download2DAutoCADDwg) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-2d-button\" (click)=\"FabrikantenService.Download2DDxf(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DDxfLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download2DDxf) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink2D()\" *ngIf=\"ShowBCBButton()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.BCB) }}\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n\r\n<div class=\"column\" *ngIf=\"ShowBestekButtons()\">\r\n <ng-container *ngIf=\"ShowBestekSelect()\">\r\n <mat-button-toggle-group [value]=\"BestekService.TypeBestek\" (change)=\"BestekService.TypeBestek = $event.source.value\" appearance=\"legacy\">\r\n <mat-button-toggle *ngIf=\"ShowSTABU()\" value=\"STABU\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.STABU) }}</mat-button-toggle>\r\n <mat-button-toggle *ngIf=\"ShowOSF()\" value=\"OSF\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.OSF) }}</mat-button-toggle>\r\n <mat-button-toggle *ngIf=\"ShowVrij()\" value=\"Vrij\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.SpecificationText) }}</mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <div>\r\n &nbsp;\r\n </div>\r\n </ng-container>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"CopyToClipBoard()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon content_copy\">content_copy</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Clipboard) }}\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"CopyToClipBoardSUF()\" *ngIf=\"BestekService.TypeBestek == 'STABU'\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon content_copy\">content_copy</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ClipboardSUF) }}\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"DownloadBestek()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download) }}\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLinkBestek()\" *ngIf=\"ShowBCBButton()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.BCB) }}\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n\r\n<div class=\"column\" *ngIf=\"ShowTextureButtons()\">\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenLink(TextureService.FabrikantenTextureViewModel.patroonURL)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Texture) }}\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenLink(TextureService.FabrikantenTextureViewModel.bumpURL)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Bumpmap) }}\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLinkTexture()\" *ngIf=\"ShowBCBButton()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.BCB) }}\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n\r\n<div class=\"column\" *ngIf=\"ShowToebehorenButtons()\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label class=\"select-mat-label\">Toebehoren</mat-label>\r\n <mat-select [(ngModel)]=\"FabrikantenService.SelectedToebehoren\" (selectionChange)=\"ToebehorenService.OpenToebehoren(this.ChangeDetectorRef)\">\r\n <ng-container *ngFor=\"let item of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren\">\r\n <mat-option *ngIf=\"!item.bcbProduct\" [value]=\"item\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Toebehoren, TranslationSubCategory.Name, item.id) }}\r\n </mat-option>\r\n <mat-option *ngIf=\"item.bcbProduct\" [value]=\"item\">\r\n {{ item.name }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.DownloadARKEYAdomi(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadARKEYAdomi) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.DownloadIFC(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadIFC) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <!--<button mat-stroked-button class=\"toolbar-button revit-plugin-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.DownloadRevitPlugin(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRevitPluginLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRevitPluginLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.RevitPlugin) }}</span>\r\n </div>\r\n </div>\r\n </button>-->\r\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.Download3DAutoCADDwg(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download3DAutoCADDwg) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button autocad-2d-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.Download2DAutoCADDwg(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download2DAutoCADDwg) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-2d-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.Download2DDxf(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DDxfLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download2DDxf) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n", styles: ["app-fab-actionmenu .mat-stroked-button{white-space:unset!important}app-fab-actionmenu .icon{margin-right:3px}app-fab-actionmenu .toolbar-button{margin-top:3px;width:100%}app-fab-actionmenu .row{display:flex;line-height:37px}app-fab-actionmenu .row-icon{align-items:center;display:flex}app-fab-actionmenu .column{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i12.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i14.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i14.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i15.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i16.MatOption, selector: "mat-option", exportAs: ["matOption"] }], encapsulation: i0.ViewEncapsulation.None });
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabActionmenuComponent, decorators: [{
142
- type: Component,
143
- args: [{ selector: 'app-fab-actionmenu', encapsulation: ViewEncapsulation.None, template: "<div class=\"column\" *ngIf=\"Show3DButtons()\">\r\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"DownloadRevit()\" *ngIf=\"WebGLService.HasNativeRFA()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadRevit) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadARKEYAdomi) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadIFC) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <!--<button mat-stroked-button class=\"toolbar-button revit-plugin-button\" (click)=\"FabrikantenService.DownloadRevitPlugin(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRevitPluginLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRevitPluginLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadRevitPlugin\") }}</span>\r\n </div>\r\n </div>\r\n </button>-->\r\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" (click)=\"FabrikantenService.Download3DAutoCADDwg(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download3DAutoCADDwg) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-3d-button\" (click)=\"FabrikantenService.Download3DDxf(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DDxfLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download3DDxf) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink3D()\" *ngIf=\"ShowBCBButton()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.BCB) }}\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n\r\n<div class=\"column\" *ngIf=\"Show2DButtons()\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label class=\"select-mat-label\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Snede) }}</mat-label>\r\n <mat-select [(ngModel)]=\"SVGService.Snede\" (selectionChange)=\"RefreshSnede()\">\r\n <mat-option *ngFor=\"let snede of SVGService.Snedes\" [value]=\"snede\">\r\n {{ snede }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label class=\"select-mat-label\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Schaal) }}</mat-label>\r\n <mat-select [(ngModel)]=\"SVGService.Schaal\" (selectionChange)=\"RefreshSchaal()\">\r\n <mat-option [value]=\"'0'\">1:1</mat-option>\r\n <mat-option [value]=\"'1'\">1:2</mat-option>\r\n <mat-option [value]=\"'2'\">1:5</mat-option>\r\n <mat-option [value]=\"'3'\">1:10</mat-option>\r\n <mat-option [value]=\"'4'\">1:20</mat-option>\r\n <mat-option [value]=\"'5'\">1:50</mat-option>\r\n <mat-option [value]=\"'6'\">1:100</mat-option>\r\n <mat-option [value]=\"'7'\">1:200</mat-option>\r\n <mat-option [value]=\"'8'\">1:500</mat-option>\r\n <mat-option [value]=\"'9'\">1:1000</mat-option>\r\n <mat-option [value]=\"'10'\">1:2000</mat-option>\r\n <mat-option [value]=\"'11'\">1:5000</mat-option>\r\n <mat-option [value]=\"'12'\">1:10000</mat-option>\r\n <mat-option [value]=\"'13'\">1:20000</mat-option>\r\n <mat-option [value]=\"'14'\">1:50000</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"DownloadRevit()\" *ngIf=\"SVGService.HasNativeRFA()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadRevit) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadARKEYAdomi) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadIFC) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button autocad-2d-button\" (click)=\"FabrikantenService.Download2DAutoCADDwg(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download2DAutoCADDwg) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-2d-button\" (click)=\"FabrikantenService.Download2DDxf(undefined)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DDxfLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download2DDxf) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink2D()\" *ngIf=\"ShowBCBButton()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.BCB) }}\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n\r\n<div class=\"column\" *ngIf=\"ShowBestekButtons()\">\r\n <ng-container *ngIf=\"ShowBestekSelect()\">\r\n <mat-button-toggle-group [value]=\"BestekService.TypeBestek\" (change)=\"BestekService.TypeBestek = $event.source.value\" appearance=\"legacy\">\r\n <mat-button-toggle *ngIf=\"ShowSTABU()\" value=\"STABU\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.STABU) }}</mat-button-toggle>\r\n <mat-button-toggle *ngIf=\"ShowOSF()\" value=\"OSF\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.OSF) }}</mat-button-toggle>\r\n <mat-button-toggle *ngIf=\"ShowVrij()\" value=\"Vrij\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.SpecificationText) }}</mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <div>\r\n &nbsp;\r\n </div>\r\n </ng-container>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"CopyToClipBoard()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon content_copy\">content_copy</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Clipboard) }}\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"CopyToClipBoardSUF()\" *ngIf=\"BestekService.TypeBestek == 'STABU'\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon content_copy\">content_copy</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ClipboardSUF) }}\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"DownloadBestek()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download) }}\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLinkBestek()\" *ngIf=\"ShowBCBButton()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.BCB) }}\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n\r\n<div class=\"column\" *ngIf=\"ShowTextureButtons()\">\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenLink(TextureService.FabrikantenTextureViewModel.patroonURL)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Texture) }}\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenLink(TextureService.FabrikantenTextureViewModel.bumpURL)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Bumpmap) }}\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLinkTexture()\" *ngIf=\"ShowBCBButton()\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon open_in_new\">open_in_new</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.BCB) }}\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n\r\n<div class=\"column\" *ngIf=\"ShowToebehorenButtons()\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label class=\"select-mat-label\">Toebehoren</mat-label>\r\n <mat-select [(ngModel)]=\"FabrikantenService.SelectedToebehoren\" (selectionChange)=\"ToebehorenService.OpenToebehoren(this.ChangeDetectorRef)\">\r\n <ng-container *ngFor=\"let item of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren\">\r\n <mat-option *ngIf=\"!item.bcbProduct\" [value]=\"item\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Toebehoren, TranslationSubCategory.Name, item.id) }}\r\n </mat-option>\r\n <mat-option *ngIf=\"item.bcbProduct\" [value]=\"item\">\r\n {{ item.name }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.DownloadARKEYAdomi(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadARKEYAdomi) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.DownloadIFC(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadIFC) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <!--<button mat-stroked-button class=\"toolbar-button revit-plugin-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.DownloadRevitPlugin(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRevitPluginLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRevitPluginLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.RevitPlugin) }}</span>\r\n </div>\r\n </div>\r\n </button>-->\r\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.Download3DAutoCADDwg(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download3DAutoCADDwg) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button autocad-2d-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.Download2DAutoCADDwg(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download2DAutoCADDwg) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-2d-button\" *ngIf=\"FabrikantenService.GetSelectedToebehoren() != null\" (click)=\"FabrikantenService.Download2DDxf(FabrikantenService.GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DDxfLoading\">{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Download2DDxf) }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n", styles: ["app-fab-actionmenu .mat-stroked-button{white-space:unset!important}app-fab-actionmenu .icon{margin-right:3px}app-fab-actionmenu .toolbar-button{margin-top:3px;width:100%}app-fab-actionmenu .row{display:flex;line-height:37px}app-fab-actionmenu .row-icon{align-items:center;display:flex}app-fab-actionmenu .column{display:flex;flex-direction:column}\n"] }]
144
- }], ctorParameters: function () { return [{ type: i1.MobileService }, { type: i2.FabrikantenService }, { type: i3.TranslateService }, { type: i4.BestekService }, { type: i5.TextureService }, { type: i6.SVGService }, { type: i7.WebGLService }, { type: i8.ToebehorenService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { display: [{
145
- type: Input
146
- }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWFjdGlvbm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1hY3Rpb25tZW51L2ZhYi1hY3Rpb25tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItYWN0aW9ubWVudS9mYWItYWN0aW9ubWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQWEsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTOUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVExRixNQUFNLE9BQU8sc0JBQXNCO0lBWWpDLFlBQW1CLGFBQTRCLEVBQ3RDLGtCQUFzQyxFQUN0QyxnQkFBa0MsRUFDbEMsYUFBNEIsRUFDNUIsY0FBOEIsRUFDOUIsVUFBc0IsRUFDdEIsWUFBMEIsRUFDMUIsaUJBQW9DLEVBQ3BDLGlCQUFvQztRQVIxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUN0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQzdDLENBQUM7SUFuQkQsSUFBVyxtQkFBbUI7UUFD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TSxxQkFBcUI7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUU7WUFDcEUsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQzdIO0lBQ0gsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxJQUFJLElBQUksRUFBRTtZQUNwRSxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDN0g7SUFDSCxDQUFDOzttSEFuSlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsMEZDakJuQyx3b2xCQXVWQTsyRkR0VWEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxJQUFJO2lWQVk1QixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZXN0ZWtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYmVzdGVrLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9iaWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21vYmlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU1ZHU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N2Zy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGV4dHVyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZXh0dXJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2ViZWhvcmVuU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RvZWJlaG9yZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFdlYkdMU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dlYmdsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvbkNhdGVnb3J5LCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5IH0gZnJvbSAnLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZhYi1hY3Rpb25tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmFiLWFjdGlvbm1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZhYi1hY3Rpb25tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFiQWN0aW9ubWVudUNvbXBvbmVudCB7XHJcblxyXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25DYXRlZ29yeSgpIHtcclxuICAgIHJldHVybiBUcmFuc2xhdGlvbkNhdGVnb3J5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5KCkge1xyXG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBkaXNwbGF5OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBNb2JpbGVTZXJ2aWNlOiBNb2JpbGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIEZhYnJpa2FudGVuU2VydmljZTogRmFicmlrYW50ZW5TZXJ2aWNlLFxyXG4gICAgcHVibGljIFRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgQmVzdGVrU2VydmljZTogQmVzdGVrU2VydmljZSxcclxuICAgIHB1YmxpYyBUZXh0dXJlU2VydmljZTogVGV4dHVyZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgU1ZHU2VydmljZTogU1ZHU2VydmljZSxcclxuICAgIHB1YmxpYyBXZWJHTFNlcnZpY2U6IFdlYkdMU2VydmljZSxcclxuICAgIHB1YmxpYyBUb2ViZWhvcmVuU2VydmljZTogVG9lYmVob3JlblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT3BlbkxpbmsodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5vcGVuKHVybCwgXCJfYmxhbmtcIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvdzNEQnV0dG9ucygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc3BsYXkgPT0gXCIzRFwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3cyREJ1dHRvbnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5ID09IFwiMkRcIjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93QmVzdGVrQnV0dG9ucygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc3BsYXkgPT0gXCJCZXN0ZWtcIjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93VGV4dHVyZUJ1dHRvbnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5ID09IFwiVGV4dHVyZVwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3dUb2ViZWhvcmVuQnV0dG9ucygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc3BsYXkgPT0gXCJUb2ViZWhvcmVuXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvd0JDQkJ1dHRvbigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblNldHRpbmdzVmlld01vZGVsPy5zaG93QkNCQnV0dG9uID09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIERvd25sb2FkQmVzdGVrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuQmVzdGVrU2VydmljZS5UeXBlQmVzdGVrID09IFwiU1RBQlVcIiAmJiB0aGlzLkJlc3Rla1NlcnZpY2UuRmFicmlrYW50ZW5CZXN0ZWtWaWV3TW9kZWwuc3VmICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRCZXN0ZWsodGhpcy5CZXN0ZWtTZXJ2aWNlLkZhYnJpa2FudGVuQmVzdGVrVmlld01vZGVsLnN1Zik7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLkJlc3Rla1NlcnZpY2UuVHlwZUJlc3RlayA9PSBcIlZyaWpcIiAmJiB0aGlzLkJlc3Rla1NlcnZpY2UuZmFiUHJvZHVjdEJlc3RlayAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkQmVzdGVrKHRoaXMuQmVzdGVrU2VydmljZS5mYWJQcm9kdWN0QmVzdGVrLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBhbGVydChcIkVycm9yOiB1bmFibGVkIHRvIGRvd25sb2FkIHNwZWNpZmljYXRpb25zXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIENvcHlUb0NsaXBCb2FyZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLkJlc3Rla1NlcnZpY2UuZmFiUHJvZHVjdEJlc3RlayAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuQmVzdGVrU2VydmljZS5Db3B5VG9DbGlwYm9hcmQodGhpcy5CZXN0ZWtTZXJ2aWNlLmZhYlByb2R1Y3RCZXN0ZWsubmF0aXZlRWxlbWVudC5pbm5lclRleHQpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGFsZXJ0KFwiRXJyb3I6IHVuYWJsZWQgdG8gY29weSBzcGVjaWZpY2F0aW9uc1wiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBDb3B5VG9DbGlwQm9hcmRTVUYoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5CZXN0ZWtTZXJ2aWNlLkZhYnJpa2FudGVuQmVzdGVrVmlld01vZGVsLnN1ZiAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuQmVzdGVrU2VydmljZS5Db3B5VG9DbGlwYm9hcmQodGhpcy5CZXN0ZWtTZXJ2aWNlLkZhYnJpa2FudGVuQmVzdGVrVmlld01vZGVsLnN1Zik7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgYWxlcnQoXCJFcnJvcjogdW5hYmxlZCB0byBjb3B5IHNwZWNpZmljYXRpb25zXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3dCZXN0ZWtTZWxlY3QoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5TaG93VnJpaigpKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93U1RBQlUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5CZXN0ZWtTZXJ2aWNlLkZhYnJpa2FudGVuQmVzdGVrVmlld01vZGVsPy5zdGFidSAhPSAnJyAmJiB0aGlzLkJlc3Rla1NlcnZpY2UuRmFicmlrYW50ZW5CZXN0ZWtWaWV3TW9kZWw/LnN0YWJ1ICE9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93U1VGKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuQmVzdGVrU2VydmljZS5GYWJyaWthbnRlbkJlc3Rla1ZpZXdNb2RlbD8uc3VmICE9ICcnICYmIHRoaXMuQmVzdGVrU2VydmljZS5GYWJyaWthbnRlbkJlc3Rla1ZpZXdNb2RlbD8uc3VmICE9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93T1NGKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuQmVzdGVrU2VydmljZS5GYWJyaWthbnRlbkJlc3Rla1ZpZXdNb2RlbD8ub3NmaHRtbCAhPSAnJyAmJiB0aGlzLkJlc3Rla1NlcnZpY2UuRmFicmlrYW50ZW5CZXN0ZWtWaWV3TW9kZWw/Lm9zZmh0bWwgIT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3dWcmlqKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuU2V0dGluZ3NWaWV3TW9kZWw/LmVuYWJsZVZyaWplQmVzdGVrVGVrc3QgPT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLkJlc3Rla1NlcnZpY2UuRmFicmlrYW50ZW5CZXN0ZWtWaWV3TW9kZWw/LnZyaWpCZXN0ZWtIVE1MICE9ICcnICYmIHRoaXMuQmVzdGVrU2VydmljZS5GYWJyaWthbnRlbkJlc3Rla1ZpZXdNb2RlbD8udnJpakJlc3Rla0hUTUwgIT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9wZW5CQ0JMaW5rM0QoKTogdm9pZCB7XHJcbiAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5PcGVuQkNCTGluayh0aGlzLldlYkdMU2VydmljZS5GYWJyaWthbnRlbjNEVmlld01vZGVsLnd1aWQgKyBcIlwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcGVuQkNCTGluazJEKCk6IHZvaWQge1xyXG4gICAgdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuT3BlbkJDQkxpbmsodGhpcy5TVkdTZXJ2aWNlLkZhYnJpa2FudGVuU1ZHVmlld01vZGVsLnd1aWQgKyBcIlwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcGVuQkNCTGlua0Jlc3RlaygpOiB2b2lkIHtcclxuICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLk9wZW5CQ0JMaW5rKHRoaXMuQmVzdGVrU2VydmljZS5GYWJyaWthbnRlbkJlc3Rla1ZpZXdNb2RlbC53dWlkICsgXCJcIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT3BlbkJDQkxpbmtUZXh0dXJlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuT3BlbkJDQkxpbmsodGhpcy5UZXh0dXJlU2VydmljZS5GYWJyaWthbnRlblRleHR1cmVWaWV3TW9kZWwud3VpZCArIFwiXCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9wZW5CQ0JMaW5rVG9lYmVob3JlbigpOiB2b2lkIHtcclxuICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLk9wZW5CQ0JMaW5rKHRoaXMuQmVzdGVrU2VydmljZS5GYWJyaWthbnRlbkJlc3Rla1ZpZXdNb2RlbC53dWlkICsgXCJcIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgRG93bmxvYWRSZXZpdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkUkZBKHVuZGVmaW5lZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVmcmVzaFNuZWRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlPy5GYWJyaWthbnRlblZpZXdNb2RlbD8uc2Vzc2lvbklkICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5TVkdTZXJ2aWNlLkxvYWRGYWJyaWthbnRlblNWR1ZpZXdNb2RlbCh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZXNzaW9uSWQsIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlZnJlc2hTY2hhYWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2U/LkZhYnJpa2FudGVuVmlld01vZGVsPy5zZXNzaW9uSWQgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLlNWR1NlcnZpY2UuTG9hZEZhYnJpa2FudGVuU1ZHVmlld01vZGVsKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlc3Npb25JZCwgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb2x1bW5cIiAqbmdJZj1cIlNob3czREJ1dHRvbnMoKVwiPlxyXG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9vbGJhci1idXR0b24gcmZhLWJ1dHRvblwiIChjbGljayk9XCJEb3dubG9hZFJldml0KClcIiAqbmdJZj1cIldlYkdMU2VydmljZS5IYXNOYXRpdmVSRkEoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LWljb25cIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uIGZpbGVfZG93bmxvYWRcIj5maWxlX2Rvd25sb2FkPC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctdGl0bGVcIj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZFJGQUxvYWRpbmdcIj4uLi48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkUkZBTG9hZGluZ1wiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuRG93bmxvYWRSZXZpdCkgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvbiBhcmtleS1hZG9taS1idXR0b25cIiAoY2xpY2spPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkQVJLRVlBZG9taSh1bmRlZmluZWQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkQVJLRVlBZG9taUxvYWRpbmdcIj4uLi48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkQVJLRVlBZG9taUxvYWRpbmdcIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkRvd25sb2FkQVJLRVlBZG9taSkgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvbiBpZmMtYnV0dG9uXCIgKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZElGQyh1bmRlZmluZWQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkSUZDTG9hZGluZ1wiPi4uLjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRJRkNMb2FkaW5nXCI+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5Eb3dubG9hZElGQykgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbiAgPCEtLTxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9vbGJhci1idXR0b24gcmV2aXQtcGx1Z2luLWJ1dHRvblwiIChjbGljayk9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRSZXZpdFBsdWdpbih1bmRlZmluZWQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkUmV2aXRQbHVnaW5Mb2FkaW5nXCI+Li4uPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIUZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZFJldml0UGx1Z2luTG9hZGluZ1wiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuRG93bmxvYWRSZXZpdFBsdWdpblwiKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj4tLT5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uIGF1dG9jYWQtM2QtYnV0dG9uXCIgKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDNEQXV0b0NBRER3Zyh1bmRlZmluZWQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkM0RBdXRvQ0FERHdnTG9hZGluZ1wiPi4uLjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQzREF1dG9DQUREd2dMb2FkaW5nXCI+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5Eb3dubG9hZDNEQXV0b0NBRER3ZykgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvbiBkeGYtM2QtYnV0dG9uXCIgKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDNERHhmKHVuZGVmaW5lZClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBmaWxlX2Rvd25sb2FkXCI+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQzRER4ZkxvYWRpbmdcIj4uLi48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkM0REeGZMb2FkaW5nXCI+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5Eb3dubG9hZDNERHhmKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uXCIgKGNsaWNrKT1cIk9wZW5CQ0JMaW5rM0QoKVwiICpuZ0lmPVwiU2hvd0JDQkJ1dHRvbigpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gb3Blbl9pbl9uZXdcIj5vcGVuX2luX25ldzwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5CQ0IpIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbHVtblwiICpuZ0lmPVwiU2hvdzJEQnV0dG9ucygpXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XHJcbiAgICA8bWF0LWxhYmVsIGNsYXNzPVwic2VsZWN0LW1hdC1sYWJlbFwiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuU25lZGUpIH19PC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIlNWR1NlcnZpY2UuU25lZGVcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIlJlZnJlc2hTbmVkZSgpXCI+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzbmVkZSBvZiBTVkdTZXJ2aWNlLlNuZWRlc1wiIFt2YWx1ZV09XCJzbmVkZVwiPlxyXG4gICAgICAgIHt7IHNuZWRlIH19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxyXG4gICAgPG1hdC1sYWJlbCBjbGFzcz1cInNlbGVjdC1tYXQtbGFiZWxcIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LlNjaGFhbCkgfX08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiU1ZHU2VydmljZS5TY2hhYWxcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIlJlZnJlc2hTY2hhYWwoKVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJzAnXCI+MToxPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJzEnXCI+MToyPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJzInXCI+MTo1PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJzMnXCI+MToxMDwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIic0J1wiPjE6MjA8L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInNSdcIj4xOjUwPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJzYnXCI+MToxMDA8L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInNydcIj4xOjIwMDwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIic4J1wiPjE6NTAwPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJzknXCI+MToxMDAwPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJzEwJ1wiPjE6MjAwMDwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIicxMSdcIj4xOjUwMDA8L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInMTInXCI+MToxMDAwMDwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIicxMydcIj4xOjIwMDAwPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJzE0J1wiPjE6NTAwMDA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uIHJmYS1idXR0b25cIiAoY2xpY2spPVwiRG93bmxvYWRSZXZpdCgpXCIgKm5nSWY9XCJTVkdTZXJ2aWNlLkhhc05hdGl2ZVJGQSgpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkUkZBTG9hZGluZ1wiPi4uLjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRSRkFMb2FkaW5nXCI+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5Eb3dubG9hZFJldml0KSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uIGFya2V5LWFkb21pLWJ1dHRvblwiIChjbGljayk9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRBUktFWUFkb21pKHVuZGVmaW5lZClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBmaWxlX2Rvd25sb2FkXCI+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRBUktFWUFkb21pTG9hZGluZ1wiPi4uLjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRBUktFWUFkb21pTG9hZGluZ1wiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuRG93bmxvYWRBUktFWUFkb21pKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uIGlmYy1idXR0b25cIiAoY2xpY2spPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkSUZDKHVuZGVmaW5lZClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBmaWxlX2Rvd25sb2FkXCI+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRJRkNMb2FkaW5nXCI+Li4uPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIUZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZElGQ0xvYWRpbmdcIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkRvd25sb2FkSUZDKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uIGF1dG9jYWQtMmQtYnV0dG9uXCIgKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDJEQXV0b0NBRER3Zyh1bmRlZmluZWQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkMkRBdXRvQ0FERHdnTG9hZGluZ1wiPi4uLjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQyREF1dG9DQUREd2dMb2FkaW5nXCI+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5Eb3dubG9hZDJEQXV0b0NBRER3ZykgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvbiBkeGYtMmQtYnV0dG9uXCIgKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDJERHhmKHVuZGVmaW5lZClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBmaWxlX2Rvd25sb2FkXCI+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQyRER4ZkxvYWRpbmdcIj4uLi48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkMkREeGZMb2FkaW5nXCI+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5Eb3dubG9hZDJERHhmKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uXCIgKGNsaWNrKT1cIk9wZW5CQ0JMaW5rMkQoKVwiICpuZ0lmPVwiU2hvd0JDQkJ1dHRvbigpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gb3Blbl9pbl9uZXdcIj5vcGVuX2luX25ldzwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5CQ0IpIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbHVtblwiICpuZ0lmPVwiU2hvd0Jlc3Rla0J1dHRvbnMoKVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJTaG93QmVzdGVrU2VsZWN0KClcIj5cclxuICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBbdmFsdWVdPVwiQmVzdGVrU2VydmljZS5UeXBlQmVzdGVrXCIgKGNoYW5nZSk9XCJCZXN0ZWtTZXJ2aWNlLlR5cGVCZXN0ZWsgPSAkZXZlbnQuc291cmNlLnZhbHVlXCIgYXBwZWFyYW5jZT1cImxlZ2FjeVwiPlxyXG4gICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgKm5nSWY9XCJTaG93U1RBQlUoKVwiIHZhbHVlPVwiU1RBQlVcIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LlNUQUJVKSB9fTwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSAqbmdJZj1cIlNob3dPU0YoKVwiIHZhbHVlPVwiT1NGXCI+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5PU0YpIH19PC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlICpuZ0lmPVwiU2hvd1ZyaWooKVwiIHZhbHVlPVwiVnJpalwiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuU3BlY2lmaWNhdGlvblRleHQpIH19PC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAmbmJzcDtcclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9vbGJhci1idXR0b25cIiAoY2xpY2spPVwiQ29weVRvQ2xpcEJvYXJkKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBjb250ZW50X2NvcHlcIj5jb250ZW50X2NvcHk8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuQ2xpcGJvYXJkKSB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9vbGJhci1idXR0b25cIiAoY2xpY2spPVwiQ29weVRvQ2xpcEJvYXJkU1VGKClcIiAqbmdJZj1cIkJlc3Rla1NlcnZpY2UuVHlwZUJlc3RlayA9PSAnU1RBQlUnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gY29udGVudF9jb3B5XCI+Y29udGVudF9jb3B5PC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctdGl0bGVcIj5cclxuICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkNsaXBib2FyZFNVRikgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uXCIgKGNsaWNrKT1cIkRvd25sb2FkQmVzdGVrKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBmaWxlX2Rvd25sb2FkXCI+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5Eb3dubG9hZCkgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uXCIgKGNsaWNrKT1cIk9wZW5CQ0JMaW5rQmVzdGVrKClcIiAqbmdJZj1cIlNob3dCQ0JCdXR0b24oKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LWljb25cIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uIG9wZW5faW5fbmV3XCI+b3Blbl9pbl9uZXc8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuQkNCKSB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJjb2x1bW5cIiAqbmdJZj1cIlNob3dUZXh0dXJlQnV0dG9ucygpXCI+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvblwiIChjbGljayk9XCJPcGVuTGluayhUZXh0dXJlU2VydmljZS5GYWJyaWthbnRlblRleHR1cmVWaWV3TW9kZWwucGF0cm9vblVSTClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBvcGVuX2luX25ld1wiPm9wZW5faW5fbmV3PC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctdGl0bGVcIj5cclxuICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LlRleHR1cmUpIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvblwiIChjbGljayk9XCJPcGVuTGluayhUZXh0dXJlU2VydmljZS5GYWJyaWthbnRlblRleHR1cmVWaWV3TW9kZWwuYnVtcFVSTClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBvcGVuX2luX25ld1wiPm9wZW5faW5fbmV3PC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctdGl0bGVcIj5cclxuICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkJ1bXBtYXApIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvblwiIChjbGljayk9XCJPcGVuQkNCTGlua1RleHR1cmUoKVwiICpuZ0lmPVwiU2hvd0JDQkJ1dHRvbigpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gb3Blbl9pbl9uZXdcIj5vcGVuX2luX25ldzwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5CQ0IpIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbHVtblwiICpuZ0lmPVwiU2hvd1RvZWJlaG9yZW5CdXR0b25zKClcIj5cclxuICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cclxuICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJzZWxlY3QtbWF0LWxhYmVsXCI+VG9lYmVob3JlbjwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJGYWJyaWthbnRlblNlcnZpY2UuU2VsZWN0ZWRUb2ViZWhvcmVuXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJUb2ViZWhvcmVuU2VydmljZS5PcGVuVG9lYmVob3Jlbih0aGlzLkNoYW5nZURldGVjdG9yUmVmKVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIEZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZWxlY3RlZFByb2R1Y3QuZmFicmlrYW50ZW5CQ0JQcm9kdWN0Vmlld01vZGVsc1swXS5iY2JQcm9kdWN0VG9lYmVob3JlblwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiIWl0ZW0uYmNiUHJvZHVjdFwiIFt2YWx1ZV09XCJpdGVtXCI+XHJcbiAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuVG9lYmVob3JlbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5OYW1lLCBpdGVtLmlkKSB9fVxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cIml0ZW0uYmNiUHJvZHVjdFwiIFt2YWx1ZV09XCJpdGVtXCI+XHJcbiAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9vbGJhci1idXR0b24gYXJrZXktYWRvbWktYnV0dG9uXCIgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuR2V0U2VsZWN0ZWRUb2ViZWhvcmVuKCkgIT0gbnVsbFwiIChjbGljayk9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRBUktFWUFkb21pKEZhYnJpa2FudGVuU2VydmljZS5HZXRTZWxlY3RlZFRvZWJlaG9yZW4oKT8uYmNiZWJvSWQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkQVJLRVlBZG9taUxvYWRpbmdcIj4uLi48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkQVJLRVlBZG9taUxvYWRpbmdcIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkRvd25sb2FkQVJLRVlBZG9taSkgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvbiBpZmMtYnV0dG9uXCIgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuR2V0U2VsZWN0ZWRUb2ViZWhvcmVuKCkgIT0gbnVsbFwiIChjbGljayk9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRJRkMoRmFicmlrYW50ZW5TZXJ2aWNlLkdldFNlbGVjdGVkVG9lYmVob3JlbigpPy5iY2JlYm9JZClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBmaWxlX2Rvd25sb2FkXCI+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRJRkNMb2FkaW5nXCI+Li4uPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIUZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZElGQ0xvYWRpbmdcIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkRvd25sb2FkSUZDKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuICA8IS0tPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvbiByZXZpdC1wbHVnaW4tYnV0dG9uXCIgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuR2V0U2VsZWN0ZWRUb2ViZWhvcmVuKCkgIT0gbnVsbFwiIChjbGljayk9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRSZXZpdFBsdWdpbihGYWJyaWthbnRlblNlcnZpY2UuR2V0U2VsZWN0ZWRUb2ViZWhvcmVuKCk/LmJjYmVib0lkKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LWljb25cIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uIGZpbGVfZG93bmxvYWRcIj5maWxlX2Rvd25sb2FkPC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctdGl0bGVcIj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZFJldml0UGx1Z2luTG9hZGluZ1wiPi4uLjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRSZXZpdFBsdWdpbkxvYWRpbmdcIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LlJldml0UGx1Z2luKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj4tLT5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uIGF1dG9jYWQtM2QtYnV0dG9uXCIgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuR2V0U2VsZWN0ZWRUb2ViZWhvcmVuKCkgIT0gbnVsbFwiIChjbGljayk9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQzREF1dG9DQUREd2coRmFicmlrYW50ZW5TZXJ2aWNlLkdldFNlbGVjdGVkVG9lYmVob3JlbigpPy5iY2JlYm9JZClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBmaWxlX2Rvd25sb2FkXCI+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQzREF1dG9DQUREd2dMb2FkaW5nXCI+Li4uPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIUZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDNEQXV0b0NBRER3Z0xvYWRpbmdcIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkRvd25sb2FkM0RBdXRvQ0FERHdnKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uIGF1dG9jYWQtMmQtYnV0dG9uXCIgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuR2V0U2VsZWN0ZWRUb2ViZWhvcmVuKCkgIT0gbnVsbFwiIChjbGljayk9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQyREF1dG9DQUREd2coRmFicmlrYW50ZW5TZXJ2aWNlLkdldFNlbGVjdGVkVG9lYmVob3JlbigpPy5iY2JlYm9JZClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBmaWxlX2Rvd25sb2FkXCI+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQyREF1dG9DQUREd2dMb2FkaW5nXCI+Li4uPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIUZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDJEQXV0b0NBRER3Z0xvYWRpbmdcIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkRvd25sb2FkMkRBdXRvQ0FERHdnKSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uIGR4Zi0yZC1idXR0b25cIiAqbmdJZj1cIkZhYnJpa2FudGVuU2VydmljZS5HZXRTZWxlY3RlZFRvZWJlaG9yZW4oKSAhPSBudWxsXCIgKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDJERHhmKEZhYnJpa2FudGVuU2VydmljZS5HZXRTZWxlY3RlZFRvZWJlaG9yZW4oKT8uYmNiZWJvSWQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkMkREeGZMb2FkaW5nXCI+Li4uPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIUZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDJERHhmTG9hZGluZ1wiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuRG93bmxvYWQyRER4ZikgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,14 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FabBcbProductComponent {
4
- constructor() { }
5
- ngOnInit() {
6
- }
7
- }
8
- FabBcbProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabBcbProductComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- FabBcbProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabBcbProductComponent, selector: "app-fab-bcb-product", ngImport: i0, template: "<p>fab-bcb-product works!</p>\n", styles: [""] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabBcbProductComponent, decorators: [{
11
- type: Component,
12
- args: [{ selector: 'app-fab-bcb-product', template: "<p>fab-bcb-product works!</p>\n" }]
13
- }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWJjYi1wcm9kdWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItYmNiLXByb2R1Y3QvZmFiLWJjYi1wcm9kdWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItYmNiLXByb2R1Y3QvZmFiLWJjYi1wcm9kdWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBT2xELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7O21IQUxVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDJEQ1BuQyxpQ0FDQTsyRkRNYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZhYi1iY2ItcHJvZHVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWItYmNiLXByb2R1Y3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mYWItYmNiLXByb2R1Y3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGYWJCY2JQcm9kdWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiIsIjxwPmZhYi1iY2ItcHJvZHVjdCB3b3JrcyE8L3A+XG4iXX0=