@openmrs/ngx-formentry 3.0.1-pre.8 → 3.0.1-pre.83

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 (213) hide show
  1. package/bundles/openmrs-ngx-formentry.umd.js +9382 -8307
  2. package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
  3. package/components/afe-ng-select.component.d.ts +5 -3
  4. package/components/appointments-overview/appointments-overview.component.d.ts +5 -3
  5. package/components/check-box/checkbox.component.d.ts +6 -3
  6. package/components/check-box/checkbox.module.d.ts +7 -0
  7. package/components/custom-component-wrapper/custom-component-wrapper..module.d.ts +7 -0
  8. package/components/custom-component-wrapper/custom-component-wrapper.component.d.ts +4 -3
  9. package/components/custom-control-wrapper/custom-control-wrapper..module.d.ts +8 -0
  10. package/components/custom-control-wrapper/custom-control-wrapper.component.d.ts +3 -0
  11. package/components/date-time-picker/date-picker/date-picker.component.d.ts +5 -2
  12. package/components/date-time-picker/date-time-picker.component.d.ts +6 -4
  13. package/components/date-time-picker/date-time-picker.module.d.ts +11 -3
  14. package/components/date-time-picker/index.d.ts +8 -0
  15. package/components/date-time-picker/picker-modal/modal.component.d.ts +6 -4
  16. package/components/date-time-picker/pipes/moment.pipe.d.ts +3 -0
  17. package/components/date-time-picker/time-picker/time-picker.component.d.ts +5 -2
  18. package/components/file-upload/file-upload.component.d.ts +4 -1
  19. package/components/file-upload/file-upload.module.d.ts +10 -0
  20. package/components/file-upload/secure.pipe.d.ts +3 -0
  21. package/components/input/input.directive.d.ts +5 -2
  22. package/components/input/input.module.d.ts +9 -0
  23. package/components/input/label.component.d.ts +13 -10
  24. package/components/input/text-area.directive.d.ts +5 -2
  25. package/components/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +4 -0
  26. package/components/ngx-datetime-picker/ngx-datetime-picker.module.d.ts +9 -3
  27. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.d.ts +3 -3
  28. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.d.ts +8 -3
  29. package/components/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +7 -8
  30. package/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +4 -4
  31. package/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +8 -9
  32. package/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +5 -5
  33. package/components/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +6 -10
  34. package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +7 -5
  35. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +17 -18
  36. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +12 -15
  37. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +3 -3
  38. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +7 -8
  39. package/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +5 -6
  40. package/components/ngx-pick-datetime/lib/date-time/date-time.class.d.ts +3 -0
  41. package/components/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +21 -3
  42. package/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.d.ts +3 -0
  43. package/components/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +4 -4
  44. package/components/ngx-pick-datetime/lib/date-time/timer.component.d.ts +7 -8
  45. package/components/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +17 -15
  46. package/components/ngx-pick-datetime/lib/dialog/dialog.module.d.ts +9 -3
  47. package/components/ngx-pick-datetime/lib/dialog/dialog.service.d.ts +3 -0
  48. package/components/ngx-remote-select/ngx-remote-select.component.d.ts +7 -4
  49. package/components/ngx-remote-select/ngx-remote-select.module.d.ts +8 -0
  50. package/components/ngx-tabset/components/{tab-set.d.ts → ngx-tab-set.component.d.ts} +6 -3
  51. package/components/ngx-tabset/components/tab.component.d.ts +13 -0
  52. package/components/ngx-tabset/directives/hover-class.directive.d.ts +4 -1
  53. package/components/ngx-tabset/modules/ngx-tabset.module.d.ts +8 -0
  54. package/components/number-input/number-input.component.d.ts +4 -1
  55. package/components/number-input/number-input.module.d.ts +7 -0
  56. package/components/radio-button/radio.component.d.ts +22 -0
  57. package/components/radio-button/radio.module.d.ts +9 -0
  58. package/components/select/optgroup.directive.d.ts +4 -1
  59. package/components/select/option.directive.d.ts +4 -1
  60. package/components/select/select.component.d.ts +7 -4
  61. package/components/select/select.module.d.ts +9 -0
  62. package/esm2015/components/afe-ng-select.component.js +37 -23
  63. package/esm2015/components/appointments-overview/appointments-overview.component.js +15 -13
  64. package/esm2015/components/check-box/checkbox.component.js +37 -24
  65. package/esm2015/components/check-box/checkbox.module.js +13 -8
  66. package/esm2015/components/custom-component-wrapper/custom-component-wrapper..module.js +15 -10
  67. package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +17 -12
  68. package/esm2015/components/custom-control-wrapper/custom-control-wrapper..module.js +15 -10
  69. package/esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js +27 -17
  70. package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +33 -23
  71. package/esm2015/components/date-time-picker/date-time-picker.component.js +42 -27
  72. package/esm2015/components/date-time-picker/date-time-picker.module.js +34 -21
  73. package/esm2015/components/date-time-picker/index.js +9 -0
  74. package/esm2015/components/date-time-picker/picker-modal/modal.component.js +18 -17
  75. package/esm2015/components/date-time-picker/pipes/moment.pipe.js +8 -4
  76. package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +35 -24
  77. package/esm2015/components/file-upload/file-upload.component.js +34 -22
  78. package/esm2015/components/file-upload/file-upload.module.js +31 -16
  79. package/esm2015/components/file-upload/secure.pipe.js +12 -13
  80. package/esm2015/components/input/input.directive.js +43 -20
  81. package/esm2015/components/input/input.module.js +16 -11
  82. package/esm2015/components/input/label.component.js +130 -44
  83. package/esm2015/components/input/text-area.directive.js +30 -16
  84. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +41 -21
  85. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +28 -16
  86. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.js +14 -11
  87. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.js +26 -17
  88. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +39 -39
  89. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js +58 -42
  90. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +58 -47
  91. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js +57 -43
  92. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +67 -53
  93. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js +56 -42
  94. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +92 -73
  95. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.js +121 -97
  96. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.js +7 -5
  97. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.js +31 -32
  98. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.js +58 -42
  99. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.class.js +31 -18
  100. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.module.js +59 -34
  101. package/esm2015/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.js +10 -6
  102. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +49 -38
  103. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +52 -46
  104. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-container.component.js +114 -75
  105. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.module.js +15 -10
  106. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.service.js +24 -13
  107. package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +42 -28
  108. package/esm2015/components/ngx-remote-select/ngx-remote-select.module.js +14 -9
  109. package/esm2015/components/ngx-tabset/components/ngx-tab-set.component.js +76 -0
  110. package/esm2015/components/ngx-tabset/components/tab.component.js +37 -0
  111. package/esm2015/components/ngx-tabset/directives/hover-class.directive.js +18 -14
  112. package/esm2015/components/ngx-tabset/modules/ngx-tabset.module.js +15 -10
  113. package/esm2015/components/number-input/number-input.component.js +70 -40
  114. package/esm2015/components/number-input/number-input.module.js +14 -9
  115. package/esm2015/components/radio-button/radio.component.js +89 -0
  116. package/esm2015/components/radio-button/radio.module.js +19 -0
  117. package/esm2015/components/select/optgroup.directive.js +15 -13
  118. package/esm2015/components/select/option.directive.js +15 -13
  119. package/esm2015/components/select/select.component.js +68 -174
  120. package/esm2015/components/select/select.module.js +16 -11
  121. package/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +1 -2
  122. package/esm2015/form-entry/data-sources/data-sources.js +7 -7
  123. package/esm2015/form-entry/directives/collapse.directive.js +45 -30
  124. package/esm2015/form-entry/directives/historical-value.directive.js +71 -0
  125. package/esm2015/form-entry/error-renderer/error-renderer.component.js +17 -16
  126. package/esm2015/form-entry/expression-runner/expression-runner.js +7 -5
  127. package/esm2015/form-entry/form-entry.module.js +143 -63
  128. package/esm2015/form-entry/form-factory/control-relations.factory.js +7 -5
  129. package/esm2015/form-entry/form-factory/form-control.service.js +10 -9
  130. package/esm2015/form-entry/form-factory/form-node.js +19 -4
  131. package/esm2015/form-entry/form-factory/form.factory.js +20 -11
  132. package/esm2015/form-entry/form-factory/form.js +1 -5
  133. package/esm2015/form-entry/form-factory/hiders-disablers.factory.js +10 -9
  134. package/esm2015/form-entry/form-factory/question.factory.js +90 -6
  135. package/esm2015/form-entry/form-factory/show-messages.factory.js +9 -8
  136. package/esm2015/form-entry/form-factory/validation.factory.js +7 -5
  137. package/esm2015/form-entry/form-renderer/form-renderer.component.js +93 -56
  138. package/esm2015/form-entry/helpers/historical-expression-helper-service.js +7 -5
  139. package/esm2015/form-entry/helpers/historical-field-helper-service.js +7 -4
  140. package/esm2015/form-entry/helpers/js-expression-helper.js +22 -4
  141. package/esm2015/form-entry/helpers/risk-dataset-table.js +247 -0
  142. package/esm2015/form-entry/pipes/time-ago.pipe.js +11 -11
  143. package/esm2015/form-entry/question-models/checkbox.model.js +2 -2
  144. package/esm2015/form-entry/question-models/interfaces/base-options.js +1 -1
  145. package/esm2015/form-entry/question-models/interfaces/date-question-options.js +1 -1
  146. package/esm2015/form-entry/question-models/interfaces/radio-button-options.js +2 -0
  147. package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +1 -1
  148. package/esm2015/form-entry/question-models/models.js +2 -1
  149. package/esm2015/form-entry/question-models/question-base.js +2 -1
  150. package/esm2015/form-entry/question-models/radio-button.model.js +12 -0
  151. package/esm2015/form-entry/services/debug-mode.service.js +7 -5
  152. package/esm2015/form-entry/services/form-errors.service.js +7 -4
  153. package/esm2015/form-entry/services/form-schema-compiler.service.js +9 -7
  154. package/esm2015/form-entry/services/historical-encounter-data.service.js +8 -6
  155. package/esm2015/form-entry/value-adapters/encounter.adapter.js +9 -10
  156. package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +31 -15
  157. package/esm2015/form-entry/value-adapters/obs.adapter.js +8 -11
  158. package/esm2015/form-entry/value-adapters/order.adapter.js +7 -7
  159. package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +7 -6
  160. package/esm2015/lib/index.js +10 -1
  161. package/esm2015/openmrs-ngx-formentry.js +1 -72
  162. package/esm2015/shared.module.js +15 -9
  163. package/fesm2015/openmrs-ngx-formentry.js +10909 -10053
  164. package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
  165. package/form-entry/data-sources/data-sources.d.ts +3 -0
  166. package/form-entry/directives/collapse.directive.d.ts +3 -0
  167. package/form-entry/directives/{historical-value-directive.d.ts → historical-value.directive.d.ts} +3 -0
  168. package/form-entry/error-renderer/error-renderer.component.d.ts +4 -3
  169. package/form-entry/expression-runner/expression-runner.d.ts +3 -0
  170. package/form-entry/form-entry.module.d.ts +28 -0
  171. package/form-entry/form-factory/control-relations.factory.d.ts +3 -0
  172. package/form-entry/form-factory/form-control.service.d.ts +3 -0
  173. package/form-entry/form-factory/form-node.d.ts +3 -2
  174. package/form-entry/form-factory/form.factory.d.ts +5 -1
  175. package/form-entry/form-factory/hiders-disablers.factory.d.ts +3 -0
  176. package/form-entry/form-factory/question.factory.d.ts +6 -0
  177. package/form-entry/form-factory/show-messages.factory.d.ts +3 -0
  178. package/form-entry/form-factory/validation.factory.d.ts +3 -0
  179. package/form-entry/form-renderer/form-renderer.component.d.ts +13 -2
  180. package/form-entry/helpers/historical-expression-helper-service.d.ts +3 -0
  181. package/form-entry/helpers/historical-field-helper-service.d.ts +3 -0
  182. package/form-entry/helpers/js-expression-helper.d.ts +5 -0
  183. package/form-entry/helpers/risk-dataset-table.d.ts +1 -0
  184. package/form-entry/pipes/time-ago.pipe.d.ts +3 -0
  185. package/form-entry/question-models/interfaces/base-options.d.ts +2 -0
  186. package/form-entry/question-models/interfaces/radio-button-options.d.ts +8 -0
  187. package/form-entry/question-models/interfaces/repeating-question-options.d.ts +2 -0
  188. package/form-entry/question-models/models.d.ts +1 -0
  189. package/form-entry/question-models/question-base.d.ts +5 -0
  190. package/form-entry/question-models/radio-button.model.d.ts +7 -0
  191. package/form-entry/services/debug-mode.service.d.ts +3 -0
  192. package/form-entry/services/form-errors.service.d.ts +3 -0
  193. package/form-entry/services/form-schema-compiler.service.d.ts +3 -0
  194. package/form-entry/services/historical-encounter-data.service.d.ts +3 -0
  195. package/form-entry/value-adapters/encounter.adapter.d.ts +3 -0
  196. package/form-entry/value-adapters/obs-adapter-helper.d.ts +7 -0
  197. package/form-entry/value-adapters/obs.adapter.d.ts +3 -0
  198. package/form-entry/value-adapters/order.adapter.d.ts +3 -0
  199. package/form-entry/value-adapters/person-attribute.adapter.d.ts +3 -0
  200. package/lib/index.d.ts +9 -0
  201. package/openmrs-ngx-formentry.d.ts +1 -81
  202. package/package.json +3 -4
  203. package/shared.module.d.ts +7 -0
  204. package/styles/ngx-formentry.css +1 -1
  205. package/bundles/openmrs-ngx-formentry.umd.min.js +0 -2
  206. package/bundles/openmrs-ngx-formentry.umd.min.js.map +0 -1
  207. package/components/ngx-tabset/components/tab.d.ts +0 -10
  208. package/esm2015/components/ngx-tabset/components/tab-set.js +0 -67
  209. package/esm2015/components/ngx-tabset/components/tab.js +0 -35
  210. package/esm2015/form-entry/directives/historical-value-directive.js +0 -66
  211. package/esm2015/form-entry/form-renderer/form-renderer.component.css.js +0 -179
  212. package/form-entry/form-renderer/form-renderer.component.css.d.ts +0 -1
  213. package/openmrs-ngx-formentry.metadata.json +0 -1
