@colijnit/configurator 261.1.1 → 261.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/{fesm2015/colijnit-configurator.js → fesm2022/colijnit-configurator.mjs} +19092 -18478
  2. package/fesm2022/colijnit-configurator.mjs.map +1 -0
  3. package/index.d.ts +3301 -0
  4. package/lib/components/answer-card/style/_layout.scss +3 -3
  5. package/lib/components/answers-slideout/style/_layout.scss +1 -0
  6. package/package.json +17 -13
  7. package/bundles/colijnit-configurator.umd.js +0 -20167
  8. package/bundles/colijnit-configurator.umd.js.map +0 -1
  9. package/colijnit-configurator.d.ts +0 -5
  10. package/esm2015/colijnit-configurator.js +0 -5
  11. package/esm2015/lib/builder.js +0 -795
  12. package/esm2015/lib/components/answer-card/answer-card.component.js +0 -313
  13. package/esm2015/lib/components/answer-card/answer-card.module.js +0 -50
  14. package/esm2015/lib/components/answer-info-dialog/answer-info-dialog.component.js +0 -182
  15. package/esm2015/lib/components/answer-info-dialog/answer-info-dialog.module.js +0 -34
  16. package/esm2015/lib/components/answers-slideout/answers-slideout.component.js +0 -490
  17. package/esm2015/lib/components/answers-slideout/answers-slideout.module.js +0 -61
  18. package/esm2015/lib/components/color-filter/color-filter.component.js +0 -59
  19. package/esm2015/lib/components/color-filter/color-filter.module.js +0 -26
  20. package/esm2015/lib/components/configurator/configurator.component.js +0 -133
  21. package/esm2015/lib/components/configurator/configurator.module.js +0 -42
  22. package/esm2015/lib/components/configurator-dialog/configurator-camera-settings.component.js +0 -222
  23. package/esm2015/lib/components/configurator-dialog/configurator-dialog.module.js +0 -48
  24. package/esm2015/lib/components/configurator-dialog/configurator-error-dialog.component.js +0 -82
  25. package/esm2015/lib/components/configurator-dialog/configurator-export-dialog.component.js +0 -163
  26. package/esm2015/lib/components/configurator-loader/configurator-loader.component.js +0 -49
  27. package/esm2015/lib/components/configurator-loader/configurator-loader.module.js +0 -33
  28. package/esm2015/lib/components/configurator-scene/configurator-scene.component.js +0 -60
  29. package/esm2015/lib/components/configurator-scene/configurator-scene.module.js +0 -17
  30. package/esm2015/lib/components/configurator-scene-loader/configurator-scene-loader.component.js +0 -46
  31. package/esm2015/lib/components/configurator-scene-loader/configurator-scene-loader.module.js +0 -26
  32. package/esm2015/lib/components/element-buttons/element-buttons.component.js +0 -168
  33. package/esm2015/lib/components/element-buttons/element-buttons.module.js +0 -30
  34. package/esm2015/lib/components/element-toolbar/element-toolbar.component.js +0 -186
  35. package/esm2015/lib/components/element-toolbar/element-toolbar.module.js +0 -34
  36. package/esm2015/lib/components/image-zoom/image-zoom.component.js +0 -61
  37. package/esm2015/lib/components/image-zoom/image-zoom.module.js +0 -30
  38. package/esm2015/lib/components/lite-selector/lite-selector.component.js +0 -206
  39. package/esm2015/lib/components/lite-selector/lite-selector.module.js +0 -34
  40. package/esm2015/lib/components/product-configurator/product-configurator.component.js +0 -184
  41. package/esm2015/lib/components/product-configurator/product-configurator.module.js +0 -72
  42. package/esm2015/lib/components/product-configurator-selector/product-configurator-selector.component.js +0 -237
  43. package/esm2015/lib/components/product-configurator-selector/product-configurator-selector.module.js +0 -38
  44. package/esm2015/lib/components/product-configurator-selector-option/product-configurator-selector-option.component.js +0 -284
  45. package/esm2015/lib/components/product-configurator-selector-option/product-configurator-selector-option.module.js +0 -42
  46. package/esm2015/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.component.js +0 -72
  47. package/esm2015/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.module.js +0 -34
  48. package/esm2015/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.component.js +0 -82
  49. package/esm2015/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.module.js +0 -30
  50. package/esm2015/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.component.js +0 -80
  51. package/esm2015/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.module.js +0 -34
  52. package/esm2015/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.component.js +0 -93
  53. package/esm2015/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.module.js +0 -34
  54. package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -55
  55. package/esm2015/lib/components/progress-bar/progress-bar.module.js +0 -29
  56. package/esm2015/lib/components/scene-options/scene-options.component.js +0 -164
  57. package/esm2015/lib/components/scene-options/scene-options.module.js +0 -38
  58. package/esm2015/lib/components/selections-summary/selections-summary.component.js +0 -163
  59. package/esm2015/lib/components/selections-summary/selections-summary.module.js +0 -45
  60. package/esm2015/lib/components/selections-summary-line/selections-summary-line.component.js +0 -171
  61. package/esm2015/lib/components/selections-summary-line/selections-summary-line.module.js +0 -34
  62. package/esm2015/lib/components/slideout/slideout.component.js +0 -83
  63. package/esm2015/lib/components/slideout/slideout.module.js +0 -17
  64. package/esm2015/lib/components/summary-line/summary-line.component.js +0 -273
  65. package/esm2015/lib/components/summary-line/summary-line.module.js +0 -44
  66. package/esm2015/lib/components/tag-filter/tag-filter.component.js +0 -39
  67. package/esm2015/lib/components/tag-filter/tag-filter.module.js +0 -21
  68. package/esm2015/lib/components/threedselector/threedselector.component.js +0 -155
  69. package/esm2015/lib/components/threedselector/threedselector.module.js +0 -34
  70. package/esm2015/lib/core/helper/variation-helper.js +0 -553
  71. package/esm2015/lib/core/shader/floor-fade.shader.js +0 -33
  72. package/esm2015/lib/core/textures/depth-data-texture.js +0 -19
  73. package/esm2015/lib/directives/directives.module.js +0 -26
  74. package/esm2015/lib/directives/visibility-observer-master.directive.js +0 -53
  75. package/esm2015/lib/directives/visibility-observer.directive.js +0 -54
  76. package/esm2015/lib/enum/ar-feature.enum.js +0 -14
  77. package/esm2015/lib/enum/configuration-key.enum.js +0 -41
  78. package/esm2015/lib/enum/configuration-template.enum.js +0 -6
  79. package/esm2015/lib/enum/device-size-type.js +0 -7
  80. package/esm2015/lib/enum/device-tier.enum.js +0 -7
  81. package/esm2015/lib/enum/icon.enum.js +0 -113
  82. package/esm2015/lib/enum/item-type.enum.js +0 -23
  83. package/esm2015/lib/enum/light.enum.js +0 -9
  84. package/esm2015/lib/enum/navigator-type.enum.js +0 -6
  85. package/esm2015/lib/enum/output-encoding.enum.js +0 -9
  86. package/esm2015/lib/enum/result-type.enum.js +0 -21
  87. package/esm2015/lib/enum/scene-event.enum.js +0 -12
  88. package/esm2015/lib/enum/shadow-map-type.enum.js +0 -8
  89. package/esm2015/lib/enum/texture-type.js +0 -9
  90. package/esm2015/lib/enum/tone-mapping-local.enum.js +0 -12
  91. package/esm2015/lib/enum/view-mode.enum.js +0 -7
  92. package/esm2015/lib/enum/xr-mode.enum.js +0 -6
  93. package/esm2015/lib/environments/environment.js +0 -8
  94. package/esm2015/lib/interfaces/aa-options.interface.js +0 -2
  95. package/esm2015/lib/interfaces/adjustable-element.interface.js +0 -2
  96. package/esm2015/lib/interfaces/ao-options.interface.js +0 -2
  97. package/esm2015/lib/interfaces/changes.interface.js +0 -2
  98. package/esm2015/lib/interfaces/configuration-data.interface.js +0 -2
  99. package/esm2015/lib/interfaces/light-preset.interface.js +0 -2
  100. package/esm2015/lib/interfaces/post-processing-setting.interface.js +0 -2
  101. package/esm2015/lib/interfaces/scene-option-button.interface.js +0 -6
  102. package/esm2015/lib/interfaces/screen-size-info.js +0 -2
  103. package/esm2015/lib/interfaces/setting.interface.js +0 -2
  104. package/esm2015/lib/interfaces/texture.interface.js +0 -2
  105. package/esm2015/lib/interfaces/vignette-options.interface.js +0 -2
  106. package/esm2015/lib/model/ar-position-indicator.js +0 -18
  107. package/esm2015/lib/model/camera-settings.js +0 -14
  108. package/esm2015/lib/model/configuration-result-object.js +0 -6
  109. package/esm2015/lib/model/configurator-error-message.js +0 -9
  110. package/esm2015/lib/model/configurator-settings.js +0 -25
  111. package/esm2015/lib/model/custom-button.js +0 -16
  112. package/esm2015/lib/model/factory.js +0 -28
  113. package/esm2015/lib/model/icon.js +0 -112
  114. package/esm2015/lib/model/intersected-objects.js +0 -7
  115. package/esm2015/lib/model/light-preset.js +0 -73
  116. package/esm2015/lib/model/light-properties.js +0 -45
  117. package/esm2015/lib/model/material.js +0 -11
  118. package/esm2015/lib/model/metadata.js +0 -2
  119. package/esm2015/lib/model/render-parameters.js +0 -16
  120. package/esm2015/lib/model/setting-options.js +0 -71
  121. package/esm2015/lib/model/settings.js +0 -16
  122. package/esm2015/lib/model/shadow-properties.js +0 -10
  123. package/esm2015/lib/model/skin.js +0 -3
  124. package/esm2015/lib/model/texture.js +0 -76
  125. package/esm2015/lib/model/variation-settings.js +0 -54
  126. package/esm2015/lib/model/variation.js +0 -3
  127. package/esm2015/lib/model/xr-reticle.js +0 -79
  128. package/esm2015/lib/modules/render/enum/scene-type.enum.js +0 -6
  129. package/esm2015/lib/modules/render/model/ar-parameters.js +0 -12
  130. package/esm2015/lib/modules/render/model/scene-setting.js +0 -6
  131. package/esm2015/lib/modules/render/model/scene-settings.js +0 -3
  132. package/esm2015/lib/pipes/append.pipe.js +0 -21
  133. package/esm2015/lib/pipes/google-translate.pipe.js +0 -21
  134. package/esm2015/lib/pipes/localize.pipe.js +0 -28
  135. package/esm2015/lib/pipes/pipes.module.js +0 -41
  136. package/esm2015/lib/pipes/prepend.pipe.js +0 -21
  137. package/esm2015/lib/pipes/strip-html.pipe.js +0 -17
  138. package/esm2015/lib/services/app-event.service.js +0 -36
  139. package/esm2015/lib/services/app-initializer.service.js +0 -27
  140. package/esm2015/lib/services/ar.service.js +0 -844
  141. package/esm2015/lib/services/build-furniture-base.service.js +0 -1181
  142. package/esm2015/lib/services/build-furniture-without-scene.service.js +0 -86
  143. package/esm2015/lib/services/build-furniture.service.js +0 -169
  144. package/esm2015/lib/services/bundle-initialzer.service.js +0 -113
  145. package/esm2015/lib/services/camera.service.js +0 -123
  146. package/esm2015/lib/services/configuration.service.js +0 -79
  147. package/esm2015/lib/services/configurator-connector.service.js +0 -830
  148. package/esm2015/lib/services/configurator.service.js +0 -285
  149. package/esm2015/lib/services/configuring.service.js +0 -119
  150. package/esm2015/lib/services/controls.js +0 -799
  151. package/esm2015/lib/services/debug.service.js +0 -43
  152. package/esm2015/lib/services/dictionary.service.js +0 -65
  153. package/esm2015/lib/services/dynamic-camera.service.js +0 -96
  154. package/esm2015/lib/services/floor-plane.service.js +0 -252
  155. package/esm2015/lib/services/font.service.js +0 -27
  156. package/esm2015/lib/services/google-translate.service.js +0 -79
  157. package/esm2015/lib/services/icon-cache.service.js +0 -44
  158. package/esm2015/lib/services/intersection.service.js +0 -47
  159. package/esm2015/lib/services/item.service.js +0 -75
  160. package/esm2015/lib/services/json-utils.service.js +0 -48
  161. package/esm2015/lib/services/light-creation.service.js +0 -35
  162. package/esm2015/lib/services/light-presets.service.js +0 -157
  163. package/esm2015/lib/services/lights.service.js +0 -146
  164. package/esm2015/lib/services/load-furniture-base.service.js +0 -164
  165. package/esm2015/lib/services/load-furniture-without-scene.service.js +0 -45
  166. package/esm2015/lib/services/load-furniture.service.js +0 -72
  167. package/esm2015/lib/services/loader.service.js +0 -32
  168. package/esm2015/lib/services/locator.service.js +0 -11
  169. package/esm2015/lib/services/message-board.service.js +0 -50
  170. package/esm2015/lib/services/post-processing.service.js +0 -378
  171. package/esm2015/lib/services/product-configurator.service.js +0 -16
  172. package/esm2015/lib/services/progress.service.js +0 -20
  173. package/esm2015/lib/services/scene-event.service.js +0 -246
  174. package/esm2015/lib/services/scene-options.service.js +0 -24
  175. package/esm2015/lib/services/scene.service.js +0 -313
  176. package/esm2015/lib/services/screen-size-analysis.service.js +0 -97
  177. package/esm2015/lib/services/settings.service.js +0 -142
  178. package/esm2015/lib/services/switch-build-furniture.service.js +0 -37
  179. package/esm2015/lib/services/switch-load-furniture.service.js +0 -35
  180. package/esm2015/lib/services/threedselector.service.js +0 -72
  181. package/esm2015/lib/services/utils.service.js +0 -207
  182. package/esm2015/lib/services/variation-cache.service.js +0 -143
  183. package/esm2015/lib/services/variation.service.js +0 -490
  184. package/esm2015/lib/services/view-mode.service.js +0 -37
  185. package/esm2015/lib/services/vr.service.js +0 -191
  186. package/esm2015/lib/services/xr.service.js +0 -294
  187. package/esm2015/lib/utils/asset.utils.js +0 -120
  188. package/esm2015/lib/utils/base-utils.js +0 -9
  189. package/esm2015/lib/utils/color.utils.js +0 -30
  190. package/esm2015/lib/utils/debug.utils.js +0 -9
  191. package/esm2015/lib/utils/device.utils.js +0 -25
  192. package/esm2015/lib/utils/file.utils.js +0 -167
  193. package/esm2015/lib/utils/image.utils.js +0 -61
  194. package/esm2015/lib/utils/json-parser.utils.js +0 -180
  195. package/esm2015/lib/utils/material.utils.js +0 -433
  196. package/esm2015/lib/utils/object.utils.js +0 -360
  197. package/esm2015/lib/utils/relative-position.utils.js +0 -75
  198. package/esm2015/lib/utils/rotation-helper.utils.js +0 -15
  199. package/esm2015/lib/utils/scene-3d.utils.js +0 -213
  200. package/esm2015/lib/utils/scene-utils.js +0 -191
  201. package/esm2015/lib/utils/text-utils.js +0 -68
  202. package/esm2015/lib/utils/threed.utils.js +0 -281
  203. package/esm2015/lib/utils/variation-utils.js +0 -459
  204. package/esm2015/public-api.js +0 -65
  205. package/fesm2015/colijnit-configurator.js.map +0 -1
  206. package/lib/builder.d.ts +0 -83
  207. package/lib/components/answer-card/answer-card.component.d.ts +0 -58
  208. package/lib/components/answer-card/answer-card.module.d.ts +0 -11
  209. package/lib/components/answer-info-dialog/answer-info-dialog.component.d.ts +0 -38
  210. package/lib/components/answer-info-dialog/answer-info-dialog.module.d.ts +0 -10
  211. package/lib/components/answers-slideout/answers-slideout.component.d.ts +0 -86
  212. package/lib/components/answers-slideout/answers-slideout.module.d.ts +0 -16
  213. package/lib/components/color-filter/color-filter.component.d.ts +0 -20
  214. package/lib/components/color-filter/color-filter.module.d.ts +0 -8
  215. package/lib/components/configurator/configurator.component.d.ts +0 -37
  216. package/lib/components/configurator/configurator.module.d.ts +0 -12
  217. package/lib/components/configurator-dialog/configurator-camera-settings.component.d.ts +0 -30
  218. package/lib/components/configurator-dialog/configurator-dialog.module.d.ts +0 -13
  219. package/lib/components/configurator-dialog/configurator-error-dialog.component.d.ts +0 -16
  220. package/lib/components/configurator-dialog/configurator-export-dialog.component.d.ts +0 -26
  221. package/lib/components/configurator-loader/configurator-loader.component.d.ts +0 -7
  222. package/lib/components/configurator-loader/configurator-loader.module.d.ts +0 -9
  223. package/lib/components/configurator-scene/configurator-scene.component.d.ts +0 -24
  224. package/lib/components/configurator-scene/configurator-scene.module.d.ts +0 -7
  225. package/lib/components/configurator-scene-loader/configurator-scene-loader.component.d.ts +0 -7
  226. package/lib/components/configurator-scene-loader/configurator-scene-loader.module.d.ts +0 -8
  227. package/lib/components/element-buttons/element-buttons.component.d.ts +0 -32
  228. package/lib/components/element-buttons/element-buttons.module.d.ts +0 -9
  229. package/lib/components/element-toolbar/element-toolbar.component.d.ts +0 -27
  230. package/lib/components/element-toolbar/element-toolbar.module.d.ts +0 -10
  231. package/lib/components/image-zoom/image-zoom.component.d.ts +0 -15
  232. package/lib/components/image-zoom/image-zoom.module.d.ts +0 -9
  233. package/lib/components/lite-selector/lite-selector.component.d.ts +0 -40
  234. package/lib/components/lite-selector/lite-selector.module.d.ts +0 -10
  235. package/lib/components/product-configurator/product-configurator.component.d.ts +0 -50
  236. package/lib/components/product-configurator/product-configurator.module.d.ts +0 -15
  237. package/lib/components/product-configurator-selector/product-configurator-selector.component.d.ts +0 -35
  238. package/lib/components/product-configurator-selector/product-configurator-selector.module.d.ts +0 -11
  239. package/lib/components/product-configurator-selector-option/product-configurator-selector-option.component.d.ts +0 -31
  240. package/lib/components/product-configurator-selector-option/product-configurator-selector-option.module.d.ts +0 -13
  241. package/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.component.d.ts +0 -20
  242. package/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.module.d.ts +0 -10
  243. package/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.component.d.ts +0 -20
  244. package/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.module.d.ts +0 -10
  245. package/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.component.d.ts +0 -21
  246. package/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.module.d.ts +0 -10
  247. package/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.component.d.ts +0 -21
  248. package/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.module.d.ts +0 -10
  249. package/lib/components/progress-bar/progress-bar.component.d.ts +0 -10
  250. package/lib/components/progress-bar/progress-bar.module.d.ts +0 -8
  251. package/lib/components/scene-options/scene-options.component.d.ts +0 -24
  252. package/lib/components/scene-options/scene-options.module.d.ts +0 -11
  253. package/lib/components/selections-summary/selections-summary.component.d.ts +0 -38
  254. package/lib/components/selections-summary/selections-summary.module.d.ts +0 -12
  255. package/lib/components/selections-summary-line/selections-summary-line.component.d.ts +0 -27
  256. package/lib/components/selections-summary-line/selections-summary-line.module.d.ts +0 -10
  257. package/lib/components/slideout/slideout.component.d.ts +0 -22
  258. package/lib/components/slideout/slideout.module.d.ts +0 -7
  259. package/lib/components/summary-line/summary-line.component.d.ts +0 -50
  260. package/lib/components/summary-line/summary-line.module.d.ts +0 -11
  261. package/lib/components/tag-filter/tag-filter.component.d.ts +0 -9
  262. package/lib/components/tag-filter/tag-filter.module.d.ts +0 -7
  263. package/lib/components/threedselector/threedselector.component.d.ts +0 -38
  264. package/lib/components/threedselector/threedselector.module.d.ts +0 -10
  265. package/lib/core/helper/variation-helper.d.ts +0 -25
  266. package/lib/core/shader/floor-fade.shader.d.ts +0 -5
  267. package/lib/core/textures/depth-data-texture.d.ts +0 -5
  268. package/lib/directives/directives.module.d.ts +0 -8
  269. package/lib/directives/visibility-observer-master.directive.d.ts +0 -12
  270. package/lib/directives/visibility-observer.directive.d.ts +0 -16
  271. package/lib/enum/ar-feature.enum.d.ts +0 -12
  272. package/lib/enum/configuration-key.enum.d.ts +0 -39
  273. package/lib/enum/configuration-template.enum.d.ts +0 -4
  274. package/lib/enum/device-size-type.d.ts +0 -5
  275. package/lib/enum/device-tier.enum.d.ts +0 -5
  276. package/lib/enum/icon.enum.d.ts +0 -111
  277. package/lib/enum/item-type.enum.d.ts +0 -21
  278. package/lib/enum/light.enum.d.ts +0 -7
  279. package/lib/enum/navigator-type.enum.d.ts +0 -4
  280. package/lib/enum/output-encoding.enum.d.ts +0 -7
  281. package/lib/enum/result-type.enum.d.ts +0 -19
  282. package/lib/enum/scene-event.enum.d.ts +0 -10
  283. package/lib/enum/shadow-map-type.enum.d.ts +0 -6
  284. package/lib/enum/texture-type.d.ts +0 -7
  285. package/lib/enum/tone-mapping-local.enum.d.ts +0 -10
  286. package/lib/enum/view-mode.enum.d.ts +0 -5
  287. package/lib/enum/xr-mode.enum.d.ts +0 -4
  288. package/lib/environments/environment.d.ts +0 -4
  289. package/lib/interfaces/aa-options.interface.d.ts +0 -4
  290. package/lib/interfaces/adjustable-element.interface.d.ts +0 -5
  291. package/lib/interfaces/ao-options.interface.d.ts +0 -18
  292. package/lib/interfaces/changes.interface.d.ts +0 -9
  293. package/lib/interfaces/configuration-data.interface.d.ts +0 -40
  294. package/lib/interfaces/light-preset.interface.d.ts +0 -22
  295. package/lib/interfaces/post-processing-setting.interface.d.ts +0 -11
  296. package/lib/interfaces/scene-option-button.interface.d.ts +0 -19
  297. package/lib/interfaces/screen-size-info.d.ts +0 -10
  298. package/lib/interfaces/setting.interface.d.ts +0 -8
  299. package/lib/interfaces/texture.interface.d.ts +0 -44
  300. package/lib/interfaces/vignette-options.interface.d.ts +0 -4
  301. package/lib/model/ar-position-indicator.d.ts +0 -4
  302. package/lib/model/camera-settings.d.ts +0 -12
  303. package/lib/model/configuration-result-object.d.ts +0 -30
  304. package/lib/model/configurator-error-message.d.ts +0 -8
  305. package/lib/model/configurator-settings.d.ts +0 -62
  306. package/lib/model/custom-button.d.ts +0 -10
  307. package/lib/model/factory.d.ts +0 -5
  308. package/lib/model/icon.d.ts +0 -4
  309. package/lib/model/intersected-objects.d.ts +0 -6
  310. package/lib/model/light-preset.d.ts +0 -33
  311. package/lib/model/light-properties.d.ts +0 -25
  312. package/lib/model/material.d.ts +0 -41
  313. package/lib/model/metadata.d.ts +0 -78
  314. package/lib/model/render-parameters.d.ts +0 -12
  315. package/lib/model/setting-options.d.ts +0 -67
  316. package/lib/model/settings.d.ts +0 -10
  317. package/lib/model/shadow-properties.d.ts +0 -7
  318. package/lib/model/skin.d.ts +0 -15
  319. package/lib/model/texture.d.ts +0 -52
  320. package/lib/model/variation-settings.d.ts +0 -55
  321. package/lib/model/variation.d.ts +0 -11
  322. package/lib/model/xr-reticle.d.ts +0 -17
  323. package/lib/modules/render/enum/scene-type.enum.d.ts +0 -4
  324. package/lib/modules/render/model/ar-parameters.d.ts +0 -9
  325. package/lib/modules/render/model/scene-setting.d.ts +0 -13
  326. package/lib/modules/render/model/scene-settings.d.ts +0 -4
  327. package/lib/pipes/append.pipe.d.ts +0 -7
  328. package/lib/pipes/google-translate.pipe.d.ts +0 -11
  329. package/lib/pipes/localize.pipe.d.ts +0 -10
  330. package/lib/pipes/pipes.module.d.ts +0 -11
  331. package/lib/pipes/prepend.pipe.d.ts +0 -7
  332. package/lib/pipes/strip-html.pipe.d.ts +0 -7
  333. package/lib/services/app-event.service.d.ts +0 -32
  334. package/lib/services/app-initializer.service.d.ts +0 -14
  335. package/lib/services/ar.service.d.ts +0 -120
  336. package/lib/services/build-furniture-base.service.d.ts +0 -117
  337. package/lib/services/build-furniture-without-scene.service.d.ts +0 -14
  338. package/lib/services/build-furniture.service.d.ts +0 -14
  339. package/lib/services/bundle-initialzer.service.d.ts +0 -45
  340. package/lib/services/camera.service.d.ts +0 -44
  341. package/lib/services/configuration.service.d.ts +0 -18
  342. package/lib/services/configurator-connector.service.d.ts +0 -140
  343. package/lib/services/configurator.service.d.ts +0 -62
  344. package/lib/services/configuring.service.d.ts +0 -46
  345. package/lib/services/controls.d.ts +0 -11
  346. package/lib/services/debug.service.d.ts +0 -16
  347. package/lib/services/dictionary.service.d.ts +0 -15
  348. package/lib/services/dynamic-camera.service.d.ts +0 -21
  349. package/lib/services/floor-plane.service.d.ts +0 -47
  350. package/lib/services/font.service.d.ts +0 -10
  351. package/lib/services/google-translate.service.d.ts +0 -26
  352. package/lib/services/icon-cache.service.d.ts +0 -21
  353. package/lib/services/intersection.service.d.ts +0 -11
  354. package/lib/services/item.service.d.ts +0 -18
  355. package/lib/services/json-utils.service.d.ts +0 -7
  356. package/lib/services/light-creation.service.d.ts +0 -9
  357. package/lib/services/light-presets.service.d.ts +0 -34
  358. package/lib/services/lights.service.d.ts +0 -34
  359. package/lib/services/load-furniture-base.service.d.ts +0 -37
  360. package/lib/services/load-furniture-without-scene.service.d.ts +0 -9
  361. package/lib/services/load-furniture.service.d.ts +0 -9
  362. package/lib/services/loader.service.d.ts +0 -11
  363. package/lib/services/locator.service.d.ts +0 -7
  364. package/lib/services/message-board.service.d.ts +0 -18
  365. package/lib/services/post-processing.service.d.ts +0 -74
  366. package/lib/services/product-configurator.service.d.ts +0 -11
  367. package/lib/services/progress.service.d.ts +0 -9
  368. package/lib/services/scene-event.service.d.ts +0 -72
  369. package/lib/services/scene-options.service.d.ts +0 -11
  370. package/lib/services/scene.service.d.ts +0 -71
  371. package/lib/services/screen-size-analysis.service.d.ts +0 -32
  372. package/lib/services/settings.service.d.ts +0 -24
  373. package/lib/services/switch-build-furniture.service.d.ts +0 -21
  374. package/lib/services/switch-load-furniture.service.d.ts +0 -21
  375. package/lib/services/threedselector.service.d.ts +0 -17
  376. package/lib/services/utils.service.d.ts +0 -24
  377. package/lib/services/variation-cache.service.d.ts +0 -23
  378. package/lib/services/variation.service.d.ts +0 -26
  379. package/lib/services/view-mode.service.d.ts +0 -17
  380. package/lib/services/vr.service.d.ts +0 -42
  381. package/lib/services/xr.service.d.ts +0 -56
  382. package/lib/utils/asset.utils.d.ts +0 -19
  383. package/lib/utils/base-utils.d.ts +0 -4
  384. package/lib/utils/color.utils.d.ts +0 -8
  385. package/lib/utils/debug.utils.d.ts +0 -3
  386. package/lib/utils/device.utils.d.ts +0 -7
  387. package/lib/utils/file.utils.d.ts +0 -30
  388. package/lib/utils/image.utils.d.ts +0 -9
  389. package/lib/utils/json-parser.utils.d.ts +0 -9
  390. package/lib/utils/material.utils.d.ts +0 -34
  391. package/lib/utils/object.utils.d.ts +0 -32
  392. package/lib/utils/relative-position.utils.d.ts +0 -12
  393. package/lib/utils/rotation-helper.utils.d.ts +0 -6
  394. package/lib/utils/scene-3d.utils.d.ts +0 -8
  395. package/lib/utils/scene-utils.d.ts +0 -7
  396. package/lib/utils/text-utils.d.ts +0 -4
  397. package/lib/utils/threed.utils.d.ts +0 -20
  398. package/lib/utils/variation-utils.d.ts +0 -18
  399. package/public-api.d.ts +0 -60
