myrta-ui 14.0.0-beta.5 → 17.0.0-beta.10

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 (752) hide show
  1. package/README.md +1 -0
  2. package/esm2022/lib/components/alert/alert.component.mjs +43 -0
  3. package/{esm2020 → esm2022}/lib/components/alert/alert.enum.mjs +14 -14
  4. package/{esm2020 → esm2022}/lib/components/alert/alert.module.mjs +19 -19
  5. package/{esm2020 → esm2022}/lib/components/badges/badge.enum.mjs +31 -31
  6. package/{esm2020 → esm2022}/lib/components/badges/badges.module.mjs +30 -30
  7. package/esm2022/lib/components/badges/components/badge/badge.component.mjs +61 -0
  8. package/{esm2020 → esm2022}/lib/components/badges/components/badge-group/badge-group.component.mjs +11 -11
  9. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +28 -0
  10. package/{esm2020 → esm2022}/lib/components/breadcrumbs/breadcrumbs.enum.mjs +5 -5
  11. package/{esm2020 → esm2022}/lib/components/breadcrumbs/breadcrumbs.module.mjs +25 -25
  12. package/esm2022/lib/components/button/button.component.mjs +100 -0
  13. package/esm2022/lib/components/button/button.enum.mjs +27 -0
  14. package/{esm2020 → esm2022}/lib/components/button/button.module.mjs +21 -21
  15. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +29 -0
  16. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +99 -0
  17. package/{esm2020 → esm2022}/lib/components/cdk-tooltip/cdk-tooltip.module.mjs +21 -21
  18. package/{esm2020 → esm2022}/lib/components/cdk-tooltip/constants/index.mjs +69 -69
  19. package/{esm2020 → esm2022}/lib/components/cdk-tooltip/models/tooltip-data.mjs +1 -1
  20. package/esm2022/lib/components/chars-left/chars-left.component.mjs +24 -0
  21. package/{esm2020 → esm2022}/lib/components/chars-left/chars-left.module.mjs +19 -19
  22. package/esm2022/lib/components/dropdown/directives/hide-after-click.directive.mjs +24 -0
  23. package/esm2022/lib/components/dropdown/dropdown.component.mjs +107 -0
  24. package/{esm2020 → esm2022}/lib/components/dropdown/dropdown.module.mjs +21 -21
  25. package/esm2022/lib/components/error-message/error-message.component.mjs +32 -0
  26. package/{esm2020 → esm2022}/lib/components/error-message/error-message.module.mjs +19 -19
  27. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +153 -0
  28. package/esm2022/lib/components/form/checkbox/checkbox.enum.mjs +5 -0
  29. package/{esm2020 → esm2022}/lib/components/form/checkbox/checkbox.module.mjs +22 -22
  30. package/esm2022/lib/components/form/checkbox-group/checkbox-group.component.mjs +178 -0
  31. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/checkbox-group.module.mjs +47 -47
  32. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +48 -49
  33. package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +106 -0
  34. package/esm2022/lib/components/form/checkbox-group/helpers/change-group-value.mjs +20 -0
  35. package/esm2022/lib/components/form/checkbox-group/helpers/change-item-value.mjs +15 -0
  36. package/esm2022/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +27 -0
  37. package/esm2022/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +20 -0
  38. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/helpers/get-item-by-id.mjs +10 -10
  39. package/esm2022/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +50 -0
  40. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/models/checkbox-group.model.mjs +1 -1
  41. package/{esm2020 → esm2022}/lib/components/form/editor/config/default-inline-style.mjs +5 -5
  42. package/{esm2020 → esm2022}/lib/components/form/editor/config/index.mjs +1 -1
  43. package/{esm2020 → esm2022}/lib/components/form/editor/config/popups-toolbar.mjs +8 -8
  44. package/{esm2020 → esm2022}/lib/components/form/editor/config/toolbar.mjs +71 -71
  45. package/esm2022/lib/components/form/editor/editor.component.mjs +265 -0
  46. package/{esm2020 → esm2022}/lib/components/form/editor/editor.enum.mjs +1 -1
  47. package/esm2022/lib/components/form/editor/editor.module.mjs +45 -0
  48. package/{esm2020 → esm2022}/lib/components/form/editor/models/toolbar.model.mjs +1 -1
  49. package/esm2022/lib/components/form/editor/modules/change-icon-module.mjs +92 -0
  50. package/{esm2020 → esm2022}/lib/components/form/input-date-time/constants/value-models.mjs +13 -13
  51. package/{esm2020 → esm2022}/lib/components/form/input-date-time/enum/timezone.mjs +6 -6
  52. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/clean-date.mjs +4 -4
  53. package/esm2022/lib/components/form/input-date-time/helpers/cursor-position.mjs +23 -0
  54. package/esm2022/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +10 -0
  55. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.mjs +9 -9
  56. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/validate-value-models.mjs +60 -60
  57. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/value-parser.mjs +38 -38
  58. package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +386 -0
  59. package/{esm2020 → esm2022}/lib/components/form/input-date-time/input-date-time.enum.mjs +7 -7
  60. package/esm2022/lib/components/form/input-date-time/input-date-time.module.mjs +46 -0
  61. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/constants/value-models.mjs +14 -14
  62. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/clean-date.mjs +4 -4
  63. package/esm2022/lib/components/form/input-datepicker/helpers/cursor-position.mjs +23 -0
  64. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +10 -0
  65. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-object.mjs +10 -0
  66. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/validate-value-models.mjs +74 -74
  67. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/value-parser.mjs +47 -47
  68. package/esm2022/lib/components/form/input-datepicker/input-datepicker.component.mjs +356 -0
  69. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/input-datepicker.enum.mjs +6 -6
  70. package/esm2022/lib/components/form/input-datepicker/input-datepicker.module.mjs +46 -0
  71. package/{esm2020 → esm2022}/lib/components/form/input-file/enums/error-messages.enum.mjs +7 -7
  72. package/esm2022/lib/components/form/input-file/input-file.component.mjs +368 -0
  73. package/{esm2020 → esm2022}/lib/components/form/input-file/input-file.enum.mjs +7 -7
  74. package/{esm2020 → esm2022}/lib/components/form/input-file/input-file.module.mjs +26 -26
  75. package/esm2022/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +88 -0
  76. package/esm2022/lib/components/form/input-file-image/input-file-image.component.mjs +356 -0
  77. package/{esm2020 → esm2022}/lib/components/form/input-file-image/input-file-image.enum.mjs +9 -9
  78. package/esm2022/lib/components/form/input-file-image/input-file-image.module.mjs +53 -0
  79. package/esm2022/lib/components/form/input-number/input-number.component.mjs +267 -0
  80. package/{esm2020 → esm2022}/lib/components/form/input-number/input-number.enum.mjs +7 -7
  81. package/esm2022/lib/components/form/input-number/input-number.module.mjs +55 -0
  82. package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +370 -0
  83. package/{esm2020 → esm2022}/lib/components/form/input-opt/components/input-opt/input-opt.enum.mjs +7 -7
  84. package/esm2022/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +43 -0
  85. package/{esm2020 → esm2022}/lib/components/form/input-opt/input-opt.module.mjs +38 -38
  86. package/{esm2020 → esm2022}/lib/components/form/input-opt/models/input-opt.model.mjs +5 -5
  87. package/{esm2020 → esm2022}/lib/components/form/input-opt/services/input-opt.service.mjs +33 -33
  88. package/esm2022/lib/components/form/input-password/input-password.component.mjs +118 -0
  89. package/{esm2020 → esm2022}/lib/components/form/input-password/input-password.enum.mjs +7 -7
  90. package/esm2022/lib/components/form/input-password/input-password.module.mjs +36 -0
  91. package/esm2022/lib/components/form/input-phone/data/country-code.mjs +1331 -0
  92. package/esm2022/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +35 -0
  93. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/country-iso.enum.mjs +246 -246
  94. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/input-phone.enum.mjs +6 -6
  95. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/mask.enum.mjs +138 -138
  96. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/phone-number-format.enum.mjs +5 -5
  97. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/search-country-field.enum.mjs +7 -7
  98. package/esm2022/lib/components/form/input-phone/input-phone.component.mjs +679 -0
  99. package/esm2022/lib/components/form/input-phone/input-phone.module.mjs +50 -0
  100. package/esm2022/lib/components/form/input-phone/input-phone.validator.mjs +61 -0
  101. package/{esm2020 → esm2022}/lib/components/form/input-phone/interfaces/change-data.mjs +1 -1
  102. package/{esm2020 → esm2022}/lib/components/form/input-phone/models/country.model.mjs +1 -1
  103. package/esm2022/lib/components/form/input-search/input-search.component.mjs +167 -0
  104. package/{esm2020 → esm2022}/lib/components/form/input-search/input-search.enum.mjs +7 -7
  105. package/esm2022/lib/components/form/input-search/input-search.module.mjs +41 -0
  106. package/esm2022/lib/components/form/input-select/input-select.component.mjs +253 -0
  107. package/{esm2020 → esm2022}/lib/components/form/input-select/input-select.enum.mjs +5 -5
  108. package/{esm2020 → esm2022}/lib/components/form/input-select/input-select.module.mjs +45 -45
  109. package/{esm2020 → esm2022}/lib/components/form/input-tel/assets/base64.mjs +3 -3
  110. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/all-countries.mjs +1323 -1323
  111. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/country-iso.enum.mjs +246 -246
  112. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/phone-number-format.enum.mjs +5 -5
  113. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/search-country-field.enum.mjs +7 -7
  114. package/esm2022/lib/components/form/input-tel/directives/input-tel.directive.mjs +66 -0
  115. package/{esm2020 → esm2022}/lib/components/form/input-tel/enums/input-phone.enum.mjs +6 -6
  116. package/esm2022/lib/components/form/input-tel/input-tel.component.mjs +400 -0
  117. package/esm2022/lib/components/form/input-tel/input-tel.module.mjs +43 -0
  118. package/{esm2020 → esm2022}/lib/components/form/input-tel/models/country.model.mjs +1 -1
  119. package/esm2022/lib/components/form/input-text/input-text.component.mjs +189 -0
  120. package/{esm2020 → esm2022}/lib/components/form/input-text/input-text.enum.mjs +14 -14
  121. package/esm2022/lib/components/form/input-text/input-text.module.mjs +49 -0
  122. package/esm2022/lib/components/form/input-textarea/input-textarea.component.mjs +197 -0
  123. package/{esm2020 → esm2022}/lib/components/form/input-textarea/input-textarea.enum.mjs +6 -6
  124. package/esm2022/lib/components/form/input-textarea/input-textarea.module.mjs +49 -0
  125. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/constants/value-models.mjs +7 -7
  126. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/clean-date.mjs +4 -4
  127. package/esm2022/lib/components/form/input-timepicker/helpers/cursor-position.mjs +14 -0
  128. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.mjs +4 -4
  129. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-object.mjs +4 -4
  130. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/validate-value-models.mjs +29 -29
  131. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/value-parser.mjs +17 -17
  132. package/esm2022/lib/components/form/input-timepicker/input-timepicker.component.mjs +292 -0
  133. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/input-timepicker.enum.mjs +6 -6
  134. package/esm2022/lib/components/form/input-timepicker/input-timepicker.module.mjs +46 -0
  135. package/esm2022/lib/components/form/radio/radio.component.mjs +91 -0
  136. package/{esm2020 → esm2022}/lib/components/form/radio/radio.enum.mjs +4 -4
  137. package/{esm2020 → esm2022}/lib/components/form/radio/radio.module.mjs +20 -20
  138. package/esm2022/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +45 -0
  139. package/esm2022/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +66 -0
  140. package/esm2022/lib/components/form/radio-group/helpers/filter-search-group.mjs +27 -0
  141. package/{esm2020 → esm2022}/lib/components/form/radio-group/helpers/get-item-by-id.mjs +10 -10
  142. package/esm2022/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +27 -0
  143. package/{esm2020 → esm2022}/lib/components/form/radio-group/models/radio-group.model.mjs +2 -2
  144. package/esm2022/lib/components/form/radio-group/radio-group.component.mjs +175 -0
  145. package/esm2022/lib/components/form/radio-group/radio-group.module.mjs +26 -0
  146. package/esm2022/lib/components/form/rating/rating.component.mjs +215 -0
  147. package/{esm2020 → esm2022}/lib/components/form/rating/rating.enum.mjs +15 -15
  148. package/{esm2020 → esm2022}/lib/components/form/rating/rating.module.mjs +25 -25
  149. package/esm2022/lib/components/form/switch/switch.component.mjs +95 -0
  150. package/{esm2020 → esm2022}/lib/components/form/switch/switch.enum.mjs +10 -10
  151. package/{esm2020 → esm2022}/lib/components/form/switch/switch.module.mjs +21 -21
  152. package/esm2022/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +37 -0
  153. package/esm2022/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +112 -0
  154. package/{esm2020 → esm2022}/lib/components/gallery/constants/custom-buttons-default.mjs +6 -6
  155. package/{esm2020 → esm2022}/lib/components/gallery/constants/thumbs-config-default.mjs +4 -4
  156. package/esm2022/lib/components/gallery/gallery.component.mjs +203 -0
  157. package/{esm2020 → esm2022}/lib/components/gallery/gallery.module.mjs +54 -54
  158. package/{esm2020 → esm2022}/lib/components/gallery/models/gallery-item.model.mjs +1 -1
  159. package/esm2022/lib/components/gallery/services/gallery.service.mjs +33 -0
  160. package/esm2022/lib/components/hint-error-message/hint-error-message.component.mjs +121 -0
  161. package/{esm2020 → esm2022}/lib/components/hint-error-message/hint-error-message.module.mjs +19 -19
  162. package/esm2022/lib/components/icon-button/icon-button.component.mjs +49 -0
  163. package/{esm2020 → esm2022}/lib/components/icon-button/icon-button.enum.mjs +15 -15
  164. package/{esm2020 → esm2022}/lib/components/icon-button/icon-button.module.mjs +19 -19
  165. package/esm2022/lib/components/label/label.component.mjs +143 -0
  166. package/{esm2020 → esm2022}/lib/components/label/label.module.mjs +25 -25
  167. package/esm2022/lib/components/link/link.component.mjs +48 -0
  168. package/{esm2020 → esm2022}/lib/components/link/link.enum.mjs +19 -19
  169. package/{esm2020 → esm2022}/lib/components/link/link.module.mjs +19 -19
  170. package/esm2022/lib/components/loader/loader.component.mjs +24 -0
  171. package/{esm2020 → esm2022}/lib/components/loader/loader.enum.mjs +19 -19
  172. package/{esm2020 → esm2022}/lib/components/loader/loader.module.mjs +19 -19
  173. package/esm2022/lib/components/modal/modal.component.mjs +137 -0
  174. package/{esm2020 → esm2022}/lib/components/modal/modal.emun.mjs +20 -20
  175. package/{esm2020 → esm2022}/lib/components/modal/modal.module.mjs +20 -20
  176. package/esm2022/lib/components/pages-nav/pages-nav.component.mjs +31 -0
  177. package/{esm2020 → esm2022}/lib/components/pages-nav/pages-nav.enum.mjs +5 -5
  178. package/{esm2020 → esm2022}/lib/components/pages-nav/pages-nav.module.mjs +24 -24
  179. package/esm2022/lib/components/paginator/paginator.component.mjs +140 -0
  180. package/{esm2020 → esm2022}/lib/components/paginator/paginator.enum.mjs +5 -5
  181. package/esm2022/lib/components/paginator/paginator.module.mjs +31 -0
  182. package/esm2022/lib/components/progress/progress.component.mjs +24 -0
  183. package/{esm2020 → esm2022}/lib/components/progress/progress.enum.mjs +7 -7
  184. package/{esm2020 → esm2022}/lib/components/progress/progress.module.mjs +19 -19
  185. package/esm2022/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +16 -0
  186. package/esm2022/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +16 -0
  187. package/esm2022/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +16 -0
  188. package/esm2022/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +16 -0
  189. package/esm2022/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +16 -0
  190. package/esm2022/lib/components/save-state/save-state.component.mjs +40 -0
  191. package/{esm2020 → esm2022}/lib/components/save-state/save-state.enum.mjs +2 -2
  192. package/{esm2020 → esm2022}/lib/components/save-state/save-state.module.mjs +37 -37
  193. package/esm2022/lib/components/stepper/stepper.component.mjs +52 -0
  194. package/{esm2020 → esm2022}/lib/components/stepper/stepper.enum.mjs +5 -5
  195. package/{esm2020 → esm2022}/lib/components/stepper/stepper.module.mjs +20 -20
  196. package/esm2022/lib/components/table/components/column/column.component.mjs +40 -0
  197. package/{esm2020 → esm2022}/lib/components/table/default/default-pager-settings.mjs +6 -6
  198. package/{esm2020 → esm2022}/lib/components/table/models/data-state-change.event.mjs +1 -1
  199. package/{esm2020 → esm2022}/lib/components/table/models/index.mjs +3 -3
  200. package/{esm2020 → esm2022}/lib/components/table/models/pager-settings.mjs +1 -1
  201. package/esm2022/lib/components/table/table.component.mjs +281 -0
  202. package/{esm2020 → esm2022}/lib/components/table/table.enum.mjs +7 -7
  203. package/{esm2020 → esm2022}/lib/components/table/table.module.mjs +50 -50
  204. package/esm2022/lib/components/tabs/tab/tab.component.mjs +33 -0
  205. package/esm2022/lib/components/tabs/tabs-group/tabs-group.component.mjs +27 -0
  206. package/{esm2020 → esm2022}/lib/components/tabs/tabs.enum.mjs +13 -13
  207. package/{esm2020 → esm2022}/lib/components/tabs/tabs.module.mjs +20 -20
  208. package/esm2022/lib/components/tooltip/services/tooltip.service.mjs +65 -0
  209. package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +36 -0
  210. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.mjs +10 -10
  211. package/esm2022/lib/components/tooltip/tooltip.component.mjs +59 -0
  212. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip.enum.mjs +5 -5
  213. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip.module.mjs +21 -21
  214. package/{esm2020 → esm2022}/lib/components/truncate-text/directives/truncate-text.directive.mjs +149 -139
  215. package/esm2022/lib/components/truncate-text/truncate-text.component.mjs +30 -0
  216. package/{esm2020 → esm2022}/lib/components/truncate-text/truncate-text.enum.mjs +1 -1
  217. package/{esm2020 → esm2022}/lib/components/truncate-text/truncate-text.module.mjs +21 -21
  218. package/esm2022/lib/components/warning-message/warning-message.component.mjs +29 -0
  219. package/{esm2020 → esm2022}/lib/components/warning-message/warning-message.module.mjs +19 -19
  220. package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +25 -0
  221. package/{esm2020 → esm2022}/lib/components/wrappers/content-wrapper/content-wrapper.enum.mjs +5 -5
  222. package/{esm2020 → esm2022}/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +19 -19
  223. package/esm2022/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +15 -0
  224. package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +23 -0
  225. package/{esm2020 → esm2022}/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.mjs +6 -6
  226. package/{esm2020 → esm2022}/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +20 -20
  227. package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +99 -0
  228. package/{esm2020 → esm2022}/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.mjs +16 -16
  229. package/{esm2020 → esm2022}/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +24 -24
  230. package/esm2022/lib/directives/autosize/autosize.directive.mjs +57 -0
  231. package/{esm2020 → esm2022}/lib/directives/autosize/autosize.module.mjs +24 -24
  232. package/esm2022/lib/directives/truncate/truncate.directive.mjs +34 -0
  233. package/{esm2020 → esm2022}/lib/directives/truncate/truncate.module.mjs +18 -18
  234. package/{esm2020 → esm2022}/lib/enums/typed.input.state.mjs +8 -8
  235. package/esm2022/lib/helpers/extension/input-file.extension.mjs +39 -0
  236. package/esm2022/lib/helpers/formatting-date.mjs +51 -0
  237. package/{esm2020 → esm2022}/lib/helpers/formatting-dates-from-array.mjs +18 -18
  238. package/{esm2020 → esm2022}/lib/helpers/formatting-iso-to-string.mjs +12 -12
  239. package/{esm2020 → esm2022}/lib/helpers/index.mjs +7 -7
  240. package/{esm2020 → esm2022}/lib/helpers/number-format.mjs +8 -8
  241. package/esm2022/lib/helpers/string-hash-code.mjs +17 -0
  242. package/{esm2020 → esm2022}/lib/helpers/word-form.mjs +10 -10
  243. package/{esm2020 → esm2022}/lib/models/index.mjs +2 -2
  244. package/esm2022/lib/models/input-file/input-file.model.mjs +2 -0
  245. package/{esm2020 → esm2022}/lib/models/typed-input-model.mjs +1 -1
  246. package/{esm2020 → esm2022}/lib/pipes/currency/currency.module.mjs +20 -20
  247. package/esm2022/lib/pipes/currency/currency.pipe.mjs +22 -0
  248. package/{esm2020 → esm2022}/lib/pipes/date/date-format.module.mjs +19 -19
  249. package/esm2022/lib/pipes/date/date-format.pipe.mjs +21 -0
  250. package/esm2022/lib/pipes/date/date-time-format.pipe.mjs +21 -0
  251. package/{esm2020 → esm2022}/lib/pipes/date/enums/timezone.mjs +9 -9
  252. package/{esm2020 → esm2022}/lib/pipes/date/helpers/change-timezone.mjs +22 -22
  253. package/{esm2020 → esm2022}/lib/pipes/phone/phone-format.module.mjs +18 -18
  254. package/esm2022/lib/pipes/phone/phone-format.pipe.mjs +23 -0
  255. package/{esm2020 → esm2022}/lib/pipes/safe/safe.module.mjs +20 -20
  256. package/esm2022/lib/pipes/safe/safe.pipe.mjs +21 -0
  257. package/{esm2020 → esm2022}/lib/pipes/truncate/truncate.module.mjs +20 -20
  258. package/esm2022/lib/pipes/truncate/truncate.pipe.mjs +23 -0
  259. package/esm2022/lib/services/file-upload/file-upload.service.mjs +28 -0
  260. package/esm2022/lib/services/index.mjs +11 -0
  261. package/esm2022/lib/services/modal-service/components/alert-modal/alert-modal.component.mjs +44 -0
  262. package/esm2022/lib/services/modal-service/components/confirm-modal/confirm-modal.component.mjs +48 -0
  263. package/esm2022/lib/services/modal-service/helpers/index.mjs +5 -0
  264. package/esm2022/lib/services/modal-service/helpers/modal-default-config.mjs +14 -0
  265. package/esm2022/lib/services/modal-service/helpers/modal-ref.mjs +29 -0
  266. package/esm2022/lib/services/modal-service/helpers/modal-tokens.mjs +4 -0
  267. package/esm2022/lib/services/modal-service/helpers/modal.component.mjs +4 -0
  268. package/esm2022/lib/services/modal-service/modal-service.module.mjs +25 -0
  269. package/esm2022/lib/services/modal-service/modal-service.service.mjs +84 -0
  270. package/esm2022/lib/services/modal-service/models/modal-config.model.mjs +2 -0
  271. package/esm2022/lib/services/mrx-autosave/mrx-autosave.service.mjs +43 -0
  272. package/esm2022/lib/services/mrx-form-validator/mrx-form-validator.mjs +283 -0
  273. package/{esm2020 → esm2022}/lib/services/save-store/constants/constants.mjs +1 -1
  274. package/{esm2020 → esm2022}/lib/services/save-store/models/save-store.model.mjs +1 -1
  275. package/{esm2020 → esm2022}/lib/services/save-store/save-store.module.mjs +29 -29
  276. package/{esm2020 → esm2022}/lib/services/save-store/store/actions.mjs +22 -22
  277. package/esm2022/lib/services/save-store/store/effect.mjs +61 -0
  278. package/esm2022/lib/services/save-store/store/reducer.mjs +96 -0
  279. package/{esm2020 → esm2022}/lib/services/save-store/store/selectors.mjs +4 -4
  280. package/{esm2020 → esm2022}/lib/services/save-store/store/state.mjs +3 -3
  281. package/{esm2020 → esm2022}/myrta-ui.mjs +4 -4
  282. package/esm2022/public-api.mjs +176 -0
  283. package/fesm2022/myrta-ui.mjs +15470 -0
  284. package/fesm2022/myrta-ui.mjs.map +1 -0
  285. package/index.d.ts +5 -5
  286. package/lib/components/alert/alert.component.d.ts +17 -17
  287. package/lib/components/alert/alert.enum.d.ts +13 -13
  288. package/lib/components/alert/alert.module.d.ts +8 -8
  289. package/lib/components/badges/badge.enum.d.ts +38 -38
  290. package/lib/components/badges/badges.module.d.ts +9 -9
  291. package/lib/components/badges/components/badge/badge.component.d.ts +21 -21
  292. package/lib/components/badges/components/badge-group/badge-group.component.d.ts +5 -5
  293. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +11 -11
  294. package/lib/components/breadcrumbs/breadcrumbs.enum.d.ts +11 -11
  295. package/lib/components/breadcrumbs/breadcrumbs.module.d.ts +8 -8
  296. package/lib/components/button/button.component.d.ts +31 -31
  297. package/lib/components/button/button.enum.d.ts +27 -29
  298. package/lib/components/button/button.module.d.ts +10 -10
  299. package/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.d.ts +13 -13
  300. package/lib/components/cdk-tooltip/cdk-tooltip.directive.d.ts +24 -24
  301. package/lib/components/cdk-tooltip/cdk-tooltip.module.d.ts +10 -10
  302. package/lib/components/cdk-tooltip/constants/index.d.ts +7 -7
  303. package/lib/components/cdk-tooltip/models/tooltip-data.d.ts +6 -6
  304. package/lib/components/chars-left/chars-left.component.d.ts +9 -10
  305. package/lib/components/chars-left/chars-left.module.d.ts +8 -8
  306. package/lib/components/dropdown/directives/hide-after-click.directive.d.ts +9 -9
  307. package/lib/components/dropdown/dropdown.component.d.ts +26 -26
  308. package/lib/components/dropdown/dropdown.module.d.ts +10 -10
  309. package/lib/components/error-message/error-message.component.d.ts +10 -10
  310. package/lib/components/error-message/error-message.module.d.ts +8 -8
  311. package/lib/components/form/checkbox/checkbox.component.d.ts +48 -46
  312. package/lib/components/form/checkbox/checkbox.enum.d.ts +14 -10
  313. package/lib/components/form/checkbox/checkbox.module.d.ts +11 -11
  314. package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +54 -56
  315. package/lib/components/form/checkbox-group/checkbox-group.module.d.ts +16 -16
  316. package/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.d.ts +19 -19
  317. package/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.d.ts +26 -29
  318. package/lib/components/form/checkbox-group/helpers/change-group-value.d.ts +3 -3
  319. package/lib/components/form/checkbox-group/helpers/change-item-value.d.ts +3 -3
  320. package/lib/components/form/checkbox-group/helpers/filter-search-group.d.ts +2 -2
  321. package/lib/components/form/checkbox-group/helpers/get-checked-items.d.ts +2 -2
  322. package/lib/components/form/checkbox-group/helpers/get-item-by-id.d.ts +2 -2
  323. package/lib/components/form/checkbox-group/helpers/get-sorted-list.d.ts +2 -2
  324. package/lib/components/form/checkbox-group/models/checkbox-group.model.d.ts +15 -15
  325. package/lib/components/form/editor/config/default-inline-style.d.ts +11 -11
  326. package/lib/components/form/editor/config/index.d.ts +1 -1
  327. package/lib/components/form/editor/config/popups-toolbar.d.ts +15 -15
  328. package/lib/components/form/editor/config/toolbar.d.ts +2 -2
  329. package/lib/components/form/editor/editor.component.d.ts +65 -57
  330. package/lib/components/form/editor/editor.enum.d.ts +5 -5
  331. package/lib/components/form/editor/editor.module.d.ts +14 -14
  332. package/lib/components/form/editor/models/toolbar.model.d.ts +6 -6
  333. package/lib/components/form/editor/modules/change-icon-module.d.ts +1 -1
  334. package/lib/components/form/input-date-time/constants/value-models.d.ts +3 -3
  335. package/lib/components/form/input-date-time/enum/timezone.d.ts +6 -6
  336. package/lib/components/form/input-date-time/helpers/clean-date.d.ts +1 -1
  337. package/lib/components/form/input-date-time/helpers/cursor-position.d.ts +1 -1
  338. package/lib/components/form/input-date-time/helpers/formatting-from-models.d.ts +3 -3
  339. package/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.d.ts +2 -2
  340. package/lib/components/form/input-date-time/helpers/validate-value-models.d.ts +19 -19
  341. package/lib/components/form/input-date-time/helpers/value-parser.d.ts +4 -4
  342. package/lib/components/form/input-date-time/input-date-time.component.d.ts +72 -76
  343. package/lib/components/form/input-date-time/input-date-time.enum.d.ts +21 -21
  344. package/lib/components/form/input-date-time/input-date-time.module.d.ts +13 -13
  345. package/lib/components/form/input-datepicker/constants/value-models.d.ts +3 -3
  346. package/lib/components/form/input-datepicker/helpers/clean-date.d.ts +1 -1
  347. package/lib/components/form/input-datepicker/helpers/cursor-position.d.ts +1 -1
  348. package/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.d.ts +3 -3
  349. package/lib/components/form/input-datepicker/helpers/get-date-object.d.ts +2 -2
  350. package/lib/components/form/input-datepicker/helpers/validate-value-models.d.ts +20 -20
  351. package/lib/components/form/input-datepicker/helpers/value-parser.d.ts +3 -3
  352. package/lib/components/form/input-datepicker/input-datepicker.component.d.ts +69 -70
  353. package/lib/components/form/input-datepicker/input-datepicker.enum.d.ts +12 -12
  354. package/lib/components/form/input-datepicker/input-datepicker.module.d.ts +13 -13
  355. package/lib/components/form/input-file/enums/error-messages.enum.d.ts +6 -6
  356. package/lib/components/form/input-file/input-file.component.d.ts +74 -72
  357. package/lib/components/form/input-file/input-file.enum.d.ts +7 -7
  358. package/lib/components/form/input-file/input-file.module.d.ts +13 -13
  359. package/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.d.ts +43 -39
  360. package/lib/components/form/input-file-image/input-file-image.component.d.ts +57 -61
  361. package/lib/components/form/input-file-image/input-file-image.enum.d.ts +8 -8
  362. package/lib/components/form/input-file-image/input-file-image.module.d.ts +15 -16
  363. package/lib/components/form/input-number/input-number.component.d.ts +64 -69
  364. package/lib/components/form/input-number/input-number.enum.d.ts +12 -12
  365. package/lib/components/form/input-number/input-number.module.d.ts +13 -13
  366. package/lib/components/form/input-opt/components/input-opt/input-opt.component.d.ts +77 -77
  367. package/lib/components/form/input-opt/components/input-opt/input-opt.enum.d.ts +7 -7
  368. package/lib/components/form/input-opt/directives/opt-pattern.directive.d.ts +8 -8
  369. package/lib/components/form/input-opt/input-opt.module.d.ts +11 -11
  370. package/lib/components/form/input-opt/models/input-opt.model.d.ts +26 -26
  371. package/lib/components/form/input-opt/services/input-opt.service.d.ts +11 -11
  372. package/lib/components/form/input-password/input-password.component.d.ts +38 -43
  373. package/lib/components/form/input-password/input-password.enum.d.ts +7 -11
  374. package/lib/components/form/input-password/input-password.module.d.ts +11 -13
  375. package/lib/components/form/input-phone/data/country-code.d.ts +6 -6
  376. package/lib/components/form/input-phone/directives/native-element-injector.directive.d.ts +11 -11
  377. package/lib/components/form/input-phone/enums/country-iso.enum.d.ts +245 -245
  378. package/lib/components/form/input-phone/enums/input-phone.enum.d.ts +11 -11
  379. package/lib/components/form/input-phone/enums/mask.enum.d.ts +8 -8
  380. package/lib/components/form/input-phone/enums/phone-number-format.enum.d.ts +4 -4
  381. package/lib/components/form/input-phone/enums/search-country-field.enum.d.ts +6 -6
  382. package/lib/components/form/input-phone/input-phone.component.d.ts +132 -132
  383. package/lib/components/form/input-phone/input-phone.module.d.ts +14 -14
  384. package/lib/components/form/input-phone/input-phone.validator.d.ts +5 -5
  385. package/lib/components/form/input-phone/interfaces/change-data.d.ts +9 -9
  386. package/lib/components/form/input-phone/models/country.model.d.ts +13 -13
  387. package/lib/components/form/input-search/input-search.component.d.ts +48 -52
  388. package/lib/components/form/input-search/input-search.enum.d.ts +6 -11
  389. package/lib/components/form/input-search/input-search.module.d.ts +12 -13
  390. package/lib/components/form/input-select/input-select.component.d.ts +94 -86
  391. package/lib/components/form/input-select/input-select.enum.d.ts +10 -10
  392. package/lib/components/form/input-select/input-select.module.d.ts +14 -14
  393. package/lib/components/form/input-tel/assets/base64.d.ts +3 -3
  394. package/lib/components/form/input-tel/data/all-countries.d.ts +1 -1
  395. package/lib/components/form/input-tel/data/country-iso.enum.d.ts +245 -245
  396. package/lib/components/form/input-tel/data/phone-number-format.enum.d.ts +5 -5
  397. package/lib/components/form/input-tel/data/search-country-field.enum.d.ts +6 -6
  398. package/lib/components/form/input-tel/directives/input-tel.directive.d.ts +21 -21
  399. package/lib/components/form/input-tel/enums/input-phone.enum.d.ts +11 -11
  400. package/lib/components/form/input-tel/input-tel.component.d.ts +89 -89
  401. package/lib/components/form/input-tel/input-tel.module.d.ts +13 -14
  402. package/lib/components/form/input-tel/models/country.model.d.ts +18 -18
  403. package/lib/components/form/input-text/input-text.component.d.ts +54 -57
  404. package/lib/components/form/input-text/input-text.enum.d.ts +19 -19
  405. package/lib/components/form/input-text/input-text.module.d.ts +14 -14
  406. package/lib/components/form/input-textarea/input-textarea.component.d.ts +54 -49
  407. package/lib/components/form/input-textarea/input-textarea.enum.d.ts +11 -11
  408. package/lib/components/form/input-textarea/input-textarea.module.d.ts +14 -14
  409. package/lib/components/form/input-timepicker/constants/value-models.d.ts +2 -2
  410. package/lib/components/form/input-timepicker/helpers/clean-date.d.ts +1 -1
  411. package/lib/components/form/input-timepicker/helpers/cursor-position.d.ts +1 -1
  412. package/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.d.ts +3 -3
  413. package/lib/components/form/input-timepicker/helpers/get-date-object.d.ts +2 -2
  414. package/lib/components/form/input-timepicker/helpers/validate-value-models.d.ts +10 -10
  415. package/lib/components/form/input-timepicker/helpers/value-parser.d.ts +2 -2
  416. package/lib/components/form/input-timepicker/input-timepicker.component.d.ts +60 -60
  417. package/lib/components/form/input-timepicker/input-timepicker.enum.d.ts +11 -11
  418. package/lib/components/form/input-timepicker/input-timepicker.module.d.ts +13 -13
  419. package/lib/components/form/radio/radio.component.d.ts +29 -29
  420. package/lib/components/form/radio/radio.enum.d.ts +4 -4
  421. package/lib/components/form/radio/radio.module.d.ts +9 -9
  422. package/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.d.ts +18 -20
  423. package/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.d.ts +26 -28
  424. package/lib/components/form/radio-group/helpers/filter-search-group.d.ts +2 -2
  425. package/lib/components/form/radio-group/helpers/get-item-by-id.d.ts +2 -2
  426. package/lib/components/form/radio-group/helpers/move-selected-to-first.d.ts +2 -2
  427. package/lib/components/form/radio-group/models/radio-group.model.d.ts +8 -12
  428. package/lib/components/form/radio-group/radio-group.component.d.ts +57 -60
  429. package/lib/components/form/radio-group/radio-group.module.d.ts +15 -16
  430. package/lib/components/form/rating/rating.component.d.ts +51 -51
  431. package/lib/components/form/rating/rating.enum.d.ts +27 -27
  432. package/lib/components/form/rating/rating.module.d.ts +9 -9
  433. package/lib/components/form/switch/switch.component.d.ts +32 -32
  434. package/lib/components/form/switch/switch.enum.d.ts +15 -15
  435. package/lib/components/form/switch/switch.module.d.ts +10 -10
  436. package/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.d.ts +20 -17
  437. package/lib/components/gallery/components/gallery-item/gallery-item.component.d.ts +38 -38
  438. package/lib/components/gallery/constants/custom-buttons-default.d.ts +3 -3
  439. package/lib/components/gallery/constants/thumbs-config-default.d.ts +2 -2
  440. package/lib/components/gallery/gallery.component.d.ts +38 -38
  441. package/lib/components/gallery/gallery.module.d.ts +16 -16
  442. package/lib/components/gallery/models/gallery-item.model.d.ts +24 -24
  443. package/lib/components/gallery/services/gallery.service.d.ts +14 -14
  444. package/lib/components/hint-error-message/hint-error-message.component.d.ts +21 -21
  445. package/lib/components/hint-error-message/hint-error-message.module.d.ts +8 -8
  446. package/lib/components/icon-button/icon-button.component.d.ts +19 -19
  447. package/lib/components/icon-button/icon-button.enum.d.ts +15 -15
  448. package/lib/components/icon-button/icon-button.module.d.ts +9 -9
  449. package/lib/components/label/label.component.d.ts +44 -44
  450. package/lib/components/label/label.module.d.ts +14 -14
  451. package/lib/components/link/link.component.d.ts +18 -18
  452. package/lib/components/link/link.enum.d.ts +19 -19
  453. package/lib/components/link/link.module.d.ts +8 -8
  454. package/lib/components/loader/loader.component.d.ts +10 -10
  455. package/lib/components/loader/loader.enum.d.ts +19 -19
  456. package/lib/components/loader/loader.module.d.ts +8 -8
  457. package/lib/components/modal/modal.component.d.ts +36 -37
  458. package/lib/components/modal/modal.emun.d.ts +20 -20
  459. package/lib/components/modal/modal.module.d.ts +9 -9
  460. package/lib/components/pages-nav/pages-nav.component.d.ts +12 -12
  461. package/lib/components/pages-nav/pages-nav.enum.d.ts +5 -5
  462. package/lib/components/pages-nav/pages-nav.module.d.ts +8 -8
  463. package/lib/components/paginator/paginator.component.d.ts +29 -31
  464. package/lib/components/paginator/paginator.enum.d.ts +10 -10
  465. package/lib/components/paginator/paginator.module.d.ts +10 -10
  466. package/lib/components/progress/progress.component.d.ts +10 -10
  467. package/lib/components/progress/progress.enum.d.ts +7 -7
  468. package/lib/components/progress/progress.module.d.ts +8 -8
  469. package/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.d.ts +8 -8
  470. package/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.d.ts +8 -8
  471. package/lib/components/save-state/components/save-state-editor/save-state-editor.component.d.ts +8 -8
  472. package/lib/components/save-state/components/save-state-input/save-state-input.component.d.ts +8 -8
  473. package/lib/components/save-state/components/save-state-switch/save-state-switch.component.d.ts +8 -8
  474. package/lib/components/save-state/save-state.component.d.ts +13 -13
  475. package/lib/components/save-state/save-state.enum.d.ts +1 -1
  476. package/lib/components/save-state/save-state.module.d.ts +13 -13
  477. package/lib/components/stepper/stepper.component.d.ts +17 -17
  478. package/lib/components/stepper/stepper.enum.d.ts +5 -5
  479. package/lib/components/stepper/stepper.module.d.ts +9 -9
  480. package/lib/components/table/components/column/column.component.d.ts +14 -14
  481. package/lib/components/table/default/default-pager-settings.d.ts +2 -2
  482. package/lib/components/table/models/data-state-change.event.d.ts +15 -15
  483. package/lib/components/table/models/index.d.ts +3 -3
  484. package/lib/components/table/models/pager-settings.d.ts +22 -22
  485. package/lib/components/table/table.component.d.ts +55 -55
  486. package/lib/components/table/table.enum.d.ts +32 -32
  487. package/lib/components/table/table.module.d.ts +14 -14
  488. package/lib/components/tabs/tab/tab.component.d.ts +13 -13
  489. package/lib/components/tabs/tabs-group/tabs-group.component.d.ts +11 -11
  490. package/lib/components/tabs/tabs.enum.d.ts +11 -11
  491. package/lib/components/tabs/tabs.module.d.ts +9 -9
  492. package/lib/components/tooltip/services/tooltip.service.d.ts +18 -18
  493. package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.d.ts +15 -15
  494. package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.d.ts +10 -10
  495. package/lib/components/tooltip/tooltip.component.d.ts +18 -18
  496. package/lib/components/tooltip/tooltip.enum.d.ts +4 -4
  497. package/lib/components/tooltip/tooltip.module.d.ts +10 -10
  498. package/lib/components/truncate-text/directives/truncate-text.directive.d.ts +37 -37
  499. package/lib/components/truncate-text/truncate-text.component.d.ts +12 -12
  500. package/lib/components/truncate-text/truncate-text.enum.d.ts +2 -2
  501. package/lib/components/truncate-text/truncate-text.module.d.ts +10 -10
  502. package/lib/components/warning-message/warning-message.component.d.ts +9 -9
  503. package/lib/components/warning-message/warning-message.module.d.ts +8 -8
  504. package/lib/components/wrappers/content-wrapper/content-wrapper.component.d.ts +10 -10
  505. package/lib/components/wrappers/content-wrapper/content-wrapper.enum.d.ts +5 -5
  506. package/lib/components/wrappers/content-wrapper/content-wrapper.module.d.ts +8 -8
  507. package/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.d.ts +6 -6
  508. package/lib/components/wrappers/controls-wrapper/controls-wrapper.component.d.ts +10 -10
  509. package/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.d.ts +6 -6
  510. package/lib/components/wrappers/controls-wrapper/controls-wrapper.module.d.ts +9 -9
  511. package/lib/components/wrappers/widget-wrapper/widget-wrapper.component.d.ts +26 -26
  512. package/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.d.ts +15 -15
  513. package/lib/components/wrappers/widget-wrapper/widget-wrapper.module.d.ts +8 -8
  514. package/lib/directives/autosize/autosize.directive.d.ts +16 -16
  515. package/lib/directives/autosize/autosize.module.d.ts +8 -8
  516. package/lib/directives/truncate/truncate.directive.d.ts +12 -12
  517. package/lib/directives/truncate/truncate.module.d.ts +8 -8
  518. package/lib/enums/typed.input.state.d.ts +6 -6
  519. package/lib/helpers/extension/input-file.extension.d.ts +4 -4
  520. package/lib/helpers/formatting-date.d.ts +9 -9
  521. package/lib/helpers/formatting-dates-from-array.d.ts +2 -2
  522. package/lib/helpers/formatting-iso-to-string.d.ts +2 -2
  523. package/lib/helpers/index.d.ts +7 -7
  524. package/lib/helpers/number-format.d.ts +6 -6
  525. package/lib/helpers/string-hash-code.d.ts +2 -2
  526. package/lib/helpers/word-form.d.ts +7 -7
  527. package/lib/models/index.d.ts +2 -2
  528. package/lib/models/input-file/input-file.model.d.ts +23 -22
  529. package/lib/models/typed-input-model.d.ts +16 -16
  530. package/lib/pipes/currency/currency.module.d.ts +8 -8
  531. package/lib/pipes/currency/currency.pipe.d.ts +7 -7
  532. package/lib/pipes/date/date-format.module.d.ts +9 -9
  533. package/lib/pipes/date/date-format.pipe.d.ts +9 -9
  534. package/lib/pipes/date/date-time-format.pipe.d.ts +9 -9
  535. package/lib/pipes/date/enums/timezone.d.ts +8 -8
  536. package/lib/pipes/date/helpers/change-timezone.d.ts +2 -2
  537. package/lib/pipes/phone/phone-format.module.d.ts +8 -8
  538. package/lib/pipes/phone/phone-format.pipe.d.ts +8 -8
  539. package/lib/pipes/safe/safe.module.d.ts +8 -8
  540. package/lib/pipes/safe/safe.pipe.d.ts +10 -10
  541. package/lib/pipes/truncate/truncate.module.d.ts +8 -8
  542. package/lib/pipes/truncate/truncate.pipe.d.ts +7 -7
  543. package/lib/services/file-upload/file-upload.service.d.ts +12 -12
  544. package/lib/services/index.d.ts +10 -7
  545. package/lib/services/modal-service/components/alert-modal/alert-modal.component.d.ts +19 -0
  546. package/lib/services/modal-service/components/confirm-modal/confirm-modal.component.d.ts +20 -0
  547. package/lib/services/modal-service/helpers/index.d.ts +4 -0
  548. package/lib/services/modal-service/helpers/modal-default-config.d.ts +3 -0
  549. package/lib/services/modal-service/helpers/modal-ref.d.ts +11 -0
  550. package/lib/services/modal-service/helpers/modal-tokens.d.ts +3 -0
  551. package/lib/services/modal-service/helpers/modal.component.d.ts +3 -0
  552. package/lib/services/modal-service/modal-service.module.d.ts +9 -0
  553. package/lib/services/modal-service/modal-service.service.d.ts +20 -0
  554. package/lib/services/modal-service/models/modal-config.model.d.ts +14 -0
  555. package/lib/services/mrx-autosave/mrx-autosave.service.d.ts +19 -19
  556. package/lib/services/mrx-form-validator/mrx-form-validator.d.ts +51 -23
  557. package/lib/services/save-store/constants/constants.d.ts +1 -1
  558. package/lib/services/save-store/models/save-store.model.d.ts +4 -4
  559. package/lib/services/save-store/save-store.module.d.ts +9 -9
  560. package/lib/services/save-store/store/actions.d.ts +21 -21
  561. package/lib/services/save-store/store/effect.d.ts +10 -16
  562. package/lib/services/save-store/store/reducer.d.ts +3 -3
  563. package/lib/services/save-store/store/selectors.d.ts +3 -3
  564. package/lib/services/save-store/store/state.d.ts +11 -11
  565. package/package.json +27 -37
  566. package/public-api.d.ts +162 -176
  567. package/esm2020/lib/components/alert/alert.component.mjs +0 -45
  568. package/esm2020/lib/components/badges/components/badge/badge.component.mjs +0 -61
  569. package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +0 -29
  570. package/esm2020/lib/components/button/button.component.mjs +0 -102
  571. package/esm2020/lib/components/button/button.enum.mjs +0 -29
  572. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +0 -28
  573. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +0 -95
  574. package/esm2020/lib/components/chars-left/chars-left.component.mjs +0 -29
  575. package/esm2020/lib/components/context-menu/components/context-menu/context-menu.component.mjs +0 -99
  576. package/esm2020/lib/components/context-menu/components/context-menu-content/context-menu-content.component.mjs +0 -324
  577. package/esm2020/lib/components/context-menu/context-menu.module.mjs +0 -51
  578. package/esm2020/lib/components/context-menu/context-menu.options.mjs +0 -2
  579. package/esm2020/lib/components/context-menu/context-menu.tokens.mjs +0 -3
  580. package/esm2020/lib/components/context-menu/directives/context-menu/context-menu.directive.mjs +0 -36
  581. package/esm2020/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.mjs +0 -61
  582. package/esm2020/lib/components/context-menu/models/context-menu.enum.mjs +0 -2
  583. package/esm2020/lib/components/context-menu/services/context-menu/context-menu-fixed.service.mjs +0 -103
  584. package/esm2020/lib/components/context-menu/services/context-menu/context-menu.service.mjs +0 -223
  585. package/esm2020/lib/components/dropdown/directives/hide-after-click.directive.mjs +0 -23
  586. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -104
  587. package/esm2020/lib/components/error-message/error-message.component.mjs +0 -34
  588. package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -143
  589. package/esm2020/lib/components/form/checkbox/checkbox.enum.mjs +0 -2
  590. package/esm2020/lib/components/form/checkbox-group/checkbox-group.component.mjs +0 -184
  591. package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +0 -112
  592. package/esm2020/lib/components/form/checkbox-group/helpers/change-group-value.mjs +0 -20
  593. package/esm2020/lib/components/form/checkbox-group/helpers/change-item-value.mjs +0 -15
  594. package/esm2020/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +0 -27
  595. package/esm2020/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +0 -20
  596. package/esm2020/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +0 -50
  597. package/esm2020/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.mjs +0 -33
  598. package/esm2020/lib/components/form/document-editor/document-editor.component.mjs +0 -105
  599. package/esm2020/lib/components/form/document-editor/document-editor.module.mjs +0 -42
  600. package/esm2020/lib/components/form/document-editor/helpers/transform-sysname.mjs +0 -41
  601. package/esm2020/lib/components/form/document-editor/models/document-editor-short-codes.enum.mjs +0 -2
  602. package/esm2020/lib/components/form/editor/editor.component.mjs +0 -264
  603. package/esm2020/lib/components/form/editor/editor.module.mjs +0 -45
  604. package/esm2020/lib/components/form/editor/modules/change-icon-module.mjs +0 -92
  605. package/esm2020/lib/components/form/input-date-time/helpers/cursor-position.mjs +0 -23
  606. package/esm2020/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +0 -10
  607. package/esm2020/lib/components/form/input-date-time/input-date-time.component.mjs +0 -413
  608. package/esm2020/lib/components/form/input-date-time/input-date-time.module.mjs +0 -46
  609. package/esm2020/lib/components/form/input-datepicker/helpers/cursor-position.mjs +0 -23
  610. package/esm2020/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +0 -10
  611. package/esm2020/lib/components/form/input-datepicker/helpers/get-date-object.mjs +0 -10
  612. package/esm2020/lib/components/form/input-datepicker/input-datepicker.component.mjs +0 -359
  613. package/esm2020/lib/components/form/input-datepicker/input-datepicker.module.mjs +0 -46
  614. package/esm2020/lib/components/form/input-file/input-file.component.mjs +0 -363
  615. package/esm2020/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +0 -66
  616. package/esm2020/lib/components/form/input-file-image/input-file-image.component.mjs +0 -350
  617. package/esm2020/lib/components/form/input-file-image/input-file-image.module.mjs +0 -58
  618. package/esm2020/lib/components/form/input-number/input-number.component.mjs +0 -265
  619. package/esm2020/lib/components/form/input-number/input-number.module.mjs +0 -55
  620. package/esm2020/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +0 -361
  621. package/esm2020/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +0 -44
  622. package/esm2020/lib/components/form/input-password/input-password.component.mjs +0 -133
  623. package/esm2020/lib/components/form/input-password/input-password.module.mjs +0 -44
  624. package/esm2020/lib/components/form/input-phone/data/country-code.mjs +0 -1333
  625. package/esm2020/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +0 -33
  626. package/esm2020/lib/components/form/input-phone/input-phone.component.mjs +0 -671
  627. package/esm2020/lib/components/form/input-phone/input-phone.module.mjs +0 -50
  628. package/esm2020/lib/components/form/input-phone/input-phone.validator.mjs +0 -61
  629. package/esm2020/lib/components/form/input-search/input-search.component.mjs +0 -174
  630. package/esm2020/lib/components/form/input-search/input-search.module.mjs +0 -44
  631. package/esm2020/lib/components/form/input-select/input-select.component.mjs +0 -249
  632. package/esm2020/lib/components/form/input-tel/directives/input-tel.directive.mjs +0 -62
  633. package/esm2020/lib/components/form/input-tel/input-tel.component.mjs +0 -389
  634. package/esm2020/lib/components/form/input-tel/input-tel.module.mjs +0 -47
  635. package/esm2020/lib/components/form/input-text/input-text.component.mjs +0 -194
  636. package/esm2020/lib/components/form/input-text/input-text.module.mjs +0 -49
  637. package/esm2020/lib/components/form/input-textarea/input-textarea.component.mjs +0 -174
  638. package/esm2020/lib/components/form/input-textarea/input-textarea.module.mjs +0 -48
  639. package/esm2020/lib/components/form/input-timepicker/helpers/cursor-position.mjs +0 -14
  640. package/esm2020/lib/components/form/input-timepicker/input-timepicker.component.mjs +0 -290
  641. package/esm2020/lib/components/form/input-timepicker/input-timepicker.module.mjs +0 -46
  642. package/esm2020/lib/components/form/radio/radio.component.mjs +0 -91
  643. package/esm2020/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +0 -49
  644. package/esm2020/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +0 -69
  645. package/esm2020/lib/components/form/radio-group/helpers/filter-search-group.mjs +0 -27
  646. package/esm2020/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +0 -27
  647. package/esm2020/lib/components/form/radio-group/radio-group.component.mjs +0 -185
  648. package/esm2020/lib/components/form/radio-group/radio-group.module.mjs +0 -47
  649. package/esm2020/lib/components/form/rating/rating.component.mjs +0 -217
  650. package/esm2020/lib/components/form/switch/switch.component.mjs +0 -97
  651. package/esm2020/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +0 -22
  652. package/esm2020/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +0 -102
  653. package/esm2020/lib/components/gallery/gallery.component.mjs +0 -197
  654. package/esm2020/lib/components/gallery/services/gallery.service.mjs +0 -31
  655. package/esm2020/lib/components/hint-error-message/hint-error-message.component.mjs +0 -123
  656. package/esm2020/lib/components/icon-button/icon-button.component.mjs +0 -51
  657. package/esm2020/lib/components/label/label.component.mjs +0 -141
  658. package/esm2020/lib/components/link/link.component.mjs +0 -50
  659. package/esm2020/lib/components/loader/loader.component.mjs +0 -26
  660. package/esm2020/lib/components/modal/modal.component.mjs +0 -146
  661. package/esm2020/lib/components/pages-nav/pages-nav.component.mjs +0 -33
  662. package/esm2020/lib/components/paginator/paginator.component.mjs +0 -152
  663. package/esm2020/lib/components/paginator/paginator.module.mjs +0 -31
  664. package/esm2020/lib/components/progress/progress.component.mjs +0 -26
  665. package/esm2020/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +0 -15
  666. package/esm2020/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +0 -15
  667. package/esm2020/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +0 -15
  668. package/esm2020/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +0 -15
  669. package/esm2020/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +0 -15
  670. package/esm2020/lib/components/save-state/save-state.component.mjs +0 -39
  671. package/esm2020/lib/components/stepper/stepper.component.mjs +0 -54
  672. package/esm2020/lib/components/table/components/column/column.component.mjs +0 -40
  673. package/esm2020/lib/components/table/table.component.mjs +0 -274
  674. package/esm2020/lib/components/tabs/tab/tab.component.mjs +0 -31
  675. package/esm2020/lib/components/tabs/tabs-group/tabs-group.component.mjs +0 -29
  676. package/esm2020/lib/components/tooltip/services/tooltip.service.mjs +0 -67
  677. package/esm2020/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +0 -38
  678. package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -60
  679. package/esm2020/lib/components/truncate-text/truncate-text.component.mjs +0 -30
  680. package/esm2020/lib/components/warning-message/warning-message.component.mjs +0 -31
  681. package/esm2020/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +0 -26
  682. package/esm2020/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +0 -17
  683. package/esm2020/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +0 -24
  684. package/esm2020/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +0 -96
  685. package/esm2020/lib/directives/autosize/autosize.directive.mjs +0 -55
  686. package/esm2020/lib/directives/truncate/truncate.directive.mjs +0 -32
  687. package/esm2020/lib/helpers/extension/input-file.extension.mjs +0 -39
  688. package/esm2020/lib/helpers/formatting-date.mjs +0 -51
  689. package/esm2020/lib/helpers/string-hash-code.mjs +0 -17
  690. package/esm2020/lib/models/input-file/input-file.model.mjs +0 -2
  691. package/esm2020/lib/pipes/currency/currency.pipe.mjs +0 -22
  692. package/esm2020/lib/pipes/date/date-format.pipe.mjs +0 -21
  693. package/esm2020/lib/pipes/date/date-time-format.pipe.mjs +0 -21
  694. package/esm2020/lib/pipes/phone/phone-format.pipe.mjs +0 -23
  695. package/esm2020/lib/pipes/safe/safe.pipe.mjs +0 -20
  696. package/esm2020/lib/pipes/truncate/truncate.pipe.mjs +0 -23
  697. package/esm2020/lib/services/file-upload/file-upload.service.mjs +0 -26
  698. package/esm2020/lib/services/index.mjs +0 -8
  699. package/esm2020/lib/services/mrx-autosave/mrx-autosave.service.mjs +0 -44
  700. package/esm2020/lib/services/mrx-form-validator/constants/invalid-messages.mjs +0 -10
  701. package/esm2020/lib/services/mrx-form-validator/helpers/get-error-message.helper.mjs +0 -10
  702. package/esm2020/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.mjs +0 -28
  703. package/esm2020/lib/services/mrx-form-validator/models/index.mjs +0 -4
  704. package/esm2020/lib/services/mrx-form-validator/models/validations-options.model.mjs +0 -2
  705. package/esm2020/lib/services/mrx-form-validator/models/validations-settings.model.mjs +0 -2
  706. package/esm2020/lib/services/mrx-form-validator/models/validations-types.model.mjs +0 -22
  707. package/esm2020/lib/services/mrx-form-validator/mrx-form-validator.mjs +0 -207
  708. package/esm2020/lib/services/mrx-form-validator/validations/callback.validation.mjs +0 -15
  709. package/esm2020/lib/services/mrx-form-validator/validations/email.validation.mjs +0 -11
  710. package/esm2020/lib/services/mrx-form-validator/validations/max-length.validation.mjs +0 -10
  711. package/esm2020/lib/services/mrx-form-validator/validations/max-value.validation.mjs +0 -10
  712. package/esm2020/lib/services/mrx-form-validator/validations/min-length.validation.mjs +0 -11
  713. package/esm2020/lib/services/mrx-form-validator/validations/min-value.validation.mjs +0 -10
  714. package/esm2020/lib/services/mrx-form-validator/validations/pattern.validation.mjs +0 -11
  715. package/esm2020/lib/services/mrx-form-validator/validations/required.validation.mjs +0 -22
  716. package/esm2020/lib/services/save-store/store/effect.mjs +0 -31
  717. package/esm2020/lib/services/save-store/store/reducer.mjs +0 -79
  718. package/esm2020/public-api.mjs +0 -186
  719. package/fesm2015/myrta-ui.mjs +0 -16283
  720. package/fesm2015/myrta-ui.mjs.map +0 -1
  721. package/fesm2020/myrta-ui.mjs +0 -16319
  722. package/fesm2020/myrta-ui.mjs.map +0 -1
  723. package/lib/components/context-menu/components/context-menu/context-menu.component.d.ts +0 -34
  724. package/lib/components/context-menu/components/context-menu-content/context-menu-content.component.d.ts +0 -62
  725. package/lib/components/context-menu/context-menu.module.d.ts +0 -15
  726. package/lib/components/context-menu/context-menu.options.d.ts +0 -4
  727. package/lib/components/context-menu/context-menu.tokens.d.ts +0 -2
  728. package/lib/components/context-menu/directives/context-menu/context-menu.directive.d.ts +0 -12
  729. package/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.d.ts +0 -30
  730. package/lib/components/context-menu/models/context-menu.enum.d.ts +0 -11
  731. package/lib/components/context-menu/services/context-menu/context-menu-fixed.service.d.ts +0 -11
  732. package/lib/components/context-menu/services/context-menu/context-menu.service.d.ts +0 -56
  733. package/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.d.ts +0 -22
  734. package/lib/components/form/document-editor/document-editor.component.d.ts +0 -37
  735. package/lib/components/form/document-editor/document-editor.module.d.ts +0 -13
  736. package/lib/components/form/document-editor/helpers/transform-sysname.d.ts +0 -5
  737. package/lib/components/form/document-editor/models/document-editor-short-codes.enum.d.ts +0 -6
  738. package/lib/services/mrx-form-validator/constants/invalid-messages.d.ts +0 -9
  739. package/lib/services/mrx-form-validator/helpers/get-error-message.helper.d.ts +0 -3
  740. package/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.d.ts +0 -2
  741. package/lib/services/mrx-form-validator/models/index.d.ts +0 -3
  742. package/lib/services/mrx-form-validator/models/validations-options.model.d.ts +0 -28
  743. package/lib/services/mrx-form-validator/models/validations-settings.model.d.ts +0 -7
  744. package/lib/services/mrx-form-validator/models/validations-types.model.d.ts +0 -19
  745. package/lib/services/mrx-form-validator/validations/callback.validation.d.ts +0 -6
  746. package/lib/services/mrx-form-validator/validations/email.validation.d.ts +0 -6
  747. package/lib/services/mrx-form-validator/validations/max-length.validation.d.ts +0 -6
  748. package/lib/services/mrx-form-validator/validations/max-value.validation.d.ts +0 -6
  749. package/lib/services/mrx-form-validator/validations/min-length.validation.d.ts +0 -6
  750. package/lib/services/mrx-form-validator/validations/min-value.validation.d.ts +0 -6
  751. package/lib/services/mrx-form-validator/validations/pattern.validation.d.ts +0 -6
  752. package/lib/services/mrx-form-validator/validations/required.validation.d.ts +0 -6
