valtech-components 2.0.404 → 2.0.406

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 (280) hide show
  1. package/README.md +71 -0
  2. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +4 -4
  3. package/esm2022/lib/components/atoms/avatar/types.mjs +1 -1
  4. package/esm2022/lib/components/atoms/box/box.component.mjs +4 -4
  5. package/esm2022/lib/components/atoms/box/types.mjs +1 -1
  6. package/esm2022/lib/components/atoms/button/button.component.mjs +4 -4
  7. package/esm2022/lib/components/atoms/button/factory.mjs +1 -1
  8. package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +343 -0
  9. package/esm2022/lib/components/atoms/countdown/types.mjs +27 -0
  10. package/esm2022/lib/components/atoms/display/display.component.mjs +4 -4
  11. package/esm2022/lib/components/atoms/display/types.mjs +1 -1
  12. package/esm2022/lib/components/atoms/divider/divider.component.mjs +4 -4
  13. package/esm2022/lib/components/atoms/divider/types.mjs +1 -1
  14. package/esm2022/lib/components/atoms/fab/fab.component.mjs +152 -0
  15. package/esm2022/lib/components/atoms/fab/types.mjs +2 -0
  16. package/esm2022/lib/components/atoms/href/href.component.mjs +4 -4
  17. package/esm2022/lib/components/atoms/href/types.mjs +1 -1
  18. package/esm2022/lib/components/atoms/icon/icon.component.mjs +4 -4
  19. package/esm2022/lib/components/atoms/icon/types.mjs +1 -1
  20. package/esm2022/lib/components/atoms/image/image.component.mjs +6 -6
  21. package/esm2022/lib/components/atoms/image/types.mjs +1 -1
  22. package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +245 -0
  23. package/esm2022/lib/components/atoms/price-tag/types.mjs +15 -0
  24. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +4 -4
  25. package/esm2022/lib/components/atoms/progress-bar/types.mjs +1 -1
  26. package/esm2022/lib/components/atoms/progress-ring/progress-ring.component.mjs +149 -0
  27. package/esm2022/lib/components/atoms/progress-ring/types.mjs +2 -0
  28. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +417 -0
  29. package/esm2022/lib/components/atoms/qr-code/types.mjs +2 -0
  30. package/esm2022/lib/components/atoms/skeleton/skeleton.component.mjs +193 -0
  31. package/esm2022/lib/components/atoms/skeleton/types.mjs +13 -0
  32. package/esm2022/lib/components/atoms/text/text.component.mjs +4 -4
  33. package/esm2022/lib/components/atoms/text/types.mjs +1 -1
  34. package/esm2022/lib/components/atoms/title/title.component.mjs +4 -4
  35. package/esm2022/lib/components/atoms/title/types.mjs +1 -1
  36. package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +139 -0
  37. package/esm2022/lib/components/molecules/accordion/types.mjs +2 -0
  38. package/esm2022/lib/components/molecules/action-header/action-header.component.mjs +4 -4
  39. package/esm2022/lib/components/molecules/action-header/types.mjs +1 -1
  40. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +4 -4
  41. package/esm2022/lib/components/molecules/alert-box/types.mjs +1 -1
  42. package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +137 -0
  43. package/esm2022/lib/components/molecules/breadcrumb/types.mjs +2 -0
  44. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +4 -4
  45. package/esm2022/lib/components/molecules/button-group/types.mjs +1 -1
  46. package/esm2022/lib/components/molecules/card/card.component.mjs +5 -5
  47. package/esm2022/lib/components/molecules/card/types.mjs +1 -1
  48. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +4 -4
  49. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +174 -0
  50. package/esm2022/lib/components/molecules/chip-group/types.mjs +2 -0
  51. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +4 -4
  52. package/esm2022/lib/components/molecules/code-display/types.mjs +1 -1
  53. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +4 -4
  54. package/esm2022/lib/components/molecules/command-display/types.mjs +1 -1
  55. package/esm2022/lib/components/molecules/comment/comment.component.mjs +634 -0
  56. package/esm2022/lib/components/molecules/comment/types.mjs +2 -0
  57. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +4 -4
  58. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +4 -4
  59. package/esm2022/lib/components/molecules/content-loader/types.mjs +1 -1
  60. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +368 -0
  61. package/esm2022/lib/components/molecules/currency-input/types.mjs +18 -0
  62. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +5 -5
  63. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +418 -0
  64. package/esm2022/lib/components/molecules/date-range-input/types.mjs +2 -0
  65. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +4 -4
  66. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +4 -4
  67. package/esm2022/lib/components/molecules/expandable-text/types.mjs +1 -1
  68. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +4 -4
  69. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +279 -0
  70. package/esm2022/lib/components/molecules/glow-card/types.mjs +11 -0
  71. package/esm2022/lib/components/molecules/hint/hint.component.mjs +4 -4
  72. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +4 -4
  73. package/esm2022/lib/components/molecules/info/info.component.mjs +4 -4
  74. package/esm2022/lib/components/molecules/info/types.mjs +1 -1
  75. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +4 -4
  76. package/esm2022/lib/components/molecules/language-selector/types.mjs +1 -1
  77. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +4 -4
  78. package/esm2022/lib/components/molecules/layered-card/types.mjs +1 -1
  79. package/esm2022/lib/components/molecules/link/link.component.mjs +4 -4
  80. package/esm2022/lib/components/molecules/link/types.mjs +1 -1
  81. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +4 -4
  82. package/esm2022/lib/components/molecules/links-cake/types.mjs +1 -1
  83. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +5 -5
  84. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +4 -4
  85. package/esm2022/lib/components/molecules/notes-box/types.mjs +1 -1
  86. package/esm2022/lib/components/molecules/number-from-to/number-from-to.component.mjs +4 -4
  87. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +4 -4
  88. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +377 -0
  89. package/esm2022/lib/components/molecules/number-stepper/types.mjs +2 -0
  90. package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +253 -0
  91. package/esm2022/lib/components/molecules/pagination/types.mjs +2 -0
  92. package/esm2022/lib/components/molecules/participant-card/participant-card.component.mjs +486 -0
  93. package/esm2022/lib/components/molecules/participant-card/types.mjs +21 -0
  94. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +4 -4
  95. package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +336 -0
  96. package/esm2022/lib/components/molecules/phone-input/types.mjs +19 -0
  97. package/esm2022/lib/components/molecules/pill/pill.component.mjs +4 -4
  98. package/esm2022/lib/components/molecules/pill/types.mjs +1 -1
  99. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +4 -4
  100. package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +4 -4
  101. package/esm2022/lib/components/molecules/plain-code-box/types.mjs +1 -1
  102. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +5 -5
  103. package/esm2022/lib/components/molecules/popover-selector/types.mjs +1 -1
  104. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +4 -4
  105. package/esm2022/lib/components/molecules/progress-status/types.mjs +1 -1
  106. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +4 -4
  107. package/esm2022/lib/components/molecules/prompter/types.mjs +1 -1
  108. package/esm2022/lib/components/molecules/quote-box/quote-box.component.mjs +155 -0
  109. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +5 -5
  110. package/esm2022/lib/components/molecules/raffle-status-card/raffle-status-card.component.mjs +484 -0
  111. package/esm2022/lib/components/molecules/raffle-status-card/types.mjs +23 -0
  112. package/esm2022/lib/components/molecules/range-input/range-input.component.mjs +148 -0
  113. package/esm2022/lib/components/molecules/range-input/types.mjs +2 -0
  114. package/esm2022/lib/components/molecules/rating/rating.component.mjs +149 -0
  115. package/esm2022/lib/components/molecules/rating/types.mjs +2 -0
  116. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +4 -4
  117. package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +145 -0
  118. package/esm2022/lib/components/molecules/segment-control/types.mjs +2 -0
  119. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +5 -5
  120. package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +5 -5
  121. package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +277 -0
  122. package/esm2022/lib/components/molecules/share-buttons/types.mjs +88 -0
  123. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +165 -0
  124. package/esm2022/lib/components/molecules/stats-card/types.mjs +2 -0
  125. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +239 -0
  126. package/esm2022/lib/components/molecules/stepper/types.mjs +2 -0
  127. package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +135 -0
  128. package/esm2022/lib/components/molecules/tabs/types.mjs +2 -0
  129. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +4 -4
  130. package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +204 -0
  131. package/esm2022/lib/components/molecules/textarea-input/types.mjs +2 -0
  132. package/esm2022/lib/components/molecules/ticket-grid/ticket-grid.component.mjs +497 -0
  133. package/esm2022/lib/components/molecules/ticket-grid/types.mjs +11 -0
  134. package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +140 -0
  135. package/esm2022/lib/components/molecules/timeline/types.mjs +2 -0
  136. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +4 -4
  137. package/esm2022/lib/components/molecules/title-block/types.mjs +1 -1
  138. package/esm2022/lib/components/molecules/toggle-input/toggle-input.component.mjs +89 -0
  139. package/esm2022/lib/components/molecules/toggle-input/types.mjs +2 -0
  140. package/esm2022/lib/components/molecules/winner-display/types.mjs +9 -0
  141. package/esm2022/lib/components/molecules/winner-display/winner-display.component.mjs +370 -0
  142. package/esm2022/lib/components/organisms/article/article.component.mjs +4 -4
  143. package/esm2022/lib/components/organisms/article/types.mjs +1 -1
  144. package/esm2022/lib/components/organisms/banner/banner.component.mjs +4 -4
  145. package/esm2022/lib/components/organisms/banner/types.mjs +1 -1
  146. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +578 -0
  147. package/esm2022/lib/components/organisms/comment-section/types.mjs +2 -0
  148. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +853 -0
  149. package/esm2022/lib/components/organisms/data-table/types.mjs +13 -0
  150. package/esm2022/lib/components/organisms/footer/footer.component.mjs +4 -4
  151. package/esm2022/lib/components/organisms/footer/types.mjs +1 -1
  152. package/esm2022/lib/components/organisms/form/factory.mjs +1 -1
  153. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +4 -4
  154. package/esm2022/lib/components/organisms/form/form.component.mjs +4 -4
  155. package/esm2022/lib/components/organisms/header/header.component.mjs +4 -4
  156. package/esm2022/lib/components/organisms/header/types.mjs +1 -1
  157. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +4 -4
  158. package/esm2022/lib/components/organisms/item-list/types.mjs +1 -1
  159. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +4 -4
  160. package/esm2022/lib/components/organisms/no-content/types.mjs +1 -1
  161. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +4 -4
  162. package/esm2022/lib/components/organisms/toolbar/types.mjs +1 -1
  163. package/esm2022/lib/components/organisms/wizard/types.mjs +1 -1
  164. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +4 -4
  165. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +4 -4
  166. package/esm2022/lib/components/templates/layout/layout.component.mjs +4 -4
  167. package/esm2022/lib/components/templates/simple/simple.component.mjs +5 -5
  168. package/esm2022/lib/components/templates/simple/types.mjs +1 -1
  169. package/esm2022/lib/components/types.mjs +22 -16
  170. package/esm2022/lib/services/confirmation-dialog/confirmation-dialog.service.mjs +180 -0
  171. package/esm2022/lib/services/confirmation-dialog/types.mjs +14 -0
  172. package/esm2022/lib/services/download.service.mjs +4 -4
  173. package/esm2022/lib/services/icons.service.mjs +4 -4
  174. package/esm2022/lib/services/in-app-browser.service.mjs +4 -4
  175. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +1 -1
  176. package/esm2022/lib/services/lang-provider/content.mjs +1 -1
  177. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +4 -4
  178. package/esm2022/lib/services/lang-provider/types.mjs +1 -1
  179. package/esm2022/lib/services/link-processor.service.mjs +4 -4
  180. package/esm2022/lib/services/local-storage.service.mjs +1 -1
  181. package/esm2022/lib/services/modal/modal.service.mjs +213 -0
  182. package/esm2022/lib/services/modal/simple-modal-content.component.mjs +133 -0
  183. package/esm2022/lib/services/modal/types.mjs +26 -0
  184. package/esm2022/lib/services/navigation.service.mjs +4 -4
  185. package/esm2022/lib/services/qr-generator/qr-generator.service.mjs +341 -0
  186. package/esm2022/lib/services/qr-generator/types.mjs +46 -0
  187. package/esm2022/lib/services/theme.service.mjs +4 -4
  188. package/esm2022/lib/services/toast.service.mjs +4 -4
  189. package/esm2022/lib/services/types.mjs +1 -1
  190. package/esm2022/lib/shared/constants/storage.mjs +1 -1
  191. package/esm2022/lib/shared/pipes/process-links.pipe.mjs +4 -4
  192. package/esm2022/lib/shared/utils/content.mjs +1 -1
  193. package/esm2022/lib/shared/utils/dom.mjs +1 -1
  194. package/esm2022/lib/shared/utils/form-defaults.mjs +1 -1
  195. package/esm2022/lib/shared/utils/simple-content.mjs +1 -1
  196. package/esm2022/lib/shared/utils/styles.mjs +1 -1
  197. package/esm2022/lib/shared/utils/text.mjs +1 -1
  198. package/esm2022/public-api.mjs +73 -3
  199. package/esm2022/valtech-components.mjs +1 -1
  200. package/fesm2022/valtech-components-simple-modal-content.component-DQhEgUmS.mjs +136 -0
  201. package/fesm2022/valtech-components-simple-modal-content.component-DQhEgUmS.mjs.map +1 -0
  202. package/fesm2022/valtech-components.mjs +14847 -4292
  203. package/fesm2022/valtech-components.mjs.map +1 -1
  204. package/lib/components/atoms/countdown/countdown.component.d.ts +38 -0
  205. package/lib/components/atoms/countdown/types.d.ts +108 -0
  206. package/lib/components/atoms/fab/fab.component.d.ts +16 -0
  207. package/lib/components/atoms/fab/types.d.ts +45 -0
  208. package/lib/components/atoms/price-tag/price-tag.component.d.ts +16 -0
  209. package/lib/components/atoms/price-tag/types.d.ts +59 -0
  210. package/lib/components/atoms/progress-ring/progress-ring.component.d.ts +20 -0
  211. package/lib/components/atoms/progress-ring/types.d.ts +24 -0
  212. package/lib/components/atoms/qr-code/qr-code.component.d.ts +36 -0
  213. package/lib/components/atoms/qr-code/types.d.ts +124 -0
  214. package/lib/components/atoms/skeleton/skeleton.component.d.ts +12 -0
  215. package/lib/components/atoms/skeleton/types.d.ts +29 -0
  216. package/lib/components/molecules/accordion/accordion.component.d.ts +19 -0
  217. package/lib/components/molecules/accordion/types.d.ts +47 -0
  218. package/lib/components/molecules/breadcrumb/breadcrumb.component.d.ts +22 -0
  219. package/lib/components/molecules/breadcrumb/types.d.ts +45 -0
  220. package/lib/components/molecules/chip-group/chip-group.component.d.ts +22 -0
  221. package/lib/components/molecules/chip-group/types.d.ts +65 -0
  222. package/lib/components/molecules/comment/comment.component.d.ts +42 -0
  223. package/lib/components/molecules/comment/types.d.ts +171 -0
  224. package/lib/components/molecules/currency-input/currency-input.component.d.ts +43 -0
  225. package/lib/components/molecules/currency-input/types.d.ts +96 -0
  226. package/lib/components/molecules/date-range-input/date-range-input.component.d.ts +42 -0
  227. package/lib/components/molecules/date-range-input/types.d.ts +109 -0
  228. package/lib/components/molecules/glow-card/glow-card.component.d.ts +51 -0
  229. package/lib/components/molecules/glow-card/types.d.ts +92 -0
  230. package/lib/components/molecules/number-stepper/number-stepper.component.d.ts +34 -0
  231. package/lib/components/molecules/number-stepper/types.d.ts +88 -0
  232. package/lib/components/molecules/pagination/pagination.component.d.ts +15 -0
  233. package/lib/components/molecules/pagination/types.d.ts +41 -0
  234. package/lib/components/molecules/participant-card/participant-card.component.d.ts +26 -0
  235. package/lib/components/molecules/participant-card/types.d.ts +132 -0
  236. package/lib/components/molecules/phone-input/phone-input.component.d.ts +38 -0
  237. package/lib/components/molecules/phone-input/types.d.ts +98 -0
  238. package/lib/components/molecules/quote-box/quote-box.component.d.ts +26 -0
  239. package/lib/components/molecules/raffle-status-card/raffle-status-card.component.d.ts +22 -0
  240. package/lib/components/molecules/raffle-status-card/types.d.ts +108 -0
  241. package/lib/components/molecules/range-input/range-input.component.d.ts +30 -0
  242. package/lib/components/molecules/range-input/types.d.ts +59 -0
  243. package/lib/components/molecules/rating/rating.component.d.ts +17 -0
  244. package/lib/components/molecules/rating/types.d.ts +41 -0
  245. package/lib/components/molecules/segment-control/segment-control.component.d.ts +30 -0
  246. package/lib/components/molecules/segment-control/types.d.ts +46 -0
  247. package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +22 -0
  248. package/lib/components/molecules/share-buttons/types.d.ts +108 -0
  249. package/lib/components/molecules/stats-card/stats-card.component.d.ts +14 -0
  250. package/lib/components/molecules/stats-card/types.d.ts +41 -0
  251. package/lib/components/molecules/stepper/stepper.component.d.ts +21 -0
  252. package/lib/components/molecules/stepper/types.d.ts +66 -0
  253. package/lib/components/molecules/tabs/tabs.component.d.ts +17 -0
  254. package/lib/components/molecules/tabs/types.d.ts +45 -0
  255. package/lib/components/molecules/textarea-input/textarea-input.component.d.ts +27 -0
  256. package/lib/components/molecules/textarea-input/types.d.ts +74 -0
  257. package/lib/components/molecules/ticket-grid/ticket-grid.component.d.ts +41 -0
  258. package/lib/components/molecules/ticket-grid/types.d.ts +122 -0
  259. package/lib/components/molecules/timeline/timeline.component.d.ts +14 -0
  260. package/lib/components/molecules/timeline/types.d.ts +39 -0
  261. package/lib/components/molecules/toggle-input/toggle-input.component.d.ts +24 -0
  262. package/lib/components/molecules/toggle-input/types.d.ts +30 -0
  263. package/lib/components/molecules/winner-display/types.d.ts +103 -0
  264. package/lib/components/molecules/winner-display/winner-display.component.d.ts +37 -0
  265. package/lib/components/organisms/article/article.component.d.ts +1 -1
  266. package/lib/components/organisms/comment-section/comment-section.component.d.ts +52 -0
  267. package/lib/components/organisms/comment-section/types.d.ts +144 -0
  268. package/lib/components/organisms/data-table/data-table.component.d.ts +46 -0
  269. package/lib/components/organisms/data-table/types.d.ts +205 -0
  270. package/lib/components/types.d.ts +21 -15
  271. package/lib/services/confirmation-dialog/confirmation-dialog.service.d.ts +71 -0
  272. package/lib/services/confirmation-dialog/types.d.ts +61 -0
  273. package/lib/services/modal/modal.service.d.ts +98 -0
  274. package/lib/services/modal/simple-modal-content.component.d.ts +19 -0
  275. package/lib/services/modal/types.d.ts +155 -0
  276. package/lib/services/qr-generator/qr-generator.service.d.ts +115 -0
  277. package/lib/services/qr-generator/types.d.ts +141 -0
  278. package/package.json +9 -2
  279. package/public-api.d.ts +72 -2
  280. package/LICENSE +0 -21