@@ -1,313 +0,0 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
2
- import { IconEnum } from '../../enum/icon.enum';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/settings.service";
5
- import * as i2 from "../../services/icon-cache.service";
6
- import * as i3 from "../../services/configurator-connector.service";
7
- import * as i4 from "@colijnit/corecomponents_v12";
8
- import * as i5 from "../answer-info-dialog/answer-info-dialog.component";
9
- import * as i6 from "@angular/common";
10
- import * as i7 from "../../pipes/google-translate.pipe";
11
- import * as i8 from "../../pipes/localize.pipe";
12
- export class AnswerCardComponent {
13
- constructor(settingsService, iconService, _configuratorConnectorService) {
14
- this.settingsService = settingsService;
15
- this.iconService = iconService;
16
- this._configuratorConnectorService = _configuratorConnectorService;
17
- // TODO check why co-card is missing these two in v12.
18
- // [showImageLoader]="true"
19
- // [valutaSymbol]="valutaSymbol"
20
- this.icons = IconEnum;
21
- this.valutaSymbol = '€';
22
- this.freeInputChange = new EventEmitter();
23
- this.inqNumberChange = new EventEmitter();
24
- this.select = new EventEmitter();
25
- this.selectWithInq = new EventEmitter();
26
- this.magnifierClick = new EventEmitter();
27
- this.answerInfoToggle = new EventEmitter();
28
- this.dialogPosition = null;
29
- this.inqNumberError = false;
30
- this.showAnswerInfo = false;
31
- this._waitForInput = false;
32
- this._waitForInqValue = false;
33
- }
34
- showClass() {
35
- return true;
36
- }
37
- get activeInfoClass() {
38
- return this.showAnswerInfo;
39
- }
40
- set showing(value) {
41
- if (value) {
42
- this._getThumbnailImage();
43
- }
44
- }
45
- ngOnInit() {
46
- var _a, _b, _c;
47
- this.inqNumberModel = this.model.defaultNumber;
48
- // If we work with ingNumbers, we should also change the this.model.ingNumber value here
49
- // so we change the default 1 value to the default value
50
- if (((_a = this.model) === null || _a === void 0 ? void 0 : _a.inquireNbrMode) && ((_b = this.model) === null || _b === void 0 ? void 0 : _b.minNumber) && ((_c = this.model) === null || _c === void 0 ? void 0 : _c.maxNumber)) {
51
- this.model.inqNumber = this.model.defaultNumber;
52
- }
53
- }
54
- onContentClick() {
55
- if (!this._waitForInput && (this.model.inquireNbrMode === 'F' || this.model.inquireNbrMode === undefined)) {
56
- this.select.emit(this.freeInput);
57
- }
58
- if (!this._waitForInqValue && this.model.inquireNbrMode === 'T') {
59
- this.model.inqNumber = Number(this.inqNumberModel);
60
- this.select.next(this.inqNumberModel);
61
- }
62
- }
63
- handleClick(event) {
64
- event.preventDefault();
65
- event.stopPropagation();
66
- event.stopImmediatePropagation();
67
- }
68
- onInfoButtonClick(event) {
69
- var _a;
70
- event.preventDefault();
71
- event.stopPropagation();
72
- event.stopImmediatePropagation();
73
- this.showAnswerInfo = !this.showAnswerInfo;
74
- this.answerInfoToggle.emit({ open: this.showAnswerInfo, id: (_a = this.model) === null || _a === void 0 ? void 0 : _a.nodeId });
75
- if (this.showAnswerInfo) {
76
- const button = event.currentTarget;
77
- const rect = button.getBoundingClientRect();
78
- this.dialogPosition = {
79
- top: rect.top + 10,
80
- right: window.innerWidth - rect.right - 10 // distance from right edge
81
- };
82
- }
83
- else {
84
- this.dialogPosition = null;
85
- }
86
- }
87
- closeInfo(silent = true) {
88
- var _a;
89
- if (!this.showAnswerInfo) {
90
- return;
91
- }
92
- this.showAnswerInfo = false;
93
- this.dialogPosition = null;
94
- if (!silent) {
95
- this.answerInfoToggle.emit({ open: false, id: (_a = this.model) === null || _a === void 0 ? void 0 : _a.nodeId });
96
- }
97
- }
98
- handleFocusFreeInput(event) {
99
- this._waitForInput = true;
100
- }
101
- handleBlurFreeInput(event) {
102
- this._waitForInput = false;
103
- }
104
- handleKeyDownFreeInput(event) {
105
- if (event.keyCode === 13) {
106
- this._waitForInput = false;
107
- this.select.next(this.freeInput);
108
- }
109
- }
110
- handleFocusInqNumber(event) {
111
- this._waitForInqValue = true;
112
- }
113
- handleBlurInqNumber(event) {
114
- this._waitForInqValue = !this.validateInqNumber(event);
115
- }
116
- handleKeyDownInqNumber(event) {
117
- if (event.keyCode === 13) {
118
- this._waitForInqValue = false;
119
- this.model.inqNumber = this.inqNumberModel;
120
- }
121
- }
122
- onZoomImage() {
123
- this.magnifierClick.next(this.model);
124
- }
125
- validateInqNumber(event) {
126
- const currentValue = Number(this.inqNumberModel);
127
- const minValue = this.model.minNumber;
128
- const maxValue = this.model.maxNumber;
129
- if (currentValue < minValue) {
130
- this.inqNumberError = true;
131
- return false;
132
- }
133
- else if (currentValue > maxValue) {
134
- this.inqNumberError = true;
135
- return false;
136
- }
137
- else {
138
- this.inqNumberError = false;
139
- return false;
140
- }
141
- }
142
- replaceTranslationValues(translation, min, max) {
143
- const parts = translation.split('(|~)');
144
- // We are doing this the dirtyway
145
- return parts[0] + ' ' + min + ' ' + parts[1] + ' ' + max + ' ' + parts[2];
146
- }
147
- _checkVisibility(entries) {
148
- this._configuratorConnectorService.extendWithAnswerTextAndImage(this.model, false);
149
- }
150
- _getThumbnailImage() {
151
- if (!this.model.imageData) {
152
- this._configuratorConnectorService.extendWithAnswerTextAndImage(this.model, false);
153
- }
154
- }
155
- }
156
- AnswerCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AnswerCardComponent, deps: [{ token: i1.SettingsService }, { token: i2.IconCacheService }, { token: i3.ConfiguratorConnectorService }], target: i0.ɵɵFactoryTarget.Component });
157
- AnswerCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AnswerCardComponent, selector: "co-answer-card", inputs: { model: "model", valutaSymbol: "valutaSymbol", showing: "showing", isSelected: "isSelected", isSmallModus: "isSmallModus", freeInput: "freeInput" }, outputs: { freeInputChange: "freeInputChange", inqNumberChange: "inqNumberChange", select: "select", selectWithInq: "selectWithInq", magnifierClick: "magnifierClick", answerInfoToggle: "answerInfoToggle" }, host: { properties: { "class.co-answer-card": "this.showClass", "class.active-info": "this.activeInfoClass", "class.small-mode": "this.isSmallModus" } }, ngImport: i0, template: `
158
- <co-card
159
- [imageData]="model?.imageData"
160
- [description]="(model?.userInput ? '' : (model?.commercialAnswer || model?.answer)) | googleTranslate | async"
161
- [hasInfoButton]="model?.infoAvailable"
162
- [hasMagnifierButton]="model?.imageData ? settingsService.settings.options.showZoomButton : false"
163
- [isSelected]="isSelected"
164
- [price]="model?.price"
165
- [level]="!settingsService.settings.options.showStockStatus ? false : model?.stock"
166
- (contentClick)="onContentClick()"
167
- (click)="handleClick($event)"
168
- (infoButtonClick)="onInfoButtonClick($event)"
169
- (magnifierButtonClick)="onZoomImage()">
170
- <div *ngIf="model?.userInput" class="free-answer">
171
- <co-input-text
172
- [label]="(model?.commercialAnswer ? model?.commercialAnswer : model?.answer) | googleTranslate | async"
173
- [model]="freeInput"
174
- (modelChange)="freeInput = $event; freeInputChange.emit($event)"
175
- (focus)="handleFocusFreeInput($event)"
176
- (blur)="handleBlurFreeInput($event)"
177
- (keydown)="handleKeyDownFreeInput($event)">
178
- </co-input-text>
179
-
180
- <button (click)="freeInputChange.emit(freeInput)" title="{{'SAVE' | localize}}">
181
- <co-icon [iconData]="iconService.getIcon(icons.CheckSolid)"></co-icon>
182
- </button>
183
- </div>
184
- <co-answer-info-dialog
185
- *ngIf="showAnswerInfo"
186
- [answer]="model"
187
- [fixedPosition]="dialogPosition"
188
- (click)="onInfoButtonClick($event)"
189
- (nothingToShow)="closeInfo(false)">
190
- </co-answer-info-dialog>
191
- <div *ngIf="model?.inquireNbrMode && model?.minNumber && model?.maxNumber" class="free-answer">
192
- <co-input-text
193
- [noValidation]="true"
194
- [label]="'AMOUNT' | localize"
195
- [model]="inqNumberModel"
196
- (modelChange)="inqNumberModel = $event; inqNumberChange.emit($event)"
197
- (focus)="handleFocusInqNumber($event)"
198
- (blur)="handleBlurInqNumber($event)"
199
- (keydown)="handleKeyDownInqNumber($event)">
200
- </co-input-text>
201
-
202
- <button (click)="inqNumberChange.emit(inqNumberModel)" title="{{'SAVE' | localize}}">
203
- <co-icon [iconData]="iconService.getIcon(icons.CheckSolid)"></co-icon>
204
- </button>
205
-
206
- <span
207
- class="amount-validation-error"
208
- *ngIf="inqNumberError"
209
- [textContent]="replaceTranslationValues('AMOUNT_ERROR' | localize, this.model.minNumber, this.model.maxNumber)">
210
- </span>
211
- </div>
212
-
213
- </co-card>
214
- `, isInline: true, components: [{ type: i4.CardComponent, selector: "co-card", inputs: ["isSelected", "isSmallModus", "hasMagnifierButton", "hasInfoButton", "imageData", "description", "price", "level"], outputs: ["contentClick", "infoButtonClick", "magnifierButtonClick"] }, { type: i4.InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "showPlaceholderOnFocus", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model", "formatPipe", "min", "max", "keyDownWhiteList", "leftIcon", "rightIcon", "leftIconData", "rightIconData"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { type: i4.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { type: i5.AnswersInfoDialogComponent, selector: "co-answer-info-dialog", inputs: ["answer", "structure", "fixedPosition"], outputs: ["nothingToShow"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i6.AsyncPipe, "googleTranslate": i7.GoogleTranslatePipe, "localize": i8.LocalizePipe }, encapsulation: i0.ViewEncapsulation.None });
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AnswerCardComponent, decorators: [{
216
- type: Component,
217
- args: [{
218
- selector: 'co-answer-card',
219
- template: `
220
- <co-card
221
- [imageData]="model?.imageData"
222
- [description]="(model?.userInput ? '' : (model?.commercialAnswer || model?.answer)) | googleTranslate | async"
223
- [hasInfoButton]="model?.infoAvailable"
224
- [hasMagnifierButton]="model?.imageData ? settingsService.settings.options.showZoomButton : false"
225
- [isSelected]="isSelected"
226
- [price]="model?.price"
227
- [level]="!settingsService.settings.options.showStockStatus ? false : model?.stock"
228
- (contentClick)="onContentClick()"
229
- (click)="handleClick($event)"
230
- (infoButtonClick)="onInfoButtonClick($event)"
231
- (magnifierButtonClick)="onZoomImage()">
232
- <div *ngIf="model?.userInput" class="free-answer">
233
- <co-input-text
234
- [label]="(model?.commercialAnswer ? model?.commercialAnswer : model?.answer) | googleTranslate | async"
235
- [model]="freeInput"
236
- (modelChange)="freeInput = $event; freeInputChange.emit($event)"
237
- (focus)="handleFocusFreeInput($event)"
238
- (blur)="handleBlurFreeInput($event)"
239
- (keydown)="handleKeyDownFreeInput($event)">
240
- </co-input-text>
241
-
242
- <button (click)="freeInputChange.emit(freeInput)" title="{{'SAVE' | localize}}">
243
- <co-icon [iconData]="iconService.getIcon(icons.CheckSolid)"></co-icon>
244
- </button>
245
- </div>
246
- <co-answer-info-dialog
247
- *ngIf="showAnswerInfo"
248
- [answer]="model"
249
- [fixedPosition]="dialogPosition"
250
- (click)="onInfoButtonClick($event)"
251
- (nothingToShow)="closeInfo(false)">
252
- </co-answer-info-dialog>
253
- <div *ngIf="model?.inquireNbrMode && model?.minNumber && model?.maxNumber" class="free-answer">
254
- <co-input-text
255
- [noValidation]="true"
256
- [label]="'AMOUNT' | localize"
257
- [model]="inqNumberModel"
258
- (modelChange)="inqNumberModel = $event; inqNumberChange.emit($event)"
259
- (focus)="handleFocusInqNumber($event)"
260
- (blur)="handleBlurInqNumber($event)"
261
- (keydown)="handleKeyDownInqNumber($event)">
262
- </co-input-text>
263
-
264
- <button (click)="inqNumberChange.emit(inqNumberModel)" title="{{'SAVE' | localize}}">
265
- <co-icon [iconData]="iconService.getIcon(icons.CheckSolid)"></co-icon>
266
- </button>
267
-
268
- <span
269
- class="amount-validation-error"
270
- *ngIf="inqNumberError"
271
- [textContent]="replaceTranslationValues('AMOUNT_ERROR' | localize, this.model.minNumber, this.model.maxNumber)">
272
- </span>
273
- </div>
274
-
275
- </co-card>
276
- `,
277
- encapsulation: ViewEncapsulation.None
278
- }]
279
- }], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i2.IconCacheService }, { type: i3.ConfiguratorConnectorService }]; }, propDecorators: { showClass: [{
280
- type: HostBinding,
281
- args: ['class.co-answer-card']
282
- }], activeInfoClass: [{
283
- type: HostBinding,
284
- args: ['class.active-info']
285
- }], model: [{
286
- type: Input
287
- }], valutaSymbol: [{
288
- type: Input
289
- }], showing: [{
290
- type: Input
291
- }], isSelected: [{
292
- type: Input
293
- }], isSmallModus: [{
294
- type: Input
295
- }, {
296
- type: HostBinding,
297
- args: ['class.small-mode']
298
- }], freeInput: [{
299
- type: Input
300
- }], freeInputChange: [{
301
- type: Output
302
- }], inqNumberChange: [{
303
- type: Output
304
- }], select: [{
305
- type: Output
306
- }], selectWithInq: [{
307
- type: Output
308
- }], magnifierClick: [{
309
- type: Output
310
- }], answerInfoToggle: [{
311
- type: Output
312
- }] } });
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5zd2VyLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29uZmlndXJhdG9yL3NyYy9saWIvY29tcG9uZW50cy9hbnN3ZXItY2FyZC9hbnN3ZXItY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFLN0csT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7O0FBZ0U5QyxNQUFNLE9BQU8sbUJBQW1CO0lBbUU5QixZQUNTLGVBQWdDLEVBQ2hDLFdBQTZCLEVBQzVCLDZCQUEyRDtRQUY1RCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzVCLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBOEI7UUFwRXJFLHNEQUFzRDtRQUN0RCwyQkFBMkI7UUFDM0IsZ0NBQWdDO1FBQ2hCLFVBQUssR0FBb0IsUUFBUSxDQUFDO1FBaUIzQyxpQkFBWSxHQUFXLEdBQUcsQ0FBQztRQW9CbEIsb0JBQWUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUduRSxvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBR25FLFdBQU0sR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUcxRCxrQkFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBR2pFLG1CQUFjLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHbEUscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFFOUUsbUJBQWMsR0FBMEMsSUFBSSxDQUFDO1FBRzdELG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLG1CQUFjLEdBQVksS0FBSyxDQUFD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QUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQ3pCLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3BGO0lBQ0gsQ0FBQzs7aUhBck1VLG1CQUFtQjtxR0FBbkIsbUJBQW1CLDZqQkE1RHBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RFQ7NEZBR1UsbUJBQW1CO2tCQTlEL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlEVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7Z0xBU1EsU0FBUztzQkFEZixXQUFXO3VCQUFDLHNCQUFzQjtnQkFNL0IsZUFBZTtzQkFEbEIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBT3pCLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlLLE9BQU87c0JBRGpCLEtBQUs7Z0JBUUMsVUFBVTtzQkFEaEIsS0FBSztnQkFLQyxZQUFZO3NCQUZsQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGtCQUFrQjtnQkFJeEIsU0FBUztzQkFEZixLQUFLO2dCQUlVLGVBQWU7c0JBRDlCLE1BQU07Z0JBSVMsZUFBZTtzQkFEOUIsTUFBTTtnQkFJUyxNQUFNO3NCQURyQixNQUFNO2dCQUlTLGFBQWE7c0JBRDVCLE1BQU07Z0JBSVMsY0FBYztzQkFEN0IsTUFBTTtnQkFJUyxnQkFBZ0I7c0JBRC9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QW5zd2VyfSBmcm9tICdAY29saWpuaXQvY29uZmlndXJhdG9yYXBpL2J1aWxkL21vZGVsL2Fuc3dlcic7XHJcbmltcG9ydCB7Q29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlndXJhdG9yLWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtTZXR0aW5nc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkVudW19IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tYW5zd2VyLWNhcmQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tY2FyZFxyXG4gICAgICBbaW1hZ2VEYXRhXT1cIm1vZGVsPy5pbWFnZURhdGFcIlxyXG4gICAgICBbZGVzY3JpcHRpb25dPVwiKG1vZGVsPy51c2VySW5wdXQgPyAnJyA6IChtb2RlbD8uY29tbWVyY2lhbEFuc3dlciB8fCBtb2RlbD8uYW5zd2VyKSkgfCBnb29nbGVUcmFuc2xhdGUgfCBhc3luY1wiXHJcbiAgICAgIFtoYXNJbmZvQnV0dG9uXT1cIm1vZGVsPy5pbmZvQXZhaWxhYmxlXCJcclxuICAgICAgW2hhc01hZ25pZmllckJ1dHRvbl09XCJtb2RlbD8uaW1hZ2VEYXRhID8gc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLm9wdGlvbnMuc2hvd1pvb21CdXR0b24gOiBmYWxzZVwiXHJcbiAgICAgIFtpc1NlbGVjdGVkXT1cImlzU2VsZWN0ZWRcIlxyXG4gICAgICBbcHJpY2VdPVwibW9kZWw/LnByaWNlXCJcclxuICAgICAgW2xldmVsXT1cIiFzZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Mub3B0aW9ucy5zaG93U3RvY2tTdGF0dXMgPyBmYWxzZSA6IG1vZGVsPy5zdG9ja1wiXHJcbiAgICAgIChjb250ZW50Q2xpY2spPVwib25Db250ZW50Q2xpY2soKVwiXHJcbiAgICAgIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgKGluZm9CdXR0b25DbGljayk9XCJvbkluZm9CdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgICAgKG1hZ25pZmllckJ1dHRvbkNsaWNrKT1cIm9uWm9vbUltYWdlKClcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsPy51c2VySW5wdXRcIiBjbGFzcz1cImZyZWUtYW5zd2VyXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHRcclxuICAgICAgICAgIFtsYWJlbF09XCIobW9kZWw/LmNvbW1lcmNpYWxBbnN3ZXIgPyBtb2RlbD8uY29tbWVyY2lhbEFuc3dlciA6IG1vZGVsPy5hbnN3ZXIpIHwgZ29vZ2xlVHJhbnNsYXRlIHwgYXN5bmNcIlxyXG4gICAgICAgICAgW21vZGVsXT1cImZyZWVJbnB1dFwiXHJcbiAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiZnJlZUlucHV0ID0gJGV2ZW50OyBmcmVlSW5wdXRDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb2N1cyk9XCJoYW5kbGVGb2N1c0ZyZWVJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgIChibHVyKT1cImhhbmRsZUJsdXJGcmVlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duRnJlZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcblxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImZyZWVJbnB1dENoYW5nZS5lbWl0KGZyZWVJbnB1dClcIiB0aXRsZT1cInt7J1NBVkUnIHwgbG9jYWxpemV9fVwiPlxyXG4gICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8Y28tYW5zd2VyLWluZm8tZGlhbG9nXHJcbiAgICAgICAgKm5nSWY9XCJzaG93QW5zd2VySW5mb1wiXHJcbiAgICAgICAgW2Fuc3dlcl09XCJtb2RlbFwiXHJcbiAgICAgICAgW2ZpeGVkUG9zaXRpb25dPVwiZGlhbG9nUG9zaXRpb25cIlxyXG4gICAgICAgIChjbGljayk9XCJvbkluZm9CdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgICAgICAobm90aGluZ1RvU2hvdyk9XCJjbG9zZUluZm8oZmFsc2UpXCI+XHJcbiAgICAgIDwvY28tYW5zd2VyLWluZm8tZGlhbG9nPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwibW9kZWw/LmlucXVpcmVOYnJNb2RlICYmIG1vZGVsPy5taW5OdW1iZXIgJiYgbW9kZWw/Lm1heE51bWJlclwiIGNsYXNzPVwiZnJlZS1hbnN3ZXJcIj5cclxuICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgW25vVmFsaWRhdGlvbl09XCJ0cnVlXCJcclxuICAgICAgICAgIFtsYWJlbF09XCInQU1PVU5UJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgIFttb2RlbF09XCJpbnFOdW1iZXJNb2RlbFwiXHJcbiAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaW5xTnVtYmVyTW9kZWwgPSAkZXZlbnQ7IGlucU51bWJlckNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgKGZvY3VzKT1cImhhbmRsZUZvY3VzSW5xTnVtYmVyKCRldmVudClcIlxyXG4gICAgICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1cklucU51bWJlcigkZXZlbnQpXCJcclxuICAgICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd25JbnFOdW1iZXIoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICBcclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJpbnFOdW1iZXJDaGFuZ2UuZW1pdChpbnFOdW1iZXJNb2RlbClcIiB0aXRsZT1cInt7J1NBVkUnIHwgbG9jYWxpemV9fVwiPlxyXG4gICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPHNwYW4gXHJcbiAgICAgICAgICBjbGFzcz1cImFtb3VudC12YWxpZGF0aW9uLWVycm9yXCIgXHJcbiAgICAgICAgICAqbmdJZj1cImlucU51bWJlckVycm9yXCJcclxuICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJyZXBsYWNlVHJhbnNsYXRpb25WYWx1ZXMoJ0FNT1VOVF9FUlJPUicgfCBsb2NhbGl6ZSwgdGhpcy5tb2RlbC5taW5OdW1iZXIsIHRoaXMubW9kZWwubWF4TnVtYmVyKVwiPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9jby1jYXJkPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5zd2VyQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIC8vIFRPRE8gY2hlY2sgd2h5IGNvLWNhcmQgaXMgbWlzc2luZyB0aGVzZSB0d28gaW4gdjEyLlxyXG4gIC8vIFtzaG93SW1hZ2VMb2FkZXJdPVwidHJ1ZVwiXHJcbiAgLy8gW3ZhbHV0YVN5bWJvbF09XCJ2YWx1dGFTeW1ib2xcIlxyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb25FbnVtID0gSWNvbkVudW07XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tYW5zd2VyLWNhcmQnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlLWluZm8nKVxyXG4gIGdldCBhY3RpdmVJbmZvQ2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93QW5zd2VySW5mbztcclxuICB9XHJcblxyXG4gIC8vIHRvZG8gaW50cm9kdWNlIEFuc3dlclZpZXdNb2RlbCBleHRlbmRzIEFuc3dlciB3aGljaCBoYXMgcHJpY2VGb3JEaXNwbGF5IGFuZCBzdG9jayBwcm9wcyB0byBhdm9pZCAnIHwgYW55JyBpbiB0aGlzIHR5cGUgZGVjbGFyYXRpb25cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtb2RlbDogQW5zd2VyIHwgYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWx1dGFTeW1ib2w6IHN0cmluZyA9ICfigqwnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgc2hvd2luZyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX2dldFRodW1ibmFpbEltYWdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1NlbGVjdGVkOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc21hbGwtbW9kZScpXHJcbiAgcHVibGljIGlzU21hbGxNb2R1czogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZnJlZUlucHV0OiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBmcmVlSW5wdXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBpbnFOdW1iZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3Q6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RXaXRoSW5xOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgbWFnbmlmaWVyQ2xpY2s6IEV2ZW50RW1pdHRlcjxBbnN3ZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxBbnN3ZXI+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBhbnN3ZXJJbmZvVG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjx7IG9wZW46IGJvb2xlYW47IGlkOiBzdHJpbmcgfT4oKTtcclxuXHJcbiAgcHVibGljIGRpYWxvZ1Bvc2l0aW9uOiB7IHRvcDogbnVtYmVyLCByaWdodDogbnVtYmVyIH0gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHVibGljIGlucU51bWJlck1vZGVsOiBzdHJpbmc7XHJcbiAgcHVibGljIGlucU51bWJlckVycm9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dBbnN3ZXJJbmZvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfd2FpdEZvcklucHV0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfd2FpdEZvcklucVZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZTogQ29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmlucU51bWJlck1vZGVsID0gdGhpcy5tb2RlbC5kZWZhdWx0TnVtYmVyO1xyXG4gICAgLy8gSWYgd2Ugd29yayB3aXRoIGluZ051bWJlcnMsIHdlIHNob3VsZCBhbHNvIGNoYW5nZSB0aGUgdGhpcy5tb2RlbC5pbmdOdW1iZXIgdmFsdWUgaGVyZVxyXG4gICAgLy8gc28gd2UgY2hhbmdlIHRoZSBkZWZhdWx0IDEgdmFsdWUgdG8gdGhlIGRlZmF1bHQgdmFsdWVcclxuICAgIGlmICh0aGlzLm1vZGVsPy5pbnF1aXJlTmJyTW9kZSAmJiB0aGlzLm1vZGVsPy5taW5OdW1iZXIgJiYgdGhpcy5tb2RlbD8ubWF4TnVtYmVyKSB7XHJcbiAgICAgIHRoaXMubW9kZWwuaW5xTnVtYmVyID0gdGhpcy5tb2RlbC5kZWZhdWx0TnVtYmVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ29udGVudENsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl93YWl0Rm9ySW5wdXQgJiYgKHRoaXMubW9kZWwuaW5xdWlyZU5ick1vZGUgPT09ICdGJyB8fCB0aGlzLm1vZGVsLmlucXVpcmVOYnJNb2RlID09PSB1bmRlZmluZWQpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0LmVtaXQodGhpcy5mcmVlSW5wdXQpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLl93YWl0Rm9ySW5xVmFsdWUgJiYgdGhpcy5tb2RlbC5pbnF1aXJlTmJyTW9kZSA9PT0gJ1QnKSB7XHJcbiAgICAgIHRoaXMubW9kZWwuaW5xTnVtYmVyID0gTnVtYmVyKHRoaXMuaW5xTnVtYmVyTW9kZWwpO1xyXG4gICAgICB0aGlzLnNlbGVjdC5uZXh0KHRoaXMuaW5xTnVtYmVyTW9kZWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkluZm9CdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgdGhpcy5zaG93QW5zd2VySW5mbyA9ICF0aGlzLnNob3dBbnN3ZXJJbmZvO1xyXG4gICAgdGhpcy5hbnN3ZXJJbmZvVG9nZ2xlLmVtaXQoe29wZW46IHRoaXMuc2hvd0Fuc3dlckluZm8sIGlkOiB0aGlzLm1vZGVsPy5ub2RlSWR9KTtcclxuXHJcbiAgICBpZiAodGhpcy5zaG93QW5zd2VySW5mbykge1xyXG4gICAgICBjb25zdCBidXR0b24gPSBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBjb25zdCByZWN0ID0gYnV0dG9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICB0aGlzLmRpYWxvZ1Bvc2l0aW9uID0ge1xyXG4gICAgICAgIHRvcDogcmVjdC50b3AgKyAxMCxcclxuICAgICAgICByaWdodDogd2luZG93LmlubmVyV2lkdGggLSByZWN0LnJpZ2h0IC0gMTAgLy8gZGlzdGFuY2UgZnJvbSByaWdodCBlZGdlXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRpYWxvZ1Bvc2l0aW9uID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VJbmZvKHNpbGVudCA9IHRydWUpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zaG93QW5zd2VySW5mbykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dBbnN3ZXJJbmZvID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpYWxvZ1Bvc2l0aW9uID0gbnVsbDtcclxuICAgIGlmICghc2lsZW50KSB7XHJcbiAgICAgIHRoaXMuYW5zd2VySW5mb1RvZ2dsZS5lbWl0KHtvcGVuOiBmYWxzZSwgaWQ6IHRoaXMubW9kZWw/Lm5vZGVJZH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUZvY3VzRnJlZUlucHV0KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLl93YWl0Rm9ySW5wdXQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUJsdXJGcmVlSW5wdXQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuX3dhaXRGb3JJbnB1dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUtleURvd25GcmVlSW5wdXQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLl93YWl0Rm9ySW5wdXQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zZWxlY3QubmV4dCh0aGlzLmZyZWVJbnB1dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRm9jdXNJbnFOdW1iZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuX3dhaXRGb3JJbnFWYWx1ZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQmx1cklucU51bWJlcihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5fd2FpdEZvcklucVZhbHVlID0gIXRoaXMudmFsaWRhdGVJbnFOdW1iZXIoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUtleURvd25JbnFOdW1iZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLl93YWl0Rm9ySW5xVmFsdWUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5tb2RlbC5pbnFOdW1iZXIgPSB0aGlzLmlucU51bWJlck1vZGVsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uWm9vbUltYWdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYWduaWZpZXJDbGljay5uZXh0KHRoaXMubW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHZhbGlkYXRlSW5xTnVtYmVyKGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBjdXJyZW50VmFsdWU6IG51bWJlciA9IE51bWJlcih0aGlzLmlucU51bWJlck1vZGVsKTtcclxuICAgIGNvbnN0IG1pblZhbHVlOiBudW1iZXIgPSB0aGlzLm1vZGVsLm1pbk51bWJlcjtcclxuICAgIGNvbnN0IG1heFZhbHVlOiBudW1iZXIgPSB0aGlzLm1vZGVsLm1heE51bWJlcjtcclxuXHJcbiAgICBpZiAoY3VycmVudFZhbHVlIDwgbWluVmFsdWUpIHtcclxuICAgICAgdGhpcy5pbnFOdW1iZXJFcnJvciA9IHRydWU7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAoY3VycmVudFZhbHVlID4gbWF4VmFsdWUpIHtcclxuICAgICAgdGhpcy5pbnFOdW1iZXJFcnJvciA9IHRydWU7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW5xTnVtYmVyRXJyb3IgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlcGxhY2VUcmFuc2xhdGlvblZhbHVlcyh0cmFuc2xhdGlvbjogc3RyaW5nLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFydHMgPSB0cmFuc2xhdGlvbi5zcGxpdCgnKHx+KScpO1xyXG4gICAgLy8gV2UgYXJlIGRvaW5nIHRoaXMgdGhlIGRpcnR5d2F5XHJcbiAgICByZXR1cm4gcGFydHNbMF0gKyAnICcgKyBtaW4gKyAnICcgKyBwYXJ0c1sxXSArICcgJyArIG1heCArICcgJyArIHBhcnRzWzJdO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX2NoZWNrVmlzaWJpbGl0eShlbnRyaWVzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25maWd1cmF0b3JDb25uZWN0b3JTZXJ2aWNlLmV4dGVuZFdpdGhBbnN3ZXJUZXh0QW5kSW1hZ2UodGhpcy5tb2RlbCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0VGh1bWJuYWlsSW1hZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubW9kZWwuaW1hZ2VEYXRhKSB7XHJcbiAgICAgIHRoaXMuX2NvbmZpZ3VyYXRvckNvbm5lY3RvclNlcnZpY2UuZXh0ZW5kV2l0aEFuc3dlclRleHRBbmRJbWFnZSh0aGlzLm1vZGVsLCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,50 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { AnswerCardComponent } from './answer-card.component';
3
- import { CardModule, IconModule, InputTextModule } from '@colijnit/corecomponents_v12';
4
- import { PipesModule } from '../../pipes/pipes.module';
5
- import { BrowserModule } from '@angular/platform-browser';
6
- import { AnswersInfoDialogModule } from '../answer-info-dialog/answer-info-dialog.module';
7
- import * as i0 from "@angular/core";
8
- export class AnswerCardModule {
9
- }
10
- AnswerCardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AnswerCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- AnswerCardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AnswerCardModule, declarations: [AnswerCardComponent], imports: [CardModule,
12
- PipesModule,
13
- CardModule,
14
- InputTextModule,
15
- BrowserModule,
16
- IconModule,
17
- AnswersInfoDialogModule,
18
- CardModule], exports: [AnswerCardComponent] });
19
- AnswerCardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AnswerCardModule, imports: [[
20
- CardModule,
21
- PipesModule,
22
- CardModule,
23
- InputTextModule,
24
- BrowserModule,
25
- IconModule,
26
- AnswersInfoDialogModule,
27
- CardModule
28
- ]] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AnswerCardModule, decorators: [{
30
- type: NgModule,
31
- args: [{
32
- imports: [
33
- CardModule,
34
- PipesModule,
35
- CardModule,
36
- InputTextModule,
37
- BrowserModule,
38
- IconModule,
39
- AnswersInfoDialogModule,
40
- CardModule
41
- ],
42
- declarations: [
43
- AnswerCardComponent,
44
- ],
45
- exports: [
46
- AnswerCardComponent
47
- ]
48
- }]
49
- }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5zd2VyLWNhcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29uZmlndXJhdG9yL3NyYy9saWIvY29tcG9uZW50cy9hbnN3ZXItY2FyZC9hbnN3ZXItY2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDOztBQXFCeEYsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVB6QixtQkFBbUIsYUFWbkIsVUFBVTtRQUNWLFdBQVc7UUFDWCxVQUFVO1FBQ1YsZUFBZTtRQUNmLGFBQWE7UUFDYixVQUFVO1FBQ1YsdUJBQXVCO1FBQ3ZCLFVBQVUsYUFNVixtQkFBbUI7K0dBSVYsZ0JBQWdCLFlBbEJsQjtZQUNQLFVBQVU7WUFDVixXQUFXO1lBQ1gsVUFBVTtZQUNWLGVBQWU7WUFDZixhQUFhO1lBQ2IsVUFBVTtZQUNWLHVCQUF1QjtZQUN2QixVQUFVO1NBQ1g7NEZBU1UsZ0JBQWdCO2tCQW5CNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixXQUFXO3dCQUNYLFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsdUJBQXVCO3dCQUN2QixVQUFVO3FCQUNYO29CQUNELFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QW5zd2VyQ2FyZENvbXBvbmVudH0gZnJvbSAnLi9hbnN3ZXItY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NhcmRNb2R1bGUsIEljb25Nb2R1bGUsIElucHV0VGV4dE1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7UGlwZXNNb2R1bGV9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XHJcbmltcG9ydCB7QnJvd3Nlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7QW5zd2Vyc0luZm9EaWFsb2dNb2R1bGV9IGZyb20gJy4uL2Fuc3dlci1pbmZvLWRpYWxvZy9hbnN3ZXItaW5mby1kaWFsb2cubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ2FyZE1vZHVsZSxcclxuICAgIFBpcGVzTW9kdWxlLFxyXG4gICAgQ2FyZE1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBJY29uTW9kdWxlLFxyXG4gICAgQW5zd2Vyc0luZm9EaWFsb2dNb2R1bGUsXHJcbiAgICBDYXJkTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFuc3dlckNhcmRDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBbnN3ZXJDYXJkQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEFuc3dlckNhcmRNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,182 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
3
- import { IconEnum } from '../../enum/icon.enum';
4
- import { isNill } from '@colijnit/configuratorapi/build/utils/function/is-nill.function';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../services/icon-cache.service";
7
- import * as i2 from "../../services/settings.service";
8
- import * as i3 from "../../services/configurator-connector.service";
9
- import * as i4 from "@angular/platform-browser";
10
- import * as i5 from "@colijnit/corecomponents_v12";
11
- import * as i6 from "@angular/common";
12
- import * as i7 from "../../pipes/localize.pipe";
13
- export class AnswersInfoDialogComponent {
14
- constructor(iconService, _settingsService, _configuratorConnectorService, _sanitizer) {
15
- this.iconService = iconService;
16
- this._settingsService = _settingsService;
17
- this._configuratorConnectorService = _configuratorConnectorService;
18
- this._sanitizer = _sanitizer;
19
- this.icons = IconEnum;
20
- this.fixedPosition = null;
21
- this.nothingToShow = new EventEmitter();
22
- this.answerText = '';
23
- this.answerImage = '';
24
- this.answerHtml = '';
25
- this.textLoading = false;
26
- this.textError = '';
27
- this.showTooltip = false;
28
- this.showPopup = false;
29
- this.hasEmbed = false;
30
- }
31
- showClass() {
32
- return true;
33
- }
34
- ngOnInit() {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- this.textLoading = true;
37
- try {
38
- yield this._loadInfo();
39
- }
40
- catch (e) {
41
- this.textError = e ? e.message : 'Failed to load info.';
42
- }
43
- finally {
44
- this.textLoading = false;
45
- }
46
- });
47
- }
48
- _loadInfo() {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- let items = [];
51
- if (this.answer) {
52
- // Case 1: called with Answer
53
- items = yield this._configuratorConnectorService.getAnswerInfo(this.answer);
54
- this.answerImage = yield this._configuratorConnectorService.getMoodImageForInfoDialog(this.answer);
55
- }
56
- else if (this.structure) {
57
- // Case 2: called with SelectorStructure
58
- items = yield this._configuratorConnectorService.getStructureInfo(this.structure);
59
- }
60
- // Common content building logic
61
- const formatted = this._formatAnswerInfo(items);
62
- this.answerText = /<[^>]+>/.test(formatted)
63
- ? formatted
64
- : formatted.replace(/\n/g, '<br>');
65
- if (/<iframe|<embed/i.test(this.answerText)) {
66
- this.answerImage = '';
67
- this.hasEmbed = true;
68
- }
69
- this.answerHtml = this._sanitizer.bypassSecurityTrustHtml(this.answerText);
70
- });
71
- }
72
- _formatAnswerInfo(items) {
73
- if (!items || items.length === 0) {
74
- return '';
75
- }
76
- const textParts = [];
77
- let includesShort = false;
78
- let includesLong = false;
79
- for (const articleText of items) {
80
- if (!articleText.text) {
81
- continue;
82
- }
83
- if (isNill(articleText.publication) || ((articleText.publication & this._settingsService.settings.infoPublicationCode) > 0)) {
84
- const body = articleText.text.trim();
85
- const label = articleText.description ? articleText.description.trim() : '';
86
- const textPublication = articleText.textType;
87
- const bodyHasHtml = /<[^>]+>/.test(body);
88
- if ((textPublication & 1 /* ShortDescription */) > 0) {
89
- includesShort = true;
90
- textParts.push(body || label);
91
- }
92
- if ((textPublication & 2 /* Description */) > 0) {
93
- includesLong = true;
94
- if (label && body) {
95
- textParts.push(bodyHasHtml ? `<p class="info-heading">${label}</p>${body}` : `${label}\n${body}`);
96
- }
97
- else {
98
- textParts.push(body || label);
99
- }
100
- }
101
- }
102
- }
103
- if (includesShort) {
104
- this.showTooltip = true;
105
- this.showPopup = false;
106
- return textParts.join('\n\n---\n\n');
107
- }
108
- if (includesLong) {
109
- this.showPopup = true;
110
- this.showTooltip = false;
111
- return textParts.join('\n\n---\n\n');
112
- }
113
- this.showTooltip = false;
114
- this.showPopup = false;
115
- this.nothingToShow.emit();
116
- return '';
117
- }
118
- }
119
- AnswersInfoDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AnswersInfoDialogComponent, deps: [{ token: i1.IconCacheService }, { token: i2.SettingsService }, { token: i3.ConfiguratorConnectorService }, { token: i4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
120
- AnswersInfoDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AnswersInfoDialogComponent, selector: "co-answer-info-dialog", inputs: { answer: "answer", structure: "structure", fixedPosition: "fixedPosition" }, outputs: { nothingToShow: "nothingToShow" }, host: { properties: { "class.co-answer-info-dialog": "this.showClass" } }, ngImport: i0, template: `
121
- <div *ngIf="showTooltip" [ngStyle]="{ top: fixedPosition.top + 'px', right: fixedPosition.right + 'px' }" class="answer-info-tooltip">
122
- <div class="info-text" *ngIf="answerText" [innerHTML]="answerHtml"></div>
123
- <div class="loading" *ngIf="textLoading" [textContent]="'LOADING' | localize"></div>
124
- <div class="error" *ngIf="textError" [textContent]="textError"></div>
125
- </div>
126
- <div *ngIf="showPopup" class="answer-info-popup">
127
- <div class="inner-info">
128
- <div class="info-content">
129
- <div class="close-button-wrapper">
130
- <co-icon class="close-button" [iconData]="iconService.getIcon(icons.Cross)" (click)="showPopup = false"></co-icon>
131
- </div>
132
- <div class="info-image" *ngIf="answerImage"><img alt="" src="{{answerImage}}"/></div>
133
- <div class="text-content" [class.has-embed]="hasEmbed">
134
- <div class="info-text" *ngIf="answerText" [innerHTML]="answerHtml"></div>
135
- </div>
136
- <div class="loading" *ngIf="textLoading" [textContent]="'LOADING' | localize"></div>
137
- <div class="error" *ngIf="textError" [textContent]="textError"></div>
138
- </div>
139
- </div>
140
- </div>
141
- `, isInline: true, components: [{ type: i5.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "localize": i7.LocalizePipe }, encapsulation: i0.ViewEncapsulation.None });
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AnswersInfoDialogComponent, decorators: [{
143
- type: Component,
144
- args: [{
145
- selector: 'co-answer-info-dialog',
146
- template: `
147
- <div *ngIf="showTooltip" [ngStyle]="{ top: fixedPosition.top + 'px', right: fixedPosition.right + 'px' }" class="answer-info-tooltip">
148
- <div class="info-text" *ngIf="answerText" [innerHTML]="answerHtml"></div>
149
- <div class="loading" *ngIf="textLoading" [textContent]="'LOADING' | localize"></div>
150
- <div class="error" *ngIf="textError" [textContent]="textError"></div>
151
- </div>
152
- <div *ngIf="showPopup" class="answer-info-popup">
153
- <div class="inner-info">
154
- <div class="info-content">
155
- <div class="close-button-wrapper">
156
- <co-icon class="close-button" [iconData]="iconService.getIcon(icons.Cross)" (click)="showPopup = false"></co-icon>
157
- </div>
158
- <div class="info-image" *ngIf="answerImage"><img alt="" src="{{answerImage}}"/></div>
159
- <div class="text-content" [class.has-embed]="hasEmbed">
160
- <div class="info-text" *ngIf="answerText" [innerHTML]="answerHtml"></div>
161
- </div>
162
- <div class="loading" *ngIf="textLoading" [textContent]="'LOADING' | localize"></div>
163
- <div class="error" *ngIf="textError" [textContent]="textError"></div>
164
- </div>
165
- </div>
166
- </div>
167
- `,
168
- encapsulation: ViewEncapsulation.None
169
- }]
170
- }], ctorParameters: function () { return [{ type: i1.IconCacheService }, { type: i2.SettingsService }, { type: i3.ConfiguratorConnectorService }, { type: i4.DomSanitizer }]; }, propDecorators: { showClass: [{
171
- type: HostBinding,
172
- args: ['class.co-answer-info-dialog']
173
- }], answer: [{
174
- type: Input
175
- }], structure: [{
176
- type: Input
177
- }], fixedPosition: [{
178
- type: Input
179
- }], nothingToShow: [{
180
- type: Output
181
- }] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5zd2VyLWluZm8tZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbmZpZ3VyYXRvci9zcmMvbGliL2NvbXBvbmVudHMvYW5zd2VyLWluZm8tZGlhbG9nL2Fuc3dlci1pbmZvLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTzdHLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUVBQWlFLENBQUM7Ozs7Ozs7OztBQW9DdkYsTUFBTSxPQUFPLDBCQUEwQjtJQTZCckMsWUFDUyxXQUE2QixFQUM1QixnQkFBaUMsRUFDakMsNkJBQTJELEVBQzNELFVBQXdCO1FBSHpCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM1QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBOEI7UUFDM0QsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQWhDbEIsVUFBSyxHQUFvQixRQUFRLENBQUM7UUFjM0Msa0JBQWEsR0FBMEMsSUFBSSxDQUFDO1FBRzVELGtCQUFhLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFN0QsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzFCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDO0lBUWpDLENBQUM7SUEvQk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQStCSyxRQUFROztZQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBRXhCLElBQUk7Z0JBQ0YsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDeEI7WUFBQyxPQUFPLENBQU0sRUFBRTtnQkFDZixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUM7YUFDekQ7b0JBQVM7Z0JBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7YUFDMUI7UUFDSCxDQUFDO0tBQUE7SUFFYSxTQUFTOztZQUNyQixJQUFJLEtBQUssR0FBa0IsRUFBRSxDQUFDO1lBQzlCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDZiw2QkFBNkI7Z0JBQzdCLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1RSxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLDZCQUE2QixDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNwRztpQkFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ3pCLHdDQUF3QztnQkFDeEMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLDZCQUE2QixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNuRjtZQUVELGdDQUFnQztZQUNoQyxNQUFNLFNBQVMsR0FBVyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDekMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ1gsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXJDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO1lBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RSxDQUFDO0tBQUE7SUFFTyxpQkFBaUIsQ0FBQyxLQUFvQjtRQUM1QyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLFNBQVMsR0FBYSxFQUFFLENBQUM7UUFDL0IsSUFBSSxhQUFhLEdBQVksS0FBSyxDQUFDO1FBQ25DLElBQUksWUFBWSxHQUFZLEtBQUssQ0FBQztRQUNsQyxLQUFLLE1BQU0sV0FBVyxJQUFJLEtBQUssRUFBRTtZQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtnQkFDckIsU0FBUzthQUNWO1lBQ0QsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDM0gsTUFBTSxJQUFJLEdBQVcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDN0MsTUFBTSxLQUFLLEdBQVcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwRixNQUFNLGVBQWUsR0FBVyxXQUFXLENBQUMsUUFBUSxDQUFDO2dCQUNyRCxNQUFNLFdBQVcsR0FBWSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsZUFBZSwyQkFBK0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDeEQsYUFBYSxHQUFHLElBQUksQ0FBQztvQkFDckIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLENBQUM7aUJBQy9CO2dCQUNELElBQUksQ0FBQyxlQUFlLHNCQUEwQixDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNuRCxZQUFZLEdBQUcsSUFBSSxDQUFDO29CQUNwQixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7d0JBQ2pCLFNBQVMsQ0FBQyxJQUFJLENBQ1osV0FBVyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsS0FBSyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FDbEYsQ0FBQztxQkFDSDt5QkFBTTt3QkFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQztxQkFDL0I7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxZQUFZLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O3dIQXhIVSwwQkFBMEI7NEdBQTFCLDBCQUEwQiwyUUF4QjNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQ7NEZBR1UsMEJBQTBCO2tCQTFCdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7Mk1BS1EsU0FBUztzQkFEZixXQUFXO3VCQUFDLDZCQUE2QjtnQkFNbkMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QW5zd2VyfSBmcm9tICdAY29saWpuaXQvY29uZmlndXJhdG9yYXBpL2J1aWxkL21vZGVsL2Fuc3dlcic7XHJcbmltcG9ydCB7QXJ0aWNsZVRleHR9IGZyb20gJ0Bjb2xpam5pdC9jb25maWd1cmF0b3JhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10ZXh0LmJvJztcclxuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVIdG1sfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtTZWxlY3RvclN0cnVjdHVyZX0gZnJvbSAnQGNvbGlqbml0L2NvbmZpZ3VyYXRvcmFwaS9idWlsZC9tb2RlbC9zZWxlY3Rvci1zdHJ1Y3R1cmUuYm8nO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRvckNvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZ3VyYXRvci1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uRW51bX0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1NldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2V0dGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7aXNOaWxsfSBmcm9tICdAY29saWpuaXQvY29uZmlndXJhdG9yYXBpL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL2lzLW5pbGwuZnVuY3Rpb24nO1xyXG5cclxuY29uc3QgZW51bSBQdWJsaWNhdGlvbiB7XHJcbiAgU2hvcnREZXNjcmlwdGlvbiA9IDEsXHJcbiAgRGVzY3JpcHRpb24gPSAyLFxyXG4gIE1ldGFUaXRsZSA9IDQsXHJcbiAgTWV0YURlc2NyaXB0aW9uID0gOCxcclxuICBMb25nVGl0bGUgPSAxNlxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWFuc3dlci1pbmZvLWRpYWxvZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgKm5nSWY9XCJzaG93VG9vbHRpcFwiIFtuZ1N0eWxlXT1cInsgdG9wOiBmaXhlZFBvc2l0aW9uLnRvcCArICdweCcsIHJpZ2h0OiBmaXhlZFBvc2l0aW9uLnJpZ2h0ICsgJ3B4JyB9XCIgY2xhc3M9XCJhbnN3ZXItaW5mby10b29sdGlwXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLXRleHRcIiAqbmdJZj1cImFuc3dlclRleHRcIiBbaW5uZXJIVE1MXT1cImFuc3dlckh0bWxcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmdcIiAqbmdJZj1cInRleHRMb2FkaW5nXCIgW3RleHRDb250ZW50XT1cIidMT0FESU5HJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwidGV4dEVycm9yXCIgW3RleHRDb250ZW50XT1cInRleHRFcnJvclwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1BvcHVwXCIgY2xhc3M9XCJhbnN3ZXItaW5mby1wb3B1cFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaW5mb1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLkNyb3NzKVwiIChjbGljayk9XCJzaG93UG9wdXAgPSBmYWxzZVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8taW1hZ2VcIiAqbmdJZj1cImFuc3dlckltYWdlXCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJ7e2Fuc3dlckltYWdlfX1cIi8+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jb250ZW50XCIgW2NsYXNzLmhhcy1lbWJlZF09XCJoYXNFbWJlZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby10ZXh0XCIgKm5nSWY9XCJhbnN3ZXJUZXh0XCIgW2lubmVySFRNTF09XCJhbnN3ZXJIdG1sXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nXCIgKm5nSWY9XCJ0ZXh0TG9hZGluZ1wiIFt0ZXh0Q29udGVudF09XCInTE9BRElORycgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yXCIgKm5nSWY9XCJ0ZXh0RXJyb3JcIiBbdGV4dENvbnRlbnRdPVwidGV4dEVycm9yXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbnN3ZXJzSW5mb0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbkVudW0gPSBJY29uRW51bTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1hbnN3ZXItaW5mby1kaWFsb2cnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFuc3dlcjogQW5zd2VyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdHJ1Y3R1cmU6IFNlbGVjdG9yU3RydWN0dXJlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaXhlZFBvc2l0aW9uOiB7IHRvcDogbnVtYmVyLCByaWdodDogbnVtYmVyIH0gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG5vdGhpbmdUb1Nob3c6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIGFuc3dlclRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBhbnN3ZXJJbWFnZTogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIGFuc3dlckh0bWw6IFNhZmVIdG1sID0gJyc7XHJcbiAgcHVibGljIHRleHRMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHRleHRFcnJvcjogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIHNob3dUb29sdGlwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBoYXNFbWJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZTogQ29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMudGV4dExvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2xvYWRJbmZvKCk7XHJcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcclxuICAgICAgdGhpcy50ZXh0RXJyb3IgPSBlID8gZS5tZXNzYWdlIDogJ0ZhaWxlZCB0byBsb2FkIGluZm8uJztcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHRoaXMudGV4dExvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2xvYWRJbmZvKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IGl0ZW1zOiBBcnRpY2xlVGV4dFtdID0gW107XHJcbiAgICBpZiAodGhpcy5hbnN3ZXIpIHtcclxuICAgICAgLy8gQ2FzZSAxOiBjYWxsZWQgd2l0aCBBbnN3ZXJcclxuICAgICAgaXRlbXMgPSBhd2FpdCB0aGlzLl9jb25maWd1cmF0b3JDb25uZWN0b3JTZXJ2aWNlLmdldEFuc3dlckluZm8odGhpcy5hbnN3ZXIpO1xyXG4gICAgICB0aGlzLmFuc3dlckltYWdlID0gYXdhaXQgdGhpcy5fY29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZS5nZXRNb29kSW1hZ2VGb3JJbmZvRGlhbG9nKHRoaXMuYW5zd2VyKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zdHJ1Y3R1cmUpIHtcclxuICAgICAgLy8gQ2FzZSAyOiBjYWxsZWQgd2l0aCBTZWxlY3RvclN0cnVjdHVyZVxyXG4gICAgICBpdGVtcyA9IGF3YWl0IHRoaXMuX2NvbmZpZ3VyYXRvckNvbm5lY3RvclNlcnZpY2UuZ2V0U3RydWN0dXJlSW5mbyh0aGlzLnN0cnVjdHVyZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29tbW9uIGNvbnRlbnQgYnVpbGRpbmcgbG9naWNcclxuICAgIGNvbnN0IGZvcm1hdHRlZDogc3RyaW5nID0gdGhpcy5fZm9ybWF0QW5zd2VySW5mbyhpdGVtcyk7XHJcbiAgICB0aGlzLmFuc3dlclRleHQgPSAvPFtePl0rPi8udGVzdChmb3JtYXR0ZWQpXHJcbiAgICAgID8gZm9ybWF0dGVkXHJcbiAgICAgIDogZm9ybWF0dGVkLnJlcGxhY2UoL1xcbi9nLCAnPGJyPicpO1xyXG5cclxuICAgIGlmICgvPGlmcmFtZXw8ZW1iZWQvaS50ZXN0KHRoaXMuYW5zd2VyVGV4dCkpIHtcclxuICAgICAgdGhpcy5hbnN3ZXJJbWFnZSA9ICcnO1xyXG4gICAgICB0aGlzLmhhc0VtYmVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFuc3dlckh0bWwgPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5hbnN3ZXJUZXh0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Zvcm1hdEFuc3dlckluZm8oaXRlbXM6IEFydGljbGVUZXh0W10pOiBzdHJpbmcge1xyXG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGV4dFBhcnRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgbGV0IGluY2x1ZGVzU2hvcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGxldCBpbmNsdWRlc0xvbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZvciAoY29uc3QgYXJ0aWNsZVRleHQgb2YgaXRlbXMpIHtcclxuICAgICAgaWYgKCFhcnRpY2xlVGV4dC50ZXh0KSB7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlzTmlsbChhcnRpY2xlVGV4dC5wdWJsaWNhdGlvbikgfHwgKChhcnRpY2xlVGV4dC5wdWJsaWNhdGlvbiAmIHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5ncy5pbmZvUHVibGljYXRpb25Db2RlKSA+IDApKSB7XHJcbiAgICAgICAgY29uc3QgYm9keTogc3RyaW5nID0gYXJ0aWNsZVRleHQudGV4dC50cmltKCk7XHJcbiAgICAgICAgY29uc3QgbGFiZWw6IHN0cmluZyA9IGFydGljbGVUZXh0LmRlc2NyaXB0aW9uID8gYXJ0aWNsZVRleHQuZGVzY3JpcHRpb24udHJpbSgpIDogJyc7XHJcbiAgICAgICAgY29uc3QgdGV4dFB1YmxpY2F0aW9uOiBudW1iZXIgPSBhcnRpY2xlVGV4dC50ZXh0VHlwZTtcclxuICAgICAgICBjb25zdCBib2R5SGFzSHRtbDogYm9vbGVhbiA9IC88W14+XSs+Ly50ZXN0KGJvZHkpO1xyXG4gICAgICAgIGlmICgodGV4dFB1YmxpY2F0aW9uICYgUHVibGljYXRpb24uU2hvcnREZXNjcmlwdGlvbikgPiAwKSB7XHJcbiAgICAgICAgICBpbmNsdWRlc1Nob3J0ID0gdHJ1ZTtcclxuICAgICAgICAgIHRleHRQYXJ0cy5wdXNoKGJvZHkgfHwgbGFiZWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoKHRleHRQdWJsaWNhdGlvbiAmIFB1YmxpY2F0aW9uLkRlc2NyaXB0aW9uKSA+IDApIHtcclxuICAgICAgICAgIGluY2x1ZGVzTG9uZyA9IHRydWU7XHJcbiAgICAgICAgICBpZiAobGFiZWwgJiYgYm9keSkge1xyXG4gICAgICAgICAgICB0ZXh0UGFydHMucHVzaChcclxuICAgICAgICAgICAgICBib2R5SGFzSHRtbCA/IGA8cCBjbGFzcz1cImluZm8taGVhZGluZ1wiPiR7bGFiZWx9PC9wPiR7Ym9keX1gIDogYCR7bGFiZWx9XFxuJHtib2R5fWBcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRleHRQYXJ0cy5wdXNoKGJvZHkgfHwgbGFiZWwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGluY2x1ZGVzU2hvcnQpIHtcclxuICAgICAgdGhpcy5zaG93VG9vbHRpcCA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2hvd1BvcHVwID0gZmFsc2U7XHJcbiAgICAgIHJldHVybiB0ZXh0UGFydHMuam9pbignXFxuXFxuLS0tXFxuXFxuJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5jbHVkZXNMb25nKSB7XHJcbiAgICAgIHRoaXMuc2hvd1BvcHVwID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zaG93VG9vbHRpcCA9IGZhbHNlO1xyXG4gICAgICByZXR1cm4gdGV4dFBhcnRzLmpvaW4oJ1xcblxcbi0tLVxcblxcbicpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93VG9vbHRpcCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93UG9wdXAgPSBmYWxzZTtcclxuICAgIHRoaXMubm90aGluZ1RvU2hvdy5lbWl0KCk7XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG59XHJcbiJdfQ==