@@ -0,0 +1,356 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { convertBase64ToFile, formatBytes, getBase64FromUrl } from '../../../helpers';
3
+ import { v4 as uuidv4 } from 'uuid';
4
+ import { catchError } from 'rxjs/operators';
5
+ import { EMPTY } from 'rxjs';
6
+ import { HttpEventType } from '@angular/common/http';
7
+ import { FileImageEditModalComponent } from './components/file-image-edit-modal/file-image-edit-modal.component';
8
+ import { InputFileImageTypeEnum } from './input-file-image.enum';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../../services";
11
+ import * as i2 from "@angular/common";
12
+ import * as i3 from "ngx-file-drop";
13
+ export class InputFileImageComponent {
14
+ imageUploadService;
15
+ _modalService;
16
+ _detector;
17
+ formatBytes = formatBytes;
18
+ extensions;
19
+ allowedExtensions = [];
20
+ files = [];
21
+ type = 'default';
22
+ customClasses = '';
23
+ placeholder;
24
+ disabled = false;
25
+ readonly = false;
26
+ maxSize = 31457280;
27
+ maxFiles = 5;
28
+ minFiles = 0;
29
+ // Параметры, которые будут передаваться в форме
30
+ formData = {};
31
+ // CROPPER
32
+ cropperMaxWidth = 0;
33
+ cropperMaxHeight = 0;
34
+ aspectRatio = 1 / 1;
35
+ maintainAspectRatio = false;
36
+ uploadEndPoint;
37
+ deleteEndPoint;
38
+ downloadEndPoint;
39
+ deleteConfirm;
40
+ set initFiles(data) {
41
+ if (data) {
42
+ if (Array.isArray(data)) {
43
+ this.files = data.map(s => ({ ...s }));
44
+ }
45
+ else {
46
+ this.files = [{ ...data }];
47
+ }
48
+ }
49
+ else {
50
+ this.files = [];
51
+ }
52
+ }
53
+ set initAllowedExtensions(val) {
54
+ if (val) {
55
+ this.allowedExtensions = val;
56
+ this.extensions = val.join(', ');
57
+ }
58
+ else {
59
+ this.allowedExtensions = [];
60
+ this.extensions = undefined;
61
+ }
62
+ }
63
+ filesChanged = new EventEmitter();
64
+ constructor(imageUploadService, _modalService, _detector) {
65
+ this.imageUploadService = imageUploadService;
66
+ this._modalService = _modalService;
67
+ this._detector = _detector;
68
+ }
69
+ get getDefaultPlaceholder() {
70
+ return this.type === 'avatar' ?
71
+ 'Загрузите фотографию' :
72
+ 'Перенесите файл с устройства или нажмите на данное поле для добавления файла';
73
+ }
74
+ get getClasses() {
75
+ return `${InputFileImageTypeEnum[this.type]} ${this.customClasses}`;
76
+ }
77
+ get getDropZoneClasses() {
78
+ return `mrx-input-file-image-drop ${this.disabled ? 'mrx-input-file-picture-drop-disabled' : ''}`;
79
+ }
80
+ get canAdd() {
81
+ if (this.type === 'avatar') {
82
+ return this.files.length < 1;
83
+ }
84
+ else {
85
+ return this.maxFiles > this.files.filter(s => !s.error).length;
86
+ }
87
+ }
88
+ dropped(files) {
89
+ const droppedFile = files[0];
90
+ if (droppedFile.fileEntry.isFile) {
91
+ const fileEntry = droppedFile.fileEntry;
92
+ fileEntry.file((file) => {
93
+ this._modalService.open(FileImageEditModalComponent, {
94
+ title: 'Обложка',
95
+ fileImage: file,
96
+ cropperMaxWidth: this.cropperMaxWidth,
97
+ cropperMaxHeight: this.cropperMaxHeight,
98
+ aspectRatio: this.aspectRatio,
99
+ maintainAspectRatio: this.maintainAspectRatio
100
+ })
101
+ .afterClosed()
102
+ .subscribe((res) => {
103
+ if (res.result && res.fileImage) {
104
+ this._uploadFile(res.fileImage);
105
+ }
106
+ });
107
+ });
108
+ }
109
+ }
110
+ changePreview(event, file) {
111
+ event.stopPropagation();
112
+ getBase64FromUrl(this.downloadUrl(file)).then((base64Url) => {
113
+ this._modalService.open(FileImageEditModalComponent, {
114
+ title: 'Обложка',
115
+ fileImage: convertBase64ToFile(base64Url, file.name || '', 'image/png'),
116
+ cropperMaxWidth: this.cropperMaxWidth,
117
+ cropperMaxHeight: this.cropperMaxHeight,
118
+ aspectRatio: this.aspectRatio,
119
+ maintainAspectRatio: this.maintainAspectRatio
120
+ })
121
+ .afterClosed()
122
+ .subscribe((res) => {
123
+ if (res.result && res.fileImage) {
124
+ this._updateFile(file, res.fileImage);
125
+ }
126
+ });
127
+ });
128
+ }
129
+ delete(event, file) {
130
+ event.stopPropagation();
131
+ if (this.deleteConfirm) {
132
+ this.deleteConfirm(file, (ok) => {
133
+ if (ok) {
134
+ this._deleteFile(file);
135
+ }
136
+ });
137
+ }
138
+ else {
139
+ this._deleteFile(file);
140
+ }
141
+ }
142
+ clear(file) {
143
+ if (file.uploading) {
144
+ if (file.execution) {
145
+ file.execution.unsubscribe();
146
+ }
147
+ }
148
+ const findFileIdx = this.files.indexOf(file);
149
+ if (findFileIdx >= 0) {
150
+ this.files.splice(findFileIdx, 1);
151
+ }
152
+ }
153
+ downloadUrl(file) {
154
+ if (this.downloadEndPoint) {
155
+ return this._transformUrl(this.downloadEndPoint, file);
156
+ }
157
+ else {
158
+ return '';
159
+ }
160
+ }
161
+ fileOver(event) {
162
+ }
163
+ fileLeave(event) {
164
+ }
165
+ _transformUrl(url, file) {
166
+ return url.replace(/{id}/, file.id);
167
+ }
168
+ _formDataKeys() {
169
+ return Object.keys(this.formData);
170
+ }
171
+ _createFormData() {
172
+ const form = new FormData();
173
+ if (this.maxFiles) {
174
+ form.append('MaxFiles', this.maxFiles.toString(10));
175
+ }
176
+ const keys = this._formDataKeys();
177
+ keys.forEach(key => form.append(key, this.formData[key]));
178
+ return form;
179
+ }
180
+ _deleteFile(file) {
181
+ const findFile = this.files.find(s => s.id === file.id);
182
+ if (findFile) {
183
+ if (this.deleteEndPoint) {
184
+ const formData = this._createFormData();
185
+ formData.append('Qquuid', file.id);
186
+ findFile.deleting = true;
187
+ this.imageUploadService.delete(this.deleteEndPoint, formData).subscribe(result => {
188
+ this.files.splice(this.files.indexOf(findFile), 1);
189
+ this.filesChanged.emit(this.files);
190
+ });
191
+ }
192
+ else {
193
+ this.files.splice(this.files.indexOf(findFile), 1);
194
+ this.filesChanged.emit(this.files);
195
+ }
196
+ }
197
+ }
198
+ _updateFile(oldFile, newFile) {
199
+ const findFile = this.files.find((s) => {
200
+ if (s.id !== '') {
201
+ return s.id === oldFile.id;
202
+ }
203
+ else {
204
+ return s.tempUuid === oldFile.tempUuid;
205
+ }
206
+ });
207
+ if (findFile) {
208
+ if (this.deleteEndPoint) {
209
+ const formData = this._createFormData();
210
+ formData.append('Qquuid', oldFile.id);
211
+ findFile.deleting = true;
212
+ this.imageUploadService.delete(this.deleteEndPoint, formData).subscribe(result => {
213
+ this.files.splice(this.files.indexOf(findFile), 1);
214
+ this.filesChanged.emit(this.files);
215
+ this._uploadFile(newFile);
216
+ });
217
+ }
218
+ else {
219
+ this._uploadFile(newFile, this.files.indexOf(findFile), 'update');
220
+ }
221
+ }
222
+ }
223
+ _uploadFile(file, idxFile = 0, eventType = 'create') {
224
+ const data = {
225
+ id: '',
226
+ tempUuid: uuidv4(),
227
+ name: file.name,
228
+ length: file.size,
229
+ uploading: true,
230
+ percentage: 0,
231
+ file: file,
232
+ };
233
+ if (!this._checkForUpload(data, idxFile, eventType)) {
234
+ return;
235
+ }
236
+ const formData = this._createFormData();
237
+ formData.append('File', file);
238
+ data.execution = this.imageUploadService.upload(this.uploadEndPoint, formData).pipe(catchError((err) => {
239
+ data.uploading = false;
240
+ return EMPTY;
241
+ }))
242
+ .subscribe((event) => {
243
+ switch (event.type) {
244
+ case HttpEventType.Sent:
245
+ break;
246
+ case HttpEventType.ResponseHeader:
247
+ break;
248
+ case HttpEventType.UploadProgress:
249
+ if (event.total) {
250
+ data.percentage = Math.round(event.loaded / event.total * 100);
251
+ }
252
+ break;
253
+ case HttpEventType.Response:
254
+ if (event.body) {
255
+ data.uploading = false;
256
+ data.percentage = 0;
257
+ data.id = event.body.uuid;
258
+ data.file = undefined;
259
+ data.error = event.body.message;
260
+ if (data.execution) {
261
+ data.execution.unsubscribe();
262
+ }
263
+ if (this.files.every(s => !s.uploading)) {
264
+ this.filesChanged.emit(this.files);
265
+ }
266
+ this._detector.detectChanges();
267
+ }
268
+ }
269
+ });
270
+ }
271
+ _checkForUpload(data, idxFile = 0, eventType) {
272
+ if (!this.canAdd) {
273
+ data.error = 'Слишком много файлов';
274
+ data.uploading = false;
275
+ this.files.push(data);
276
+ return false;
277
+ }
278
+ this.files.push(data);
279
+ if (data.file && data.file.size > this.maxSize) {
280
+ data.error = 'Слишком большой файл';
281
+ data.uploading = false;
282
+ return false;
283
+ }
284
+ if (data.file && data.file.size == 0) {
285
+ data.error = 'Пустой файл';
286
+ data.uploading = false;
287
+ return false;
288
+ }
289
+ if (this.allowedExtensions.length > 0 && !this.allowedExtensions.some(s => data.file?.name.toLowerCase().endsWith(s.toLowerCase()))) {
290
+ data.error = 'Неверный формат файла';
291
+ data.uploading = false;
292
+ return false;
293
+ }
294
+ if (eventType === 'update') {
295
+ this.files.splice(idxFile, 1, data);
296
+ this.filesChanged.emit(this.files);
297
+ return true;
298
+ }
299
+ if (this.type === 'avatar') {
300
+ this.files.length = 0;
301
+ this.files.push(data);
302
+ return true;
303
+ }
304
+ this._detector.detectChanges();
305
+ return true;
306
+ }
307
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputFileImageComponent, deps: [{ token: i1.FileUploadService }, { token: i1.ModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
308
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: InputFileImageComponent, selector: "mrx-input-file-image", inputs: { type: "type", customClasses: "customClasses", placeholder: "placeholder", disabled: "disabled", readonly: "readonly", maxSize: "maxSize", maxFiles: "maxFiles", minFiles: "minFiles", formData: "formData", cropperMaxWidth: "cropperMaxWidth", cropperMaxHeight: "cropperMaxHeight", aspectRatio: "aspectRatio", maintainAspectRatio: "maintainAspectRatio", uploadEndPoint: "uploadEndPoint", deleteEndPoint: "deleteEndPoint", downloadEndPoint: "downloadEndPoint", deleteConfirm: "deleteConfirm", initFiles: ["files", "initFiles"], initAllowedExtensions: ["allowedExtensions", "initAllowedExtensions"] }, outputs: { filesChanged: "filesChanged" }, ngImport: i0, template: "<div class=\"mrx-input-file-image\" [class]=\"getClasses\">\r\n @switch (type) {\r\n @case ('avatar') {\r\n <ngx-file-drop\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileDrop)=\"dropped($event)\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n @if (files.length) {\r\n <div class=\"mrx-input-file-image-avatar\">\r\n\r\n @for (file of files; track file.id) {\r\n <div class=\"w-100 h-100\">\r\n <div class=\"mrx-input-file-image-avatar-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n\r\n @if (file.error) {\r\n\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"clear(file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n\r\n } @else if (file.uploading && !file.error) {\r\n\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading\">\r\n <span class=\"mrx-input-file-image-avatar-item-uploading-text\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n\r\n } @else if (!file.uploading && !file.error) {\r\n\r\n <img [src]=\"downloadUrl(file)\" [alt]=\"file.name\" height=\"154\" width=\"154\">\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div\r\n class=\"mrx-input-file-image-input\"\r\n [class.mrx-input-file-image__disabled]=\"disabled\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">{{ placeholder || getDefaultPlaceholder }}</span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{ formatBytes(maxSize) }}</span>\r\n <span *ngIf=\"extensions\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{ extensions }}</span>\r\n </div>\r\n </div>\r\n }\r\n </ng-template>\r\n </ngx-file-drop>\r\n }\r\n @default {\r\n @if (canAdd) {\r\n <ngx-file-drop\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileDrop)=\"dropped($event)\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"mrx-input-file-image-input\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">\r\n {{ placeholder || getDefaultPlaceholder }}\r\n </span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{ formatBytes(maxSize) }}</span>\r\n <span *ngIf=\"extensions\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{ extensions }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n }\r\n\r\n <div class=\"mrx-input-file-image-preview\">\r\n <div class=\"row\">\r\n @for (file of files; track file.id) {\r\n\r\n <div class=\"col col-12 col-sm-6 col-md-4 col-lg-3\">\r\n <div class=\"mrx-input-file-image-preview-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n @if (file.error) {\r\n\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n\r\n <div class=\"mrx-input-file-image-preview-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n <div class=\"mrx-input-file-image-preview-item-name\">{{ file.name }}</div>\r\n <div class=\"mrx-input-file-image-preview-item-description\">{{ formatBytes(file.length) }}</div>\r\n\r\n } @else if (file.uploading && !file.error) {\r\n\r\n <div class=\"mrx-input-file-image-preview-item-uploading\">\r\n <span class=\"mrx-input-file-image-preview-item-uploading-text\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-preview-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n\r\n } @else if (!file.uploading && !file.error) {\r\n\r\n <div class=\"mrx-input-file-image-preview-item__image\">\r\n <img [src]=\"downloadUrl(file)\" [alt]=\"file.name\">\r\n </div>\r\n\r\n <div class=\"mrx-input-file-image-preview-item-info\">\r\n <div class=\"mrx-input-file-image-preview-item-name\">{{ file.name }}</div>\r\n <div class=\"mrx-input-file-image-preview-item-description\">{{ formatBytes(file.length) }}</div>\r\n </div>\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n</div>\r\n", styles: [".mrx-input-file-image{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:var(--spacing-3)}.mrx-input-file-image-preview{width:100%}.mrx-input-file-image-preview-item{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:var(--spacing-2);border:1px solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);transition:.2s;word-break:break-word;height:100%;padding:var(--spacing-4)}.mrx-input-file-image-preview-item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image-preview-item.mrx-input-file-image-error{border:1px solid var(--system-bg-controls-negative-default)}.mrx-input-file-image-preview-item__image{height:114px;position:relative}.mrx-input-file-image-preview-item img{word-wrap:break-word;object-fit:cover}.mrx-input-file-image-preview-item:hover{border-color:var(--neutral-bg-stroke-hover)}.mrx-input-file-image-preview-item-info{display:flex;flex-direction:column;gap:var(--spacing-2)}.mrx-input-file-image-preview-item-name{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}.mrx-input-file-image-preview-item-description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-secondary)}.mrx-input-file-image-preview-item-error{max-height:236px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--system-text-negative)}.mrx-input-file-image-preview-item-uploading{display:flex;flex-direction:column;justify-content:center;align-items:center}.mrx-input-file-image-preview-item-uploading-progress{width:96px;height:4px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image-preview-item-uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image-preview .row{row-gap:var(--spacing-3)}.mrx-input-file-image.mrx-input-file-image-type-avatar{max-width:154px;min-width:154px;min-height:154px;max-height:154px;height:154px}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar{display:flex;align-items:center;justify-content:center;cursor:pointer;width:100%;height:100%}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item{position:relative;display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;word-break:break-word}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item img{word-wrap:break-word;object-fit:cover}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item:hover{border-color:var(--Main2)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-error{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;width:100%;height:100%;border:1px solid var(--system-bg-controls-negative-default);border-radius:var(--border-radius-1);color:var(--system-text-negative)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-3);width:100%;height:100%;border:1px solid var(--neutral-bg-stroke-default);border-radius:4px}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-text{font-size:var(--body-md-font-size);font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);text-align:center;color:var(--neutral-text-primary)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-progress{width:96px;height:4px;border-radius:2px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image .mrx-input-file-image-drop{width:100%;height:100%}.mrx-input-file-image .mrx-input-file-image-drop-disabled .mrx-input-file-image-input{border-color:var(--neutral-bg-stroke-default);background-color:var(--neutral-bg-disabled);cursor:default}.mrx-input-file-image .mrx-input-file-image-drop .ngx-file-drop__drop-zone{height:100%;border:none;border-radius:0}.mrx-input-file-image .mrx-input-file-image-drop .ngx-file-drop__drop-zone .ngx-file-drop__content{height:100%}.mrx-input-file-image-preview-item:hover .mrx-input-file-image-controls,.mrx-input-file-image-avatar-item:hover .mrx-input-file-image-controls{display:flex}.mrx-input-file-image-controls{position:absolute;top:-16px;right:-16px;background:#fff;box-shadow:0 1px 4px #3a3a3a4d;border-radius:5px;padding:5px;display:none}.mrx-input-file-image-controls-item{min-width:16px;height:16px;cursor:pointer}.mrx-input-file-image-controls-item:not(:last-child){position:relative;padding-right:8px;border-right:1px solid #BFC5CC;margin-right:8px}.mrx-input-file-image-input{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4);width:100%;height:100%;min-height:100px;gap:var(--spacing-2);border-radius:var(--border-radius-1);border:var(--border-width-default) dashed var(--neutral-bg-stroke-default);cursor:pointer}.mrx-input-file-image-input-placeholder{font-size:var(--body-md-font-size);font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);text-align:center;color:var(--neutral-text-secondary)}.mrx-input-file-image-input-info{display:flex;flex-direction:column;align-items:center}.mrx-input-file-image-input-info *{font-size:var(--body-sm-font-size);font-family:var(--body-sm-font-family);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);text-align:center;color:var(--neutral-text-secondary)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.NgxFileDropComponent, selector: "ngx-file-drop", inputs: ["accept", "directory", "multiple", "dropZoneLabel", "dropZoneClassName", "useDragEnter", "contentClassName", "showBrowseBtn", "browseBtnClassName", "browseBtnLabel", "disabled"], outputs: ["onFileDrop", "onFileOver", "onFileLeave"] }, { kind: "directive", type: i3.NgxFileDropContentTemplateDirective, selector: "[ngx-file-drop-content-tmp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
309
+ }
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputFileImageComponent, decorators: [{
311
+ type: Component,
312
+ args: [{ selector: 'mrx-input-file-image', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-input-file-image\" [class]=\"getClasses\">\r\n @switch (type) {\r\n @case ('avatar') {\r\n <ngx-file-drop\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileDrop)=\"dropped($event)\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n @if (files.length) {\r\n <div class=\"mrx-input-file-image-avatar\">\r\n\r\n @for (file of files; track file.id) {\r\n <div class=\"w-100 h-100\">\r\n <div class=\"mrx-input-file-image-avatar-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n\r\n @if (file.error) {\r\n\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"clear(file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n\r\n } @else if (file.uploading && !file.error) {\r\n\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading\">\r\n <span class=\"mrx-input-file-image-avatar-item-uploading-text\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-avatar-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n\r\n } @else if (!file.uploading && !file.error) {\r\n\r\n <img [src]=\"downloadUrl(file)\" [alt]=\"file.name\" height=\"154\" width=\"154\">\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div\r\n class=\"mrx-input-file-image-input\"\r\n [class.mrx-input-file-image__disabled]=\"disabled\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">{{ placeholder || getDefaultPlaceholder }}</span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{ formatBytes(maxSize) }}</span>\r\n <span *ngIf=\"extensions\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{ extensions }}</span>\r\n </div>\r\n </div>\r\n }\r\n </ng-template>\r\n </ngx-file-drop>\r\n }\r\n @default {\r\n @if (canAdd) {\r\n <ngx-file-drop\r\n [className]=\"getDropZoneClasses\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"disabled\"\r\n (onFileDrop)=\"dropped($event)\"\r\n (onFileOver)=\"fileOver($event)\" (onFileLeave)=\"fileLeave($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"mrx-input-file-image-input\"\r\n (click)=\"!disabled ? openFileSelector() : undefined\"\r\n >\r\n <span class=\"mrx-input-file-image-input-placeholder\">\r\n {{ placeholder || getDefaultPlaceholder }}\r\n </span>\r\n <div class=\"mrx-input-file-image-input-info\">\r\n <span>\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: \u0434\u043E {{ formatBytes(maxSize) }}</span>\r\n <span *ngIf=\"extensions\">\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430: {{ extensions }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n }\r\n\r\n <div class=\"mrx-input-file-image-preview\">\r\n <div class=\"row\">\r\n @for (file of files; track file.id) {\r\n\r\n <div class=\"col col-12 col-sm-6 col-md-4 col-lg-3\">\r\n <div class=\"mrx-input-file-image-preview-item\" [class.mrx-input-file-image-error]=\"file.error\">\r\n @if (file.error) {\r\n\r\n <span class=\"mrx-icon icon-close icon-font-24\" (click)=\"delete($event, file)\"></span>\r\n\r\n <div class=\"mrx-input-file-image-preview-item-error\">\r\n <span class=\"mrx-icon icon-image icon-font-24 icon-filled-color-negative\"></span>\r\n {{ file.error }}\r\n </div>\r\n <div class=\"mrx-input-file-image-preview-item-name\">{{ file.name }}</div>\r\n <div class=\"mrx-input-file-image-preview-item-description\">{{ formatBytes(file.length) }}</div>\r\n\r\n } @else if (file.uploading && !file.error) {\r\n\r\n <div class=\"mrx-input-file-image-preview-item-uploading\">\r\n <span class=\"mrx-input-file-image-preview-item-uploading-text\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...</span>\r\n <div class=\"mrx-input-file-image-preview-item-uploading-progress\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n </div>\r\n\r\n } @else if (!file.uploading && !file.error) {\r\n\r\n <div class=\"mrx-input-file-image-preview-item__image\">\r\n <img [src]=\"downloadUrl(file)\" [alt]=\"file.name\">\r\n </div>\r\n\r\n <div class=\"mrx-input-file-image-preview-item-info\">\r\n <div class=\"mrx-input-file-image-preview-item-name\">{{ file.name }}</div>\r\n <div class=\"mrx-input-file-image-preview-item-description\">{{ formatBytes(file.length) }}</div>\r\n </div>\r\n\r\n <div class=\"mrx-input-file-image-controls\">\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"changePreview($event, file)\">\r\n <span class=\"mrx-icon icon-pen icon-font-16\"></span>\r\n </div>\r\n <div class=\"mrx-input-file-image-controls-item\" (click)=\"delete($event, file)\">\r\n <span class=\"mrx-icon icon-delete icon-font-16\"></span>\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n</div>\r\n", styles: [".mrx-input-file-image{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:var(--spacing-3)}.mrx-input-file-image-preview{width:100%}.mrx-input-file-image-preview-item{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:var(--spacing-2);border:1px solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);transition:.2s;word-break:break-word;height:100%;padding:var(--spacing-4)}.mrx-input-file-image-preview-item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image-preview-item.mrx-input-file-image-error{border:1px solid var(--system-bg-controls-negative-default)}.mrx-input-file-image-preview-item__image{height:114px;position:relative}.mrx-input-file-image-preview-item img{word-wrap:break-word;object-fit:cover}.mrx-input-file-image-preview-item:hover{border-color:var(--neutral-bg-stroke-hover)}.mrx-input-file-image-preview-item-info{display:flex;flex-direction:column;gap:var(--spacing-2)}.mrx-input-file-image-preview-item-name{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}.mrx-input-file-image-preview-item-description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-secondary)}.mrx-input-file-image-preview-item-error{max-height:236px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--system-text-negative)}.mrx-input-file-image-preview-item-uploading{display:flex;flex-direction:column;justify-content:center;align-items:center}.mrx-input-file-image-preview-item-uploading-progress{width:96px;height:4px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image-preview-item-uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image-preview .row{row-gap:var(--spacing-3)}.mrx-input-file-image.mrx-input-file-image-type-avatar{max-width:154px;min-width:154px;min-height:154px;max-height:154px;height:154px}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar{display:flex;align-items:center;justify-content:center;cursor:pointer;width:100%;height:100%}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item{position:relative;display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;word-break:break-word}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item .icon-close{position:absolute;top:8px;right:8px;cursor:pointer}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item img{word-wrap:break-word;object-fit:cover}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item:hover{border-color:var(--Main2)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-error{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;width:100%;height:100%;border:1px solid var(--system-bg-controls-negative-default);border-radius:var(--border-radius-1);color:var(--system-text-negative)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-3);width:100%;height:100%;border:1px solid var(--neutral-bg-stroke-default);border-radius:4px}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-text{font-size:var(--body-md-font-size);font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);text-align:center;color:var(--neutral-text-primary)}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-progress{width:96px;height:4px;border-radius:2px;background-color:var(--neutral-bg-island-default);display:flex;justify-content:flex-start}.mrx-input-file-image.mrx-input-file-image-type-avatar .mrx-input-file-image-avatar-item-uploading-progress span{display:block;height:100%;width:0;background-color:var(--brand-bg-primary-default);border-radius:2px}.mrx-input-file-image .mrx-input-file-image-drop{width:100%;height:100%}.mrx-input-file-image .mrx-input-file-image-drop-disabled .mrx-input-file-image-input{border-color:var(--neutral-bg-stroke-default);background-color:var(--neutral-bg-disabled);cursor:default}.mrx-input-file-image .mrx-input-file-image-drop .ngx-file-drop__drop-zone{height:100%;border:none;border-radius:0}.mrx-input-file-image .mrx-input-file-image-drop .ngx-file-drop__drop-zone .ngx-file-drop__content{height:100%}.mrx-input-file-image-preview-item:hover .mrx-input-file-image-controls,.mrx-input-file-image-avatar-item:hover .mrx-input-file-image-controls{display:flex}.mrx-input-file-image-controls{position:absolute;top:-16px;right:-16px;background:#fff;box-shadow:0 1px 4px #3a3a3a4d;border-radius:5px;padding:5px;display:none}.mrx-input-file-image-controls-item{min-width:16px;height:16px;cursor:pointer}.mrx-input-file-image-controls-item:not(:last-child){position:relative;padding-right:8px;border-right:1px solid #BFC5CC;margin-right:8px}.mrx-input-file-image-input{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4);width:100%;height:100%;min-height:100px;gap:var(--spacing-2);border-radius:var(--border-radius-1);border:var(--border-width-default) dashed var(--neutral-bg-stroke-default);cursor:pointer}.mrx-input-file-image-input-placeholder{font-size:var(--body-md-font-size);font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);text-align:center;color:var(--neutral-text-secondary)}.mrx-input-file-image-input-info{display:flex;flex-direction:column;align-items:center}.mrx-input-file-image-input-info *{font-size:var(--body-sm-font-size);font-family:var(--body-sm-font-family);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);text-align:center;color:var(--neutral-text-secondary)}\n"] }]
313
+ }], ctorParameters: () => [{ type: i1.FileUploadService }, { type: i1.ModalService }, { type: i0.ChangeDetectorRef }], propDecorators: { type: [{
314
+ type: Input
315
+ }], customClasses: [{
316
+ type: Input
317
+ }], placeholder: [{
318
+ type: Input
319
+ }], disabled: [{
320
+ type: Input
321
+ }], readonly: [{
322
+ type: Input
323
+ }], maxSize: [{
324
+ type: Input
325
+ }], maxFiles: [{
326
+ type: Input
327
+ }], minFiles: [{
328
+ type: Input
329
+ }], formData: [{
330
+ type: Input
331
+ }], cropperMaxWidth: [{
332
+ type: Input
333
+ }], cropperMaxHeight: [{
334
+ type: Input
335
+ }], aspectRatio: [{
336
+ type: Input
337
+ }], maintainAspectRatio: [{
338
+ type: Input
339
+ }], uploadEndPoint: [{
340
+ type: Input
341
+ }], deleteEndPoint: [{
342
+ type: Input
343
+ }], downloadEndPoint: [{
344
+ type: Input
345
+ }], deleteConfirm: [{
346
+ type: Input
347
+ }], initFiles: [{
348
+ type: Input,
349
+ args: ['files']
350
+ }], initAllowedExtensions: [{
351
+ type: Input,
352
+ args: ['allowedExtensions']
353
+ }], filesChanged: [{
354
+ type: Output
355
+ }] } });
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC1maWxlLWltYWdlL2lucHV0LWZpbGUtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZmlsZS1pbWFnZS9pbnB1dC1maWxlLWltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEYsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxzQkFBc0IsRUFBMkIsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFVMUYsTUFBTSxPQUFPLHVCQUF1QjtJQTBEeEI7SUFDQTtJQUNBO0lBM0RWLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDMUIsVUFBVSxDQUFVO0lBQ3BCLGlCQUFpQixHQUFhLEVBQUUsQ0FBQztJQUNqQyxLQUFLLEdBQXFCLEVBQUUsQ0FB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QUF2QixLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUVVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBRVUsYUFBYTtzQkFBNUIsS0FBSztnQkFHRixTQUFTO3NCQURaLEtBQUs7dUJBQUMsT0FBTztnQkFjSCxxQkFBcUI7c0JBRC9CLEtBQUs7dUJBQUMsbUJBQW1CO2dCQVdULFlBQVk7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElucHV0RmlsZU1vZGVsLCBVcGxvYWRlZEZpbGVNb2RlbCwgVXBsb2FkZWRSZXN1bHRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlLCBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEZpbGVTeXN0ZW1GaWxlRW50cnksIE5neEZpbGVEcm9wRW50cnkgfSBmcm9tICduZ3gtZmlsZS1kcm9wJztcclxuaW1wb3J0IHsgY29udmVydEJhc2U2NFRvRmlsZSwgZm9ybWF0Qnl0ZXMsIGdldEJhc2U2NEZyb21VcmwgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEVNUFRZIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRmlsZUltYWdlRWRpdE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtaW1hZ2UtZWRpdC1tb2RhbC9maWxlLWltYWdlLWVkaXQtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRGaWxlSW1hZ2VUeXBlRW51bSwgSW5wdXRGaWxlSW1hZ2VUeXBlVHlwZXMgfSBmcm9tICcuL2lucHV0LWZpbGUtaW1hZ2UuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1pbnB1dC1maWxlLWltYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQubGVzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEZpbGVJbWFnZUNvbXBvbmVudCB7XHJcbiAgZm9ybWF0Qnl0ZXMgPSBmb3JtYXRCeXRlcztcclxuICBleHRlbnNpb25zPzogc3RyaW5nO1xyXG4gIGFsbG93ZWRFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGZpbGVzOiBJbnB1dEZpbGVNb2RlbFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0eXBlOiBJbnB1dEZpbGVJbWFnZVR5cGVUeXBlcyA9ICdkZWZhdWx0JztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIG1heFNpemUgPSAzMTQ1NzI4MDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4RmlsZXMgPSA1O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5GaWxlcyA9IDA7XHJcblxyXG4gIC8vINCf0LDRgNCw0LzQtdGC0YDRiywg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQv9C10YDQtdC00LDQstCw0YLRjNGB0Y8g0LIg0YTQvtGA0LzQtVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtRGF0YTogYW55ID0ge307XHJcblxyXG4gIC8vIENST1BQRVJcclxuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlck1heFdpZHRoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlck1heEhlaWdodCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGFzcGVjdFJhdGlvID0gMSAvIDE7XHJcbiAgQElucHV0KCkgcHVibGljIG1haW50YWluQXNwZWN0UmF0aW8gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHVwbG9hZEVuZFBvaW50ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxldGVFbmRQb2ludD86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZG93bmxvYWRFbmRQb2ludD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRlbGV0ZUNvbmZpcm0/OiAoZmlsZTogVXBsb2FkZWRGaWxlTW9kZWwsIHJlc3VsdDogKG9rOiBib29sZWFuKSA9PiB2b2lkKSA9PiB2b2lkO1xyXG5cclxuICBASW5wdXQoJ2ZpbGVzJylcclxuICBzZXQgaW5pdEZpbGVzKGRhdGE6IFVwbG9hZGVkRmlsZU1vZGVsW10gfCBVcGxvYWRlZEZpbGVNb2RlbCkge1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICB0aGlzLmZpbGVzID0gZGF0YS5tYXAocyA9PiAoey4uLnN9KSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5maWxlcyA9IFt7Li4uZGF0YX1dO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbGVzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2FsbG93ZWRFeHRlbnNpb25zJylcclxuICBwdWJsaWMgc2V0IGluaXRBbGxvd2VkRXh0ZW5zaW9ucyh2YWw6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuYWxsb3dlZEV4dGVuc2lvbnMgPSB2YWw7XHJcbiAgICAgIHRoaXMuZXh0ZW5zaW9ucyA9IHZhbC5qb2luKCcsICcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucyA9IFtdO1xyXG4gICAgICB0aGlzLmV4dGVuc2lvbnMgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGZpbGVzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPElucHV0RmlsZU1vZGVsW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1hZ2VVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSxcclxuICAgIHByaXZhdGUgX21vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldERlZmF1bHRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ2F2YXRhcicgP1xyXG4gICAgICAn0JfQsNCz0YDRg9C30LjRgtC1INGE0L7RgtC+0LPRgNCw0YTQuNGOJyA6XHJcbiAgICAgICfQn9C10YDQtdC90LXRgdC40YLQtSDRhNCw0LnQuyDRgSDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQuNC70Lgg0L3QsNC20LzQuNGC0LUg0L3QsCDQtNCw0L3QvdC+0LUg0L/QvtC70LUg0LTQu9GPINC00L7QsdCw0LLQu9C10L3QuNGPINGE0LDQudC70LAnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7SW5wdXRGaWxlSW1hZ2VUeXBlRW51bVt0aGlzLnR5cGVdfSAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXREcm9wWm9uZUNsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgbXJ4LWlucHV0LWZpbGUtaW1hZ2UtZHJvcCAke3RoaXMuZGlzYWJsZWQgPyAnbXJ4LWlucHV0LWZpbGUtcGljdHVyZS1kcm9wLWRpc2FibGVkJyA6ICcnfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNhbkFkZCgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdhdmF0YXInKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbGVzLmxlbmd0aCA8IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYXhGaWxlcyA+IHRoaXMuZmlsZXMuZmlsdGVyKHMgPT4gIXMuZXJyb3IpLmxlbmd0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkcm9wcGVkKGZpbGVzOiBOZ3hGaWxlRHJvcEVudHJ5W10pIHtcclxuICAgIGNvbnN0IGRyb3BwZWRGaWxlID0gZmlsZXNbMF07XHJcblxyXG4gICAgaWYgKGRyb3BwZWRGaWxlLmZpbGVFbnRyeS5pc0ZpbGUpIHtcclxuICAgICAgY29uc3QgZmlsZUVudHJ5ID0gZHJvcHBlZEZpbGUuZmlsZUVudHJ5IGFzIEZpbGVTeXN0ZW1GaWxlRW50cnk7XHJcblxyXG4gICAgICBmaWxlRW50cnkuZmlsZSgoZmlsZTogRmlsZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuX21vZGFsU2VydmljZS5vcGVuKEZpbGVJbWFnZUVkaXRNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICAgICAgdGl0bGU6ICfQntCx0LvQvtC20LrQsCcsXHJcbiAgICAgICAgICBmaWxlSW1hZ2U6IGZpbGUsXHJcbiAgICAgICAgICBjcm9wcGVyTWF4V2lkdGg6IHRoaXMuY3JvcHBlck1heFdpZHRoLFxyXG4gICAgICAgICAgY3JvcHBlck1heEhlaWdodDogdGhpcy5jcm9wcGVyTWF4SGVpZ2h0LFxyXG4gICAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMuYXNwZWN0UmF0aW8sXHJcbiAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiB0aGlzLm1haW50YWluQXNwZWN0UmF0aW9cclxuICAgICAgICB9KVxyXG4gICAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnJlc3VsdCAmJiByZXMuZmlsZUltYWdlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fdXBsb2FkRmlsZShyZXMuZmlsZUltYWdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVByZXZpZXcoZXZlbnQ6IGFueSwgZmlsZTogSW5wdXRGaWxlTW9kZWwpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGdldEJhc2U2NEZyb21VcmwodGhpcy5kb3dubG9hZFVybChmaWxlKSkudGhlbigoYmFzZTY0VXJsOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5fbW9kYWxTZXJ2aWNlLm9wZW4oRmlsZUltYWdlRWRpdE1vZGFsQ29tcG9uZW50LCB7XHJcbiAgICAgICAgdGl0bGU6ICfQntCx0LvQvtC20LrQsCcsXHJcbiAgICAgICAgZmlsZUltYWdlOiBjb252ZXJ0QmFzZTY0VG9GaWxlKGJhc2U2NFVybCwgZmlsZS5uYW1lIHx8ICcnLCAnaW1hZ2UvcG5nJyksXHJcbiAgICAgICAgY3JvcHBlck1heFdpZHRoOiB0aGlzLmNyb3BwZXJNYXhXaWR0aCxcclxuICAgICAgICBjcm9wcGVyTWF4SGVpZ2h0OiB0aGlzLmNyb3BwZXJNYXhIZWlnaHQsXHJcbiAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMuYXNwZWN0UmF0aW8sXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogdGhpcy5tYWludGFpbkFzcGVjdFJhdGlvXHJcbiAgICAgIH0pXHJcbiAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMucmVzdWx0ICYmIHJlcy5maWxlSW1hZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fdXBkYXRlRmlsZShmaWxlLCByZXMuZmlsZUltYWdlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlbGV0ZShldmVudDogYW55LCBmaWxlOiBJbnB1dEZpbGVNb2RlbCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGVsZXRlQ29uZmlybSkge1xyXG4gICAgICB0aGlzLmRlbGV0ZUNvbmZpcm0oZmlsZSwgKG9rKSA9PiB7XHJcbiAgICAgICAgaWYgKG9rKSB7XHJcbiAgICAgICAgICB0aGlzLl9kZWxldGVGaWxlKGZpbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9kZWxldGVGaWxlKGZpbGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyKGZpbGU6IElucHV0RmlsZU1vZGVsKTogdm9pZCB7XHJcbiAgICBpZiAoZmlsZS51cGxvYWRpbmcpIHtcclxuICAgICAgaWYgKGZpbGUuZXhlY3V0aW9uKSB7XHJcbiAgICAgICAgZmlsZS5leGVjdXRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpbmRGaWxlSWR4ID0gdGhpcy5maWxlcy5pbmRleE9mKGZpbGUpO1xyXG4gICAgaWYgKGZpbmRGaWxlSWR4ID49IDApIHtcclxuICAgICAgdGhpcy5maWxlcy5zcGxpY2UoZmluZEZpbGVJZHgsIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvd25sb2FkVXJsKGZpbGU6IFVwbG9hZGVkRmlsZU1vZGVsKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmRvd25sb2FkRW5kUG9pbnQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zZm9ybVVybCh0aGlzLmRvd25sb2FkRW5kUG9pbnQsIGZpbGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpbGVPdmVyKGV2ZW50OiBhbnkpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaWxlTGVhdmUoZXZlbnQ6IGFueSkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdHJhbnNmb3JtVXJsKHVybDogc3RyaW5nLCBmaWxlOiBVcGxvYWRlZEZpbGVNb2RlbCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdXJsLnJlcGxhY2UoL3tpZH0vLCBmaWxlLmlkKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZm9ybURhdGFLZXlzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmZvcm1EYXRhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZUZvcm1EYXRhKCk6IEZvcm1EYXRhIHtcclxuICAgIGNvbnN0IGZvcm0gPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGlmICh0aGlzLm1heEZpbGVzKSB7XHJcbiAgICAgIGZvcm0uYXBwZW5kKCdNYXhGaWxlcycsIHRoaXMubWF4RmlsZXMudG9TdHJpbmcoMTApKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGtleXMgPSB0aGlzLl9mb3JtRGF0YUtleXMoKTtcclxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4gZm9ybS5hcHBlbmQoa2V5LCB0aGlzLmZvcm1EYXRhW2tleV0pKTtcclxuICAgIHJldHVybiBmb3JtO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGVsZXRlRmlsZShmaWxlOiBJbnB1dEZpbGVNb2RlbCkge1xyXG4gICAgY29uc3QgZmluZEZpbGUgPSB0aGlzLmZpbGVzLmZpbmQocyA9PiBzLmlkID09PSBmaWxlLmlkKTtcclxuXHJcbiAgICBpZiAoZmluZEZpbGUpIHtcclxuICAgICAgaWYgKHRoaXMuZGVsZXRlRW5kUG9pbnQpIHtcclxuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IHRoaXMuX2NyZWF0ZUZvcm1EYXRhKCk7XHJcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdRcXV1aWQnLCBmaWxlLmlkKTtcclxuICAgICAgICBmaW5kRmlsZS5kZWxldGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMuaW1hZ2VVcGxvYWRTZXJ2aWNlLmRlbGV0ZSh0aGlzLmRlbGV0ZUVuZFBvaW50LCBmb3JtRGF0YSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZpbGVzLnNwbGljZSh0aGlzLmZpbGVzLmluZGV4T2YoZmluZEZpbGUpLCAxKTtcclxuICAgICAgICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKHRoaXMuZmlsZXMuaW5kZXhPZihmaW5kRmlsZSksIDEpO1xyXG4gICAgICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZUZpbGUob2xkRmlsZTogSW5wdXRGaWxlTW9kZWwsIG5ld0ZpbGU6IEZpbGUpIHtcclxuICAgIGNvbnN0IGZpbmRGaWxlID0gdGhpcy5maWxlcy5maW5kKChzOiBJbnB1dEZpbGVNb2RlbCkgPT4ge1xyXG4gICAgICBpZiAocy5pZCAhPT0gJycpIHtcclxuICAgICAgICByZXR1cm4gcy5pZCA9PT0gb2xkRmlsZS5pZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gcy50ZW1wVXVpZCA9PT0gb2xkRmlsZS50ZW1wVXVpZDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGZpbmRGaWxlKSB7XHJcbiAgICAgIGlmICh0aGlzLmRlbGV0ZUVuZFBvaW50KSB7XHJcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSB0aGlzLl9jcmVhdGVGb3JtRGF0YSgpO1xyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnUXF1dWlkJywgb2xkRmlsZS5pZCk7XHJcbiAgICAgICAgZmluZEZpbGUuZGVsZXRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLmltYWdlVXBsb2FkU2VydmljZS5kZWxldGUodGhpcy5kZWxldGVFbmRQb2ludCwgZm9ybURhdGEpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWxlcy5zcGxpY2UodGhpcy5maWxlcy5pbmRleE9mKGZpbmRGaWxlKSwgMSk7XHJcbiAgICAgICAgICB0aGlzLmZpbGVzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsZXMpO1xyXG4gICAgICAgICAgdGhpcy5fdXBsb2FkRmlsZShuZXdGaWxlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fdXBsb2FkRmlsZShuZXdGaWxlLCB0aGlzLmZpbGVzLmluZGV4T2YoZmluZEZpbGUpLCAndXBkYXRlJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwbG9hZEZpbGUoZmlsZTogRmlsZSwgaWR4RmlsZTogbnVtYmVyID0gMCwgZXZlbnRUeXBlOiAnY3JlYXRlJyB8ICd1cGRhdGUnID0gJ2NyZWF0ZScpIHtcclxuICAgIGNvbnN0IGRhdGE6IElucHV0RmlsZU1vZGVsID0ge1xyXG4gICAgICBpZDogJycsXHJcbiAgICAgIHRlbXBVdWlkOiB1dWlkdjQoKSxcclxuICAgICAgbmFtZTogZmlsZS5uYW1lLFxyXG4gICAgICBsZW5ndGg6IGZpbGUuc2l6ZSxcclxuICAgICAgdXBsb2FkaW5nOiB0cnVlLFxyXG4gICAgICBwZXJjZW50YWdlOiAwLFxyXG4gICAgICBmaWxlOiBmaWxlLFxyXG4gICAgfSBhcyBJbnB1dEZpbGVNb2RlbDtcclxuXHJcbiAgICBpZiAoIXRoaXMuX2NoZWNrRm9yVXBsb2FkKGRhdGEsIGlkeEZpbGUsIGV2ZW50VHlwZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy5fY3JlYXRlRm9ybURhdGEoKTtcclxuXHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ0ZpbGUnLCBmaWxlKTtcclxuXHJcbiAgICBkYXRhLmV4ZWN1dGlvbiA9IHRoaXMuaW1hZ2VVcGxvYWRTZXJ2aWNlLnVwbG9hZCh0aGlzLnVwbG9hZEVuZFBvaW50LCBmb3JtRGF0YSkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBIdHRwRXZlbnQ8VXBsb2FkZWRSZXN1bHRNb2RlbD4pID0+IHtcclxuICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5TZW50OlxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZUhlYWRlcjpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XHJcbiAgICAgICAgICAgIGlmIChldmVudC50b3RhbCkge1xyXG4gICAgICAgICAgICAgIGRhdGEucGVyY2VudGFnZSA9IE1hdGgucm91bmQoZXZlbnQubG9hZGVkIC8gZXZlbnQudG90YWwgKiAxMDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxyXG4gICAgICAgICAgICBpZiAoZXZlbnQuYm9keSkge1xyXG4gICAgICAgICAgICAgIGRhdGEudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgZGF0YS5wZXJjZW50YWdlID0gMDtcclxuICAgICAgICAgICAgICBkYXRhLmlkID0gZXZlbnQuYm9keS51dWlkO1xyXG4gICAgICAgICAgICAgIGRhdGEuZmlsZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICBkYXRhLmVycm9yID0gZXZlbnQuYm9keS5tZXNzYWdlO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoZGF0YS5leGVjdXRpb24pIHtcclxuICAgICAgICAgICAgICAgIGRhdGEuZXhlY3V0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmZpbGVzLmV2ZXJ5KHMgPT4gIXMudXBsb2FkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWxlc0NoYW5nZWQuZW1pdCh0aGlzLmZpbGVzKTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jaGVja0ZvclVwbG9hZChkYXRhOiBJbnB1dEZpbGVNb2RlbCwgaWR4RmlsZTogbnVtYmVyID0gMCwgZXZlbnRUeXBlPzogJ2NyZWF0ZScgfCAndXBkYXRlJyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNhbkFkZCkge1xyXG4gICAgICBkYXRhLmVycm9yID0gJ9Ch0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0YTQsNC50LvQvtCyJztcclxuICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWxlcy5wdXNoKGRhdGEpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWxlcy5wdXNoKGRhdGEpO1xyXG5cclxuICAgIGlmIChkYXRhLmZpbGUgJiYgZGF0YS5maWxlLnNpemUgPiB0aGlzLm1heFNpemUpIHtcclxuICAgICAgZGF0YS5lcnJvciA9ICfQodC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuSDRhNCw0LnQuyc7XHJcbiAgICAgIGRhdGEudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0YS5maWxlICYmIGRhdGEuZmlsZS5zaXplID09IDApIHtcclxuICAgICAgZGF0YS5lcnJvciA9ICfQn9GD0YHRgtC+0Lkg0YTQsNC50LsnO1xyXG4gICAgICBkYXRhLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuYWxsb3dlZEV4dGVuc2lvbnMubGVuZ3RoID4gMCAmJiAhdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucy5zb21lKFxyXG4gICAgICBzID0+IGRhdGEuZmlsZT8ubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHMudG9Mb3dlckNhc2UoKSkpKSB7XHJcbiAgICAgIGRhdGEuZXJyb3IgPSAn0J3QtdCy0LXRgNC90YvQuSDRhNC+0YDQvNCw0YIg0YTQsNC50LvQsCc7XHJcbiAgICAgIGRhdGEudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZXZlbnRUeXBlID09PSAndXBkYXRlJykge1xyXG4gICAgICB0aGlzLmZpbGVzLnNwbGljZShpZHhGaWxlLCAxLCBkYXRhKTtcclxuICAgICAgdGhpcy5maWxlc0NoYW5nZWQuZW1pdCh0aGlzLmZpbGVzKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2F2YXRhcicpIHtcclxuICAgICAgdGhpcy5maWxlcy5sZW5ndGggPSAwO1xyXG4gICAgICB0aGlzLmZpbGVzLnB1c2goZGF0YSk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlXCIgW2NsYXNzXT1cImdldENsYXNzZXNcIj5cclxuICBAc3dpdGNoICh0eXBlKSB7XHJcbiAgICBAY2FzZSAoJ2F2YXRhcicpIHtcclxuICAgICAgPG5neC1maWxlLWRyb3BcclxuICAgICAgICBbY2xhc3NOYW1lXT1cImdldERyb3Bab25lQ2xhc3Nlc1wiXHJcbiAgICAgICAgW2FjY2VwdF09XCJleHRlbnNpb25zIHx8ICcnXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIChvbkZpbGVEcm9wKT1cImRyb3BwZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uRmlsZU92ZXIpPVwiZmlsZU92ZXIoJGV2ZW50KVwiIChvbkZpbGVMZWF2ZSk9XCJmaWxlTGVhdmUoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmd4LWZpbGUtZHJvcC1jb250ZW50LXRtcCBsZXQtb3BlbkZpbGVTZWxlY3Rvcj1cIm9wZW5GaWxlU2VsZWN0b3JcIj5cclxuICAgICAgICAgIEBpZiAoZmlsZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXJcIj5cclxuXHJcbiAgICAgICAgICAgICAgQGZvciAoZmlsZSBvZiBmaWxlczsgdHJhY2sgZmlsZS5pZCkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXItaXRlbVwiIFtjbGFzcy5tcngtaW5wdXQtZmlsZS1pbWFnZS1lcnJvcl09XCJmaWxlLmVycm9yXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZmlsZS5lcnJvcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBpY29uLWZvbnQtMjRcIiAoY2xpY2spPVwiY2xlYXIoZmlsZSlcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtYXZhdGFyLWl0ZW0tZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWltYWdlIGljb24tZm9udC0yNCBpY29uLWZpbGxlZC1jb2xvci1uZWdhdGl2ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZmlsZS5lcnJvciB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGZpbGUudXBsb2FkaW5nICYmICFmaWxlLmVycm9yKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0yNFwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXItaXRlbS11cGxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXItaXRlbS11cGxvYWRpbmctdGV4dFwiPtCX0LDQs9GA0YPQt9C60LAuLi48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXItaXRlbS11cGxvYWRpbmctcHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7d2lkdGg6IGZpbGUucGVyY2VudGFnZSArICclJ31cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCFmaWxlLnVwbG9hZGluZyAmJiAhZmlsZS5lcnJvcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJkb3dubG9hZFVybChmaWxlKVwiIFthbHRdPVwiZmlsZS5uYW1lXCIgaGVpZ2h0PVwiMTU0XCIgd2lkdGg9XCIxNTRcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtY29udHJvbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWNvbnRyb2xzLWl0ZW1cIiAoY2xpY2spPVwiY2hhbmdlUHJldmlldygkZXZlbnQsIGZpbGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLXBlbiBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtY29udHJvbHMtaXRlbVwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1kZWxldGUgaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLm1yeC1pbnB1dC1maWxlLWltYWdlX19kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZCA/IG9wZW5GaWxlU2VsZWN0b3IoKSA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWlucHV0LXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfHwgZ2V0RGVmYXVsdFBsYWNlaG9sZGVyIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1pbnB1dC1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj7QoNCw0LfQvNC10YAg0YTQsNC50LvQsDog0LTQviB7eyBmb3JtYXRCeXRlcyhtYXhTaXplKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZXh0ZW5zaW9uc1wiPtCk0L7RgNC80LDRgiDRhNCw0LnQu9CwOiB7eyBleHRlbnNpb25zIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25neC1maWxlLWRyb3A+XHJcbiAgICB9XHJcbiAgICBAZGVmYXVsdCB7XHJcbiAgICAgIEBpZiAoY2FuQWRkKSB7XHJcbiAgICAgICAgPG5neC1maWxlLWRyb3BcclxuICAgICAgICAgIFtjbGFzc05hbWVdPVwiZ2V0RHJvcFpvbmVDbGFzc2VzXCJcclxuICAgICAgICAgIFthY2NlcHRdPVwiZXh0ZW5zaW9ucyB8fCAnJ1wiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgKG9uRmlsZURyb3ApPVwiZHJvcHBlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIChvbkZpbGVPdmVyKT1cImZpbGVPdmVyKCRldmVudClcIiAob25GaWxlTGVhdmUpPVwiZmlsZUxlYXZlKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ3gtZmlsZS1kcm9wLWNvbnRlbnQtdG1wIGxldC1vcGVuRmlsZVNlbGVjdG9yPVwib3BlbkZpbGVTZWxlY3RvclwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZCA/IG9wZW5GaWxlU2VsZWN0b3IoKSA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWlucHV0LXBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBwbGFjZWhvbGRlciB8fCBnZXREZWZhdWx0UGxhY2Vob2xkZXIgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWlucHV0LWluZm9cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPtCg0LDQt9C80LXRgCDRhNCw0LnQu9CwOiDQtNC+IHt7IGZvcm1hdEJ5dGVzKG1heFNpemUpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJleHRlbnNpb25zXCI+0KTQvtGA0LzQsNGCINGE0LDQudC70LA6IHt7IGV4dGVuc2lvbnMgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1maWxlLWRyb3A+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgQGZvciAoZmlsZSBvZiBmaWxlczsgdHJhY2sgZmlsZS5pZCkge1xyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtMTIgY29sLXNtLTYgY29sLW1kLTQgY29sLWxnLTNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtXCIgW2NsYXNzLm1yeC1pbnB1dC1maWxlLWltYWdlLWVycm9yXT1cImZpbGUuZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgIEBpZiAoZmlsZS5lcnJvcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0yNFwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0tZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24taW1hZ2UgaWNvbi1mb250LTI0IGljb24tZmlsbGVkLWNvbG9yLW5lZ2F0aXZlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGZpbGUuZXJyb3IgfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0tbmFtZVwiPnt7IGZpbGUubmFtZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLWRlc2NyaXB0aW9uXCI+e3sgZm9ybWF0Qnl0ZXMoZmlsZS5sZW5ndGgpIH19PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoZmlsZS51cGxvYWRpbmcgJiYgIWZpbGUuZXJyb3IpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0tdXBsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0tdXBsb2FkaW5nLXRleHRcIj7Ql9Cw0LPRgNGD0LfQutCwLi4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0tdXBsb2FkaW5nLXByb2dyZXNzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7d2lkdGg6IGZpbGUucGVyY2VudGFnZSArICclJ31cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCFmaWxlLnVwbG9hZGluZyAmJiAhZmlsZS5lcnJvcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbV9faW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZG93bmxvYWRVcmwoZmlsZSlcIiBbYWx0XT1cImZpbGUubmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0taW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0tbmFtZVwiPnt7IGZpbGUubmFtZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0tZGVzY3JpcHRpb25cIj57eyBmb3JtYXRCeXRlcyhmaWxlLmxlbmd0aCkgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtY29udHJvbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtY29udHJvbHMtaXRlbVwiIChjbGljayk9XCJjaGFuZ2VQcmV2aWV3KCRldmVudCwgZmlsZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1wZW4gaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1jb250cm9scy1pdGVtXCIgKGNsaWNrKT1cImRlbGV0ZSgkZXZlbnQsIGZpbGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tZGVsZXRlIGljb24tZm9udC0xNlwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
@@ -1,10 +1,10 @@
1
- export var InputFileImageTypeEnum;
2
- (function (InputFileImageTypeEnum) {
3
- InputFileImageTypeEnum["default"] = "mrx-input-file-image-type-default";
4
- InputFileImageTypeEnum["avatar"] = "mrx-input-file-image-type-avatar";
5
- })(InputFileImageTypeEnum || (InputFileImageTypeEnum = {}));
6
- export var PreviewEnum;
7
- (function (PreviewEnum) {
8
- PreviewEnum["notFoundImage"] = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAFeAgwDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+9m4uHmdvmIQEhVB4wO5xwSeuTn24oArUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAoJU5BIPqDg/mKANSC+HlgSkFgcZyQSOME4B57Z74yeaAMqgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo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5/Jf3e767LQ+o9O06w0iwstK0qytdO0zTrWCysLCygjtrOys7aNYbe2treFUihghiRY4oo1VERQqgAVyttttttt3berbe7b7mu2iPjzVvhrpngP9pz4L6h4ZvLqw8O+K5fi1qk/gxQh0LR/Ev/CIwtqut6DF10weIEmgfVdNgC2LX1oL6COOW5uAeyNV1MLXUknKCopT+04c+kZd+Xo97O3QxcVGrBrRS5210vy7rtfqfZ9cRsFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAeMftDeF9d8ZfBrxz4f8M2X9p67c2FheadpolSCTUZtG1rTdbawglk/drdXkOnSW1p5hWNrmSJXdFJYbYecYVqcpO0U2m+101f0V9fIionKEktXbRd7NP8ATQ+b/iT8S/GXxQ1fT/CV78Hvj/4d+D5tUu/Gcem+BbhPF3jqcuCng1nttUSLQfCbqN3iC9tdRm1TWo86TbpZWUlxdz9VKnClFzVbDyrXtC8/cpr+fWPvT/lTVo/Fq9FlKUpuzhUUOto6y/u76R763e2x7Jp3xzsNIsLLStK+Afx807TNOtYLKwsLL4XR21nZWdtGsNvbW1vDrCRQwQxIscUUaqiIoVQAKwdBttvEYdtu7bqttt7tvl3L9pbRU6n/AID/AMEu/wDDQn/VEP2hv/Daf/fqj6v/ANP8N/4Mf/yI/af9O6n/AID/AME5m21rxB8VPjN8KfENh8NviJ4R8P8Aw7sviBda/q3j/Q7Xw1FPN4o0O00fSbHRrY6neXup3RnhmmvClvFb2lsqM87ySrGKcY0qNaLq05yqOmoqnJytyS5m5OySXRdWxXc5wfLJKPNdyVt1ZW11PqyuQ1CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAXBPQGgC/eWvlkyoRtYklTnIPU4POQTk84x05oAz6ACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAfGhkYIuAT65x+gP8qANyG1SKMKwDtnLMR3OOB7DH9e+KAA/9k=";
9
- })(PreviewEnum || (PreviewEnum = {}));
1
+ export var InputFileImageTypeEnum;
2
+ (function (InputFileImageTypeEnum) {
3
+ InputFileImageTypeEnum["default"] = "mrx-input-file-image-type-default";
4
+ InputFileImageTypeEnum["avatar"] = "mrx-input-file-image-type-avatar";
5
+ })(InputFileImageTypeEnum || (InputFileImageTypeEnum = {}));
6
+ export var PreviewEnum;
7
+ (function (PreviewEnum) {
8
+ PreviewEnum["notFoundImage"] = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAFeAgwDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+9m4uHmdvmIQEhVB4wO5xwSeuTn24oArUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAoJU5BIPqDg/mKANSC+HlgSkFgcZyQSOME4B57Z74yeaAMqgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAGSSRwxvLK6RRRI0kkkjKkccaKWd3diFREUFmZiFVQSSAKAOAPxc+FAJB+J3w9BBIIPjTw2CCOCCDqWQQeorT2Nb/n1U/wDAJf5E88P54/8AgS/zE/4W78J/+in/AA8/8LXw3/8ALKn7Gt/z6q/+C5f5Bzw/nj/4Ev8AMP8Ahbvwn/6Kf8PP/C18N/8Ayyo9jW/59Vf/AAXL/IOeH88f/Al/mbuheNPB3iiae38M+LPDPiKe1jWa6h0LXtL1ea2hdtiSzx6fdXDwxu/yK8iqrN8oJPFTKnOFueE4325ouN/S6Q1KL2afo0/yOmqBhQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAHzz+1bk/AD4hR7nVLi30C0nCO6eba3nizQbW7t3KFWMNzbTS288edssMskbgo7A9GE/3il6yfzUZNfiZ1f4cvl+aNfxf4V/Z8+HegP4g8V+BPhpomi20trYxyf8ACB6HcSTXV04gsdN07TrDRbi+v725fEVpYWFrPcy4IjhKoxVQliKsuWE6spO7/iS2Wrbbkkl3baQ5KnFXcYpf4V9y0GeCfD/7PfxF0Zte8H+B/hzq2nR3tzpt1u8AaRp19p+pWZUXWm6ppWqaHZappd/AHjd7PULO2uPJlhnWNoJ4ZHJyxFOXLOdROya/eNpp7NNSaa802ugoqnJXjGL6fCk0+zTV0df/AMKi+E//AETD4ef+EV4b/wDlZUe2q/8AP2p/4HL/ADK5Ifyx/wDAV/keN+JfCPhTwf8AtA/s/TeEvDWgeF5NXsvi7p2rN4d0jT9E/tWxg8L6VqFvaakNMt7Zb6C2vreK7to7oSrbTqZYPLZ5C28Jznh8QpylLldFrmblZ87V1e9m02nbdbkNJVKdklfnvZWvot7H1PXIahQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAHzz+1Z/yQPx5/3K/wD6mfh2unCf7xT9Zf8ApEjOr/Dl8v8A0pHafFb4e3nxA0rw8dG1uHw94n8F+LdL8ceFNTvdMGtaVHrmk2uo2CQaxpBurJ73T7uw1W/tZDb3lreWcs0N/aTedbLFLnSqKm5XjzRnB05pPlfK7PSVnZppPZp7PRjnHmSs7OLUk7XV1fddrNlb4W/D3UfAcfjLXPFXiGy8Q+LfHniL/hKvFOp6dpZ0DQrWW30jT9Hs9O0jTZb/AFGaDT9N0/TYkN3e31xe3srTXd1IhdYonVqKpyRhFxhTjyQTfNJ6ttt2Wrb2SstkEYuPM27uTu3ay2Ssld6JI8uvPj/4s1HUL7xh4E8CN4s+BfhO5m03xT4ttXuW8R+IpY5Wi1PX/htpEY8vxB4Z8HPA66xdN8+vtJdDw4Zl0mWS71WHgkoVKnJiJq8YO3LDtGq/szn0X2dObfSfaSfvRjemtG+su7guqj+PTY0PFWvaN4n+Mf7LfiHw9qVprGiaxafFy+0zU7GVZ7W8tZ/BVg0csUi/irowWSKRXilRJUdFUIyhRxcZJxlH2Kae6ftAbTnSad0+ez/7dPpyuU1CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAPnn9qz/kgfjz/ALlf/wBTPw7XThP94p+sv/SJGdX+HL5f+lI+hHdI0eSR1SNFZ3d2CoiKCzO7MQqqqglmJAABJOK5jQ+Ur6+1L9pjUrrQdBurzSv2ftKvJbLxN4mspZbO++MN9ZymK78L+F7uIxzW/wAP7eaN7bxF4itnWTxJIsujaNKLAXt7J1pLCpSkk8S1eMXqqCe0pLrVe8Yv4PilrZGX8XRaU1u/5/Jf3e767LQ+o9O06w0iwstK0qytdO0zTrWCysLCygjtrOys7aNYbe2treFUihghiRY4oo1VERQqgAVyttttttt3berbe7b7mu2iPjzVvhrpngP9pz4L6h4ZvLqw8O+K5fi1qk/gxQh0LR/Ev/CIwtqut6DF10weIEmgfVdNgC2LX1oL6COOW5uAeyNV1MLXUknKCopT+04c+kZd+Xo97O3QxcVGrBrRS5210vy7rtfqfZ9cRsFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAeMftDeF9d8ZfBrxz4f8M2X9p67c2FheadpolSCTUZtG1rTdbawglk/drdXkOnSW1p5hWNrmSJXdFJYbYecYVqcpO0U2m+101f0V9fIionKEktXbRd7NP8ATQ+b/iT8S/GXxQ1fT/CV78Hvj/4d+D5tUu/Gcem+BbhPF3jqcuCng1nttUSLQfCbqN3iC9tdRm1TWo86TbpZWUlxdz9VKnClFzVbDyrXtC8/cpr+fWPvT/lTVo/Fq9FlKUpuzhUUOto6y/u76R763e2x7Jp3xzsNIsLLStK+Afx807TNOtYLKwsLL4XR21nZWdtGsNvbW1vDrCRQwQxIscUUaqiIoVQAKwdBttvEYdtu7bqttt7tvl3L9pbRU6n/AID/AMEu/wDDQn/VEP2hv/Daf/fqj6v/ANP8N/4Mf/yI/af9O6n/AID/AME5m21rxB8VPjN8KfENh8NviJ4R8P8Aw7sviBda/q3j/Q7Xw1FPN4o0O00fSbHRrY6neXup3RnhmmvClvFb2lsqM87ySrGKcY0qNaLq05yqOmoqnJytyS5m5OySXRdWxXc5wfLJKPNdyVt1ZW11PqyuQ1CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAXBPQGgC/eWvlkyoRtYklTnIPU4POQTk84x05oAz6ACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAfGhkYIuAT65x+gP8qANyG1SKMKwDtnLMR3OOB7DH9e+KAA/9k=";
9
+ })(PreviewEnum || (PreviewEnum = {}));
10
10
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS1pbWFnZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZmlsZS1pbWFnZS9pbnB1dC1maWxlLWltYWdlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksc0JBR1g7QUFIRCxXQUFZLHNCQUFzQjtJQUNoQyx1RUFBK0MsQ0FBQTtJQUMvQyxxRUFBNkMsQ0FBQTtBQUMvQyxDQUFDLEVBSFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUdqQztBQUlELE1BQU0sQ0FBTixJQUFZLFdBRVg7QUFGRCxXQUFZLFdBQVc7SUFDckIsNGdVQUErL1QsQ0FBQTtBQUNqZ1UsQ0FBQyxFQUZXLFdBQVcsS0FBWCxXQUFXLFFBRXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSW5wdXRGaWxlSW1hZ2VUeXBlRW51bSB7XHJcbiAgJ2RlZmF1bHQnID0gJ21yeC1pbnB1dC1maWxlLWltYWdlLXR5cGUtZGVmYXVsdCcsXHJcbiAgJ2F2YXRhcicgPSAnbXJ4LWlucHV0LWZpbGUtaW1hZ2UtdHlwZS1hdmF0YXInLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJbnB1dEZpbGVJbWFnZVR5cGVUeXBlcyA9ICdkZWZhdWx0JyB8ICdhdmF0YXInXHJcblxyXG5leHBvcnQgZW51bSBQcmV2aWV3RW51bSB7XHJcbiAgJ25vdEZvdW5kSW1hZ2UnID0gJ2RhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFnRUFTQUJJQUFELzJ3QkRBQUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUgvMndCREFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRSC93QUFSQ0FGZUFnd0RBUkVBQWhFQkF4RUIvOFFBSHdBQUFRVUJBUUVCQVFFQUFBQUFBQUFBQUFFQ0F3UUZCZ2NJQ1FvTC84UUF0UkFBQWdFREF3SUVBd1VGQkFRQUFBRjlBUUlEQUFRUkJSSWhNVUVHRTFGaEJ5SnhGREtCa2FFSUkwS3h3UlZTMGZBa00ySnlnZ2tLRmhjWUdSb2xKaWNvS1NvME5UWTNPRGs2UTBSRlJrZElTVXBUVkZWV1YxaFpXbU5rWldabmFHbHFjM1IxZG5kNGVYcURoSVdHaDRpSmlwS1RsSldXbDVpWm1xS2pwS1dtcDZpcHFyS3p0TFcydDdpNXVzTER4TVhHeDhqSnl0TFQxTlhXMTlqWjJ1SGk0K1RsNXVmbzZlcng4dlAwOWZiMytQbjYvOFFBSHdFQUF3RUJBUUVCQVFFQkFRQUFBQUFBQUFFQ0F3UUZCZ2NJQ1FvTC84UUF0UkVBQWdFQ0JBUURCQWNGQkFRQUFRSjNBQUVDQXhFRUJTRXhCaEpCVVFkaGNSTWlNb0VJRkVLUm9iSEJDU016VXZBVlluTFJDaFlrTk9FbDhSY1lHUm9tSnlncEtqVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbk4wZFhaM2VIbDZnb09FaFlhSGlJbUtrcE9VbFphWG1KbWFvcU9rcGFhbnFLbXFzck8wdGJhM3VMbTZ3c1BFeGNiSHlNbkswdFBVMWRiWDJObmE0dVBrNWVibjZPbnE4dlAwOWZiMytQbjYvOW9BREFNQkFBSVJBeEVBUHdEKzltNHVIbWR2bUlRRWhWQjR3TzV4d1NldVRuMjRvQXJVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFvSlU1QklQcURnL21LQU5TQytIbGdTa0ZnY1p5UVNPTUU0QjU3Wjc0eWVhQU1xZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBR1NTUnd4dkxLNlJSUkkwa2traktrY2NhS1dkM2RpRlJFVUZtWmlGVlFTU0FLQU9BUHhjK0ZBSkIrSjN3OUJCSUlQalR3MkNDT0NDRHFXUVFlb3JUMk5iL24xVS93REFKZjVFODhQNTQvOEFnUy96RS80Vzc4Si8raW4vQUE4LzhMWHczLzhBTEtuN0d0L3o2cS8rQzVmNUJ6dy9uai80RXY4QU1QOEFoYnZ3bi82S2Y4UFAvQzE4Ti84QXl5bzlqVy81OVZmL0FBWEwvSU9lSDg4Zi9BbC9tYnVoZU5QQjNpaWFlMzhNK0xQRFBpS2UxaldhNmgwTFh0TDFlYTJoZHRpU3p4NmZkWER3eHUveUs4aXFyTjhvSlBGVEtuT0Z1ZUU0MzI1b3VOL1M2UTFLTDJhZm8wL3lPbXFCaFFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFIenorMWJrL0FENGhSN25WTGkzMEMwbkNPNmViYTNuaXpRYlc3dDNLRldNTnpiVFMyODhlZHNzTXNrYmdvN0E5R0UvM2lsNnlmelVaTmZpWjFmNGN2bCthTmZ4ZjRWL1o4K0hlZ1A0ZzhWK0JQaHBvbWkyMHRyWXh5ZjhBQ0I2SGNTVFhWMDRnc2ROMDdUckRSYmkrdjcyNWZFVnBZV0ZyUGN5NElqaEtveFZRbGlLc3VXRTZzcE83L2lTMldyYmJra2wzYmFRNUtuRlhjWXBmNFY5eTBHZUNmRC83UGZ4RjBadGU4SCtCL2h6cTJuUjN0enB0MXU4QWFScDE5cCtwV1pVWFdtNnBwV3FhSFphcHBkL0FIamQ3UFVMTzJ1UEpsaG5XTm9KNFpISnl4Rk9YTE9kUk95YS9lTnBwN05OU2FhODAydWdvcW5KWGpHTDZmQ2swK3pUVjBkZi9BTUtpK0UvL0FFVEQ0ZWYrRVY0Yi93RGxaVWUycS84QVAycC80SEwvQURLNUlmeXgvd0RBVi9rZU4rSmZDUGhUd2Y4QXRBL3MvVGVFdkRXZ2VGNU5Yc3ZpN3Ayck40ZDBqVDlFL3RXeGc4TDZWcUZ2YWFrTk10N1piNkMydnJlSzd0bzdvU3JiVHFaWVBMWjVDMjhKem5oOFFweWxMbGRGcm1ibFo4N1YxZTltMDJuYmRia05KVktka2xmbnZaV3ZvdDdIMVBYSWFoUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUh6eisxWi95UVB4NS8zSy93RDZtZmgydW5DZjd4VDlaZjhBcEVqT3IvRGw4djhBMHBIYWZGYjRlM254QTBydzhkRzF1SHc5NG44RitMZEw4Y2VGTlR2ZE1HdGFWSHJtazJ1bzJDUWF4cEJ1cko3M1Q3dXcxVy90WkRiM2xyZVdjczBOL2FUZWRiTEZMblNxS201WGp6Um5CMDVwUGxmSzdQU1ZuWnBwUFpwN1BSam5IbVNzN09MVWs3WFYxZmRkck5sYjRXL0QzVWZBY2ZqTFhQRlhpR3k4UStMZkhuaUwvaEt2Rk9wNmRwWjBEUXJXVzMwalQ5SHM5TzBqVFpiL0FGR2FEVDlOMC9UWWtOM2UzMXhlM3NyVFhkMUloZFlvblZxS3B5UmhGeGhUanlRVGZOSjZ0dHQyV3JiMlNzdGtFWXVQTTI3dVR1M2F5MlNzbGQ2Skk4dXZQai80czFIVUw3eGg0RThDTjRzK0JmaE81bTAzeFQ0dHRYdVc4UitJcFk1V2kxUFgvaHRwRVk4dnhCNFo4SFBBNjZ4ZE44K3Z0SmREdzRabDBtV1M3MVdIZ2tvVktuSmlKcThZTzNMRHRHcS9zem4wWDJkT2JmU2ZhU2Z2UmplbXRHK3N1N2d1cWorUFRZMFBGV3ZhTjRuK01mN0xmaUh3OXFWcHJHaWF4YWZGeSswelU3R1ZaN1c4dFovQlZnMGNzVWkvaXJvd1dTS1JYaWxSSlVkRlVJeWhSeGNaSnhsSDJLYWU2ZnRBYlRuU2FkMCtlei83ZFBweXVVMUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBUG5uOXF6L2tnZmp6L0FMbGYvd0JUUHc3WFRoUDk0cCtzdi9TSkdkWCtITDVmK2xJK2hIZEkwZVNSMVNORlozZDJDb2lLQ3pPN01RcXFxZ2xtSkFBQkpPSzVqUStVcjYrMUw5cGpVcnJRZEJ1cnpTdjJmdEt2SmJMeE40bXNwWmJPKytNTjlaeW1LNzhMK0Y3dUl4elcvd0FQN2VhTjdieEY0aXRuV1R4SklzdWphTktMQVh0N0oxcExDcFNrazhTMWVNWHFxQ2UwcExyVmU4WXY0UGlsclpHWDhYUmFVMXUvNS9KZjNlNzY3TFErbzlPMDZ3MGl3c3RLMHF5dGRPMHpUcldDeXNMQ3lnanRyT3lzN2FOWWJlMnRyZUZVaWhnaGlSWTRvbzFWRVJRcWdBVnl0dHR0dHR0M2JlcmJlN2I3bXUyaVBqelZ2aHJwbmdQOXB6NEw2aDRadkxxdzhPK0s1ZmkxcWsvZ3hRaDBMUi9Fdi9DSXd0cXV0NkRGMTB3ZUlFbWdmVmROZ0MyTFgxb0w2Q09PVzV1QWV5TlYxTUxYVWtuS0NvcFQrMDRjK2taZCtYbzk3TzNReGNWR3JCclJTNTIxMHZ5N3J0ZnFmWjljUnNGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQUZBQlFBVUFGQUJRQVVBRkFCUUFVQWVNZnREZUY5ZDhaZkJyeHo0ZjhNMlg5cDY3YzJGaGVhZHBvbFNDVFVadEcxclRkYmF3Z2xrL2RyZFhrT25TVzFwNWhXTnJtU0pYZEZKWWJZZWNZVnFjcE8wVTJtKzEwMWYwVjlmSWlvbktFa3RYYlJkN05QOEFUUStiL2lUOFMvR1h4UTFmVC9DVjc4SHZqLzRkK0Q1dFV1L0djZW0rQmJoUEYzanFjdUNuZzFudHRVU0xRZkNicU4zaUM5dGRSbTFUV284NlRicFpXVWx4ZHo5VktuQ2xGelZiRHlyWHRDOC9jcHIrZldQdlQvbFRWby9GcTlGbEtVcHV6aFVVT3RvNnkvdTc2Ujc2M2UyeDdKcDN4enNOSXNMTFN0SytBZng4MDdUTk90WUxLd3NMTDRYUjIxblpXZHRHc052YlcxdkRyQ1JRd1F4SXNjVVVhcWlJb1ZRQUt3ZEJ0dHZFWWR0dTdicXR0dDd0dmwzTDlwYlJVNm4vQUlEL0FNRXUvd0REUW4vVkVQMmh2L0RhZi9mcWo2di9BTlA4Ti80TWYveUkvYWY5TzZuL0FJRC9BTUU1bTIxcnhCOFZQak44S2ZFTmg4TnZpSjRSOFA4QXc3c3ZpQmRhL3Ezai9RN1h3MUZQTjRvME8wMGZTYkhSclk2bmVYdXAzUm5obW12Q2x2RmIybHNxTTg3eVNyR0tjWTBxTmFMcTA1eXFPbW9xbkp5dHlTNW01T3lTWFJkV3hYYzV3ZkxKS1BOZHlWdDFaVzExUHF5dVExQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BWEJQUUdnQy9lV3Zsa3lvUnRZa2xUbklQVTRQT1FUazg0eDA1b0F6NkFDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BZkdoa1lJdUFUNjV4K2dQOHFBTnlHMVNLTUt3RHRuTE1SM09PQjdESDllK0tBQS85az0nXHJcbn1cclxuIl19