@@ -0,0 +1,341 @@
1
+ import { Injectable } from '@angular/core';
2
+ import QRCodeStyling from 'qr-code-styling';
3
+ import { QR_PRESETS, } from './types';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * QrGeneratorService
7
+ *
8
+ * A comprehensive service for generating, customizing, and manipulating QR codes.
9
+ * Uses qr-code-styling library for high-quality, customizable QR code generation.
10
+ *
11
+ * @example Basic usage
12
+ * ```typescript
13
+ * const qr = await this.qrService.generate({ data: 'https://example.com' });
14
+ * console.log(qr.dataUrl); // base64 image
15
+ * ```
16
+ *
17
+ * @example With customization
18
+ * ```typescript
19
+ * const qr = await this.qrService.generate({
20
+ * data: 'https://example.com',
21
+ * width: 400,
22
+ * dotsStyle: 'rounded',
23
+ * dotsColor: '#3880ff',
24
+ * logo: { src: 'logo.png', width: 60 }
25
+ * });
26
+ * ```
27
+ *
28
+ * @example Using presets
29
+ * ```typescript
30
+ * const qr = await this.qrService.generateFromPreset('modern', 'https://example.com');
31
+ * ```
32
+ */
33
+ export class QrGeneratorService {
34
+ /**
35
+ * Generate a QR code with the given configuration.
36
+ *
37
+ * @param config - QR code configuration
38
+ * @returns Promise<QrResult> - Generated QR code result
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const qr = await this.qrService.generate({
43
+ * data: 'https://myapp.com/product/123',
44
+ * width: 300,
45
+ * dotsStyle: 'rounded',
46
+ * dotsColor: '#000000',
47
+ * backgroundColor: '#ffffff'
48
+ * });
49
+ * ```
50
+ */
51
+ async generate(config) {
52
+ // Merge with defaults
53
+ const finalConfig = {
54
+ width: 300,
55
+ height: config.height || config.width || 300,
56
+ margin: 0,
57
+ dotsStyle: 'square',
58
+ dotsColor: '#000000',
59
+ backgroundColor: '#ffffff',
60
+ errorCorrectionLevel: 'M',
61
+ format: 'png',
62
+ quality: 1,
63
+ ...config,
64
+ };
65
+ // Build qr-code-styling options
66
+ const qrOptions = {
67
+ width: finalConfig.width,
68
+ height: finalConfig.height,
69
+ data: finalConfig.data,
70
+ margin: finalConfig.margin,
71
+ qrOptions: {
72
+ errorCorrectionLevel: finalConfig.errorCorrectionLevel,
73
+ },
74
+ dotsOptions: {
75
+ type: finalConfig.dotsStyle,
76
+ ...this.buildColorOptions(finalConfig.dotsColor),
77
+ },
78
+ backgroundOptions: {
79
+ ...this.buildColorOptions(finalConfig.backgroundColor),
80
+ },
81
+ cornersSquareOptions: finalConfig.cornersSquareColor || finalConfig.cornersSquareStyle
82
+ ? {
83
+ type: finalConfig.cornersSquareStyle,
84
+ ...this.buildColorOptions(finalConfig.cornersSquareColor || finalConfig.dotsColor),
85
+ }
86
+ : undefined,
87
+ cornersDotOptions: finalConfig.cornersDotColor || finalConfig.cornersDotStyle
88
+ ? {
89
+ type: finalConfig.cornersDotStyle,
90
+ ...this.buildColorOptions(finalConfig.cornersDotColor || finalConfig.dotsColor),
91
+ }
92
+ : undefined,
93
+ };
94
+ // Add logo if provided
95
+ if (finalConfig.logo) {
96
+ qrOptions.image = finalConfig.logo.src;
97
+ qrOptions.imageOptions = {
98
+ hideBackgroundDots: finalConfig.logo.hideBackgroundDots ?? true,
99
+ imageSize: 0.4,
100
+ margin: finalConfig.logo.margin ?? 5,
101
+ crossOrigin: 'anonymous',
102
+ };
103
+ }
104
+ // Create QR code instance
105
+ const qrCode = new QRCodeStyling(qrOptions);
106
+ // Generate blob
107
+ const format = finalConfig.format || 'png';
108
+ const mimeType = this.getMimeType(format);
109
+ const extension = format === 'jpeg' ? 'jpg' : format;
110
+ let blob;
111
+ let svg;
112
+ let dataUrl;
113
+ if (format === 'svg') {
114
+ // Get SVG data
115
+ const svgData = await qrCode.getRawData('svg');
116
+ if (!svgData) {
117
+ throw new Error('Failed to generate SVG');
118
+ }
119
+ blob = svgData;
120
+ svg = await blob.text();
121
+ dataUrl = `data:${mimeType};base64,${btoa(svg)}`;
122
+ }
123
+ else {
124
+ // Get image blob
125
+ const imageBlob = await qrCode.getRawData(format);
126
+ if (!imageBlob) {
127
+ throw new Error('Failed to generate image');
128
+ }
129
+ blob = imageBlob;
130
+ dataUrl = await this.blobToDataUrl(blob);
131
+ }
132
+ return {
133
+ config: finalConfig,
134
+ dataUrl,
135
+ blob,
136
+ svg,
137
+ mimeType,
138
+ extension,
139
+ generatedAt: new Date(),
140
+ };
141
+ }
142
+ /**
143
+ * Generate a QR code using a preset configuration.
144
+ *
145
+ * @param preset - Preset name ('default', 'rounded', 'dots', 'classy', 'modern')
146
+ * @param data - Data to encode
147
+ * @param overrides - Optional configuration overrides
148
+ * @returns Promise<QrResult>
149
+ */
150
+ async generateFromPreset(preset, data, overrides) {
151
+ const presetConfig = QR_PRESETS[preset] || QR_PRESETS['default'];
152
+ return this.generate({
153
+ ...presetConfig,
154
+ ...overrides,
155
+ data,
156
+ });
157
+ }
158
+ /**
159
+ * Download the QR code as a file.
160
+ *
161
+ * @param qr - QR result to download
162
+ * @param options - Download options
163
+ */
164
+ async download(qr, options) {
165
+ const filename = options?.filename || `qr-code-${Date.now()}`;
166
+ const format = options?.format || qr.config.format || 'png';
167
+ const extension = format === 'jpeg' ? 'jpg' : format;
168
+ let blob = qr.blob;
169
+ // Convert if different format requested
170
+ if (options?.format && options.format !== qr.config.format) {
171
+ const newQr = await this.generate({
172
+ ...qr.config,
173
+ format: options.format,
174
+ });
175
+ blob = newQr.blob;
176
+ }
177
+ // Create download link
178
+ const url = URL.createObjectURL(blob);
179
+ const link = document.createElement('a');
180
+ link.href = url;
181
+ link.download = `${filename}.${extension}`;
182
+ document.body.appendChild(link);
183
+ link.click();
184
+ document.body.removeChild(link);
185
+ URL.revokeObjectURL(url);
186
+ }
187
+ /**
188
+ * Copy the QR code to clipboard as an image.
189
+ *
190
+ * @param qr - QR result to copy
191
+ * @returns Promise<boolean> - Whether copy was successful
192
+ */
193
+ async copyToClipboard(qr) {
194
+ try {
195
+ // Clipboard API requires PNG format
196
+ let pngBlob = qr.blob;
197
+ if (qr.mimeType !== 'image/png') {
198
+ const pngQr = await this.generate({
199
+ ...qr.config,
200
+ format: 'png',
201
+ });
202
+ pngBlob = pngQr.blob;
203
+ }
204
+ await navigator.clipboard.write([
205
+ new ClipboardItem({
206
+ 'image/png': pngBlob,
207
+ }),
208
+ ]);
209
+ return true;
210
+ }
211
+ catch (error) {
212
+ console.error('Failed to copy QR to clipboard:', error);
213
+ return false;
214
+ }
215
+ }
216
+ /**
217
+ * Share the QR code using Web Share API.
218
+ *
219
+ * @param qr - QR result to share
220
+ * @param options - Share options
221
+ * @returns Promise<boolean> - Whether share was successful
222
+ */
223
+ async share(qr, options) {
224
+ if (!navigator.share || !navigator.canShare) {
225
+ console.warn('Web Share API not available');
226
+ return false;
227
+ }
228
+ try {
229
+ const filename = options?.filename || `qr-code-${Date.now()}.${qr.extension}`;
230
+ const file = new File([qr.blob], filename, { type: qr.mimeType });
231
+ const shareData = {
232
+ title: options?.title || 'QR Code',
233
+ text: options?.text,
234
+ files: [file],
235
+ };
236
+ if (navigator.canShare(shareData)) {
237
+ await navigator.share(shareData);
238
+ return true;
239
+ }
240
+ // Fallback without file
241
+ await navigator.share({
242
+ title: options?.title || 'QR Code',
243
+ text: options?.text,
244
+ });
245
+ return true;
246
+ }
247
+ catch (error) {
248
+ if (error.name !== 'AbortError') {
249
+ console.error('Failed to share QR:', error);
250
+ }
251
+ return false;
252
+ }
253
+ }
254
+ /**
255
+ * Get the QR code as a base64 string (without data URL prefix).
256
+ *
257
+ * @param qr - QR result
258
+ * @returns Base64 string
259
+ */
260
+ toBase64(qr) {
261
+ const prefix = `data:${qr.mimeType};base64,`;
262
+ if (qr.dataUrl.startsWith(prefix)) {
263
+ return qr.dataUrl.substring(prefix.length);
264
+ }
265
+ return qr.dataUrl;
266
+ }
267
+ /**
268
+ * Get the QR code as a data URL.
269
+ *
270
+ * @param qr - QR result
271
+ * @returns Data URL string
272
+ */
273
+ toDataUrl(qr) {
274
+ return qr.dataUrl;
275
+ }
276
+ /**
277
+ * Get the QR code as a Blob.
278
+ *
279
+ * @param qr - QR result
280
+ * @returns Blob
281
+ */
282
+ toBlob(qr) {
283
+ return qr.blob;
284
+ }
285
+ /**
286
+ * Check if Web Share API is available.
287
+ */
288
+ canShare() {
289
+ return !!(navigator.share && navigator.canShare);
290
+ }
291
+ /**
292
+ * Check if Clipboard API is available for images.
293
+ */
294
+ canCopyToClipboard() {
295
+ return !!(navigator.clipboard && navigator.clipboard.write);
296
+ }
297
+ // === Private Helpers ===
298
+ buildColorOptions(color) {
299
+ if (!color) {
300
+ return {};
301
+ }
302
+ if (typeof color === 'string') {
303
+ return { color };
304
+ }
305
+ // Gradient
306
+ const gradient = color;
307
+ return {
308
+ gradient: {
309
+ type: gradient.type,
310
+ rotation: gradient.rotation || 0,
311
+ colorStops: gradient.colorStops,
312
+ },
313
+ };
314
+ }
315
+ getMimeType(format) {
316
+ const mimeTypes = {
317
+ png: 'image/png',
318
+ jpeg: 'image/jpeg',
319
+ webp: 'image/webp',
320
+ svg: 'image/svg+xml',
321
+ };
322
+ return mimeTypes[format] || 'image/png';
323
+ }
324
+ blobToDataUrl(blob) {
325
+ return new Promise((resolve, reject) => {
326
+ const reader = new FileReader();
327
+ reader.onloadend = () => resolve(reader.result);
328
+ reader.onerror = reject;
329
+ reader.readAsDataURL(blob);
330
+ });
331
+ }
332
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: QrGeneratorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
333
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: QrGeneratorService, providedIn: 'root' }); }
334
+ }
335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: QrGeneratorService, decorators: [{
336
+ type: Injectable,
337
+ args: [{
338
+ providedIn: 'root',
339
+ }]
340
+ }] });
341
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXItZ2VuZXJhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3FyLWdlbmVyYXRvci9xci1nZW5lcmF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sYUFBYSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFPTCxVQUFVLEdBQ1gsTUFBTSxTQUFTLENBQUM7O0FBRWpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFJSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFnQjtRQUU3QixzQkFBc0I7UUFDdEIsTUFBTSxXQUFXLEdBQWE7WUFDNUIsS0FBSyxFQUFFLEdBQUc7WUFDVixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLEdBQUc7WUFDNUMsTUFBTSxFQUFFLENBQUM7WUFDVCxTQUFTLEVBQUUsUUFBUTtZQUNuQixTQUFTLEVBQUUsU0FBUztZQUNwQixlQUFlLEVBQUUsU0FBUztZQUMxQixvQkFBb0IsRUFBRSxHQUFHO1lBQ3pCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFLENBQUM7WUFDVixHQUFHLE1BQU07U0FDVixDQUFDO1FBRUYsZ0NBQWdDO1FBQ2hDLE1BQU0sU0FBUyxHQUFRO1lBQ3JCLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztZQUN4QixNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU07WUFDMUIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO1lBQ3RCLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTTtZQUMxQixTQUFTLEVBQUU7Z0JBQ1Qsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLG9CQUFvQjth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QUFDLENBQUM7SUFDTCxDQUFDOytHQTdVVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFFSQ29kZVN0eWxpbmcgZnJvbSAncXItY29kZS1zdHlsaW5nJztcbmltcG9ydCB7XG4gIFFyQ29uZmlnLFxuICBRclJlc3VsdCxcbiAgUXJEb3dubG9hZE9wdGlvbnMsXG4gIFFyU2hhcmVPcHRpb25zLFxuICBRckNvbG9yQ29uZmlnLFxuICBRckdyYWRpZW50LFxuICBRUl9QUkVTRVRTLFxufSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBRckdlbmVyYXRvclNlcnZpY2VcbiAqXG4gKiBBIGNvbXByZWhlbnNpdmUgc2VydmljZSBmb3IgZ2VuZXJhdGluZywgY3VzdG9taXppbmcsIGFuZCBtYW5pcHVsYXRpbmcgUVIgY29kZXMuXG4gKiBVc2VzIHFyLWNvZGUtc3R5bGluZyBsaWJyYXJ5IGZvciBoaWdoLXF1YWxpdHksIGN1c3RvbWl6YWJsZSBRUiBjb2RlIGdlbmVyYXRpb24uXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHFyID0gYXdhaXQgdGhpcy5xclNlcnZpY2UuZ2VuZXJhdGUoeyBkYXRhOiAnaHR0cHM6Ly9leGFtcGxlLmNvbScgfSk7XG4gKiBjb25zb2xlLmxvZyhxci5kYXRhVXJsKTsgLy8gYmFzZTY0IGltYWdlXG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGN1c3RvbWl6YXRpb25cbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHFyID0gYXdhaXQgdGhpcy5xclNlcnZpY2UuZ2VuZXJhdGUoe1xuICogICBkYXRhOiAnaHR0cHM6Ly9leGFtcGxlLmNvbScsXG4gKiAgIHdpZHRoOiA0MDAsXG4gKiAgIGRvdHNTdHlsZTogJ3JvdW5kZWQnLFxuICogICBkb3RzQ29sb3I6ICcjMzg4MGZmJyxcbiAqICAgbG9nbzogeyBzcmM6ICdsb2dvLnBuZycsIHdpZHRoOiA2MCB9XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFVzaW5nIHByZXNldHNcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHFyID0gYXdhaXQgdGhpcy5xclNlcnZpY2UuZ2VuZXJhdGVGcm9tUHJlc2V0KCdtb2Rlcm4nLCAnaHR0cHM6Ly9leGFtcGxlLmNvbScpO1xuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBRckdlbmVyYXRvclNlcnZpY2Uge1xuICAvKipcbiAgICogR2VuZXJhdGUgYSBRUiBjb2RlIHdpdGggdGhlIGdpdmVuIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSBRUiBjb2RlIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgUHJvbWlzZTxRclJlc3VsdD4gLSBHZW5lcmF0ZWQgUVIgY29kZSByZXN1bHRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBxciA9IGF3YWl0IHRoaXMucXJTZXJ2aWNlLmdlbmVyYXRlKHtcbiAgICogICBkYXRhOiAnaHR0cHM6Ly9teWFwcC5jb20vcHJvZHVjdC8xMjMnLFxuICAgKiAgIHdpZHRoOiAzMDAsXG4gICAqICAgZG90c1N0eWxlOiAncm91bmRlZCcsXG4gICAqICAgZG90c0NvbG9yOiAnIzAwMDAwMCcsXG4gICAqICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZmZmZidcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgZ2VuZXJhdGUoY29uZmlnOiBRckNvbmZpZyk6IFByb21pc2U8UXJSZXN1bHQ+IHtcblxuICAgIC8vIE1lcmdlIHdpdGggZGVmYXVsdHNcbiAgICBjb25zdCBmaW5hbENvbmZpZzogUXJDb25maWcgPSB7XG4gICAgICB3aWR0aDogMzAwLFxuICAgICAgaGVpZ2h0OiBjb25maWcuaGVpZ2h0IHx8IGNvbmZpZy53aWR0aCB8fCAzMDAsXG4gICAgICBtYXJnaW46IDAsXG4gICAgICBkb3RzU3R5bGU6ICdzcXVhcmUnLFxuICAgICAgZG90c0NvbG9yOiAnIzAwMDAwMCcsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZmZmJyxcbiAgICAgIGVycm9yQ29ycmVjdGlvbkxldmVsOiAnTScsXG4gICAgICBmb3JtYXQ6ICdwbmcnLFxuICAgICAgcXVhbGl0eTogMSxcbiAgICAgIC4uLmNvbmZpZyxcbiAgICB9O1xuXG4gICAgLy8gQnVpbGQgcXItY29kZS1zdHlsaW5nIG9wdGlvbnNcbiAgICBjb25zdCBxck9wdGlvbnM6IGFueSA9IHtcbiAgICAgIHdpZHRoOiBmaW5hbENvbmZpZy53aWR0aCxcbiAgICAgIGhlaWdodDogZmluYWxDb25maWcuaGVpZ2h0LFxuICAgICAgZGF0YTogZmluYWxDb25maWcuZGF0YSxcbiAgICAgIG1hcmdpbjogZmluYWxDb25maWcubWFyZ2luLFxuICAgICAgcXJPcHRpb25zOiB7XG4gICAgICAgIGVycm9yQ29ycmVjdGlvbkxldmVsOiBmaW5hbENvbmZpZy5lcnJvckNvcnJlY3Rpb25MZXZlbCxcbiAgICAgIH0sXG4gICAgICBkb3RzT3B0aW9uczoge1xuICAgICAgICB0eXBlOiBmaW5hbENvbmZpZy5kb3RzU3R5bGUsXG4gICAgICAgIC4uLnRoaXMuYnVpbGRDb2xvck9wdGlvbnMoZmluYWxDb25maWcuZG90c0NvbG9yKSxcbiAgICAgIH0sXG4gICAgICBiYWNrZ3JvdW5kT3B0aW9uczoge1xuICAgICAgICAuLi50aGlzLmJ1aWxkQ29sb3JPcHRpb25zKGZpbmFsQ29uZmlnLmJhY2tncm91bmRDb2xvciksXG4gICAgICB9LFxuICAgICAgY29ybmVyc1NxdWFyZU9wdGlvbnM6IGZpbmFsQ29uZmlnLmNvcm5lcnNTcXVhcmVDb2xvciB8fCBmaW5hbENvbmZpZy5jb3JuZXJzU3F1YXJlU3R5bGVcbiAgICAgICAgPyB7XG4gICAgICAgICAgICB0eXBlOiBmaW5hbENvbmZpZy5jb3JuZXJzU3F1YXJlU3R5bGUsXG4gICAgICAgICAgICAuLi50aGlzLmJ1aWxkQ29sb3JPcHRpb25zKGZpbmFsQ29uZmlnLmNvcm5lcnNTcXVhcmVDb2xvciB8fCBmaW5hbENvbmZpZy5kb3RzQ29sb3IpLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBjb3JuZXJzRG90T3B0aW9uczogZmluYWxDb25maWcuY29ybmVyc0RvdENvbG9yIHx8IGZpbmFsQ29uZmlnLmNvcm5lcnNEb3RTdHlsZVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHR5cGU6IGZpbmFsQ29uZmlnLmNvcm5lcnNEb3RTdHlsZSxcbiAgICAgICAgICAgIC4uLnRoaXMuYnVpbGRDb2xvck9wdGlvbnMoZmluYWxDb25maWcuY29ybmVyc0RvdENvbG9yIHx8IGZpbmFsQ29uZmlnLmRvdHNDb2xvciksXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgLy8gQWRkIGxvZ28gaWYgcHJvdmlkZWRcbiAgICBpZiAoZmluYWxDb25maWcubG9nbykge1xuICAgICAgcXJPcHRpb25zLmltYWdlID0gZmluYWxDb25maWcubG9nby5zcmM7XG4gICAgICBxck9wdGlvbnMuaW1hZ2VPcHRpb25zID0ge1xuICAgICAgICBoaWRlQmFja2dyb3VuZERvdHM6IGZpbmFsQ29uZmlnLmxvZ28uaGlkZUJhY2tncm91bmREb3RzID8/IHRydWUsXG4gICAgICAgIGltYWdlU2l6ZTogMC40LFxuICAgICAgICBtYXJnaW46IGZpbmFsQ29uZmlnLmxvZ28ubWFyZ2luID8/IDUsXG4gICAgICAgIGNyb3NzT3JpZ2luOiAnYW5vbnltb3VzJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIFFSIGNvZGUgaW5zdGFuY2VcbiAgICBjb25zdCBxckNvZGUgPSBuZXcgUVJDb2RlU3R5bGluZyhxck9wdGlvbnMpO1xuXG4gICAgLy8gR2VuZXJhdGUgYmxvYlxuICAgIGNvbnN0IGZvcm1hdCA9IGZpbmFsQ29uZmlnLmZvcm1hdCB8fCAncG5nJztcbiAgICBjb25zdCBtaW1lVHlwZSA9IHRoaXMuZ2V0TWltZVR5cGUoZm9ybWF0KTtcbiAgICBjb25zdCBleHRlbnNpb24gPSBmb3JtYXQgPT09ICdqcGVnJyA/ICdqcGcnIDogZm9ybWF0O1xuXG4gICAgbGV0IGJsb2I6IEJsb2I7XG4gICAgbGV0IHN2Zzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGxldCBkYXRhVXJsOiBzdHJpbmc7XG5cbiAgICBpZiAoZm9ybWF0ID09PSAnc3ZnJykge1xuICAgICAgLy8gR2V0IFNWRyBkYXRhXG4gICAgICBjb25zdCBzdmdEYXRhID0gYXdhaXQgcXJDb2RlLmdldFJhd0RhdGEoJ3N2ZycpO1xuICAgICAgaWYgKCFzdmdEYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGdlbmVyYXRlIFNWRycpO1xuICAgICAgfVxuICAgICAgYmxvYiA9IHN2Z0RhdGEgYXMgQmxvYjtcbiAgICAgIHN2ZyA9IGF3YWl0IGJsb2IudGV4dCgpO1xuICAgICAgZGF0YVVybCA9IGBkYXRhOiR7bWltZVR5cGV9O2Jhc2U2NCwke2J0b2Eoc3ZnKX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBHZXQgaW1hZ2UgYmxvYlxuICAgICAgY29uc3QgaW1hZ2VCbG9iID0gYXdhaXQgcXJDb2RlLmdldFJhd0RhdGEoZm9ybWF0IGFzICdwbmcnIHwgJ2pwZWcnIHwgJ3dlYnAnKTtcbiAgICAgIGlmICghaW1hZ2VCbG9iKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGdlbmVyYXRlIGltYWdlJyk7XG4gICAgICB9XG4gICAgICBibG9iID0gaW1hZ2VCbG9iIGFzIEJsb2I7XG4gICAgICBkYXRhVXJsID0gYXdhaXQgdGhpcy5ibG9iVG9EYXRhVXJsKGJsb2IpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb25maWc6IGZpbmFsQ29uZmlnLFxuICAgICAgZGF0YVVybCxcbiAgICAgIGJsb2IsXG4gICAgICBzdmcsXG4gICAgICBtaW1lVHlwZSxcbiAgICAgIGV4dGVuc2lvbixcbiAgICAgIGdlbmVyYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBRUiBjb2RlIHVzaW5nIGEgcHJlc2V0IGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwcmVzZXQgLSBQcmVzZXQgbmFtZSAoJ2RlZmF1bHQnLCAncm91bmRlZCcsICdkb3RzJywgJ2NsYXNzeScsICdtb2Rlcm4nKVxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gZW5jb2RlXG4gICAqIEBwYXJhbSBvdmVycmlkZXMgLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIG92ZXJyaWRlc1xuICAgKiBAcmV0dXJucyBQcm9taXNlPFFyUmVzdWx0PlxuICAgKi9cbiAgYXN5bmMgZ2VuZXJhdGVGcm9tUHJlc2V0KFxuICAgIHByZXNldDoga2V5b2YgdHlwZW9mIFFSX1BSRVNFVFMgfCBzdHJpbmcsXG4gICAgZGF0YTogc3RyaW5nLFxuICAgIG92ZXJyaWRlcz86IFBhcnRpYWw8UXJDb25maWc+XG4gICk6IFByb21pc2U8UXJSZXN1bHQ+IHtcbiAgICBjb25zdCBwcmVzZXRDb25maWcgPSBRUl9QUkVTRVRTW3ByZXNldF0gfHwgUVJfUFJFU0VUU1snZGVmYXVsdCddO1xuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlKHtcbiAgICAgIC4uLnByZXNldENvbmZpZyxcbiAgICAgIC4uLm92ZXJyaWRlcyxcbiAgICAgIGRhdGEsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWQgdGhlIFFSIGNvZGUgYXMgYSBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gcXIgLSBRUiByZXN1bHQgdG8gZG93bmxvYWRcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBEb3dubG9hZCBvcHRpb25zXG4gICAqL1xuICBhc3luYyBkb3dubG9hZChxcjogUXJSZXN1bHQsIG9wdGlvbnM/OiBRckRvd25sb2FkT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZpbGVuYW1lID0gb3B0aW9ucz8uZmlsZW5hbWUgfHwgYHFyLWNvZGUtJHtEYXRlLm5vdygpfWA7XG4gICAgY29uc3QgZm9ybWF0ID0gb3B0aW9ucz8uZm9ybWF0IHx8IHFyLmNvbmZpZy5mb3JtYXQgfHwgJ3BuZyc7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZm9ybWF0ID09PSAnanBlZycgPyAnanBnJyA6IGZvcm1hdDtcblxuICAgIGxldCBibG9iID0gcXIuYmxvYjtcblxuICAgIC8vIENvbnZlcnQgaWYgZGlmZmVyZW50IGZvcm1hdCByZXF1ZXN0ZWRcbiAgICBpZiAob3B0aW9ucz8uZm9ybWF0ICYmIG9wdGlvbnMuZm9ybWF0ICE9PSBxci5jb25maWcuZm9ybWF0KSB7XG4gICAgICBjb25zdCBuZXdRciA9IGF3YWl0IHRoaXMuZ2VuZXJhdGUoe1xuICAgICAgICAuLi5xci5jb25maWcsXG4gICAgICAgIGZvcm1hdDogb3B0aW9ucy5mb3JtYXQsXG4gICAgICB9KTtcbiAgICAgIGJsb2IgPSBuZXdRci5ibG9iO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBkb3dubG9hZCBsaW5rXG4gICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuaHJlZiA9IHVybDtcbiAgICBsaW5rLmRvd25sb2FkID0gYCR7ZmlsZW5hbWV9LiR7ZXh0ZW5zaW9ufWA7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICBsaW5rLmNsaWNrKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gIH1cblxuICAvKipcbiAgICogQ29weSB0aGUgUVIgY29kZSB0byBjbGlwYm9hcmQgYXMgYW4gaW1hZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBxciAtIFFSIHJlc3VsdCB0byBjb3B5XG4gICAqIEByZXR1cm5zIFByb21pc2U8Ym9vbGVhbj4gLSBXaGV0aGVyIGNvcHkgd2FzIHN1Y2Nlc3NmdWxcbiAgICovXG4gIGFzeW5jIGNvcHlUb0NsaXBib2FyZChxcjogUXJSZXN1bHQpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgLy8gQ2xpcGJvYXJkIEFQSSByZXF1aXJlcyBQTkcgZm9ybWF0XG4gICAgICBsZXQgcG5nQmxvYiA9IHFyLmJsb2I7XG5cbiAgICAgIGlmIChxci5taW1lVHlwZSAhPT0gJ2ltYWdlL3BuZycpIHtcbiAgICAgICAgY29uc3QgcG5nUXIgPSBhd2FpdCB0aGlzLmdlbmVyYXRlKHtcbiAgICAgICAgICAuLi5xci5jb25maWcsXG4gICAgICAgICAgZm9ybWF0OiAncG5nJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHBuZ0Jsb2IgPSBwbmdRci5ibG9iO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKFtcbiAgICAgICAgbmV3IENsaXBib2FyZEl0ZW0oe1xuICAgICAgICAgICdpbWFnZS9wbmcnOiBwbmdCbG9iLFxuICAgICAgICB9KSxcbiAgICAgIF0pO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGNvcHkgUVIgdG8gY2xpcGJvYXJkOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2hhcmUgdGhlIFFSIGNvZGUgdXNpbmcgV2ViIFNoYXJlIEFQSS5cbiAgICpcbiAgICogQHBhcmFtIHFyIC0gUVIgcmVzdWx0IHRvIHNoYXJlXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gU2hhcmUgb3B0aW9uc1xuICAgKiBAcmV0dXJucyBQcm9taXNlPGJvb2xlYW4+IC0gV2hldGhlciBzaGFyZSB3YXMgc3VjY2Vzc2Z1bFxuICAgKi9cbiAgYXN5bmMgc2hhcmUocXI6IFFyUmVzdWx0LCBvcHRpb25zPzogUXJTaGFyZU9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoIW5hdmlnYXRvci5zaGFyZSB8fCAhbmF2aWdhdG9yLmNhblNoYXJlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1dlYiBTaGFyZSBBUEkgbm90IGF2YWlsYWJsZScpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlbmFtZSA9IG9wdGlvbnM/LmZpbGVuYW1lIHx8IGBxci1jb2RlLSR7RGF0ZS5ub3coKX0uJHtxci5leHRlbnNpb259YDtcbiAgICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbcXIuYmxvYl0sIGZpbGVuYW1lLCB7IHR5cGU6IHFyLm1pbWVUeXBlIH0pO1xuXG4gICAgICBjb25zdCBzaGFyZURhdGE6IFNoYXJlRGF0YSA9IHtcbiAgICAgICAgdGl0bGU6IG9wdGlvbnM/LnRpdGxlIHx8ICdRUiBDb2RlJyxcbiAgICAgICAgdGV4dDogb3B0aW9ucz8udGV4dCxcbiAgICAgICAgZmlsZXM6IFtmaWxlXSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChuYXZpZ2F0b3IuY2FuU2hhcmUoc2hhcmVEYXRhKSkge1xuICAgICAgICBhd2FpdCBuYXZpZ2F0b3Iuc2hhcmUoc2hhcmVEYXRhKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZhbGxiYWNrIHdpdGhvdXQgZmlsZVxuICAgICAgYXdhaXQgbmF2aWdhdG9yLnNoYXJlKHtcbiAgICAgICAgdGl0bGU6IG9wdGlvbnM/LnRpdGxlIHx8ICdRUiBDb2RlJyxcbiAgICAgICAgdGV4dDogb3B0aW9ucz8udGV4dCxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKChlcnJvciBhcyBFcnJvcikubmFtZSAhPT0gJ0Fib3J0RXJyb3InKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzaGFyZSBRUjonLCBlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgUVIgY29kZSBhcyBhIGJhc2U2NCBzdHJpbmcgKHdpdGhvdXQgZGF0YSBVUkwgcHJlZml4KS5cbiAgICpcbiAgICogQHBhcmFtIHFyIC0gUVIgcmVzdWx0XG4gICAqIEByZXR1cm5zIEJhc2U2NCBzdHJpbmdcbiAgICovXG4gIHRvQmFzZTY0KHFyOiBRclJlc3VsdCk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlZml4ID0gYGRhdGE6JHtxci5taW1lVHlwZX07YmFzZTY0LGA7XG4gICAgaWYgKHFyLmRhdGFVcmwuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgICByZXR1cm4gcXIuZGF0YVVybC5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7XG4gICAgfVxuICAgIHJldHVybiBxci5kYXRhVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgUVIgY29kZSBhcyBhIGRhdGEgVVJMLlxuICAgKlxuICAgKiBAcGFyYW0gcXIgLSBRUiByZXN1bHRcbiAgICogQHJldHVybnMgRGF0YSBVUkwgc3RyaW5nXG4gICAqL1xuICB0b0RhdGFVcmwocXI6IFFyUmVzdWx0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gcXIuZGF0YVVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIFFSIGNvZGUgYXMgYSBCbG9iLlxuICAgKlxuICAgKiBAcGFyYW0gcXIgLSBRUiByZXN1bHRcbiAgICogQHJldHVybnMgQmxvYlxuICAgKi9cbiAgdG9CbG9iKHFyOiBRclJlc3VsdCk6IEJsb2Ige1xuICAgIHJldHVybiBxci5ibG9iO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIFdlYiBTaGFyZSBBUEkgaXMgYXZhaWxhYmxlLlxuICAgKi9cbiAgY2FuU2hhcmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKG5hdmlnYXRvci5zaGFyZSAmJiBuYXZpZ2F0b3IuY2FuU2hhcmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIENsaXBib2FyZCBBUEkgaXMgYXZhaWxhYmxlIGZvciBpbWFnZXMuXG4gICAqL1xuICBjYW5Db3B5VG9DbGlwYm9hcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKG5hdmlnYXRvci5jbGlwYm9hcmQgJiYgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSk7XG4gIH1cblxuICAvLyA9PT0gUHJpdmF0ZSBIZWxwZXJzID09PVxuXG4gIHByaXZhdGUgYnVpbGRDb2xvck9wdGlvbnMoY29sb3I/OiBRckNvbG9yQ29uZmlnKTogYW55IHtcbiAgICBpZiAoIWNvbG9yKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb2xvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB7IGNvbG9yIH07XG4gICAgfVxuXG4gICAgLy8gR3JhZGllbnRcbiAgICBjb25zdCBncmFkaWVudCA9IGNvbG9yIGFzIFFyR3JhZGllbnQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdyYWRpZW50OiB7XG4gICAgICAgIHR5cGU6IGdyYWRpZW50LnR5cGUsXG4gICAgICAgIHJvdGF0aW9uOiBncmFkaWVudC5yb3RhdGlvbiB8fCAwLFxuICAgICAgICBjb2xvclN0b3BzOiBncmFkaWVudC5jb2xvclN0b3BzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNaW1lVHlwZShmb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWltZVR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgcG5nOiAnaW1hZ2UvcG5nJyxcbiAgICAgIGpwZWc6ICdpbWFnZS9qcGVnJyxcbiAgICAgIHdlYnA6ICdpbWFnZS93ZWJwJyxcbiAgICAgIHN2ZzogJ2ltYWdlL3N2Zyt4bWwnLFxuICAgIH07XG4gICAgcmV0dXJuIG1pbWVUeXBlc1tmb3JtYXRdIHx8ICdpbWFnZS9wbmcnO1xuICB9XG5cbiAgcHJpdmF0ZSBibG9iVG9EYXRhVXJsKGJsb2I6IEJsb2IpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpO1xuICAgICAgcmVhZGVyLm9uZXJyb3IgPSByZWplY3Q7XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Default presets for quick styling.
3
+ */
4
+ export const QR_PRESETS = {
5
+ default: {
6
+ width: 300,
7
+ dotsStyle: 'square',
8
+ dotsColor: '#000000',
9
+ backgroundColor: '#ffffff',
10
+ errorCorrectionLevel: 'M',
11
+ },
12
+ rounded: {
13
+ width: 300,
14
+ dotsStyle: 'rounded',
15
+ cornersSquareStyle: 'extra-rounded',
16
+ cornersDotStyle: 'dot',
17
+ dotsColor: '#000000',
18
+ backgroundColor: '#ffffff',
19
+ },
20
+ dots: {
21
+ width: 300,
22
+ dotsStyle: 'dots',
23
+ cornersSquareStyle: 'dot',
24
+ cornersDotStyle: 'dot',
25
+ dotsColor: '#000000',
26
+ backgroundColor: '#ffffff',
27
+ },
28
+ classy: {
29
+ width: 300,
30
+ dotsStyle: 'classy',
31
+ cornersSquareStyle: 'extra-rounded',
32
+ cornersDotStyle: 'dot',
33
+ dotsColor: '#000000',
34
+ backgroundColor: '#ffffff',
35
+ },
36
+ modern: {
37
+ width: 300,
38
+ dotsStyle: 'extra-rounded',
39
+ cornersSquareStyle: 'extra-rounded',
40
+ cornersDotStyle: 'dot',
41
+ dotsColor: '#1a1a1a',
42
+ backgroundColor: '#ffffff',
43
+ margin: 2,
44
+ },
45
+ };
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3FyLWdlbmVyYXRvci90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrS0E7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQXNDO0lBQzNELE9BQU8sRUFBRTtRQUNQLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLFFBQVE7UUFDbkIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsZUFBZSxFQUFFLFNBQVM7UUFDMUIsb0JBQW9CLEVBQUUsR0FBRztLQUMxQjtJQUNELE9BQU8sRUFBRTtRQUNQLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLFNBQVM7UUFDcEIsa0JBQWtCLEVBQUUsZUFBZTtRQUNuQyxlQUFlLEVBQUUsS0FBSztRQUN0QixTQUFTLEVBQUUsU0FBUztRQUNwQixlQUFlLEVBQUUsU0FBUztLQUMzQjtJQUNELElBQUksRUFBRTtRQUNKLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLE1BQU07UUFDakIsa0JBQWtCLEVBQUUsS0FBSztRQUN6QixlQUFlLEVBQUUsS0FBSztRQUN0QixTQUFTLEVBQUUsU0FBUztRQUNwQixlQUFlLEVBQUUsU0FBUztLQUMzQjtJQUNELE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLFFBQVE7UUFDbkIsa0JBQWtCLEVBQUUsZUFBZTtRQUNuQyxlQUFlLEVBQUUsS0FBSztRQUN0QixTQUFTLEVBQUUsU0FBUztRQUNwQixlQUFlLEVBQUUsU0FBUztLQUMzQjtJQUNELE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLGVBQWU7UUFDMUIsa0JBQWtCLEVBQUUsZUFBZTtRQUNuQyxlQUFlLEVBQUUsS0FBSztRQUN0QixTQUFTLEVBQUUsU0FBUztRQUNwQixlQUFlLEVBQUUsU0FBUztRQUMxQixNQUFNLEVBQUUsQ0FBQztLQUNWO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3R5bGUgb3B0aW9ucyBmb3IgUVIgY29kZSBkb3RzIChkYXRhIG1vZHVsZXMpLlxuICovXG5leHBvcnQgdHlwZSBRckRvdHNTdHlsZSA9ICdzcXVhcmUnIHwgJ2RvdHMnIHwgJ3JvdW5kZWQnIHwgJ2V4dHJhLXJvdW5kZWQnIHwgJ2NsYXNzeScgfCAnY2xhc3N5LXJvdW5kZWQnO1xuXG4vKipcbiAqIFN0eWxlIG9wdGlvbnMgZm9yIFFSIGNvZGUgY29ybmVyIHNxdWFyZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFFyQ29ybmVyc1NxdWFyZVN0eWxlID0gJ3NxdWFyZScgfCAnZG90JyB8ICdleHRyYS1yb3VuZGVkJztcblxuLyoqXG4gKiBTdHlsZSBvcHRpb25zIGZvciBRUiBjb2RlIGNvcm5lciBkb3RzLlxuICovXG5leHBvcnQgdHlwZSBRckNvcm5lcnNEb3RTdHlsZSA9ICdzcXVhcmUnIHwgJ2RvdCc7XG5cbi8qKlxuICogT3V0cHV0IGZvcm1hdCBmb3IgdGhlIGdlbmVyYXRlZCBRUiBjb2RlLlxuICovXG5leHBvcnQgdHlwZSBRck91dHB1dEZvcm1hdCA9ICdzdmcnIHwgJ3BuZycgfCAnanBlZycgfCAnd2VicCc7XG5cbi8qKlxuICogRXJyb3IgY29ycmVjdGlvbiBsZXZlbCBmb3IgUVIgY29kZXMuXG4gKiBIaWdoZXIgbGV2ZWxzIGFsbG93IG1vcmUgZGFtYWdlIHRvbGVyYW5jZSBidXQgcmVkdWNlIGRhdGEgY2FwYWNpdHkuXG4gKi9cbmV4cG9ydCB0eXBlIFFyRXJyb3JDb3JyZWN0aW9uTGV2ZWwgPSAnTCcgfCAnTScgfCAnUScgfCAnSCc7XG5cbi8qKlxuICogTG9nby9pbWFnZSBjb25maWd1cmF0aW9uIGZvciB0aGUgUVIgY29kZSBjZW50ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXJMb2dvQ29uZmlnIHtcbiAgLyoqIEltYWdlIHNvdXJjZSBVUkwgb3IgYmFzZTY0ICovXG4gIHNyYzogc3RyaW5nO1xuICAvKiogTG9nbyB3aWR0aCAoZGVmYXVsdDogMjUlIG9mIFFSIHNpemUpICovXG4gIHdpZHRoPzogbnVtYmVyO1xuICAvKiogTG9nbyBoZWlnaHQgKGRlZmF1bHQ6IHNhbWUgYXMgd2lkdGgpICovXG4gIGhlaWdodD86IG51bWJlcjtcbiAgLyoqIE1hcmdpbiBhcm91bmQgdGhlIGxvZ28gKi9cbiAgbWFyZ2luPzogbnVtYmVyO1xuICAvKiogQm9yZGVyIHJhZGl1cyBmb3Igcm91bmRlZCBjb3JuZXJzICovXG4gIGJvcmRlclJhZGl1cz86IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgdG8gaGlkZSBkb3RzIGJlaGluZCB0aGUgbG9nbyAqL1xuICBoaWRlQmFja2dyb3VuZERvdHM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEdyYWRpZW50IGNvbmZpZ3VyYXRpb24gZm9yIFFSIGVsZW1lbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFFyR3JhZGllbnQge1xuICAvKiogR3JhZGllbnQgdHlwZSAqL1xuICB0eXBlOiAnbGluZWFyJyB8ICdyYWRpYWwnO1xuICAvKiogUm90YXRpb24gYW5nbGUgaW4gZGVncmVlcyAoZm9yIGxpbmVhcikgKi9cbiAgcm90YXRpb24/OiBudW1iZXI7XG4gIC8qKiBDb2xvciBzdG9wcyAqL1xuICBjb2xvclN0b3BzOiBBcnJheTx7XG4gICAgb2Zmc2V0OiBudW1iZXI7XG4gICAgY29sb3I6IHN0cmluZztcbiAgfT47XG59XG5cbi8qKlxuICogQ29sb3IgY29uZmlndXJhdGlvbiAtIGNhbiBiZSBzb2xpZCBjb2xvciBvciBncmFkaWVudC5cbiAqL1xuZXhwb3J0IHR5cGUgUXJDb2xvckNvbmZpZyA9IHN0cmluZyB8IFFyR3JhZGllbnQ7XG5cbi8qKlxuICogQ29tcGxldGUgY29uZmlndXJhdGlvbiBmb3IgUVIgY29kZSBnZW5lcmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFFyQ29uZmlnIHtcbiAgLyoqIFRoZSBkYXRhIHRvIGVuY29kZSAoVVJMLCB0ZXh0LCBldGMuKSAqL1xuICBkYXRhOiBzdHJpbmc7XG5cbiAgLy8gPT09IFNpemUgPT09XG4gIC8qKiBRUiBjb2RlIHdpZHRoIGluIHBpeGVscyAoZGVmYXVsdDogMzAwKSAqL1xuICB3aWR0aD86IG51bWJlcjtcbiAgLyoqIFFSIGNvZGUgaGVpZ2h0IGluIHBpeGVscyAoZGVmYXVsdDogc2FtZSBhcyB3aWR0aCkgKi9cbiAgaGVpZ2h0PzogbnVtYmVyO1xuICAvKiogUXVpZXQgem9uZSBtYXJnaW4gaW4gbW9kdWxlcyAoZGVmYXVsdDogMCkgKi9cbiAgbWFyZ2luPzogbnVtYmVyO1xuXG4gIC8vID09PSBDb2xvcnMgPT09XG4gIC8qKiBDb2xvci9ncmFkaWVudCBmb3IgZGF0YSBkb3RzICovXG4gIGRvdHNDb2xvcj86IFFyQ29sb3JDb25maWc7XG4gIC8qKiBCYWNrZ3JvdW5kIGNvbG9yIChkZWZhdWx0OiB3aGl0ZSkgKi9cbiAgYmFja2dyb3VuZENvbG9yPzogUXJDb2xvckNvbmZpZztcbiAgLyoqIENvbG9yIGZvciBjb3JuZXIgc3F1YXJlcyAqL1xuICBjb3JuZXJzU3F1YXJlQ29sb3I/OiBRckNvbG9yQ29uZmlnO1xuICAvKiogQ29sb3IgZm9yIGNvcm5lciBkb3RzICovXG4gIGNvcm5lcnNEb3RDb2xvcj86IFFyQ29sb3JDb25maWc7XG5cbiAgLy8gPT09IFN0eWxlcyA9PT1cbiAgLyoqIFN0eWxlIG9mIGRhdGEgZG90cyAoZGVmYXVsdDogJ3NxdWFyZScpICovXG4gIGRvdHNTdHlsZT86IFFyRG90c1N0eWxlO1xuICAvKiogU3R5bGUgb2YgY29ybmVyIHNxdWFyZXMgKGRlZmF1bHQ6ICdzcXVhcmUnKSAqL1xuICBjb3JuZXJzU3F1YXJlU3R5bGU/OiBRckNvcm5lcnNTcXVhcmVTdHlsZTtcbiAgLyoqIFN0eWxlIG9mIGNvcm5lciBkb3RzIChkZWZhdWx0OiAnc3F1YXJlJykgKi9cbiAgY29ybmVyc0RvdFN0eWxlPzogUXJDb3JuZXJzRG90U3R5bGU7XG5cbiAgLy8gPT09IExvZ28gPT09XG4gIC8qKiBMb2dvL2ltYWdlIGNvbmZpZ3VyYXRpb24gKi9cbiAgbG9nbz86IFFyTG9nb0NvbmZpZztcblxuICAvLyA9PT0gVGVjaG5pY2FsID09PVxuICAvKiogRXJyb3IgY29ycmVjdGlvbiBsZXZlbCAoZGVmYXVsdDogJ00nKSAqL1xuICBlcnJvckNvcnJlY3Rpb25MZXZlbD86IFFyRXJyb3JDb3JyZWN0aW9uTGV2ZWw7XG5cbiAgLy8gPT09IE91dHB1dCA9PT1cbiAgLyoqIE91dHB1dCBmb3JtYXQgKGRlZmF1bHQ6ICdwbmcnKSAqL1xuICBmb3JtYXQ/OiBRck91dHB1dEZvcm1hdDtcbiAgLyoqIFF1YWxpdHkgZm9yIGpwZWcvd2VicCAoMC0xLCBkZWZhdWx0OiAxKSAqL1xuICBxdWFsaXR5PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJlc3VsdCBmcm9tIFFSIGNvZGUgZ2VuZXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRclJlc3VsdCB7XG4gIC8qKiBPcmlnaW5hbCBjb25maWd1cmF0aW9uIHVzZWQgKi9cbiAgY29uZmlnOiBRckNvbmZpZztcbiAgLyoqIEdlbmVyYXRlZCBkYXRhIGFzIGJhc2U2NCBkYXRhIFVSTCAqL1xuICBkYXRhVXJsOiBzdHJpbmc7XG4gIC8qKiBHZW5lcmF0ZWQgZGF0YSBhcyBCbG9iICovXG4gIGJsb2I6IEJsb2I7XG4gIC8qKiBTVkcgc3RyaW5nIChvbmx5IHdoZW4gZm9ybWF0IGlzICdzdmcnKSAqL1xuICBzdmc/OiBzdHJpbmc7XG4gIC8qKiBNSU1FIHR5cGUgb2YgdGhlIGdlbmVyYXRlZCBpbWFnZSAqL1xuICBtaW1lVHlwZTogc3RyaW5nO1xuICAvKiogRmlsZSBleHRlbnNpb24gKi9cbiAgZXh0ZW5zaW9uOiBzdHJpbmc7XG4gIC8qKiBUaW1lc3RhbXAgb2YgZ2VuZXJhdGlvbiAqL1xuICBnZW5lcmF0ZWRBdDogRGF0ZTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBkb3dubG9hZGluZyB0aGUgUVIgY29kZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRckRvd25sb2FkT3B0aW9ucyB7XG4gIC8qKiBDdXN0b20gZmlsZW5hbWUgKHdpdGhvdXQgZXh0ZW5zaW9uKSAqL1xuICBmaWxlbmFtZT86IHN0cmluZztcbiAgLyoqIE92ZXJyaWRlIGZvcm1hdCBmb3IgZG93bmxvYWQgKi9cbiAgZm9ybWF0PzogUXJPdXRwdXRGb3JtYXQ7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Igc2hhcmluZyB0aGUgUVIgY29kZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRclNoYXJlT3B0aW9ucyB7XG4gIC8qKiBTaGFyZSB0aXRsZSAqL1xuICB0aXRsZT86IHN0cmluZztcbiAgLyoqIFNoYXJlIHRleHQvZGVzY3JpcHRpb24gKi9cbiAgdGV4dD86IHN0cmluZztcbiAgLyoqIEN1c3RvbSBmaWxlbmFtZSBmb3IgdGhlIHNoYXJlZCBmaWxlICovXG4gIGZpbGVuYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByZXNldCBjb25maWd1cmF0aW9ucyBmb3IgY29tbW9uIHVzZSBjYXNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRclByZXNldCB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29uZmlnOiBQYXJ0aWFsPFFyQ29uZmlnPjtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHByZXNldHMgZm9yIHF1aWNrIHN0eWxpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBRUl9QUkVTRVRTOiBSZWNvcmQ8c3RyaW5nLCBQYXJ0aWFsPFFyQ29uZmlnPj4gPSB7XG4gIGRlZmF1bHQ6IHtcbiAgICB3aWR0aDogMzAwLFxuICAgIGRvdHNTdHlsZTogJ3NxdWFyZScsXG4gICAgZG90c0NvbG9yOiAnIzAwMDAwMCcsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZmZmZicsXG4gICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWw6ICdNJyxcbiAgfSxcbiAgcm91bmRlZDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgZG90c1N0eWxlOiAncm91bmRlZCcsXG4gICAgY29ybmVyc1NxdWFyZVN0eWxlOiAnZXh0cmEtcm91bmRlZCcsXG4gICAgY29ybmVyc0RvdFN0eWxlOiAnZG90JyxcbiAgICBkb3RzQ29sb3I6ICcjMDAwMDAwJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZmZmJyxcbiAgfSxcbiAgZG90czoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgZG90c1N0eWxlOiAnZG90cycsXG4gICAgY29ybmVyc1NxdWFyZVN0eWxlOiAnZG90JyxcbiAgICBjb3JuZXJzRG90U3R5bGU6ICdkb3QnLFxuICAgIGRvdHNDb2xvcjogJyMwMDAwMDAnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJyNmZmZmZmYnLFxuICB9LFxuICBjbGFzc3k6IHtcbiAgICB3aWR0aDogMzAwLFxuICAgIGRvdHNTdHlsZTogJ2NsYXNzeScsXG4gICAgY29ybmVyc1NxdWFyZVN0eWxlOiAnZXh0cmEtcm91bmRlZCcsXG4gICAgY29ybmVyc0RvdFN0eWxlOiAnZG90JyxcbiAgICBkb3RzQ29sb3I6ICcjMDAwMDAwJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZmZmJyxcbiAgfSxcbiAgbW9kZXJuOiB7XG4gICAgd2lkdGg6IDMwMCxcbiAgICBkb3RzU3R5bGU6ICdleHRyYS1yb3VuZGVkJyxcbiAgICBjb3JuZXJzU3F1YXJlU3R5bGU6ICdleHRyYS1yb3VuZGVkJyxcbiAgICBjb3JuZXJzRG90U3R5bGU6ICdkb3QnLFxuICAgIGRvdHNDb2xvcjogJyMxYTFhMWEnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJyNmZmZmZmYnLFxuICAgIG1hcmdpbjogMixcbiAgfSxcbn07XG4iXX0=
@@ -132,13 +132,13 @@ export class ThemeService {
132
132
  break;
133
133
  }
134
134
  }
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
136
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
136
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
137
137
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeService, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThemeService, decorators: [{
139
139
  type: Injectable,
140
140
  args: [{
141
141
  providedIn: 'root',
142
142
  }]
143
143
  }], ctorParameters: () => [] });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTlELE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsOEJBQWUsQ0FBQTtJQUNmLDRCQUFhLENBQUE7SUFDYiw0QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCO0FBS0QsTUFBTSxPQUFPLFlBQVk7SUFrQ3ZCO1FBakNBOztXQUVHO1FBQ0gsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEI7O1dBRUc7UUFDSCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25COztXQUVHO1FBQ0gsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQjs7V0FFRztRQUNILGtCQUFhLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNqQzs7V0FFRztRQUNILGlCQUFZLEdBQUcsV0FBVyxDQUFDO1FBQzNCOztXQUVHO1FBQ0gsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEI7O1dBRUc7UUFDSCxZQUFPLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQU96QixNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQWMsS0FBSyxDQUFDLENBQUM7UUFDNUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxPQUFPLENBQUMsQ0FBQztR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QUM7SUFFRDs7O09BR0c7SUFDSCxvQkFBb0IsQ0FBQyxNQUFtQjtRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sS0FBSyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxLQUFLLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQztRQUU5QyxRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2YsS0FBSyxXQUFXLENBQUMsS0FBSztnQkFDcEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLFdBQVcsQ0FBQyxJQUFJO2dCQUNuQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsTUFBTTtZQUNSLEtBQUssV0FBVyxDQUFDLElBQUk7Z0JBQ25CLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDOUIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUMvQixDQUFDO2dCQUNELE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQzsrR0FwSVUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNlcnZpY2UgZm9yIG1hbmFnaW5nIGFwcGxpY2F0aW9uIHRoZW1lcyAobGlnaHQsIGRhcmssIGF1dG8pLlxuICogSGFuZGxlcyB1c2VyIHByZWZlcmVuY2VzLCBzeXN0ZW0gdGhlbWUgZGV0ZWN0aW9uLCBhbmQgdGhlbWUgdG9nZ2xpbmcuXG4gKiBVc2VzIGxvY2FsU3RvcmFnZSB0byBwZXJzaXN0IHRoZSBzZWxlY3RlZCB0aGVtZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRIRU1FIH0gZnJvbSAnLi4vc2hhcmVkL2NvbnN0YW50cy9zdG9yYWdlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5cbmV4cG9ydCBlbnVtIFRoZW1lT3B0aW9uIHtcbiAgTElHSFQgPSAnbGlnaHQnLFxuICBEQVJLID0gJ2RhcmsnLFxuICBBVVRPID0gJ2F1dG8nLFxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGlnaHQgdGhlbWUgaXMgYWN0aXZlLlxuICAgKi9cbiAgbGlnaHRUb2dnbGUgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgZGFyayB0aGVtZSBpcyBhY3RpdmUuXG4gICAqL1xuICBkYXJrVG9nZ2xlID0gZmFsc2U7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGF1dG8gdGhlbWUgaXMgYWN0aXZlLlxuICAgKi9cbiAgYXV0b1RvZ2dsZSA9IGZhbHNlO1xuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc2VsZWN0ZWQgdGhlbWUgb3B0aW9uLlxuICAgKi9cbiAgY3VycmVudE9wdGlvbiA9IFRoZW1lT3B0aW9uLkFVVE87XG4gIC8qKlxuICAgKiBFbnVtIHdpdGggYWxsIGF2YWlsYWJsZSB0aGVtZSBvcHRpb25zLlxuICAgKi9cbiAgdGhlbWVPcHRpb25zID0gVGhlbWVPcHRpb247XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzeXN0ZW0gcHJlZmVycyBkYXJrIG1vZGUuXG4gICAqL1xuICBwcmVmZXJzRGFyayA9IGZhbHNlO1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdGhlbWUgb3B0aW9uLlxuICAgKi9cbiAgZGVmYXVsdCA9IFRoZW1lT3B0aW9uLkFVVE87XG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIGZvciB0aGUgY3VycmVudCB0aGVtZS5cbiAgICovXG4gIHRoZW1lOiBCZWhhdmlvclN1YmplY3Q8VGhlbWVPcHRpb24+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBMb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldDxUaGVtZU9wdGlvbj4oVEhFTUUpO1xuICAgIGNvbnNvbGUubG9nKCfwn5KhIFRoZW1lQ29uZmlnIGN1cnJlbnQ6OjogJywgY3VycmVudCk7XG4gICAgdGhpcy50aGVtZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGhlbWVPcHRpb24+KGN1cnJlbnQgfHwgdGhpcy5kZWZhdWx0KTtcbiAgICB0aGlzLmN1cnJlbnRPcHRpb24gPSB0aGlzLlRoZW1lO1xuICAgIGNvbnNvbGUubG9nKCfwn5KhIFRoZW1lQ29uZmlnIHRoaXMuY3VycmVudE9wdGlvbjo6OiAnLCB0aGlzLmN1cnJlbnRPcHRpb24pO1xuICAgIHRoaXMudG9nZ2xlVXNlclByZWZlcmVuY2UodGhpcy5jdXJyZW50T3B0aW9uKTtcblxuICAgIGNvbnN0IHByZWZlcnNEYXJrUXVlcnkgPSB3aW5kb3cubWF0Y2hNZWRpYSgnKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKScpO1xuICAgIHRoaXMucHJlZmVyc0RhcmsgPSBwcmVmZXJzRGFya1F1ZXJ5Lm1hdGNoZXM7XG4gICAgdGhpcy5oYW5kbGVBdXRvQ29uZmlndXJhdGlvbigpO1xuXG4gICAgcHJlZmVyc0RhcmtRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBtZWRpYVF1ZXJ5ID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCfwn5KhIFRoZW1lQ29uZmlnIGFkZEV2ZW50TGlzdGVuZXIgY2hhbmdlOjo6ICcsIG1lZGlhUXVlcnkpO1xuICAgICAgdGhpcy5wcmVmZXJzRGFyayA9IG1lZGlhUXVlcnkubWF0Y2hlcztcbiAgICAgIHRoaXMuaGFuZGxlQXV0b0NvbmZpZ3VyYXRpb24oKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQXV0b0NvbmZpZ3VyYXRpb24oKSB7XG4gICAgaWYgKHRoaXMucHJlZmVyc0RhcmsgJiYgdGhpcy5jdXJyZW50T3B0aW9uID09PSBUaGVtZU9wdGlvbi5BVVRPKSB7XG4gICAgICBjb25zb2xlLmxvZygn8J+SoSBUaGVtZUNvbmZpZyBwcmVmZXJzRGFyazo6OiAnLCB0aGlzLnByZWZlcnNEYXJrKTtcbiAgICAgIHRoaXMudG9nZ2xlVXNlclByZWZlcmVuY2UoVGhlbWVPcHRpb24uQVVUTyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5wcmVmZXJzRGFyayAmJiB0aGlzLmN1cnJlbnRPcHRpb24gPT09IFRoZW1lT3B0aW9uLkFVVE8pIHtcbiAgICAgIGNvbnNvbGUubG9nKCfwn5KhIFRoZW1lQ29uZmlnIHByZWZlcnNEYXJrOjo6ICcsIHRoaXMucHJlZmVyc0RhcmspO1xuICAgICAgdGhpcy50b2dnbGVVc2VyUHJlZmVyZW5jZShUaGVtZU9wdGlvbi5BVVRPKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURhcmtQcmVmZXJlbmNlKCkge1xuICAgIHRoaXMudG9nZ2xlVGhlbWUoVGhlbWVPcHRpb24uREFSSywgdHJ1ZSk7XG4gICAgdGhpcy50b2dnbGVUaGVtZShUaGVtZU9wdGlvbi5MSUdIVCwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMaWdodFByZWZlcmVuY2UoKSB7XG4gICAgdGhpcy50b2dnbGVUaGVtZShUaGVtZU9wdGlvbi5MSUdIVCwgdHJ1ZSk7XG4gICAgdGhpcy50b2dnbGVUaGVtZShUaGVtZU9wdGlvbi5EQVJLLCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBzeXN0ZW0gcHJlZmVycyBkYXJrIG1vZGUuXG4gICAqL1xuICBnZXQgSXNEYXJrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByZWZlcnNEYXJrO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgdGhlbWUgb3B0aW9uLlxuICAgKi9cbiAgZ2V0IFRoZW1lKCk6IFRoZW1lT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy50aGVtZS52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjdXJyZW50IHRoZW1lIG9wdGlvbiBhbmQgcGVyc2lzdHMgaXQuXG4gICAqL1xuICBzZXQgVGhlbWUodGhlbWU6IFRoZW1lT3B0aW9uKSB7XG4gICAgdGhpcy50aGVtZS5uZXh0KHRoZW1lKTtcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldDxUaGVtZU9wdGlvbj4oVEhFTUUsIHRoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIGEgdGhlbWUgY2xhc3Mgb24gdGhlIGRvY3VtZW50IGJvZHkuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSB0aGVtZSBuYW1lXG4gICAqIEBwYXJhbSBzaG91bGRBZGQgV2hldGhlciB0byBhZGQgb3IgcmVtb3ZlIHRoZSBjbGFzc1xuICAgKi9cbiAgdG9nZ2xlVGhlbWUobmFtZTogc3RyaW5nLCBzaG91bGRBZGQ6IGJvb2xlYW4pIHtcbiAgICBjb25zb2xlLmxvZygndG9nZ2xlVGhlbWU6OjogJywgbmFtZSwgc2hvdWxkQWRkKTtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUobmFtZSwgc2hvdWxkQWRkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB1c2VyIHRoZW1lIHByZWZlcmVuY2UgYW5kIHVwZGF0ZXMgdG9nZ2xlcyBhbmQgdGhlbWUgY2xhc3Nlcy5cbiAgICogQHBhcmFtIG9wdGlvbiBUaGUgc2VsZWN0ZWQgdGhlbWUgb3B0aW9uXG4gICAqL1xuICB0b2dnbGVVc2VyUHJlZmVyZW5jZShvcHRpb246IFRoZW1lT3B0aW9uKSB7XG4gICAgdGhpcy5jdXJyZW50T3B0aW9uID0gb3B0aW9uO1xuICAgIHRoaXMuVGhlbWUgPSBvcHRpb247XG4gICAgdGhpcy5saWdodFRvZ2dsZSA9IG9wdGlvbiA9PT0gVGhlbWVPcHRpb24uTElHSFQ7XG4gICAgdGhpcy5kYXJrVG9nZ2xlID0gb3B0aW9uID09PSBUaGVtZU9wdGlvbi5EQVJLO1xuICAgIHRoaXMuYXV0b1RvZ2dsZSA9IG9wdGlvbiA9PT0gVGhlbWVPcHRpb24uQVVUTztcblxuICAgIHN3aXRjaCAob3B0aW9uKSB7XG4gICAgICBjYXNlIFRoZW1lT3B0aW9uLkxJR0hUOlxuICAgICAgICB0aGlzLmhhbmRsZUxpZ2h0UHJlZmVyZW5jZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVGhlbWVPcHRpb24uREFSSzpcbiAgICAgICAgdGhpcy5oYW5kbGVEYXJrUHJlZmVyZW5jZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVGhlbWVPcHRpb24uQVVUTzpcbiAgICAgICAgaWYgKHRoaXMucHJlZmVyc0RhcmspIHtcbiAgICAgICAgICB0aGlzLmhhbmRsZURhcmtQcmVmZXJlbmNlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVMaWdodFByZWZlcmVuY2UoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFOUQsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQiw4QkFBZSxDQUFBO0lBQ2YsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQWtDdkI7UUFqQ0E7O1dBRUc7UUFDSCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQjs7V0FFRztRQUNILGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkI7O1dBRUc7UUFDSCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25COztXQUVHO1FBQ0gsa0JBQWEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2pDOztXQUVHO1FBQ0gsaUJBQVksR0FBRyxXQUFXLENBQUM7UUFDM0I7O1dBRUc7UUFDSCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQjs7V0FFRztRQUNILFlBQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBT3pCLE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBYyxLQUFLLENBQUMsQ0FBQztRQUM1RCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQWMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU5QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUM1QyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUUvQixnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDdkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDdEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoRSxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqRSxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksS0FBSyxDQUFDLEtBQWtCO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLG1CQUFtQixDQUFDLEdBQUcsQ0FBYyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsSUFBWSxFQUFFLFNBQWtCO1FBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLE1BQW1CO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxLQUFLLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBRTlDLFFBQVEsTUFBTSxFQUFFLENBQUM7WUFDZixLQUFLLFdBQVcsQ0FBQyxLQUFLO2dCQUNwQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDN0IsTUFBTTtZQUNSLEtBQUssV0FBVyxDQUFDLElBQUk7Z0JBQ25CLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUM1QixNQUFNO1lBQ1IsS0FBSyxXQUFXLENBQUMsSUFBSTtnQkFDbkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUM5QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQy9CLENBQUM7Z0JBQ0QsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDOytHQXBJVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgYXBwbGljYXRpb24gdGhlbWVzIChsaWdodCwgZGFyaywgYXV0bykuXG4gKiBIYW5kbGVzIHVzZXIgcHJlZmVyZW5jZXMsIHN5c3RlbSB0aGVtZSBkZXRlY3Rpb24sIGFuZCB0aGVtZSB0b2dnbGluZy5cbiAqIFVzZXMgbG9jYWxTdG9yYWdlIHRvIHBlcnNpc3QgdGhlIHNlbGVjdGVkIHRoZW1lLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVEhFTUUgfSBmcm9tICcuLi9zaGFyZWQvY29uc3RhbnRzL3N0b3JhZ2UnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcblxuZXhwb3J0IGVudW0gVGhlbWVPcHRpb24ge1xuICBMSUdIVCA9ICdsaWdodCcsXG4gIERBUksgPSAnZGFyaycsXG4gIEFVVE8gPSAnYXV0bycsXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlcnZpY2Uge1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaWdodCB0aGVtZSBpcyBhY3RpdmUuXG4gICAqL1xuICBsaWdodFRvZ2dsZSA9IGZhbHNlO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBkYXJrIHRoZW1lIGlzIGFjdGl2ZS5cbiAgICovXG4gIGRhcmtUb2dnbGUgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgYXV0byB0aGVtZSBpcyBhY3RpdmUuXG4gICAqL1xuICBhdXRvVG9nZ2xlID0gZmFsc2U7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzZWxlY3RlZCB0aGVtZSBvcHRpb24uXG4gICAqL1xuICBjdXJyZW50T3B0aW9uID0gVGhlbWVPcHRpb24uQVVUTztcbiAgLyoqXG4gICAqIEVudW0gd2l0aCBhbGwgYXZhaWxhYmxlIHRoZW1lIG9wdGlvbnMuXG4gICAqL1xuICB0aGVtZU9wdGlvbnMgPSBUaGVtZU9wdGlvbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHN5c3RlbSBwcmVmZXJzIGRhcmsgbW9kZS5cbiAgICovXG4gIHByZWZlcnNEYXJrID0gZmFsc2U7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB0aGVtZSBvcHRpb24uXG4gICAqL1xuICBkZWZhdWx0ID0gVGhlbWVPcHRpb24uQVVUTztcbiAgLyoqXG4gICAqIE9ic2VydmFibGUgZm9yIHRoZSBjdXJyZW50IHRoZW1lLlxuICAgKi9cbiAgdGhlbWU6IEJlaGF2aW9yU3ViamVjdDxUaGVtZU9wdGlvbj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgY3VycmVudCA9IExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0PFRoZW1lT3B0aW9uPihUSEVNRSk7XG4gICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgY3VycmVudDo6OiAnLCBjdXJyZW50KTtcbiAgICB0aGlzLnRoZW1lID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUaGVtZU9wdGlvbj4oY3VycmVudCB8fCB0aGlzLmRlZmF1bHQpO1xuICAgIHRoaXMuY3VycmVudE9wdGlvbiA9IHRoaXMuVGhlbWU7XG4gICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgdGhpcy5jdXJyZW50T3B0aW9uOjo6ICcsIHRoaXMuY3VycmVudE9wdGlvbik7XG4gICAgdGhpcy50b2dnbGVVc2VyUHJlZmVyZW5jZSh0aGlzLmN1cnJlbnRPcHRpb24pO1xuXG4gICAgY29uc3QgcHJlZmVyc0RhcmtRdWVyeSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJyk7XG4gICAgdGhpcy5wcmVmZXJzRGFyayA9IHByZWZlcnNEYXJrUXVlcnkubWF0Y2hlcztcbiAgICB0aGlzLmhhbmRsZUF1dG9Db25maWd1cmF0aW9uKCk7XG5cbiAgICBwcmVmZXJzRGFya1F1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG1lZGlhUXVlcnkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgYWRkRXZlbnRMaXN0ZW5lciBjaGFuZ2U6OjogJywgbWVkaWFRdWVyeSk7XG4gICAgICB0aGlzLnByZWZlcnNEYXJrID0gbWVkaWFRdWVyeS5tYXRjaGVzO1xuICAgICAgdGhpcy5oYW5kbGVBdXRvQ29uZmlndXJhdGlvbigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBdXRvQ29uZmlndXJhdGlvbigpIHtcbiAgICBpZiAodGhpcy5wcmVmZXJzRGFyayAmJiB0aGlzLmN1cnJlbnRPcHRpb24gPT09IFRoZW1lT3B0aW9uLkFVVE8pIHtcbiAgICAgIGNvbnNvbGUubG9nKCfwn5KhIFRoZW1lQ29uZmlnIHByZWZlcnNEYXJrOjo6ICcsIHRoaXMucHJlZmVyc0RhcmspO1xuICAgICAgdGhpcy50b2dnbGVVc2VyUHJlZmVyZW5jZShUaGVtZU9wdGlvbi5BVVRPKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnByZWZlcnNEYXJrICYmIHRoaXMuY3VycmVudE9wdGlvbiA9PT0gVGhlbWVPcHRpb24uQVVUTykge1xuICAgICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgcHJlZmVyc0Rhcms6OjogJywgdGhpcy5wcmVmZXJzRGFyayk7XG4gICAgICB0aGlzLnRvZ2dsZVVzZXJQcmVmZXJlbmNlKFRoZW1lT3B0aW9uLkFVVE8pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRGFya1ByZWZlcmVuY2UoKSB7XG4gICAgdGhpcy50b2dnbGVUaGVtZShUaGVtZU9wdGlvbi5EQVJLLCB0cnVlKTtcbiAgICB0aGlzLnRvZ2dsZVRoZW1lKFRoZW1lT3B0aW9uLkxJR0hULCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxpZ2h0UHJlZmVyZW5jZSgpIHtcbiAgICB0aGlzLnRvZ2dsZVRoZW1lKFRoZW1lT3B0aW9uLkxJR0hULCB0cnVlKTtcbiAgICB0aGlzLnRvZ2dsZVRoZW1lKFRoZW1lT3B0aW9uLkRBUkssIGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHN5c3RlbSBwcmVmZXJzIGRhcmsgbW9kZS5cbiAgICovXG4gIGdldCBJc0RhcmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJlZmVyc0Rhcms7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCB0aGVtZSBvcHRpb24uXG4gICAqL1xuICBnZXQgVGhlbWUoKTogVGhlbWVPcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnRoZW1lLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGN1cnJlbnQgdGhlbWUgb3B0aW9uIGFuZCBwZXJzaXN0cyBpdC5cbiAgICovXG4gIHNldCBUaGVtZSh0aGVtZTogVGhlbWVPcHRpb24pIHtcbiAgICB0aGlzLnRoZW1lLm5leHQodGhlbWUpO1xuICAgIExvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0PFRoZW1lT3B0aW9uPihUSEVNRSwgdGhlbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgYSB0aGVtZSBjbGFzcyBvbiB0aGUgZG9jdW1lbnQgYm9keS5cbiAgICogQHBhcmFtIG5hbWUgVGhlIHRoZW1lIG5hbWVcbiAgICogQHBhcmFtIHNob3VsZEFkZCBXaGV0aGVyIHRvIGFkZCBvciByZW1vdmUgdGhlIGNsYXNzXG4gICAqL1xuICB0b2dnbGVUaGVtZShuYW1lOiBzdHJpbmcsIHNob3VsZEFkZDogYm9vbGVhbikge1xuICAgIGNvbnNvbGUubG9nKCd0b2dnbGVUaGVtZTo6OiAnLCBuYW1lLCBzaG91bGRBZGQpO1xuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZShuYW1lLCBzaG91bGRBZGQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHVzZXIgdGhlbWUgcHJlZmVyZW5jZSBhbmQgdXBkYXRlcyB0b2dnbGVzIGFuZCB0aGVtZSBjbGFzc2VzLlxuICAgKiBAcGFyYW0gb3B0aW9uIFRoZSBzZWxlY3RlZCB0aGVtZSBvcHRpb25cbiAgICovXG4gIHRvZ2dsZVVzZXJQcmVmZXJlbmNlKG9wdGlvbjogVGhlbWVPcHRpb24pIHtcbiAgICB0aGlzLmN1cnJlbnRPcHRpb24gPSBvcHRpb247XG4gICAgdGhpcy5UaGVtZSA9IG9wdGlvbjtcbiAgICB0aGlzLmxpZ2h0VG9nZ2xlID0gb3B0aW9uID09PSBUaGVtZU9wdGlvbi5MSUdIVDtcbiAgICB0aGlzLmRhcmtUb2dnbGUgPSBvcHRpb24gPT09IFRoZW1lT3B0aW9uLkRBUks7XG4gICAgdGhpcy5hdXRvVG9nZ2xlID0gb3B0aW9uID09PSBUaGVtZU9wdGlvbi5BVVRPO1xuXG4gICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgIGNhc2UgVGhlbWVPcHRpb24uTElHSFQ6XG4gICAgICAgIHRoaXMuaGFuZGxlTGlnaHRQcmVmZXJlbmNlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUaGVtZU9wdGlvbi5EQVJLOlxuICAgICAgICB0aGlzLmhhbmRsZURhcmtQcmVmZXJlbmNlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUaGVtZU9wdGlvbi5BVVRPOlxuICAgICAgICBpZiAodGhpcy5wcmVmZXJzRGFyaykge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRGFya1ByZWZlcmVuY2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUxpZ2h0UHJlZmVyZW5jZSgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -35,13 +35,13 @@ export class ToastService {
35
35
  console.error(JSON.stringify(error));
36
36
  });
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastService, deps: [{ token: i1.ToastController }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastService, providedIn: 'root' }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastService, deps: [{ token: i1.ToastController }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastService, providedIn: 'root' }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastService, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastService, decorators: [{
42
42
  type: Injectable,
43
43
  args: [{
44
44
  providedIn: 'root',
45
45
  }]
46
46
  }], ctorParameters: () => [{ type: i1.ToastController }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRzNDOzs7R0FHRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFxQjtRQUN0QyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBQzlDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDMUIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztTQUNyQixDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLE9BQXFCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO2FBQ3ZCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0E5QlUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdENvbnRyb2xsZXIsIFRvYXN0T3B0aW9ucyB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBkaXNwbGF5aW5nIHRvYXN0IG5vdGlmaWNhdGlvbnMgdXNpbmcgSW9uaWMncyBUb2FzdENvbnRyb2xsZXIuXG4gKiBQcm92aWRlcyBtZXRob2RzIHRvIHNob3cgYW5kIHByZXNlbnQgdG9hc3RzIHdpdGggY3VzdG9tIG9wdGlvbnMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyKSB7fVxuXG4gIC8qKlxuICAgKiBQcmVzZW50cyBhIHRvYXN0IG5vdGlmaWNhdGlvbiB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKiBAcGFyYW0gcmVxdWVzdCBUb2FzdCBvcHRpb25zIChtZXNzYWdlLCBkdXJhdGlvbiwgcG9zaXRpb24sIGNvbG9yLCBldGMuKVxuICAgKi9cbiAgYXN5bmMgcHJlc2VudFRvYXN0KHJlcXVlc3Q6IFRvYXN0T3B0aW9ucykge1xuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIG1lc3NhZ2U6IHJlcXVlc3QubWVzc2FnZSxcbiAgICAgIGR1cmF0aW9uOiByZXF1ZXN0LmR1cmF0aW9uLFxuICAgICAgcG9zaXRpb246IHJlcXVlc3QucG9zaXRpb24sXG4gICAgICBjb2xvcjogcmVxdWVzdC5jb2xvcixcbiAgICB9KTtcblxuICAgIGF3YWl0IHRvYXN0LnByZXNlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93cyBhIHRvYXN0IG5vdGlmaWNhdGlvbiBhbmQgbG9ncyB0aGUgcmVzdWx0LlxuICAgKiBAcGFyYW0gcmVxdWVzdCBUb2FzdCBvcHRpb25zIChtZXNzYWdlLCBkdXJhdGlvbiwgcG9zaXRpb24sIGNvbG9yLCBldGMuKVxuICAgKi9cbiAgc2hvdyhyZXF1ZXN0OiBUb2FzdE9wdGlvbnMpIHtcbiAgICB0aGlzLnByZXNlbnRUb2FzdChyZXF1ZXN0KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmluZm8oJ1RvYXN0IGNyZWF0ZWQnKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHM0M7OztHQUdHO0FBSUgsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQztJQUV4RDs7O09BR0c7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQXFCO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDMUIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1NBQ3JCLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsT0FBcUI7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7YUFDdkIsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTlCVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciwgVG9hc3RPcHRpb25zIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGRpc3BsYXlpbmcgdG9hc3Qgbm90aWZpY2F0aW9ucyB1c2luZyBJb25pYydzIFRvYXN0Q29udHJvbGxlci5cbiAqIFByb3ZpZGVzIG1ldGhvZHMgdG8gc2hvdyBhbmQgcHJlc2VudCB0b2FzdHMgd2l0aCBjdXN0b20gb3B0aW9ucy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIpIHt9XG5cbiAgLyoqXG4gICAqIFByZXNlbnRzIGEgdG9hc3Qgbm90aWZpY2F0aW9uIHdpdGggdGhlIGdpdmVuIG9wdGlvbnMuXG4gICAqIEBwYXJhbSByZXF1ZXN0IFRvYXN0IG9wdGlvbnMgKG1lc3NhZ2UsIGR1cmF0aW9uLCBwb3NpdGlvbiwgY29sb3IsIGV0Yy4pXG4gICAqL1xuICBhc3luYyBwcmVzZW50VG9hc3QocmVxdWVzdDogVG9hc3RPcHRpb25zKSB7XG4gICAgY29uc3QgdG9hc3QgPSBhd2FpdCB0aGlzLnRvYXN0Q29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgbWVzc2FnZTogcmVxdWVzdC5tZXNzYWdlLFxuICAgICAgZHVyYXRpb246IHJlcXVlc3QuZHVyYXRpb24sXG4gICAgICBwb3NpdGlvbjogcmVxdWVzdC5wb3NpdGlvbixcbiAgICAgIGNvbG9yOiByZXF1ZXN0LmNvbG9yLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdG9hc3QucHJlc2VudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIGEgdG9hc3Qgbm90aWZpY2F0aW9uIGFuZCBsb2dzIHRoZSByZXN1bHQuXG4gICAqIEBwYXJhbSByZXF1ZXN0IFRvYXN0IG9wdGlvbnMgKG1lc3NhZ2UsIGR1cmF0aW9uLCBwb3NpdGlvbiwgY29sb3IsIGV0Yy4pXG4gICAqL1xuICBzaG93KHJlcXVlc3Q6IFRvYXN0T3B0aW9ucykge1xuICAgIHRoaXMucHJlc2VudFRvYXN0KHJlcXVlc3QpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuaW5mbygnVG9hc3QgY3JlYXRlZCcpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoSlNPTi5zdHJpbmdpZnkoZXJyb3IpKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const ValtechConfigService = new InjectionToken('ValtechConfig');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTy9DLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJy4vbGFuZy1wcm92aWRlci9jb250ZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBWYWx0ZWNoQ29uZmlnIHtcbiAgY29udGVudDogUHJvdmlkZXI7XG59XG5cbmV4cG9ydCBjb25zdCBWYWx0ZWNoQ29uZmlnU2VydmljZSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxWYWx0ZWNoQ29uZmlnPignVmFsdGVjaENvbmZpZycpO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQWdCLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnLi9sYW5nLXByb3ZpZGVyL2NvbnRlbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hDb25maWcge1xuICBjb250ZW50OiBQcm92aWRlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFZhbHRlY2hDb25maWdTZXJ2aWNlID0gbmV3IEluamVjdGlvblRva2VuPFZhbHRlY2hDb25maWc+KCdWYWx0ZWNoQ29uZmlnJyk7XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export const LANG = 'LANG';
2
2
  export const THEME = 'THEME';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC9jb25zdGFudHMvc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTEFORyA9ICdMQU5HJztcbmV4cG9ydCBjb25zdCBUSEVNRSA9ICdUSEVNRSc7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2hhcmVkL2NvbnN0YW50cy9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFDM0IsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBMQU5HID0gJ0xBTkcnO1xuZXhwb3J0IGNvbnN0IFRIRU1FID0gJ1RIRU1FJztcbiJdfQ==
@@ -56,14 +56,14 @@ export class ProcessLinksPipe {
56
56
  }
57
57
  return this.linkProcessor.processLinks(value, config);
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinksPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
60
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinksPipe, isStandalone: true, name: "processLinks" }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProcessLinksPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
60
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ProcessLinksPipe, isStandalone: true, name: "processLinks" }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinksPipe, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProcessLinksPipe, decorators: [{
63
63
  type: Pipe,
64
64
  args: [{
65
65
  name: 'processLinks',
66
66
  standalone: true,
67
67
  }]
68
68
  }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3BpcGVzL3Byb2Nlc3MtbGlua3MucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUF1QixvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUVsRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQUtILE1BQU0sT0FBTyxnQkFBZ0I7SUFKN0I7UUFLVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0tBeUJ0RDtJQXZCQzs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSCxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQTRCO1FBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7K0dBekJVLGdCQUFnQjs2R0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxjQUFjO29CQUNwQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBMaW5rUHJvY2Vzc29yQ29uZmlnLCBMaW5rUHJvY2Vzc29yU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpbmstcHJvY2Vzc29yLnNlcnZpY2UnO1xuXG4vKipcbiAqIFByb2Nlc3NMaW5rc1BpcGUgLSBQaXBlIHBhcmEgcHJvY2VzYXIgdGV4dG8geSBjb252ZXJ0aXIgVVJMcyBlbiBlbmxhY2VzIGNsaWNrZWFibGVzLlxuICpcbiAqIEVzdGUgcGlwZSBzdGFuZGFsb25lIGRldGVjdGEgYXV0b23DoXRpY2FtZW50ZSBVUkxzIGV4dGVybmFzIChodHRwL2h0dHBzKSB5IHJ1dGFzIGludGVybmFzXG4gKiAocXVlIGVtcGllemFuIGNvbiAvKSB5IGxhcyBjb252aWVydGUgZW4gZWxlbWVudG9zIEhUTUwgYW5jaG9yIGNvbiBsb3MgYXRyaWJ1dG9zIGFwcm9waWFkb3MuXG4gKlxuICogQGV4YW1wbGUgVXNvIGLDoXNpY286XG4gKiBgYGBodG1sXG4gKiA8ZGl2IFtpbm5lckhUTUxdPVwiJ1Zpc2l0IGh0dHBzOi8vZXhhbXBsZS5jb20gb3IgZ28gdG8gL3Byb2ZpbGUnIHwgcHJvY2Vzc0xpbmtzXCI+PC9kaXY+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBDb24gY29uZmlndXJhY2nDs24gcGVyc29uYWxpemFkYTpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgW2lubmVySFRNTF09XCJ0ZXh0IHwgcHJvY2Vzc0xpbmtzOmxpbmtDb25maWdcIj48L2Rpdj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIEVuIFR5cGVTY3JpcHQ6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleHBvcnQgY2xhc3MgTXlDb21wb25lbnQge1xuICogICBsaW5rQ29uZmlnOiBMaW5rUHJvY2Vzc29yQ29uZmlnID0ge1xuICogICAgIG9wZW5FeHRlcm5hbEluTmV3VGFiOiB0cnVlLFxuICogICAgIG9wZW5JbnRlcm5hbEluTmV3VGFiOiBmYWxzZSxcbiAqICAgICBsaW5rQ2xhc3M6ICdteS1saW5rJyxcbiAqICAgICBleHRlcm5hbExpbmtDbGFzczogJ2V4dGVybmFsJyxcbiAqICAgICBpbnRlcm5hbExpbmtDbGFzczogJ2ludGVybmFsJ1xuICogICB9O1xuICogfVxuICogYGBgXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ3Byb2Nlc3NMaW5rcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NMaW5rc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBsaW5rUHJvY2Vzc29yID0gaW5qZWN0KExpbmtQcm9jZXNzb3JTZXJ2aWNlKTtcblxuICAvKipcbiAgICogVHJhbnNmb3JtYSB0ZXh0byBwcm9jZXNhbmRvIFVSTHMgeSBydXRhcyBpbnRlcm5hcyBwYXJhIGNvbnZlcnRpcmxhcyBlbiBlbmxhY2VzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBFbCB0ZXh0byBhIHByb2Nlc2FyXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb25maWd1cmFjacOzbiBvcGNpb25hbCBwYXJhIGVsIHByb2Nlc2FtaWVudG8gZGUgZW5sYWNlc1xuICAgKiBAcmV0dXJucyBTYWZlSHRtbCBjb24gZW5sYWNlcyBwcm9jZXNhZG9zIG8gc3RyaW5nIG9yaWdpbmFsIHNpIG5vIGhheSBlbmxhY2VzXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPCEtLSBVc28gYsOhc2ljbyAtLT5cbiAgICogPHAgW2lubmVySFRNTF09XCInQ2hlY2sgb3V0IGh0dHBzOi8vYW5ndWxhci5pbycgfCBwcm9jZXNzTGlua3NcIj48L3A+XG4gICAqXG4gICAqIDwhLS0gQ29uIGNvbmZpZ3VyYWNpw7NuIC0tPlxuICAgKiA8cCBbaW5uZXJIVE1MXT1cIm1lc3NhZ2UgfCBwcm9jZXNzTGlua3M6eyBvcGVuRXh0ZXJuYWxJbk5ld1RhYjogZmFsc2UgfVwiPjwvcD5cbiAgICogYGBgXG4gICAqL1xuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgY29uZmlnPzogTGlua1Byb2Nlc3NvckNvbmZpZyk6IFNhZmVIdG1sIHwgc3RyaW5nIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubGlua1Byb2Nlc3Nvci5wcm9jZXNzTGlua3ModmFsdWUsIGNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zaGFyZWQvcGlwZXMvcHJvY2Vzcy1saW5rcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQXVCLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRWxHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBS0gsTUFBTSxPQUFPLGdCQUFnQjtJQUo3QjtRQUtVLGtCQUFhLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0F5QnREO0lBdkJDOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNILFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBNEI7UUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEQsQ0FBQzsrR0F6QlUsZ0JBQWdCOzZHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IExpbmtQcm9jZXNzb3JDb25maWcsIExpbmtQcm9jZXNzb3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGluay1wcm9jZXNzb3Iuc2VydmljZSc7XG5cbi8qKlxuICogUHJvY2Vzc0xpbmtzUGlwZSAtIFBpcGUgcGFyYSBwcm9jZXNhciB0ZXh0byB5IGNvbnZlcnRpciBVUkxzIGVuIGVubGFjZXMgY2xpY2tlYWJsZXMuXG4gKlxuICogRXN0ZSBwaXBlIHN0YW5kYWxvbmUgZGV0ZWN0YSBhdXRvbcOhdGljYW1lbnRlIFVSTHMgZXh0ZXJuYXMgKGh0dHAvaHR0cHMpIHkgcnV0YXMgaW50ZXJuYXNcbiAqIChxdWUgZW1waWV6YW4gY29uIC8pIHkgbGFzIGNvbnZpZXJ0ZSBlbiBlbGVtZW50b3MgSFRNTCBhbmNob3IgY29uIGxvcyBhdHJpYnV0b3MgYXByb3BpYWRvcy5cbiAqXG4gKiBAZXhhbXBsZSBVc28gYsOhc2ljbzpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgW2lubmVySFRNTF09XCInVmlzaXQgaHR0cHM6Ly9leGFtcGxlLmNvbSBvciBnbyB0byAvcHJvZmlsZScgfCBwcm9jZXNzTGlua3NcIj48L2Rpdj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIENvbiBjb25maWd1cmFjacOzbiBwZXJzb25hbGl6YWRhOlxuICogYGBgaHRtbFxuICogPGRpdiBbaW5uZXJIVE1MXT1cInRleHQgfCBwcm9jZXNzTGlua3M6bGlua0NvbmZpZ1wiPjwvZGl2PlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgRW4gVHlwZVNjcmlwdDpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCB7XG4gKiAgIGxpbmtDb25maWc6IExpbmtQcm9jZXNzb3JDb25maWcgPSB7XG4gKiAgICAgb3BlbkV4dGVybmFsSW5OZXdUYWI6IHRydWUsXG4gKiAgICAgb3BlbkludGVybmFsSW5OZXdUYWI6IGZhbHNlLFxuICogICAgIGxpbmtDbGFzczogJ215LWxpbmsnLFxuICogICAgIGV4dGVybmFsTGlua0NsYXNzOiAnZXh0ZXJuYWwnLFxuICogICAgIGludGVybmFsTGlua0NsYXNzOiAnaW50ZXJuYWwnXG4gKiAgIH07XG4gKiB9XG4gKiBgYGBcbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAncHJvY2Vzc0xpbmtzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0xpbmtzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIGxpbmtQcm9jZXNzb3IgPSBpbmplY3QoTGlua1Byb2Nlc3NvclNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1hIHRleHRvIHByb2Nlc2FuZG8gVVJMcyB5IHJ1dGFzIGludGVybmFzIHBhcmEgY29udmVydGlybGFzIGVuIGVubGFjZXMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIEVsIHRleHRvIGEgcHJvY2VzYXJcbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYWNpw7NuIG9wY2lvbmFsIHBhcmEgZWwgcHJvY2VzYW1pZW50byBkZSBlbmxhY2VzXG4gICAqIEByZXR1cm5zIFNhZmVIdG1sIGNvbiBlbmxhY2VzIHByb2Nlc2Fkb3MgbyBzdHJpbmcgb3JpZ2luYWwgc2kgbm8gaGF5IGVubGFjZXNcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8IS0tIFVzbyBiw6FzaWNvIC0tPlxuICAgKiA8cCBbaW5uZXJIVE1MXT1cIidDaGVjayBvdXQgaHR0cHM6Ly9hbmd1bGFyLmlvJyB8IHByb2Nlc3NMaW5rc1wiPjwvcD5cbiAgICpcbiAgICogPCEtLSBDb24gY29uZmlndXJhY2nDs24gLS0+XG4gICAqIDxwIFtpbm5lckhUTUxdPVwibWVzc2FnZSB8IHByb2Nlc3NMaW5rczp7IG9wZW5FeHRlcm5hbEluTmV3VGFiOiBmYWxzZSB9XCI+PC9wPlxuICAgKiBgYGBcbiAgICovXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBjb25maWc/OiBMaW5rUHJvY2Vzc29yQ29uZmlnKTogU2FmZUh0bWwgfCBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5saW5rUHJvY2Vzc29yLnByb2Nlc3NMaW5rcyh2YWx1ZSwgY29uZmlnKTtcbiAgfVxufVxuIl19