@@ -3,6 +3,10 @@ import { ExpressionRunner } from '../expression-runner/expression-runner';
3
3
  import { JsExpressionHelper } from '../helpers/js-expression-helper';
4
4
  // Add ability to display all fields for debugging
5
5
  import { DebugModeService } from './../services/debug-mode.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../expression-runner/expression-runner";
8
+ import * as i2 from "../helpers/js-expression-helper";
9
+ import * as i3 from "./../services/debug-mode.service";
6
10
  export class HidersDisablersFactory {
7
11
  constructor(expressionRunner, expressionHelper, _debugModeService) {
8
12
  this.expressionRunner = expressionRunner;
@@ -55,12 +59,9 @@ export class HidersDisablersFactory {
55
59
  return '';
56
60
  }
57
61
  }
58
- HidersDisablersFactory.decorators = [
59
- { type: Injectable }
60
- ];
61
- HidersDisablersFactory.ctorParameters = () => [
62
- { type: ExpressionRunner },
63
- { type: JsExpressionHelper },
64
- { type: DebugModeService }
65
- ];
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlkZXJzLWRpc2FibGVycy5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvaGlkZXJzLWRpc2FibGVycy5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUNMLGdCQUFnQixFQUVqQixNQUFNLHdDQUF3QyxDQUFDO0FBT2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLGtEQUFrRDtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdwRSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1UsZ0JBQWtDLEVBQ2xDLGdCQUFvQyxFQUNwQyxpQkFBbUM7UUFGbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBQ3BDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7SUFDMUMsQ0FBQztJQUVKLHVCQUF1QixDQUNyQixRQUFzQixFQUN0QixPQUFxRCxFQUNyRCxJQUFXO1FBRVgsTUFBTSxRQUFRLEdBQWEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FDMUQsUUFBUSxDQUFDLE9BQWlCLEVBQzFCLE9BQU8sRUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUNyQyxFQUFFLEVBQ0YsSUFBSSxDQUNMLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBYTtZQUN6QixTQUFTLEVBQUUsS0FBSztZQUNoQixxQkFBcUIsRUFBRSxRQUFRLENBQUMsT0FBaUI7WUFDakQsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO2dCQUNsQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzlCLFFBQVEsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1lBQzlCLENBQUM7U0FDRixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELG9CQUFvQixDQUNsQixRQUFzQixFQUN0QixPQUFxRCxFQUNyRCxJQUFXO1FBRVgsTUFBTSxJQUFJLEdBQVEsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNoQyxNQUFNLEtBQUssR0FDVCxPQUFPLElBQUksS0FBSyxRQUFRO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDO1lBQ3RDLENBQUMsQ0FBRSxRQUFRLENBQUMsSUFBZSxDQUFDO1FBRWhDLHNDQUFzQztRQUV0QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0QsTUFBTSxRQUFRLEdBQWEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FDMUQsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUNyQyxFQUFFLEVBQ0YsSUFBSSxDQUNMLENBQUM7UUFFRixNQUFNLEtBQUssR0FBVTtZQUNuQixNQUFNLEVBQUUsS0FBSztZQUNiLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO2dCQUMvQjs7MkJBRVc7Z0JBQ1gsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO29CQUN6QixLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztpQkFDdEI7cUJBQU07b0JBQ0wsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7aUJBQy9CO1lBQ0gsQ0FBQztTQUNGLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxJQUFTO1FBQ2pDLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDL0IsTUFBTSxRQUFRLEdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUM1RCxNQUFNLEdBQUcsR0FBRyxrQkFBa0IsR0FBRyxRQUFRLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ3BFLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OztZQS9FRixVQUFVOzs7WUFkVCxnQkFBZ0I7WUFTVCxrQkFBa0I7WUFHbEIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEaXNhYmxlciB9IGZyb20gJy4uL2NvbnRyb2wtaGlkZXJzLWRpc2FibGVycy9jYW4tZGlzYWJsZSc7XG5pbXBvcnQgeyBIaWRlciB9IGZyb20gJy4uL2NvbnRyb2wtaGlkZXJzLWRpc2FibGVycy9jYW4taGlkZSc7XG5cbmltcG9ydCB7XG4gIEV4cHJlc3Npb25SdW5uZXIsXG4gIFJ1bm5hYmxlXG59IGZyb20gJy4uL2V4cHJlc3Npb24tcnVubmVyL2V4cHJlc3Npb24tcnVubmVyJztcbmltcG9ydCB7XG4gIEFmZUZvcm1Db250cm9sLFxuICBBZmVGb3JtQXJyYXksXG4gIEFmZUZvcm1Hcm91cFxufSBmcm9tICcuLi8uLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24nO1xuaW1wb3J0IHsgUXVlc3Rpb25CYXNlIH0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL3F1ZXN0aW9uLWJhc2UnO1xuaW1wb3J0IHsgSnNFeHByZXNzaW9uSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9qcy1leHByZXNzaW9uLWhlbHBlcic7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnLi9mb3JtJztcbi8vIEFkZCBhYmlsaXR5IHRvIGRpc3BsYXkgYWxsIGZpZWxkcyBmb3IgZGVidWdnaW5nXG5pbXBvcnQgeyBEZWJ1Z01vZGVTZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcy9kZWJ1Zy1tb2RlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSGlkZXJzRGlzYWJsZXJzRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZXhwcmVzc2lvblJ1bm5lcjogRXhwcmVzc2lvblJ1bm5lcixcbiAgICBwcml2YXRlIGV4cHJlc3Npb25IZWxwZXI6IEpzRXhwcmVzc2lvbkhlbHBlcixcbiAgICBwcml2YXRlIF9kZWJ1Z01vZGVTZXJ2aWNlOiBEZWJ1Z01vZGVTZXJ2aWNlXG4gICkge31cblxuICBnZXRKc0V4cHJlc3Npb25EaXNhYmxlcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w6IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtXG4gICk6IERpc2FibGVyIHtcbiAgICBjb25zdCBydW5uYWJsZTogUnVubmFibGUgPSB0aGlzLmV4cHJlc3Npb25SdW5uZXIuZ2V0UnVubmFibGUoXG4gICAgICBxdWVzdGlvbi5kaXNhYmxlIGFzIHN0cmluZyxcbiAgICAgIGNvbnRyb2wsXG4gICAgICB0aGlzLmV4cHJlc3Npb25IZWxwZXIuaGVscGVyRnVuY3Rpb25zLFxuICAgICAge30sXG4gICAgICBmb3JtXG4gICAgKTtcbiAgICBjb25zdCBkaXNhYmxlcjogRGlzYWJsZXIgPSB7XG4gICAgICB0b0Rpc2FibGU6IGZhbHNlLFxuICAgICAgZGlzYWJsZVdoZW5FeHByZXNzaW9uOiBxdWVzdGlvbi5kaXNhYmxlIGFzIHN0cmluZyxcbiAgICAgIHJlRXZhbHVhdGVEaXNhYmxpbmdFeHByZXNzaW9uOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHJ1bm5hYmxlLnJ1bigpO1xuICAgICAgICBkaXNhYmxlci50b0Rpc2FibGUgPSByZXN1bHQ7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gZGlzYWJsZXI7XG4gIH1cblxuICBnZXRKc0V4cHJlc3Npb25IaWRlcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w6IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtXG4gICk6IEhpZGVyIHtcbiAgICBjb25zdCBoaWRlOiBhbnkgPSBxdWVzdGlvbi5oaWRlO1xuICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPVxuICAgICAgdHlwZW9mIGhpZGUgPT09ICdvYmplY3QnXG4gICAgICAgID8gdGhpcy5jb252ZXJ0SGlkZU9iamVjdFRvU3RyaW5nKGhpZGUpXG4gICAgICAgIDogKHF1ZXN0aW9uLmhpZGUgYXMgc3RyaW5nKTtcblxuICAgIC8vIGNoZWNrIGlmIGRlYnVnZ2luZyBoYXMgYmVlbiBlbmFibGVkXG5cbiAgICBjb25zdCBkZWJ1Z0VuYWJsZWQgPSB0aGlzLl9kZWJ1Z01vZGVTZXJ2aWNlLmRlYnVnRW5hYmxlZCgpO1xuXG4gICAgY29uc3QgcnVubmFibGU6IFJ1bm5hYmxlID0gdGhpcy5leHByZXNzaW9uUnVubmVyLmdldFJ1bm5hYmxlKFxuICAgICAgdmFsdWUsXG4gICAgICBjb250cm9sLFxuICAgICAgdGhpcy5leHByZXNzaW9uSGVscGVyLmhlbHBlckZ1bmN0aW9ucyxcbiAgICAgIHt9LFxuICAgICAgZm9ybVxuICAgICk7XG5cbiAgICBjb25zdCBoaWRlcjogSGlkZXIgPSB7XG4gICAgICB0b0hpZGU6IGZhbHNlLFxuICAgICAgaGlkZVdoZW5FeHByZXNzaW9uOiB2YWx1ZSxcbiAgICAgIHJlRXZhbHVhdGVIaWRpbmdFeHByZXNzaW9uOiAoKSA9PiB7XG4gICAgICAgIC8qIGlmIGRlYnVnIGlzIGVuYWJsZWQgdGhlbiBoaWRlcnMgdG8gYmUgZmFsc2VcbiAgICAgICAgICAgICAgICAgZWxzZSBydW4gdGhlIG5vcm1hbCBldmVsdWF0b3IgaS5lIHJ1bm5hYmxlLnJ1bigpXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgIGlmIChkZWJ1Z0VuYWJsZWQgPT09IHRydWUpIHtcbiAgICAgICAgICBoaWRlci50b0hpZGUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBoaWRlci50b0hpZGUgPSBydW5uYWJsZS5ydW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIGhpZGVyO1xuICB9XG5cbiAgY29udmVydEhpZGVPYmplY3RUb1N0cmluZyhoaWRlOiBhbnkpIHtcbiAgICBpZiAoaGlkZS52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBjb25zdCBhcnJheVN0cjogc3RyaW5nID0gXCInXCIgKyBoaWRlLnZhbHVlLmpvaW4oXCInLCdcIikgKyBcIidcIjtcbiAgICAgIGNvbnN0IGV4cCA9ICchYXJyYXlDb250YWlucyhbJyArIGFycmF5U3RyICsgJ10sJyArIGhpZGUuZmllbGQgKyAnKSc7XG4gICAgICByZXR1cm4gZXhwO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19
62
+ HidersDisablersFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HidersDisablersFactory, deps: [{ token: i1.ExpressionRunner }, { token: i2.JsExpressionHelper }, { token: i3.DebugModeService }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ HidersDisablersFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HidersDisablersFactory });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HidersDisablersFactory, decorators: [{
65
+ type: Injectable
66
+ }], ctorParameters: function () { return [{ type: i1.ExpressionRunner }, { type: i2.JsExpressionHelper }, { type: i3.DebugModeService }]; } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlkZXJzLWRpc2FibGVycy5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvaGlkZXJzLWRpc2FibGVycy5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUNMLGdCQUFnQixFQUVqQixNQUFNLHdDQUF3QyxDQUFDO0FBT2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLGtEQUFrRDtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFHcEUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUNVLGdCQUFrQyxFQUNsQyxnQkFBb0MsRUFDcEMsaUJBQW1DO1FBRm5DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQUNwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO0lBQzFDLENBQUM7SUFFSix1QkFBdUIsQ0FDckIsUUFBc0IsRUFDdEIsT0FBcUQsRUFDckQsSUFBVztRQUVYLE1BQU0sUUFBUSxHQUFhLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQzFELFFBQVEsQ0FBQyxPQUFpQixFQUMxQixPQUFPLEVBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFDckMsRUFBRSxFQUNGLElBQUksQ0FDTCxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQWE7WUFDekIsU0FBUyxFQUFFLEtBQUs7WUFDaEIscUJBQXFCLEVBQUUsUUFBUSxDQUFDLE9BQWlCO1lBQ2pELDZCQUE2QixFQUFFLEdBQUcsRUFBRTtnQkFDbEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM5QixRQUFRLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUM5QixDQUFDO1NBQ0YsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxvQkFBb0IsQ0FDbEIsUUFBc0IsRUFDdEIsT0FBcUQsRUFDckQsSUFBVztRQUVYLE1BQU0sSUFBSSxHQUFRLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDaEMsTUFBTSxLQUFLLEdBQ1QsT0FBTyxJQUFJLEtBQUssUUFBUTtZQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQztZQUN0QyxDQUFDLENBQUUsUUFBUSxDQUFDLElBQWUsQ0FBQztRQUVoQyxzQ0FBc0M7UUFFdEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTNELE1BQU0sUUFBUSxHQUFhLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQzFELEtBQUssRUFDTCxPQUFPLEVBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFDckMsRUFBRSxFQUNGLElBQUksQ0FDTCxDQUFDO1FBRUYsTUFBTSxLQUFLLEdBQVU7WUFDbkIsTUFBTSxFQUFFLEtBQUs7WUFDYixrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtnQkFDL0I7OzJCQUVXO2dCQUNYLElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtvQkFDekIsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7aUJBQ3RCO3FCQUFNO29CQUNMLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO2lCQUMvQjtZQUNILENBQUM7U0FDRixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQseUJBQXlCLENBQUMsSUFBUztRQUNqQyxJQUFJLElBQUksQ0FBQyxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQy9CLE1BQU0sUUFBUSxHQUFXLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDNUQsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLEdBQUcsUUFBUSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNwRSxPQUFPLEdBQUcsQ0FBQztTQUNaO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztvSEE5RVUsc0JBQXNCO3dIQUF0QixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRGlzYWJsZXIgfSBmcm9tICcuLi9jb250cm9sLWhpZGVycy1kaXNhYmxlcnMvY2FuLWRpc2FibGUnO1xuaW1wb3J0IHsgSGlkZXIgfSBmcm9tICcuLi9jb250cm9sLWhpZGVycy1kaXNhYmxlcnMvY2FuLWhpZGUnO1xuXG5pbXBvcnQge1xuICBFeHByZXNzaW9uUnVubmVyLFxuICBSdW5uYWJsZVxufSBmcm9tICcuLi9leHByZXNzaW9uLXJ1bm5lci9leHByZXNzaW9uLXJ1bm5lcic7XG5pbXBvcnQge1xuICBBZmVGb3JtQ29udHJvbCxcbiAgQWZlRm9ybUFycmF5LFxuICBBZmVGb3JtR3JvdXBcbn0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uJztcbmltcG9ydCB7IFF1ZXN0aW9uQmFzZSB9IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9xdWVzdGlvbi1iYXNlJztcbmltcG9ydCB7IEpzRXhwcmVzc2lvbkhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvanMtZXhwcmVzc2lvbi1oZWxwZXInO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4vZm9ybSc7XG4vLyBBZGQgYWJpbGl0eSB0byBkaXNwbGF5IGFsbCBmaWVsZHMgZm9yIGRlYnVnZ2luZ1xuaW1wb3J0IHsgRGVidWdNb2RlU2VydmljZSB9IGZyb20gJy4vLi4vc2VydmljZXMvZGVidWctbW9kZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEhpZGVyc0Rpc2FibGVyc0ZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGV4cHJlc3Npb25SdW5uZXI6IEV4cHJlc3Npb25SdW5uZXIsXG4gICAgcHJpdmF0ZSBleHByZXNzaW9uSGVscGVyOiBKc0V4cHJlc3Npb25IZWxwZXIsXG4gICAgcHJpdmF0ZSBfZGVidWdNb2RlU2VydmljZTogRGVidWdNb2RlU2VydmljZVxuICApIHt9XG5cbiAgZ2V0SnNFeHByZXNzaW9uRGlzYWJsZXIoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sOiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybVxuICApOiBEaXNhYmxlciB7XG4gICAgY29uc3QgcnVubmFibGU6IFJ1bm5hYmxlID0gdGhpcy5leHByZXNzaW9uUnVubmVyLmdldFJ1bm5hYmxlKFxuICAgICAgcXVlc3Rpb24uZGlzYWJsZSBhcyBzdHJpbmcsXG4gICAgICBjb250cm9sLFxuICAgICAgdGhpcy5leHByZXNzaW9uSGVscGVyLmhlbHBlckZ1bmN0aW9ucyxcbiAgICAgIHt9LFxuICAgICAgZm9ybVxuICAgICk7XG4gICAgY29uc3QgZGlzYWJsZXI6IERpc2FibGVyID0ge1xuICAgICAgdG9EaXNhYmxlOiBmYWxzZSxcbiAgICAgIGRpc2FibGVXaGVuRXhwcmVzc2lvbjogcXVlc3Rpb24uZGlzYWJsZSBhcyBzdHJpbmcsXG4gICAgICByZUV2YWx1YXRlRGlzYWJsaW5nRXhwcmVzc2lvbjogKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBydW5uYWJsZS5ydW4oKTtcbiAgICAgICAgZGlzYWJsZXIudG9EaXNhYmxlID0gcmVzdWx0O1xuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIGRpc2FibGVyO1xuICB9XG5cbiAgZ2V0SnNFeHByZXNzaW9uSGlkZXIoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sOiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybVxuICApOiBIaWRlciB7XG4gICAgY29uc3QgaGlkZTogYW55ID0gcXVlc3Rpb24uaGlkZTtcbiAgICBjb25zdCB2YWx1ZTogc3RyaW5nID1cbiAgICAgIHR5cGVvZiBoaWRlID09PSAnb2JqZWN0J1xuICAgICAgICA/IHRoaXMuY29udmVydEhpZGVPYmplY3RUb1N0cmluZyhoaWRlKVxuICAgICAgICA6IChxdWVzdGlvbi5oaWRlIGFzIHN0cmluZyk7XG5cbiAgICAvLyBjaGVjayBpZiBkZWJ1Z2dpbmcgaGFzIGJlZW4gZW5hYmxlZFxuXG4gICAgY29uc3QgZGVidWdFbmFibGVkID0gdGhpcy5fZGVidWdNb2RlU2VydmljZS5kZWJ1Z0VuYWJsZWQoKTtcblxuICAgIGNvbnN0IHJ1bm5hYmxlOiBSdW5uYWJsZSA9IHRoaXMuZXhwcmVzc2lvblJ1bm5lci5nZXRSdW5uYWJsZShcbiAgICAgIHZhbHVlLFxuICAgICAgY29udHJvbCxcbiAgICAgIHRoaXMuZXhwcmVzc2lvbkhlbHBlci5oZWxwZXJGdW5jdGlvbnMsXG4gICAgICB7fSxcbiAgICAgIGZvcm1cbiAgICApO1xuXG4gICAgY29uc3QgaGlkZXI6IEhpZGVyID0ge1xuICAgICAgdG9IaWRlOiBmYWxzZSxcbiAgICAgIGhpZGVXaGVuRXhwcmVzc2lvbjogdmFsdWUsXG4gICAgICByZUV2YWx1YXRlSGlkaW5nRXhwcmVzc2lvbjogKCkgPT4ge1xuICAgICAgICAvKiBpZiBkZWJ1ZyBpcyBlbmFibGVkIHRoZW4gaGlkZXJzIHRvIGJlIGZhbHNlXG4gICAgICAgICAgICAgICAgIGVsc2UgcnVuIHRoZSBub3JtYWwgZXZlbHVhdG9yIGkuZSBydW5uYWJsZS5ydW4oKVxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICBpZiAoZGVidWdFbmFibGVkID09PSB0cnVlKSB7XG4gICAgICAgICAgaGlkZXIudG9IaWRlID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaGlkZXIudG9IaWRlID0gcnVubmFibGUucnVuKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBoaWRlcjtcbiAgfVxuXG4gIGNvbnZlcnRIaWRlT2JqZWN0VG9TdHJpbmcoaGlkZTogYW55KSB7XG4gICAgaWYgKGhpZGUudmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgY29uc3QgYXJyYXlTdHI6IHN0cmluZyA9IFwiJ1wiICsgaGlkZS52YWx1ZS5qb2luKFwiJywnXCIpICsgXCInXCI7XG4gICAgICBjb25zdCBleHAgPSAnIWFycmF5Q29udGFpbnMoWycgKyBhcnJheVN0ciArICddLCcgKyBoaWRlLmZpZWxkICsgJyknO1xuICAgICAgcmV0dXJuIGV4cDtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdfQ==