@wizishop/wizi-block 4.2.38-beta → 4.2.39-beta

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 (820) hide show
  1. package/bundles/wizishop-wizi-block.umd.js +6252 -5548
  2. package/bundles/wizishop-wizi-block.umd.js.map +1 -1
  3. package/esm2015/lib/components/blocks/blocks.component.js +29 -20
  4. package/esm2015/lib/components/components.module.js +14 -8
  5. package/esm2015/lib/components/configs/configs.component.js +26 -18
  6. package/esm2015/lib/components/container-block/container-block.component.js +19 -18
  7. package/esm2015/lib/components/previews/previews.component.js +23 -18
  8. package/esm2015/lib/dtos/apis/amplify/amplify-category.dto.js +1 -1
  9. package/esm2015/lib/dtos/apis/amplify/amplify-guide.dto.js +1 -1
  10. package/esm2015/lib/dtos/apis/amplify/amplify-media.dto.js +1 -1
  11. package/esm2015/lib/dtos/apis/amplify/amplify-paginated.dto.js +1 -1
  12. package/esm2015/lib/dtos/apis/amplify/amplify-product.dto.js +1 -1
  13. package/esm2015/lib/dtos/apis/catalogs/catalog-badges.dto.js +2 -1
  14. package/esm2015/lib/dtos/apis/catalogs/catalog-brand.dto.js +2 -1
  15. package/esm2015/lib/dtos/apis/catalogs/catalog-category.dto.js +2 -1
  16. package/esm2015/lib/dtos/apis/catalogs/catalog-facet-value.dto.js +2 -1
  17. package/esm2015/lib/dtos/apis/catalogs/catalog-facet.dto.js +2 -1
  18. package/esm2015/lib/dtos/apis/catalogs/catalog-image.dto.js +2 -1
  19. package/esm2015/lib/dtos/apis/catalogs/catalog-list.dto.js +2 -1
  20. package/esm2015/lib/dtos/apis/catalogs/catalog-price.dto.js +2 -1
  21. package/esm2015/lib/dtos/apis/catalogs/catalog-variant-option.dto.js +2 -1
  22. package/esm2015/lib/dtos/apis/catalogs/catalog-variant.dto.js +2 -1
  23. package/esm2015/lib/dtos/apis/catalogs/catalog.dto.js +2 -1
  24. package/esm2015/lib/dtos/apis/comments/comment-list.dto.js +2 -1
  25. package/esm2015/lib/dtos/apis/comments/comment.dto.js +2 -1
  26. package/esm2015/lib/dtos/apis/forms/form-detail.dto.js +1 -1
  27. package/esm2015/lib/dtos/apis/forms/form-list.dto.js +2 -1
  28. package/esm2015/lib/dtos/apis/maps/open-map.dto.js +1 -1
  29. package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom-more.dto.js +1 -1
  30. package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom-selected.dto.js +1 -1
  31. package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom-triple-column.dto.js +1 -1
  32. package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom.dto.js +1 -1
  33. package/esm2015/lib/dtos/blocks/amplify-products-list/amplify-products-list-classic.dto.js +1 -1
  34. package/esm2015/lib/dtos/blocks/amplify-products-list/amplify-products-list-selected.dto.js +1 -1
  35. package/esm2015/lib/dtos/blocks/amplify-products-list/amplify-products-list-simple.dto.js +1 -1
  36. package/esm2015/lib/dtos/blocks/code/code-html.dto.js +1 -1
  37. package/esm2015/lib/dtos/blocks/code/code-javascript.dto.js +1 -1
  38. package/esm2015/lib/dtos/blocks/code/code-stylesheet.dto.js +1 -1
  39. package/esm2015/lib/dtos/blocks/faq/faq-accordion.dto.js +1 -1
  40. package/esm2015/lib/dtos/blocks/faq/faq-frame.dto.js +1 -1
  41. package/esm2015/lib/dtos/blocks/faq/faq-list-icon.dto.js +1 -1
  42. package/esm2015/lib/dtos/blocks/faq/faq-simple-background.dto.js +1 -1
  43. package/esm2015/lib/dtos/blocks/faq/faq-simple.dto.js +1 -1
  44. package/esm2015/lib/dtos/blocks/faq/faq.dto.js +1 -1
  45. package/esm2015/lib/dtos/blocks/forms/forms-background.dto.js +1 -1
  46. package/esm2015/lib/dtos/blocks/forms/forms-imageleft.dto.js +1 -1
  47. package/esm2015/lib/dtos/blocks/forms/forms-imageright.dto.js +1 -1
  48. package/esm2015/lib/dtos/blocks/forms/forms-simple.dto.js +1 -1
  49. package/esm2015/lib/dtos/blocks/images/four-images-title.dto.js +1 -1
  50. package/esm2015/lib/dtos/blocks/images/images-banner.dto.js +1 -1
  51. package/esm2015/lib/dtos/blocks/images/images-big-and-double.dto.js +1 -1
  52. package/esm2015/lib/dtos/blocks/images/images-bigs-and-double-middle.dto.js +1 -1
  53. package/esm2015/lib/dtos/blocks/images/images-double.dto.js +1 -1
  54. package/esm2015/lib/dtos/blocks/images/images-quadruple-left-one-right.dto.js +1 -1
  55. package/esm2015/lib/dtos/blocks/images/images-quadruple.dto.js +1 -1
  56. package/esm2015/lib/dtos/blocks/images/images-simple.dto.js +1 -1
  57. package/esm2015/lib/dtos/blocks/images/images-triple.dto.js +1 -1
  58. package/esm2015/lib/dtos/blocks/images/two-images-title-text.dto.js +1 -1
  59. package/esm2015/lib/dtos/blocks/images-texts/images-texts-big-left-text-right.dto.js +1 -1
  60. package/esm2015/lib/dtos/blocks/images-texts/images-texts-big-right-text-left.dto.js +1 -1
  61. package/esm2015/lib/dtos/blocks/images-texts/images-texts-left-text-right.dto.js +1 -1
  62. package/esm2015/lib/dtos/blocks/images-texts/images-texts-one-text-one.dto.js +1 -1
  63. package/esm2015/lib/dtos/blocks/images-texts/images-texts-right-text-left.dto.js +1 -1
  64. package/esm2015/lib/dtos/blocks/images-texts/images-texts-small-left-text-right.dto.js +1 -1
  65. package/esm2015/lib/dtos/blocks/images-texts/images-texts-small-right-text-left.dto.js +1 -1
  66. package/esm2015/lib/dtos/blocks/images-texts/images-texts-text-one-text.dto.js +1 -1
  67. package/esm2015/lib/dtos/blocks/launch-videos/launch-videos-button.dto.js +1 -1
  68. package/esm2015/lib/dtos/blocks/launch-videos/launch-videos-buttontxt.dto.js +1 -1
  69. package/esm2015/lib/dtos/blocks/map/map-background-form-left.dto.js +1 -1
  70. package/esm2015/lib/dtos/blocks/map/map-background-form-right.dto.js +1 -1
  71. package/esm2015/lib/dtos/blocks/map/map-fullpage.dto.js +1 -1
  72. package/esm2015/lib/dtos/blocks/map/map-left-text.dto.js +1 -1
  73. package/esm2015/lib/dtos/blocks/map/map-right-text.dto.js +1 -1
  74. package/esm2015/lib/dtos/blocks/map/map-text-form.dto.js +1 -1
  75. package/esm2015/lib/dtos/blocks/newsletter/newsletter-aligned-center-background.dto.js +1 -1
  76. package/esm2015/lib/dtos/blocks/newsletter/newsletter-aligned-center-image.dto.js +1 -1
  77. package/esm2015/lib/dtos/blocks/newsletter/newsletter-center-image.dto.js +1 -1
  78. package/esm2015/lib/dtos/blocks/onboarding/forms-onboarding.do.js +1 -1
  79. package/esm2015/lib/dtos/blocks/parent-block.dto.js +1 -1
  80. package/esm2015/lib/dtos/blocks/product/product-zoom-complete-background.dto.js +1 -1
  81. package/esm2015/lib/dtos/blocks/product/product-zoom-complete-slider.dto.js +1 -1
  82. package/esm2015/lib/dtos/blocks/product/product-zoom-complete.dto.js +1 -1
  83. package/esm2015/lib/dtos/blocks/product/product-zoom-more.dto.js +1 -1
  84. package/esm2015/lib/dtos/blocks/product/product-zoom-selected.dto.js +1 -1
  85. package/esm2015/lib/dtos/blocks/product/product-zoom-simple.dto.js +1 -1
  86. package/esm2015/lib/dtos/blocks/product/product-zoom-triple-column.dto.js +1 -1
  87. package/esm2015/lib/dtos/blocks/product/product-zoom.dto.js +1 -1
  88. package/esm2015/lib/dtos/blocks/products-list/products-list-classic.dto.js +1 -1
  89. package/esm2015/lib/dtos/blocks/products-list/products-list-selected.dto.js +1 -1
  90. package/esm2015/lib/dtos/blocks/products-list/products-list-simple.dto.js +1 -1
  91. package/esm2015/lib/dtos/blocks/quotes/quotes-author.dto.js +1 -1
  92. package/esm2015/lib/dtos/blocks/quotes/quotes-simple-background.dto.js +1 -1
  93. package/esm2015/lib/dtos/blocks/quotes/quotes-simple.dto.js +1 -1
  94. package/esm2015/lib/dtos/blocks/rassurances/rassurances-quadruple-aligned.dto.js +1 -1
  95. package/esm2015/lib/dtos/blocks/rassurances/rassurances-quadruple-background.dto.js +1 -1
  96. package/esm2015/lib/dtos/blocks/rassurances/rassurances-triple-background.dto.js +1 -1
  97. package/esm2015/lib/dtos/blocks/reviews/reviews-simple.dto.js +1 -1
  98. package/esm2015/lib/dtos/blocks/reviews/reviews-waterfall.dto.js +1 -1
  99. package/esm2015/lib/dtos/blocks/separators/separator-simple.dto.js +1 -1
  100. package/esm2015/lib/dtos/blocks/sliders/sliders-double-imageright.dto.js +1 -1
  101. package/esm2015/lib/dtos/blocks/sliders/sliders-fullpage.dto.js +1 -1
  102. package/esm2015/lib/dtos/blocks/sliders/sliders-imageright.dto.js +1 -1
  103. package/esm2015/lib/dtos/blocks/sliders/sliders-leftnav.dto.js +1 -1
  104. package/esm2015/lib/dtos/blocks/sliders/sliders-with-banner.dto.js +1 -1
  105. package/esm2015/lib/dtos/blocks/socials/socials-like.dto.js +1 -1
  106. package/esm2015/lib/dtos/blocks/socials/socials-network.dto.js +1 -1
  107. package/esm2015/lib/dtos/blocks/socials/socials-page-complex.dto.js +1 -1
  108. package/esm2015/lib/dtos/blocks/socials/socials-page-simple.dto.js +1 -1
  109. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-four-rows-icon-text.dto.js +1 -1
  110. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-link.dto.js +1 -1
  111. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-rows-icon-text.dto.js +1 -1
  112. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-simple.dto.js +1 -1
  113. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-three-rows-icon-text.dto.js +1 -1
  114. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-two-rows-icon-text.dto.js +1 -1
  115. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-with-banner.dto.js +1 -1
  116. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-with-txt.dto.js +1 -1
  117. package/esm2015/lib/dtos/blocks/texts/texts-double-background.dto.js +1 -1
  118. package/esm2015/lib/dtos/blocks/texts/texts-double.dto.js +1 -1
  119. package/esm2015/lib/dtos/blocks/texts/texts-one-background.dto.js +1 -1
  120. package/esm2015/lib/dtos/blocks/texts/texts-one.dto.js +1 -1
  121. package/esm2015/lib/dtos/blocks/texts/texts-quadruple-background.dto.js +1 -1
  122. package/esm2015/lib/dtos/blocks/texts/texts-quadruple-numbers.dto.js +1 -1
  123. package/esm2015/lib/dtos/blocks/texts/texts-quadruple.dto.js +1 -1
  124. package/esm2015/lib/dtos/blocks/texts/texts-triple-background.dto.js +1 -1
  125. package/esm2015/lib/dtos/blocks/texts/texts-triple.dto.js +1 -1
  126. package/esm2015/lib/dtos/blocks/timer/timer-airport.dto.js +1 -1
  127. package/esm2015/lib/dtos/blocks/timer/timer-background.dto.js +1 -1
  128. package/esm2015/lib/dtos/blocks/timer/timer-clock.dto.js +1 -1
  129. package/esm2015/lib/dtos/blocks/timer/timer-multiple-img.dto.js +1 -1
  130. package/esm2015/lib/dtos/blocks/timer/timer-simple.dto.js +1 -1
  131. package/esm2015/lib/dtos/blocks/videos/videos-simple.dto.js +1 -1
  132. package/esm2015/lib/dtos/blocks/videos/videos-txt-content.dto.js +1 -1
  133. package/esm2015/lib/dtos/blocks/videos/videos-txt.dto.js +1 -1
  134. package/esm2015/lib/dtos/blocks/witness/about-block.dto.js +1 -1
  135. package/esm2015/lib/dtos/blocks/witness/witness-background-double.dto.js +1 -1
  136. package/esm2015/lib/dtos/blocks/witness/witness-background-one.dto.js +1 -1
  137. package/esm2015/lib/dtos/blocks/witness/witness-quadruple.dto.js +1 -1
  138. package/esm2015/lib/dtos/blocks/witness/witness-triple.dto.js +1 -1
  139. package/esm2015/lib/dtos/blocks/witness/witness-twice.dto.js +1 -1
  140. package/esm2015/lib/dtos/configs/apis/api.dto.js +1 -1
  141. package/esm2015/lib/dtos/configs/blocks/block-config.dto.js +1 -1
  142. package/esm2015/lib/dtos/configs/blocks/blocks-list.dto.js +2 -1
  143. package/esm2015/lib/dtos/configs/buttons/button.dto.js +1 -1
  144. package/esm2015/lib/dtos/configs/external/external-config.dto.js +1 -1
  145. package/esm2015/lib/dtos/configs/fonts/font-awesome.dto.js +1 -1
  146. package/esm2015/lib/dtos/configs/images/four-images-title-element.dto.js +1 -1
  147. package/esm2015/lib/dtos/configs/medias/image/font-or-media.dto.js +1 -1
  148. package/esm2015/lib/dtos/configs/medias/image/image-media-and-text.dto.js +1 -1
  149. package/esm2015/lib/dtos/configs/medias/image/image-media.dto.js +1 -1
  150. package/esm2015/lib/dtos/configs/medias/image/payment-or-media.dto.js +1 -1
  151. package/esm2015/lib/dtos/configs/medias/media-width-height.dto.js +1 -1
  152. package/esm2015/lib/dtos/configs/medias/media.dto.js +1 -1
  153. package/esm2015/lib/dtos/configs/medias/text/text-media.dto.js +1 -1
  154. package/esm2015/lib/dtos/configs/structures/structure-config.dto.js +1 -1
  155. package/esm2015/lib/dtos/configs/structures/structures-list.dto.js +1 -1
  156. package/esm2015/lib/dtos/configs/translations/translations.dto.js +1 -1
  157. package/esm2015/lib/dtos/configs/types/types.dto.js +1 -1
  158. package/esm2015/lib/dtos/configs/witness/about-element.dto.js +1 -1
  159. package/esm2015/lib/dtos/forms/forms.dto.js +1 -1
  160. package/esm2015/lib/dtos/utils/quill/crypted-link.dto.js +1 -1
  161. package/esm2015/lib/dtos/utils/quill/custom-link.dto.js +1 -1
  162. package/esm2015/lib/dtos/utils/quill/delta.dto.js +1 -1
  163. package/esm2015/lib/dtos/utils/quill/icon.dto.js +1 -1
  164. package/esm2015/lib/dtos/utils/quill/line-break.dto.js +1 -1
  165. package/esm2015/lib/dtos/utils/quill-html-editor/html-formatter.js +1 -1
  166. package/esm2015/lib/dtos/utils/quill-html-editor/logger.js +1 -1
  167. package/esm2015/lib/dtos/utils/quill-html-editor/options.js +2 -1
  168. package/esm2015/lib/dtos/utils/quill-html-editor/quill.htmlEditButton.js +1 -1
  169. package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom-more.service.js +9 -7
  170. package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom-selected.service.js +9 -7
  171. package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom-triple-column.service.js +9 -7
  172. package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom.service.js +9 -7
  173. package/esm2015/lib/services/blocks/amplify-products-list/amplify-products-list-classic.service.js +9 -7
  174. package/esm2015/lib/services/blocks/amplify-products-list/amplify-products-list-selected.service.js +9 -7
  175. package/esm2015/lib/services/blocks/amplify-products-list/amplify-products-list-simple.service.js +9 -7
  176. package/esm2015/lib/services/blocks/code/code-html.service.js +9 -7
  177. package/esm2015/lib/services/blocks/code/code-javascript.service.js +9 -7
  178. package/esm2015/lib/services/blocks/code/code-stylesheet.service.js +9 -7
  179. package/esm2015/lib/services/blocks/faq/faq-accordion.service.js +9 -7
  180. package/esm2015/lib/services/blocks/faq/faq-frame.service.js +9 -7
  181. package/esm2015/lib/services/blocks/faq/faq-list-icon.service.js +9 -7
  182. package/esm2015/lib/services/blocks/faq/faq-simple-background.service.js +9 -7
  183. package/esm2015/lib/services/blocks/faq/faq-simple.service.js +9 -7
  184. package/esm2015/lib/services/blocks/forms/forms-background.service.js +9 -7
  185. package/esm2015/lib/services/blocks/forms/forms-imageleft.service.js +9 -7
  186. package/esm2015/lib/services/blocks/forms/forms-imageright.service.js +9 -7
  187. package/esm2015/lib/services/blocks/forms/forms-simple.service.js +9 -7
  188. package/esm2015/lib/services/blocks/images/four-images-title.service.js +9 -7
  189. package/esm2015/lib/services/blocks/images/images-banner.service.js +9 -7
  190. package/esm2015/lib/services/blocks/images/images-big-and-double.service.js +9 -7
  191. package/esm2015/lib/services/blocks/images/images-bigs-and-double-middle.service.js +9 -7
  192. package/esm2015/lib/services/blocks/images/images-double.service.js +9 -7
  193. package/esm2015/lib/services/blocks/images/images-quadruple-left-one-right.service.js +9 -7
  194. package/esm2015/lib/services/blocks/images/images-quadruple.service.js +9 -7
  195. package/esm2015/lib/services/blocks/images/images-simple.service.js +9 -7
  196. package/esm2015/lib/services/blocks/images/images-triple.service.js +9 -7
  197. package/esm2015/lib/services/blocks/images/two-images-title-text.service.js +9 -7
  198. package/esm2015/lib/services/blocks/images-texts/images-texts-big-left-text-right.service.js +9 -7
  199. package/esm2015/lib/services/blocks/images-texts/images-texts-big-right-text-left.service.js +9 -7
  200. package/esm2015/lib/services/blocks/images-texts/images-texts-left-text-right.service.js +9 -7
  201. package/esm2015/lib/services/blocks/images-texts/images-texts-one-text-one.service.js +9 -7
  202. package/esm2015/lib/services/blocks/images-texts/images-texts-right-text-left.service.js +9 -7
  203. package/esm2015/lib/services/blocks/images-texts/images-texts-small-left-text-right.service.js +9 -7
  204. package/esm2015/lib/services/blocks/images-texts/images-texts-small-right-text-left.service.js +9 -7
  205. package/esm2015/lib/services/blocks/images-texts/images-texts-text-one-text.service.js +9 -7
  206. package/esm2015/lib/services/blocks/launch-videos/launch-videos-button.service.js +9 -7
  207. package/esm2015/lib/services/blocks/launch-videos/launch-videos-buttontxt.service.js +9 -7
  208. package/esm2015/lib/services/blocks/map/map-background-form-left.service.js +9 -7
  209. package/esm2015/lib/services/blocks/map/map-background-form-right.service.js +9 -7
  210. package/esm2015/lib/services/blocks/map/map-fullpage.service.js +9 -7
  211. package/esm2015/lib/services/blocks/map/map-left-text.service.js +9 -7
  212. package/esm2015/lib/services/blocks/map/map-right-text.service.js +9 -7
  213. package/esm2015/lib/services/blocks/map/map-text-form.service.js +9 -7
  214. package/esm2015/lib/services/blocks/newsletter/newsletter-aligned-center-background.service.js +9 -7
  215. package/esm2015/lib/services/blocks/newsletter/newsletter-aligned-center-image.service.js +9 -7
  216. package/esm2015/lib/services/blocks/newsletter/newsletter-center-image.service.js +9 -7
  217. package/esm2015/lib/services/blocks/onboarding/forms-onboarding.service.js +9 -7
  218. package/esm2015/lib/services/blocks/product/product-zoom-complete-background.service.js +9 -7
  219. package/esm2015/lib/services/blocks/product/product-zoom-complete-slider.service.js +9 -7
  220. package/esm2015/lib/services/blocks/product/product-zoom-complete.service.js +9 -7
  221. package/esm2015/lib/services/blocks/product/product-zoom-more.service.js +9 -7
  222. package/esm2015/lib/services/blocks/product/product-zoom-selected.service.js +9 -7
  223. package/esm2015/lib/services/blocks/product/product-zoom-simple.service.js +9 -7
  224. package/esm2015/lib/services/blocks/product/product-zoom-triple-column.service.js +9 -7
  225. package/esm2015/lib/services/blocks/product/product-zoom.service.js +9 -7
  226. package/esm2015/lib/services/blocks/products-list/products-list-classic.service.js +9 -7
  227. package/esm2015/lib/services/blocks/products-list/products-list-selected.service.js +9 -7
  228. package/esm2015/lib/services/blocks/products-list/products-list-simple.service.js +9 -7
  229. package/esm2015/lib/services/blocks/quotes/quotes-author.service.js +9 -7
  230. package/esm2015/lib/services/blocks/quotes/quotes-simple-background.service.js +9 -7
  231. package/esm2015/lib/services/blocks/quotes/quotes-simple.service.js +9 -7
  232. package/esm2015/lib/services/blocks/rassurances/rassurances-quadruple-aligned.service.js +9 -7
  233. package/esm2015/lib/services/blocks/rassurances/rassurances-quadruple-background.service.js +9 -7
  234. package/esm2015/lib/services/blocks/rassurances/rassurances-triple-background.service.js +9 -7
  235. package/esm2015/lib/services/blocks/reviews/reviews-simple.service.js +9 -7
  236. package/esm2015/lib/services/blocks/reviews/reviews-waterfall.service.js +9 -7
  237. package/esm2015/lib/services/blocks/separator/separator-simple.service.js +9 -7
  238. package/esm2015/lib/services/blocks/sliders/sliders-double-imageright.service.js +9 -7
  239. package/esm2015/lib/services/blocks/sliders/sliders-fullpage.service.js +9 -7
  240. package/esm2015/lib/services/blocks/sliders/sliders-imageright.service.js +9 -7
  241. package/esm2015/lib/services/blocks/sliders/sliders-leftnav.service.js +9 -7
  242. package/esm2015/lib/services/blocks/sliders/sliders-with-banner.service.js +9 -7
  243. package/esm2015/lib/services/blocks/socials/socials-like.service.js +9 -7
  244. package/esm2015/lib/services/blocks/socials/socials-network.service.js +9 -7
  245. package/esm2015/lib/services/blocks/socials/socials-page-complex.service.js +9 -7
  246. package/esm2015/lib/services/blocks/socials/socials-page-simple.service.js +9 -7
  247. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-four-rows-icon-text.service.js +9 -7
  248. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-link.service.js +9 -7
  249. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-simple.service.js +9 -7
  250. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-three-rows-icon-text.service.js +9 -7
  251. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-two-rows-icon-text.service.js +9 -7
  252. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-banner.service.js +9 -7
  253. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-txt.service.js +9 -7
  254. package/esm2015/lib/services/blocks/texts/texts-double-background.service.js +9 -7
  255. package/esm2015/lib/services/blocks/texts/texts-double.service.js +9 -7
  256. package/esm2015/lib/services/blocks/texts/texts-one-background.service.js +9 -7
  257. package/esm2015/lib/services/blocks/texts/texts-one.service.js +9 -7
  258. package/esm2015/lib/services/blocks/texts/texts-quadruple-background.service.js +9 -7
  259. package/esm2015/lib/services/blocks/texts/texts-quadruple-numbers.service.js +9 -7
  260. package/esm2015/lib/services/blocks/texts/texts-quadruple.service.js +9 -7
  261. package/esm2015/lib/services/blocks/texts/texts-triple-background.service.js +9 -7
  262. package/esm2015/lib/services/blocks/texts/texts-triple.service.js +9 -7
  263. package/esm2015/lib/services/blocks/timer/timer-airport.service.js +9 -7
  264. package/esm2015/lib/services/blocks/timer/timer-background.service.js +9 -7
  265. package/esm2015/lib/services/blocks/timer/timer-clock.service.js +9 -7
  266. package/esm2015/lib/services/blocks/timer/timer-multiple-img.service.js +9 -7
  267. package/esm2015/lib/services/blocks/timer/timer-simple.service.js +9 -7
  268. package/esm2015/lib/services/blocks/videos/videos-simple.service.js +9 -7
  269. package/esm2015/lib/services/blocks/videos/videos-txt-content.service.js +9 -7
  270. package/esm2015/lib/services/blocks/videos/videos-txt-left.service.js +9 -7
  271. package/esm2015/lib/services/blocks/videos/videos-txt.service.js +9 -7
  272. package/esm2015/lib/services/blocks/witness/about-block.service.js +9 -7
  273. package/esm2015/lib/services/blocks/witness/witness-background-double.service.js +9 -7
  274. package/esm2015/lib/services/blocks/witness/witness-background-one.service.js +9 -7
  275. package/esm2015/lib/services/blocks/witness/witness-quadruple.service.js +9 -7
  276. package/esm2015/lib/services/blocks/witness/witness-triple.service.js +9 -7
  277. package/esm2015/lib/services/blocks/witness/witness-twice.service.js +9 -7
  278. package/esm2015/lib/services/structures/amplify-product/amplify-product.service.js +9 -7
  279. package/esm2015/lib/services/structures/amplify-products-list/amplify-products-list.service.js +9 -7
  280. package/esm2015/lib/services/structures/code/code.service.js +9 -7
  281. package/esm2015/lib/services/structures/faq/faq.service.js +9 -7
  282. package/esm2015/lib/services/structures/forms/forms.service.js +9 -7
  283. package/esm2015/lib/services/structures/images/images.service.js +9 -7
  284. package/esm2015/lib/services/structures/images-texts/images-texts.service.js +9 -7
  285. package/esm2015/lib/services/structures/launch-videos/launch-videos.service.js +9 -7
  286. package/esm2015/lib/services/structures/map/map.service.js +9 -7
  287. package/esm2015/lib/services/structures/newsletter/newsletter.service.js +9 -7
  288. package/esm2015/lib/services/structures/onboarding/onboarding.service.js +9 -7
  289. package/esm2015/lib/services/structures/parent-structures.service.js +1 -1
  290. package/esm2015/lib/services/structures/product/product.service.js +9 -7
  291. package/esm2015/lib/services/structures/products-list/products-list.service.js +9 -7
  292. package/esm2015/lib/services/structures/quotes/quotes.service.js +9 -7
  293. package/esm2015/lib/services/structures/rassurances/rassurances.service.js +9 -7
  294. package/esm2015/lib/services/structures/reviews/reviews.service.js +9 -7
  295. package/esm2015/lib/services/structures/separator/separator.service.js +9 -7
  296. package/esm2015/lib/services/structures/sliders/sliders.service.js +9 -7
  297. package/esm2015/lib/services/structures/socials/socials.service.js +9 -7
  298. package/esm2015/lib/services/structures/text-backgrounds/text-backgrounds.service.js +9 -7
  299. package/esm2015/lib/services/structures/texts/texts.service.js +9 -7
  300. package/esm2015/lib/services/structures/timer/timer.service.js +9 -7
  301. package/esm2015/lib/services/structures/videos/videos.service.js +9 -7
  302. package/esm2015/lib/services/structures/witness/witness.service.js +9 -7
  303. package/esm2015/lib/services/utils/api.service.js +9 -10
  304. package/esm2015/lib/services/utils/config.service.js +9 -7
  305. package/esm2015/lib/services/utils/content.service.js +9 -7
  306. package/esm2015/lib/services/utils/currency.service.js +9 -10
  307. package/esm2015/lib/services/utils/expected-images.service.js +9 -8
  308. package/esm2015/lib/services/utils/external-config.service.js +9 -10
  309. package/esm2015/lib/services/utils/font-awesome.service.js +9 -8
  310. package/esm2015/lib/services/utils/injector.service.js +9 -7
  311. package/esm2015/lib/services/utils/media-connector.service.js +9 -7
  312. package/esm2015/lib/services/utils/quill.service.js +9 -7
  313. package/esm2015/lib/services/utils/structure-config.service.js +9 -7
  314. package/esm2015/lib/services/utils/translate-block.service.js +9 -10
  315. package/esm2015/lib/services/utils/vimeo.service.js +9 -7
  316. package/esm2015/lib/services/utils/youtube.service.js +9 -7
  317. package/esm2015/lib/services/wizi-block.service.js +9 -10
  318. package/esm2015/lib/shared/animations/list/animate-list-from-left.animation.js +1 -1
  319. package/esm2015/lib/shared/animations/list/animate-list-from-right.animation.js +1 -1
  320. package/esm2015/lib/shared/components/editorjs/editorjs.component.js +23 -18
  321. package/esm2015/lib/shared/components/editorjs/tools/inline/bold-tool.component.js +1 -1
  322. package/esm2015/lib/shared/components/editorjs/tools/inline/capitalize-tool.component.js +1 -1
  323. package/esm2015/lib/shared/components/editorjs/tools/inline/italic-tool.component.js +1 -1
  324. package/esm2015/lib/shared/components/editorjs/tools/inline/link-tool.component.js +1 -1
  325. package/esm2015/lib/shared/components/editorjs/tools/inline/strike-tool.component.js +1 -1
  326. package/esm2015/lib/shared/components/editorjs/tools/inline/subscript-tool.component.js +1 -1
  327. package/esm2015/lib/shared/components/editorjs/tools/inline/superscript-tool.component.js +1 -1
  328. package/esm2015/lib/shared/components/editorjs/tools/inline/text-background-color-tool.component.js +1 -1
  329. package/esm2015/lib/shared/components/editorjs/tools/inline/text-color-tool.component.js +1 -1
  330. package/esm2015/lib/shared/components/editorjs/tools/inline/text-size-tool.component.js +1 -1
  331. package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/color-tool.component.js +1 -1
  332. package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.js +8 -10
  333. package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/text-tool.component.js +1 -1
  334. package/esm2015/lib/shared/components/editorjs/tools/inline/underline-tool.component.js +1 -1
  335. package/esm2015/lib/shared/components/editorjs/tools/paragraph/code-edit-tool.component.js +1 -1
  336. package/esm2015/lib/shared/components/editorjs/tools/paragraph/indent-tool.component.js +1 -1
  337. package/esm2015/lib/shared/components/editorjs/tools/paragraph/ordered-list-tool.component.js +1 -1
  338. package/esm2015/lib/shared/components/editorjs/tools/paragraph/outdent-tool.component.js +1 -1
  339. package/esm2015/lib/shared/components/editorjs/tools/paragraph/quote-tool.component.js +1 -1
  340. package/esm2015/lib/shared/components/editorjs/tools/paragraph/redo-tool.component.js +1 -1
  341. package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-align-tool.component.js +1 -1
  342. package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-type-tool.component.js +1 -1
  343. package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.js +1 -1
  344. package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/text-edition.component.js +1 -1
  345. package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/text-tool.component.js +1 -1
  346. package/esm2015/lib/shared/components/editorjs/tools/paragraph/undo-tool.component.js +1 -1
  347. package/esm2015/lib/shared/components/editorjs/tools/paragraph/unordered-list-tool.component.js +1 -1
  348. package/esm2015/lib/shared/components/editorjs/tools/utils/colors.component.js +1 -1
  349. package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-conversion.service.js +9 -8
  350. package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.js +3 -2
  351. package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-translation.service.js +9 -8
  352. package/esm2015/lib/shared/components/editorjs/tools/utils/i18n/en-i18n.component.js +1 -1
  353. package/esm2015/lib/shared/components/editorjs/tools/utils/i18n/fr-i18n.component.js +1 -1
  354. package/esm2015/lib/shared/components/editorjs/tools/utils/texts.component.js +1 -1
  355. package/esm2015/lib/shared/components/faq/faq.component.js +36 -20
  356. package/esm2015/lib/shared/components/loader/loader.component.js +11 -7
  357. package/esm2015/lib/shared/components/quill/quill.component.js +34 -22
  358. package/esm2015/lib/shared/components/shared-components.module.js +71 -18
  359. package/esm2015/lib/shared/components/small-loader/small-loader.component.js +11 -7
  360. package/esm2015/lib/shared/components/star/star.component.js +21 -14
  361. package/esm2015/lib/shared/components/structure-amplify-search-category/structure-amplify-search-category.component.js +29 -17
  362. package/esm2015/lib/shared/components/structure-amplify-search-product/structure-amplify-search-product.component.js +35 -19
  363. package/esm2015/lib/shared/components/structure-config/structure-config.component.js +28 -18
  364. package/esm2015/lib/shared/components/structure-config-checkbox/structure-config-checkbox.component.js +30 -19
  365. package/esm2015/lib/shared/components/structure-config-extend-input/structure-config-extended-input.component.js +47 -26
  366. package/esm2015/lib/shared/components/structure-config-font/structure-config-font.component.js +36 -22
  367. package/esm2015/lib/shared/components/structure-config-input/structure-config-input.component.js +36 -21
  368. package/esm2015/lib/shared/components/structure-config-payment/structure-config-payment.component.js +23 -16
  369. package/esm2015/lib/shared/components/structure-search-product/structure-search-product.component.js +29 -17
  370. package/esm2015/lib/shared/components/structure-select/structure-select.component.js +28 -16
  371. package/esm2015/lib/shared/components/structure-tools/structure-tools.component.js +31 -20
  372. package/esm2015/lib/shared/directives/auto-focus/auto-focus.directive.js +10 -9
  373. package/esm2015/lib/shared/directives/auto-hide/auto-hide.directive.js +18 -15
  374. package/esm2015/lib/shared/directives/get-size-image/get-size-image.directive.js +20 -16
  375. package/esm2015/lib/shared/directives/holdable/holdable.directive.js +21 -12
  376. package/esm2015/lib/shared/directives/pictures-template/pictures-template.directive.js +19 -16
  377. package/esm2015/lib/shared/directives/shared-directives.module.js +25 -9
  378. package/esm2015/lib/shared/directives/show-delete-button/show-delete-button.directive.js +16 -14
  379. package/esm2015/lib/shared/pipes/add-zero-for-timer/add-zero-for-timer.pipe.js +10 -6
  380. package/esm2015/lib/shared/pipes/answer-type/answer-type.pipe.js +10 -6
  381. package/esm2015/lib/shared/pipes/array-number/array-number.pipe.js +10 -6
  382. package/esm2015/lib/shared/pipes/check-payment-value/check-payment-value.pipe.js +10 -6
  383. package/esm2015/lib/shared/pipes/even-odd/even-odd.pipe.js +8 -4
  384. package/esm2015/lib/shared/pipes/img-path/img-path.pipe.js +11 -9
  385. package/esm2015/lib/shared/pipes/safe-style/safe-style.pipe.js +12 -10
  386. package/esm2015/lib/shared/pipes/safe-url/safe-url.pipe.js +11 -9
  387. package/esm2015/lib/shared/pipes/shared-pipes.module.js +33 -9
  388. package/esm2015/lib/shared/pipes/strip-tags/strip-tags.pipe.js +8 -4
  389. package/esm2015/lib/shared/pipes/tiny-color/tiny-color.pipe.js +10 -6
  390. package/esm2015/lib/shared/shared.module.js +61 -26
  391. package/esm2015/lib/structures/amplify-product/zoom/amplify-product-zoom.component.js +19 -11
  392. package/esm2015/lib/structures/amplify-product/zoom-more/amplify-product-zoom-more.component.js +19 -11
  393. package/esm2015/lib/structures/amplify-product/zoom-selected/amplify-product-zoom-selected.component.js +19 -11
  394. package/esm2015/lib/structures/amplify-product/zoom-triple-column/amplify-product-zoom-triple-column.component.js +19 -11
  395. package/esm2015/lib/structures/amplify-products-list/classic/amplify-products-list-classic.component.js +25 -14
  396. package/esm2015/lib/structures/amplify-products-list/selected/amplify-products-list-selected.component.js +25 -14
  397. package/esm2015/lib/structures/amplify-products-list/simple/amplify-products-list-simple.component.js +25 -14
  398. package/esm2015/lib/structures/code/code-html/code-html.component.js +14 -8
  399. package/esm2015/lib/structures/code/code-javascript/code-javascript.component.js +14 -8
  400. package/esm2015/lib/structures/code/code-stylesheet/code-stylesheet.component.js +14 -8
  401. package/esm2015/lib/structures/faq/accordion/faq-accordion.component.js +12 -8
  402. package/esm2015/lib/structures/faq/frame/faq-frame.component.js +12 -8
  403. package/esm2015/lib/structures/faq/list-icon/faq-list-icon.component.js +15 -8
  404. package/esm2015/lib/structures/faq/simple/faq-simple.component.js +12 -8
  405. package/esm2015/lib/structures/faq/simple-background/faq-simple-background.component.js +12 -8
  406. package/esm2015/lib/structures/forms/background/forms-background.component.js +18 -10
  407. package/esm2015/lib/structures/forms/imageleft/forms-imageleft.component.js +22 -10
  408. package/esm2015/lib/structures/forms/imageright/forms-imageright.component.js +22 -10
  409. package/esm2015/lib/structures/forms/simple/forms-simple.component.js +18 -10
  410. package/esm2015/lib/structures/images/banner/images-banner.component.js +19 -8
  411. package/esm2015/lib/structures/images/big-and-double/images-big-and-double.component.js +19 -8
  412. package/esm2015/lib/structures/images/bigs-and-double-middle/images-bigs-and-double-middle.component.js +19 -8
  413. package/esm2015/lib/structures/images/double/images-double.component.js +19 -8
  414. package/esm2015/lib/structures/images/four-images-title/four-images-title.component.js +21 -10
  415. package/esm2015/lib/structures/images/quadruple/images-quadruple.component.js +19 -8
  416. package/esm2015/lib/structures/images/quadruple-left-one-right/images-quadruple-left-one-right.component.js +19 -8
  417. package/esm2015/lib/structures/images/simple/images-simple.component.js +19 -8
  418. package/esm2015/lib/structures/images/triple/images-triple.component.js +19 -8
  419. package/esm2015/lib/structures/images/two-images-title-text/two-images-title-text.component.js +20 -8
  420. package/esm2015/lib/structures/images-texts/big-left-text-right/images-texts-big-left-text-right.component.js +20 -8
  421. package/esm2015/lib/structures/images-texts/big-right-text-left/images-texts-big-right-text-left.component.js +20 -8
  422. package/esm2015/lib/structures/images-texts/left-text-right/images-texts-left-text-right.component.js +20 -8
  423. package/esm2015/lib/structures/images-texts/one-text-one/images-texts-one-text-one.component.js +20 -8
  424. package/esm2015/lib/structures/images-texts/right-text-left/images-texts-right-text-left.component.js +20 -8
  425. package/esm2015/lib/structures/images-texts/small-left-text-right/images-texts-small-left-text-right.component.js +20 -8
  426. package/esm2015/lib/structures/images-texts/small-right-text-left/images-texts-small-right-text-left.component.js +20 -8
  427. package/esm2015/lib/structures/images-texts/text-one-text/images-texts-text-one-text.component.js +20 -8
  428. package/esm2015/lib/structures/launch-videos/button/launch-videos-button.component.js +17 -11
  429. package/esm2015/lib/structures/launch-videos/buttontxt/launch-videos-buttontxt.component.js +18 -11
  430. package/esm2015/lib/structures/loader-component.module.js +12 -7
  431. package/esm2015/lib/structures/map/background-form-left/map-background-form-left.component.js +63 -43
  432. package/esm2015/lib/structures/map/background-form-right/map-background-form-right.component.js +63 -43
  433. package/esm2015/lib/structures/map/fullpage/map-fullpage.component.js +61 -43
  434. package/esm2015/lib/structures/map/left-text/map-left-text.component.js +61 -41
  435. package/esm2015/lib/structures/map/right-text/map-right-text.component.js +61 -41
  436. package/esm2015/lib/structures/map/text-form/map-text-form.component.js +67 -44
  437. package/esm2015/lib/structures/newsletter/aligned-center-background/newsletter-aligned-center-background.component.js +13 -8
  438. package/esm2015/lib/structures/newsletter/aligned-center-image/newsletter-aligned-center-image.component.js +14 -8
  439. package/esm2015/lib/structures/newsletter/center-image/newsletter-center-image.component.js +15 -8
  440. package/esm2015/lib/structures/onboarding/onboarding/forms-onboarding.component.js +14 -8
  441. package/esm2015/lib/structures/product/zoom/product-zoom.component.js +20 -12
  442. package/esm2015/lib/structures/product/zoom-complete/product-zoom-complete.component.js +22 -12
  443. package/esm2015/lib/structures/product/zoom-complete-background/product-zoom-complete-background.component.js +23 -12
  444. package/esm2015/lib/structures/product/zoom-complete-slider/product-zoom-complete-slider.component.js +22 -12
  445. package/esm2015/lib/structures/product/zoom-more/product-zoom-more.component.js +20 -12
  446. package/esm2015/lib/structures/product/zoom-selected/product-zoom-selected.component.js +20 -12
  447. package/esm2015/lib/structures/product/zoom-simple/product-zoom-simple.component.js +21 -12
  448. package/esm2015/lib/structures/product/zoom-triple-column/product-zoom-triple-column.component.js +20 -12
  449. package/esm2015/lib/structures/products-list/classic/products-list-classic.component.js +26 -17
  450. package/esm2015/lib/structures/products-list/selected/products-list-selected.component.js +26 -16
  451. package/esm2015/lib/structures/products-list/simple/products-list-simple.component.js +26 -16
  452. package/esm2015/lib/structures/quotes/author/quotes-author.component.js +13 -8
  453. package/esm2015/lib/structures/quotes/simple/quotes-simple.component.js +12 -8
  454. package/esm2015/lib/structures/quotes/simple-background/quotes-simple-background.component.js +13 -8
  455. package/esm2015/lib/structures/rassurances/quadruple-aligned/rassurances-quadruple-aligned.component.js +14 -8
  456. package/esm2015/lib/structures/rassurances/quadruple-background/rassurances-quadruple-background.component.js +15 -8
  457. package/esm2015/lib/structures/rassurances/triple-background/rassurances-triple-background.component.js +15 -8
  458. package/esm2015/lib/structures/reviews/simple/reviews-simple.component.js +17 -10
  459. package/esm2015/lib/structures/reviews/waterfall/reviews-waterfall.component.js +19 -10
  460. package/esm2015/lib/structures/separator/separator-simple/separator-simple.component.js +12 -8
  461. package/esm2015/lib/structures/sliders/double-imageright/slider-double-imageright.component.js +20 -8
  462. package/esm2015/lib/structures/sliders/fullpage/slider-fullpage.component.js +20 -8
  463. package/esm2015/lib/structures/sliders/imageright/slider-imageright.component.js +20 -8
  464. package/esm2015/lib/structures/sliders/leftnav/slider-leftnav.component.js +20 -8
  465. package/esm2015/lib/structures/sliders/with-banner/slider-with-banner.component.js +21 -8
  466. package/esm2015/lib/structures/socials/like/socials-like.component.js +15 -8
  467. package/esm2015/lib/structures/socials/network/socials-network.component.js +14 -8
  468. package/esm2015/lib/structures/socials/page-complex/socials-page-complex.component.js +15 -8
  469. package/esm2015/lib/structures/socials/page-simple/socials-page-simple.component.js +15 -8
  470. package/esm2015/lib/structures/structures.component.js +9 -8
  471. package/esm2015/lib/structures/structures.module.js +256 -19
  472. package/esm2015/lib/structures/text-backgrounds/four-rows-icon-text/text-backgrounds-four-rows-icon-text.component.js +23 -10
  473. package/esm2015/lib/structures/text-backgrounds/link/text-backgrounds-link.component.js +22 -8
  474. package/esm2015/lib/structures/text-backgrounds/simple/text-backgrounds-simple.component.js +20 -8
  475. package/esm2015/lib/structures/text-backgrounds/three-rows-icon-text/text-backgrounds-three-rows-icon-text.component.js +23 -10
  476. package/esm2015/lib/structures/text-backgrounds/two-rows-icon-text/text-backgrounds-two-rows-icon-text.component.js +23 -10
  477. package/esm2015/lib/structures/text-backgrounds/with-banner/text-backgrounds-with-banner.component.js +20 -8
  478. package/esm2015/lib/structures/text-backgrounds/with-txt/text-backgrounds-with-txt.component.js +20 -8
  479. package/esm2015/lib/structures/texts/double/texts-double.component.js +18 -8
  480. package/esm2015/lib/structures/texts/double-background/texts-double-background.component.js +18 -8
  481. package/esm2015/lib/structures/texts/one/texts-one.component.js +18 -8
  482. package/esm2015/lib/structures/texts/one-background/texts-one-background.component.js +18 -8
  483. package/esm2015/lib/structures/texts/quadruple/texts-quadruple.component.js +18 -8
  484. package/esm2015/lib/structures/texts/quadruple-background/texts-quadruple-background.component.js +18 -8
  485. package/esm2015/lib/structures/texts/quadruple-numbers/texts-quadruple-numbers.component.js +14 -8
  486. package/esm2015/lib/structures/texts/triple/texts-triple.component.js +18 -8
  487. package/esm2015/lib/structures/texts/triple-background/texts-triple-background.component.js +18 -8
  488. package/esm2015/lib/structures/timer/airport/timer-airport.component.js +17 -10
  489. package/esm2015/lib/structures/timer/background/timer-background.component.js +19 -10
  490. package/esm2015/lib/structures/timer/clock/timer-clock.component.js +21 -13
  491. package/esm2015/lib/structures/timer/multiple-img/timer-multiple-img.component.js +22 -10
  492. package/esm2015/lib/structures/timer/simple/timer-simple.component.js +18 -10
  493. package/esm2015/lib/structures/videos/simple/videos-simple.component.js +17 -11
  494. package/esm2015/lib/structures/videos/txt/videos-txt.component.js +18 -11
  495. package/esm2015/lib/structures/videos/txt-content/videos-txt-content.component.js +18 -11
  496. package/esm2015/lib/structures/videos/txt-left/videos-txt-left.component.js +18 -11
  497. package/esm2015/lib/structures/witness/about-block/about-block.component.js +24 -11
  498. package/esm2015/lib/structures/witness/background-double/witness-background-double.component.js +20 -8
  499. package/esm2015/lib/structures/witness/background-one/witness-background-one.component.js +20 -8
  500. package/esm2015/lib/structures/witness/quadruple/witness-quadruple.component.js +20 -8
  501. package/esm2015/lib/structures/witness/triple/witness-triple.component.js +20 -8
  502. package/esm2015/lib/structures/witness/twice/witness-twice.component.js +20 -8
  503. package/esm2015/lib/wizi-block.component.js +48 -27
  504. package/esm2015/lib/wizi-block.module.js +47 -21
  505. package/esm2015/public_api.js +1 -1
  506. package/esm2015/wizishop-wizi-block.js +1 -282
  507. package/fesm2015/wizishop-wizi-block.js +5844 -4896
  508. package/fesm2015/wizishop-wizi-block.js.map +1 -1
  509. package/lib/components/blocks/blocks.component.d.ts +3 -0
  510. package/lib/components/components.module.d.ts +13 -0
  511. package/lib/components/configs/configs.component.d.ts +3 -0
  512. package/lib/components/container-block/container-block.component.d.ts +3 -0
  513. package/lib/components/previews/previews.component.d.ts +3 -0
  514. package/lib/services/blocks/amplify-product/amplify-product-zoom-more.service.d.ts +3 -0
  515. package/lib/services/blocks/amplify-product/amplify-product-zoom-selected.service.d.ts +3 -0
  516. package/lib/services/blocks/amplify-product/amplify-product-zoom-triple-column.service.d.ts +3 -0
  517. package/lib/services/blocks/amplify-product/amplify-product-zoom.service.d.ts +3 -0
  518. package/lib/services/blocks/amplify-products-list/amplify-products-list-classic.service.d.ts +3 -0
  519. package/lib/services/blocks/amplify-products-list/amplify-products-list-selected.service.d.ts +3 -0
  520. package/lib/services/blocks/amplify-products-list/amplify-products-list-simple.service.d.ts +3 -0
  521. package/lib/services/blocks/code/code-html.service.d.ts +3 -0
  522. package/lib/services/blocks/code/code-javascript.service.d.ts +3 -0
  523. package/lib/services/blocks/code/code-stylesheet.service.d.ts +3 -0
  524. package/lib/services/blocks/faq/faq-accordion.service.d.ts +3 -0
  525. package/lib/services/blocks/faq/faq-frame.service.d.ts +3 -0
  526. package/lib/services/blocks/faq/faq-list-icon.service.d.ts +3 -0
  527. package/lib/services/blocks/faq/faq-simple-background.service.d.ts +3 -0
  528. package/lib/services/blocks/faq/faq-simple.service.d.ts +3 -0
  529. package/lib/services/blocks/forms/forms-background.service.d.ts +3 -0
  530. package/lib/services/blocks/forms/forms-imageleft.service.d.ts +3 -0
  531. package/lib/services/blocks/forms/forms-imageright.service.d.ts +3 -0
  532. package/lib/services/blocks/forms/forms-simple.service.d.ts +3 -0
  533. package/lib/services/blocks/images/four-images-title.service.d.ts +3 -0
  534. package/lib/services/blocks/images/images-banner.service.d.ts +3 -0
  535. package/lib/services/blocks/images/images-big-and-double.service.d.ts +3 -0
  536. package/lib/services/blocks/images/images-bigs-and-double-middle.service.d.ts +3 -0
  537. package/lib/services/blocks/images/images-double.service.d.ts +3 -0
  538. package/lib/services/blocks/images/images-quadruple-left-one-right.service.d.ts +3 -0
  539. package/lib/services/blocks/images/images-quadruple.service.d.ts +3 -0
  540. package/lib/services/blocks/images/images-simple.service.d.ts +3 -0
  541. package/lib/services/blocks/images/images-triple.service.d.ts +3 -0
  542. package/lib/services/blocks/images/two-images-title-text.service.d.ts +3 -0
  543. package/lib/services/blocks/images-texts/images-texts-big-left-text-right.service.d.ts +3 -0
  544. package/lib/services/blocks/images-texts/images-texts-big-right-text-left.service.d.ts +3 -0
  545. package/lib/services/blocks/images-texts/images-texts-left-text-right.service.d.ts +3 -0
  546. package/lib/services/blocks/images-texts/images-texts-one-text-one.service.d.ts +3 -0
  547. package/lib/services/blocks/images-texts/images-texts-right-text-left.service.d.ts +3 -0
  548. package/lib/services/blocks/images-texts/images-texts-small-left-text-right.service.d.ts +3 -0
  549. package/lib/services/blocks/images-texts/images-texts-small-right-text-left.service.d.ts +3 -0
  550. package/lib/services/blocks/images-texts/images-texts-text-one-text.service.d.ts +3 -0
  551. package/lib/services/blocks/launch-videos/launch-videos-button.service.d.ts +3 -0
  552. package/lib/services/blocks/launch-videos/launch-videos-buttontxt.service.d.ts +3 -0
  553. package/lib/services/blocks/map/map-background-form-left.service.d.ts +3 -0
  554. package/lib/services/blocks/map/map-background-form-right.service.d.ts +3 -0
  555. package/lib/services/blocks/map/map-fullpage.service.d.ts +3 -0
  556. package/lib/services/blocks/map/map-left-text.service.d.ts +3 -0
  557. package/lib/services/blocks/map/map-right-text.service.d.ts +3 -0
  558. package/lib/services/blocks/map/map-text-form.service.d.ts +3 -0
  559. package/lib/services/blocks/newsletter/newsletter-aligned-center-background.service.d.ts +3 -0
  560. package/lib/services/blocks/newsletter/newsletter-aligned-center-image.service.d.ts +3 -0
  561. package/lib/services/blocks/newsletter/newsletter-center-image.service.d.ts +3 -0
  562. package/lib/services/blocks/onboarding/forms-onboarding.service.d.ts +3 -0
  563. package/lib/services/blocks/product/product-zoom-complete-background.service.d.ts +3 -0
  564. package/lib/services/blocks/product/product-zoom-complete-slider.service.d.ts +3 -0
  565. package/lib/services/blocks/product/product-zoom-complete.service.d.ts +3 -0
  566. package/lib/services/blocks/product/product-zoom-more.service.d.ts +3 -0
  567. package/lib/services/blocks/product/product-zoom-selected.service.d.ts +3 -0
  568. package/lib/services/blocks/product/product-zoom-simple.service.d.ts +3 -0
  569. package/lib/services/blocks/product/product-zoom-triple-column.service.d.ts +3 -0
  570. package/lib/services/blocks/product/product-zoom.service.d.ts +3 -0
  571. package/lib/services/blocks/products-list/products-list-classic.service.d.ts +3 -0
  572. package/lib/services/blocks/products-list/products-list-selected.service.d.ts +3 -0
  573. package/lib/services/blocks/products-list/products-list-simple.service.d.ts +3 -0
  574. package/lib/services/blocks/quotes/quotes-author.service.d.ts +3 -0
  575. package/lib/services/blocks/quotes/quotes-simple-background.service.d.ts +3 -0
  576. package/lib/services/blocks/quotes/quotes-simple.service.d.ts +3 -0
  577. package/lib/services/blocks/rassurances/rassurances-quadruple-aligned.service.d.ts +3 -0
  578. package/lib/services/blocks/rassurances/rassurances-quadruple-background.service.d.ts +3 -0
  579. package/lib/services/blocks/rassurances/rassurances-triple-background.service.d.ts +3 -0
  580. package/lib/services/blocks/reviews/reviews-simple.service.d.ts +3 -0
  581. package/lib/services/blocks/reviews/reviews-waterfall.service.d.ts +3 -0
  582. package/lib/services/blocks/separator/separator-simple.service.d.ts +3 -0
  583. package/lib/services/blocks/sliders/sliders-double-imageright.service.d.ts +3 -0
  584. package/lib/services/blocks/sliders/sliders-fullpage.service.d.ts +3 -0
  585. package/lib/services/blocks/sliders/sliders-imageright.service.d.ts +3 -0
  586. package/lib/services/blocks/sliders/sliders-leftnav.service.d.ts +3 -0
  587. package/lib/services/blocks/sliders/sliders-with-banner.service.d.ts +3 -0
  588. package/lib/services/blocks/socials/socials-like.service.d.ts +3 -0
  589. package/lib/services/blocks/socials/socials-network.service.d.ts +3 -0
  590. package/lib/services/blocks/socials/socials-page-complex.service.d.ts +3 -0
  591. package/lib/services/blocks/socials/socials-page-simple.service.d.ts +3 -0
  592. package/lib/services/blocks/text-backgrounds/text-backgrounds-four-rows-icon-text.service.d.ts +3 -0
  593. package/lib/services/blocks/text-backgrounds/text-backgrounds-link.service.d.ts +3 -0
  594. package/lib/services/blocks/text-backgrounds/text-backgrounds-simple.service.d.ts +3 -0
  595. package/lib/services/blocks/text-backgrounds/text-backgrounds-three-rows-icon-text.service.d.ts +3 -0
  596. package/lib/services/blocks/text-backgrounds/text-backgrounds-two-rows-icon-text.service.d.ts +3 -0
  597. package/lib/services/blocks/text-backgrounds/text-backgrounds-with-banner.service.d.ts +3 -0
  598. package/lib/services/blocks/text-backgrounds/text-backgrounds-with-txt.service.d.ts +3 -0
  599. package/lib/services/blocks/texts/texts-double-background.service.d.ts +3 -0
  600. package/lib/services/blocks/texts/texts-double.service.d.ts +3 -0
  601. package/lib/services/blocks/texts/texts-one-background.service.d.ts +3 -0
  602. package/lib/services/blocks/texts/texts-one.service.d.ts +3 -0
  603. package/lib/services/blocks/texts/texts-quadruple-background.service.d.ts +3 -0
  604. package/lib/services/blocks/texts/texts-quadruple-numbers.service.d.ts +3 -0
  605. package/lib/services/blocks/texts/texts-quadruple.service.d.ts +3 -0
  606. package/lib/services/blocks/texts/texts-triple-background.service.d.ts +3 -0
  607. package/lib/services/blocks/texts/texts-triple.service.d.ts +3 -0
  608. package/lib/services/blocks/timer/timer-airport.service.d.ts +3 -0
  609. package/lib/services/blocks/timer/timer-background.service.d.ts +3 -0
  610. package/lib/services/blocks/timer/timer-clock.service.d.ts +3 -0
  611. package/lib/services/blocks/timer/timer-multiple-img.service.d.ts +3 -0
  612. package/lib/services/blocks/timer/timer-simple.service.d.ts +3 -0
  613. package/lib/services/blocks/videos/videos-simple.service.d.ts +3 -0
  614. package/lib/services/blocks/videos/videos-txt-content.service.d.ts +3 -0
  615. package/lib/services/blocks/videos/videos-txt-left.service.d.ts +3 -0
  616. package/lib/services/blocks/videos/videos-txt.service.d.ts +3 -0
  617. package/lib/services/blocks/witness/about-block.service.d.ts +3 -0
  618. package/lib/services/blocks/witness/witness-background-double.service.d.ts +3 -0
  619. package/lib/services/blocks/witness/witness-background-one.service.d.ts +3 -0
  620. package/lib/services/blocks/witness/witness-quadruple.service.d.ts +3 -0
  621. package/lib/services/blocks/witness/witness-triple.service.d.ts +3 -0
  622. package/lib/services/blocks/witness/witness-twice.service.d.ts +3 -0
  623. package/lib/services/structures/amplify-product/amplify-product.service.d.ts +3 -0
  624. package/lib/services/structures/amplify-products-list/amplify-products-list.service.d.ts +3 -0
  625. package/lib/services/structures/code/code.service.d.ts +3 -0
  626. package/lib/services/structures/faq/faq.service.d.ts +3 -0
  627. package/lib/services/structures/forms/forms.service.d.ts +3 -0
  628. package/lib/services/structures/images/images.service.d.ts +3 -0
  629. package/lib/services/structures/images-texts/images-texts.service.d.ts +3 -0
  630. package/lib/services/structures/launch-videos/launch-videos.service.d.ts +3 -0
  631. package/lib/services/structures/map/map.service.d.ts +3 -0
  632. package/lib/services/structures/newsletter/newsletter.service.d.ts +3 -0
  633. package/lib/services/structures/onboarding/onboarding.service.d.ts +3 -0
  634. package/lib/services/structures/product/product.service.d.ts +3 -0
  635. package/lib/services/structures/products-list/products-list.service.d.ts +3 -0
  636. package/lib/services/structures/quotes/quotes.service.d.ts +3 -0
  637. package/lib/services/structures/rassurances/rassurances.service.d.ts +3 -0
  638. package/lib/services/structures/reviews/reviews.service.d.ts +3 -0
  639. package/lib/services/structures/separator/separator.service.d.ts +3 -0
  640. package/lib/services/structures/sliders/sliders.service.d.ts +3 -0
  641. package/lib/services/structures/socials/socials.service.d.ts +3 -0
  642. package/lib/services/structures/text-backgrounds/text-backgrounds.service.d.ts +3 -0
  643. package/lib/services/structures/texts/texts.service.d.ts +3 -0
  644. package/lib/services/structures/timer/timer.service.d.ts +3 -0
  645. package/lib/services/structures/videos/videos.service.d.ts +3 -0
  646. package/lib/services/structures/witness/witness.service.d.ts +3 -0
  647. package/lib/services/utils/api.service.d.ts +3 -0
  648. package/lib/services/utils/config.service.d.ts +3 -0
  649. package/lib/services/utils/content.service.d.ts +3 -0
  650. package/lib/services/utils/currency.service.d.ts +3 -0
  651. package/lib/services/utils/expected-images.service.d.ts +3 -0
  652. package/lib/services/utils/external-config.service.d.ts +3 -0
  653. package/lib/services/utils/font-awesome.service.d.ts +3 -0
  654. package/lib/services/utils/injector.service.d.ts +3 -0
  655. package/lib/services/utils/media-connector.service.d.ts +3 -0
  656. package/lib/services/utils/quill.service.d.ts +3 -0
  657. package/lib/services/utils/structure-config.service.d.ts +3 -0
  658. package/lib/services/utils/translate-block.service.d.ts +3 -0
  659. package/lib/services/utils/vimeo.service.d.ts +3 -0
  660. package/lib/services/utils/youtube.service.d.ts +3 -0
  661. package/lib/services/wizi-block.service.d.ts +3 -0
  662. package/lib/shared/components/editorjs/editorjs.component.d.ts +3 -0
  663. package/lib/shared/components/editorjs/tools/utils/editorjs-conversion.service.d.ts +3 -0
  664. package/lib/shared/components/editorjs/tools/utils/editorjs-translation.service.d.ts +3 -0
  665. package/lib/shared/components/faq/faq.component.d.ts +3 -0
  666. package/lib/shared/components/loader/loader.component.d.ts +3 -0
  667. package/lib/shared/components/quill/quill.component.d.ts +3 -0
  668. package/lib/shared/components/shared-components.module.d.ts +29 -0
  669. package/lib/shared/components/small-loader/small-loader.component.d.ts +3 -0
  670. package/lib/shared/components/star/star.component.d.ts +3 -0
  671. package/lib/shared/components/structure-amplify-search-category/structure-amplify-search-category.component.d.ts +3 -0
  672. package/lib/shared/components/structure-amplify-search-product/structure-amplify-search-product.component.d.ts +3 -0
  673. package/lib/shared/components/structure-config/structure-config.component.d.ts +3 -0
  674. package/lib/shared/components/structure-config-checkbox/structure-config-checkbox.component.d.ts +3 -0
  675. package/lib/shared/components/structure-config-extend-input/structure-config-extended-input.component.d.ts +3 -0
  676. package/lib/shared/components/structure-config-font/structure-config-font.component.d.ts +3 -0
  677. package/lib/shared/components/structure-config-input/structure-config-input.component.d.ts +3 -0
  678. package/lib/shared/components/structure-config-payment/structure-config-payment.component.d.ts +3 -0
  679. package/lib/shared/components/structure-search-product/structure-search-product.component.d.ts +3 -0
  680. package/lib/shared/components/structure-select/structure-select.component.d.ts +3 -0
  681. package/lib/shared/components/structure-tools/structure-tools.component.d.ts +3 -0
  682. package/lib/shared/directives/auto-focus/auto-focus.directive.d.ts +3 -0
  683. package/lib/shared/directives/auto-hide/auto-hide.directive.d.ts +3 -0
  684. package/lib/shared/directives/get-size-image/get-size-image.directive.d.ts +3 -0
  685. package/lib/shared/directives/holdable/holdable.directive.d.ts +3 -0
  686. package/lib/shared/directives/pictures-template/pictures-template.directive.d.ts +3 -0
  687. package/lib/shared/directives/shared-directives.module.d.ts +13 -0
  688. package/lib/shared/directives/show-delete-button/show-delete-button.directive.d.ts +3 -0
  689. package/lib/shared/pipes/add-zero-for-timer/add-zero-for-timer.pipe.d.ts +3 -0
  690. package/lib/shared/pipes/answer-type/answer-type.pipe.d.ts +3 -0
  691. package/lib/shared/pipes/array-number/array-number.pipe.d.ts +3 -0
  692. package/lib/shared/pipes/check-payment-value/check-payment-value.pipe.d.ts +3 -0
  693. package/lib/shared/pipes/even-odd/even-odd.pipe.d.ts +3 -0
  694. package/lib/shared/pipes/img-path/img-path.pipe.d.ts +3 -0
  695. package/lib/shared/pipes/safe-style/safe-style.pipe.d.ts +3 -0
  696. package/lib/shared/pipes/safe-url/safe-url.pipe.d.ts +3 -0
  697. package/lib/shared/pipes/shared-pipes.module.d.ts +17 -0
  698. package/lib/shared/pipes/strip-tags/strip-tags.pipe.d.ts +3 -0
  699. package/lib/shared/pipes/tiny-color/tiny-color.pipe.d.ts +3 -0
  700. package/lib/shared/shared.module.d.ts +13 -0
  701. package/lib/structures/amplify-product/zoom/amplify-product-zoom.component.d.ts +3 -0
  702. package/lib/structures/amplify-product/zoom-more/amplify-product-zoom-more.component.d.ts +3 -0
  703. package/lib/structures/amplify-product/zoom-selected/amplify-product-zoom-selected.component.d.ts +3 -0
  704. package/lib/structures/amplify-product/zoom-triple-column/amplify-product-zoom-triple-column.component.d.ts +3 -0
  705. package/lib/structures/amplify-products-list/classic/amplify-products-list-classic.component.d.ts +3 -0
  706. package/lib/structures/amplify-products-list/selected/amplify-products-list-selected.component.d.ts +3 -0
  707. package/lib/structures/amplify-products-list/simple/amplify-products-list-simple.component.d.ts +3 -0
  708. package/lib/structures/code/code-html/code-html.component.d.ts +3 -0
  709. package/lib/structures/code/code-javascript/code-javascript.component.d.ts +3 -0
  710. package/lib/structures/code/code-stylesheet/code-stylesheet.component.d.ts +3 -0
  711. package/lib/structures/faq/accordion/faq-accordion.component.d.ts +3 -0
  712. package/lib/structures/faq/frame/faq-frame.component.d.ts +3 -0
  713. package/lib/structures/faq/list-icon/faq-list-icon.component.d.ts +3 -0
  714. package/lib/structures/faq/simple/faq-simple.component.d.ts +3 -0
  715. package/lib/structures/faq/simple-background/faq-simple-background.component.d.ts +3 -0
  716. package/lib/structures/forms/background/forms-background.component.d.ts +3 -0
  717. package/lib/structures/forms/imageleft/forms-imageleft.component.d.ts +3 -0
  718. package/lib/structures/forms/imageright/forms-imageright.component.d.ts +3 -0
  719. package/lib/structures/forms/simple/forms-simple.component.d.ts +3 -0
  720. package/lib/structures/images/banner/images-banner.component.d.ts +3 -0
  721. package/lib/structures/images/big-and-double/images-big-and-double.component.d.ts +3 -0
  722. package/lib/structures/images/bigs-and-double-middle/images-bigs-and-double-middle.component.d.ts +3 -0
  723. package/lib/structures/images/double/images-double.component.d.ts +3 -0
  724. package/lib/structures/images/four-images-title/four-images-title.component.d.ts +3 -0
  725. package/lib/structures/images/quadruple/images-quadruple.component.d.ts +3 -0
  726. package/lib/structures/images/quadruple-left-one-right/images-quadruple-left-one-right.component.d.ts +3 -0
  727. package/lib/structures/images/simple/images-simple.component.d.ts +3 -0
  728. package/lib/structures/images/triple/images-triple.component.d.ts +3 -0
  729. package/lib/structures/images/two-images-title-text/two-images-title-text.component.d.ts +3 -0
  730. package/lib/structures/images-texts/big-left-text-right/images-texts-big-left-text-right.component.d.ts +3 -0
  731. package/lib/structures/images-texts/big-right-text-left/images-texts-big-right-text-left.component.d.ts +3 -0
  732. package/lib/structures/images-texts/left-text-right/images-texts-left-text-right.component.d.ts +3 -0
  733. package/lib/structures/images-texts/one-text-one/images-texts-one-text-one.component.d.ts +3 -0
  734. package/lib/structures/images-texts/right-text-left/images-texts-right-text-left.component.d.ts +3 -0
  735. package/lib/structures/images-texts/small-left-text-right/images-texts-small-left-text-right.component.d.ts +3 -0
  736. package/lib/structures/images-texts/small-right-text-left/images-texts-small-right-text-left.component.d.ts +3 -0
  737. package/lib/structures/images-texts/text-one-text/images-texts-text-one-text.component.d.ts +3 -0
  738. package/lib/structures/launch-videos/button/launch-videos-button.component.d.ts +3 -0
  739. package/lib/structures/launch-videos/buttontxt/launch-videos-buttontxt.component.d.ts +3 -0
  740. package/lib/structures/loader-component.module.d.ts +4 -0
  741. package/lib/structures/map/background-form-left/map-background-form-left.component.d.ts +9 -8
  742. package/lib/structures/map/background-form-right/map-background-form-right.component.d.ts +9 -8
  743. package/lib/structures/map/fullpage/map-fullpage.component.d.ts +8 -7
  744. package/lib/structures/map/left-text/map-left-text.component.d.ts +8 -7
  745. package/lib/structures/map/right-text/map-right-text.component.d.ts +8 -7
  746. package/lib/structures/map/text-form/map-text-form.component.d.ts +9 -8
  747. package/lib/structures/newsletter/aligned-center-background/newsletter-aligned-center-background.component.d.ts +3 -0
  748. package/lib/structures/newsletter/aligned-center-image/newsletter-aligned-center-image.component.d.ts +3 -0
  749. package/lib/structures/newsletter/center-image/newsletter-center-image.component.d.ts +3 -0
  750. package/lib/structures/onboarding/onboarding/forms-onboarding.component.d.ts +3 -0
  751. package/lib/structures/product/zoom/product-zoom.component.d.ts +3 -0
  752. package/lib/structures/product/zoom-complete/product-zoom-complete.component.d.ts +3 -0
  753. package/lib/structures/product/zoom-complete-background/product-zoom-complete-background.component.d.ts +3 -0
  754. package/lib/structures/product/zoom-complete-slider/product-zoom-complete-slider.component.d.ts +3 -0
  755. package/lib/structures/product/zoom-more/product-zoom-more.component.d.ts +3 -0
  756. package/lib/structures/product/zoom-selected/product-zoom-selected.component.d.ts +3 -0
  757. package/lib/structures/product/zoom-simple/product-zoom-simple.component.d.ts +3 -0
  758. package/lib/structures/product/zoom-triple-column/product-zoom-triple-column.component.d.ts +3 -0
  759. package/lib/structures/products-list/classic/products-list-classic.component.d.ts +3 -0
  760. package/lib/structures/products-list/selected/products-list-selected.component.d.ts +3 -0
  761. package/lib/structures/products-list/simple/products-list-simple.component.d.ts +3 -0
  762. package/lib/structures/quotes/author/quotes-author.component.d.ts +3 -0
  763. package/lib/structures/quotes/simple/quotes-simple.component.d.ts +3 -0
  764. package/lib/structures/quotes/simple-background/quotes-simple-background.component.d.ts +3 -0
  765. package/lib/structures/rassurances/quadruple-aligned/rassurances-quadruple-aligned.component.d.ts +3 -0
  766. package/lib/structures/rassurances/quadruple-background/rassurances-quadruple-background.component.d.ts +3 -0
  767. package/lib/structures/rassurances/triple-background/rassurances-triple-background.component.d.ts +3 -0
  768. package/lib/structures/reviews/simple/reviews-simple.component.d.ts +3 -0
  769. package/lib/structures/reviews/waterfall/reviews-waterfall.component.d.ts +3 -0
  770. package/lib/structures/separator/separator-simple/separator-simple.component.d.ts +3 -0
  771. package/lib/structures/sliders/double-imageright/slider-double-imageright.component.d.ts +3 -0
  772. package/lib/structures/sliders/fullpage/slider-fullpage.component.d.ts +3 -0
  773. package/lib/structures/sliders/imageright/slider-imageright.component.d.ts +3 -0
  774. package/lib/structures/sliders/leftnav/slider-leftnav.component.d.ts +3 -0
  775. package/lib/structures/sliders/with-banner/slider-with-banner.component.d.ts +3 -0
  776. package/lib/structures/socials/like/socials-like.component.d.ts +3 -0
  777. package/lib/structures/socials/network/socials-network.component.d.ts +3 -0
  778. package/lib/structures/socials/page-complex/socials-page-complex.component.d.ts +3 -0
  779. package/lib/structures/socials/page-simple/socials-page-simple.component.d.ts +3 -0
  780. package/lib/structures/structures.component.d.ts +3 -0
  781. package/lib/structures/structures.module.d.ts +122 -2
  782. package/lib/structures/text-backgrounds/four-rows-icon-text/text-backgrounds-four-rows-icon-text.component.d.ts +3 -0
  783. package/lib/structures/text-backgrounds/link/text-backgrounds-link.component.d.ts +3 -0
  784. package/lib/structures/text-backgrounds/simple/text-backgrounds-simple.component.d.ts +3 -0
  785. package/lib/structures/text-backgrounds/three-rows-icon-text/text-backgrounds-three-rows-icon-text.component.d.ts +3 -0
  786. package/lib/structures/text-backgrounds/two-rows-icon-text/text-backgrounds-two-rows-icon-text.component.d.ts +3 -0
  787. package/lib/structures/text-backgrounds/with-banner/text-backgrounds-with-banner.component.d.ts +3 -0
  788. package/lib/structures/text-backgrounds/with-txt/text-backgrounds-with-txt.component.d.ts +3 -0
  789. package/lib/structures/texts/double/texts-double.component.d.ts +3 -0
  790. package/lib/structures/texts/double-background/texts-double-background.component.d.ts +3 -0
  791. package/lib/structures/texts/one/texts-one.component.d.ts +3 -0
  792. package/lib/structures/texts/one-background/texts-one-background.component.d.ts +3 -0
  793. package/lib/structures/texts/quadruple/texts-quadruple.component.d.ts +3 -0
  794. package/lib/structures/texts/quadruple-background/texts-quadruple-background.component.d.ts +3 -0
  795. package/lib/structures/texts/quadruple-numbers/texts-quadruple-numbers.component.d.ts +3 -0
  796. package/lib/structures/texts/triple/texts-triple.component.d.ts +3 -0
  797. package/lib/structures/texts/triple-background/texts-triple-background.component.d.ts +3 -0
  798. package/lib/structures/timer/airport/timer-airport.component.d.ts +3 -0
  799. package/lib/structures/timer/background/timer-background.component.d.ts +3 -0
  800. package/lib/structures/timer/clock/timer-clock.component.d.ts +3 -0
  801. package/lib/structures/timer/multiple-img/timer-multiple-img.component.d.ts +3 -0
  802. package/lib/structures/timer/simple/timer-simple.component.d.ts +3 -0
  803. package/lib/structures/videos/simple/videos-simple.component.d.ts +3 -0
  804. package/lib/structures/videos/txt/videos-txt.component.d.ts +3 -0
  805. package/lib/structures/videos/txt-content/videos-txt-content.component.d.ts +3 -0
  806. package/lib/structures/videos/txt-left/videos-txt-left.component.d.ts +3 -0
  807. package/lib/structures/witness/about-block/about-block.component.d.ts +3 -0
  808. package/lib/structures/witness/background-double/witness-background-double.component.d.ts +3 -0
  809. package/lib/structures/witness/background-one/witness-background-one.component.d.ts +3 -0
  810. package/lib/structures/witness/quadruple/witness-quadruple.component.d.ts +3 -0
  811. package/lib/structures/witness/triple/witness-triple.component.d.ts +3 -0
  812. package/lib/structures/witness/twice/witness-twice.component.d.ts +3 -0
  813. package/lib/wizi-block.component.d.ts +3 -0
  814. package/lib/wizi-block.module.d.ts +14 -0
  815. package/package.json +6 -7
  816. package/wizi-block.scss +22321 -22329
  817. package/wizishop-wizi-block.d.ts +1 -281
  818. package/bundles/wizishop-wizi-block.umd.min.js +0 -2
  819. package/bundles/wizishop-wizi-block.umd.min.js.map +0 -1
  820. package/wizishop-wizi-block.metadata.json +0 -1
@@ -65,4 +65,4 @@ export class QuoteTool extends ParagraphStyleTool {
65
65
  }
66
66
  }
67
67
  QuoteTool.title = 'Quote';
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvcGFyYWdyYXBoL3F1b3RlLXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBVSxTQUFRLGtCQUFrQjtJQXlDN0MsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBdkNLLGdCQUFXLEdBQVcsT0FBTyxDQUFDO1FBRS9DLFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsdUJBQXVCO1NBQzFDLENBQUM7UUFFRixVQUFLLEdBQWtDO1lBQ25DLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFNRixRQUFHLEdBQUcsWUFBWSxDQUFDO1FBd0JmLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBUUQsTUFBTTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUssUUFBUSxDQUFDLEtBQVk7O1lBQ3ZCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7S0FBQTtJQUVELFVBQVUsQ0FBQyxTQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7UUFDRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxRQUFRLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9FLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7QUE3RWEsZUFBSyxHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL3BhcmFncmFwaC1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgUXVvdGVUb29sIGV4dGVuZHMgUGFyYWdyYXBoU3R5bGVUb29sIGltcGxlbWVudHMgSW5saW5lVG9vbCB7XG4gICAgcHVibGljIHN0YXRpYyB0aXRsZSA9ICdRdW90ZSc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAncXVvdGUnO1xuXG4gICAgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1xdW90ZScsXG4gICAgfTtcblxuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnQkxPQ0tRVU9URSc7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJlbnRNb2RpZmllciA9IHRoaXMuZmluZFBhcmVudE1vZGlmaWVyKCk7XG4gICAgICAgIGlmICghcGFyZW50TW9kaWZpZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaXNBY3RpdmUgPSBwYXJlbnRNb2RpZmllci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMudGFnLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cbn1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvcGFyYWdyYXBoL3F1b3RlLXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBVSxTQUFRLGtCQUFrQjtJQXlDN0MsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBdkNLLGdCQUFXLEdBQVcsT0FBTyxDQUFDO1FBRS9DLFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsdUJBQXVCO1NBQzFDLENBQUM7UUFFRixVQUFLLEdBQWtDO1lBQ25DLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFNRixRQUFHLEdBQUcsWUFBWSxDQUFDO1FBd0JmLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBUUQsTUFBTTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUssUUFBUSxDQUFDLEtBQVk7O1lBQ3ZCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7S0FBQTtJQUVELFVBQVUsQ0FBQyxTQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7UUFDRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxRQUFRLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9FLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7QUE3RWEsZUFBSyxHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL3BhcmFncmFwaC1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgUXVvdGVUb29sIGV4dGVuZHMgUGFyYWdyYXBoU3R5bGVUb29sIGltcGxlbWVudHMgSW5saW5lVG9vbCB7XG4gICAgcHVibGljIHN0YXRpYyB0aXRsZSA9ICdRdW90ZSc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAncXVvdGUnO1xuXG4gICAgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1xdW90ZScsXG4gICAgfTtcblxuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnQkxPQ0tRVU9URSc7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJlbnRNb2RpZmllciA9IHRoaXMuZmluZFBhcmVudE1vZGlmaWVyKCk7XG4gICAgICAgIGlmICghcGFyZW50TW9kaWZpZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaXNBY3RpdmUgPSBwYXJlbnRNb2RpZmllci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMudGFnLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cbn1cbiJdfQ==
@@ -59,4 +59,4 @@ export class RedoTool extends TextEditionTool {
59
59
  }
60
60
  }
61
61
  RedoTool.title = 'Redo';
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkby10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvcmVkby10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsV0FBVztBQUNYLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtJQXlDekMsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBdkNLLGdCQUFXLEdBQVcsTUFBTSxDQUFDO1FBRTlDLFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsc0JBQXNCO1NBQ3pDLENBQUM7UUFFRixVQUFLLEdBQWtDO1lBQ25DLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFNRixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBd0JMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBUUQsTUFBTTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUssUUFBUSxDQUFDLEtBQVk7O1lBQ3ZCLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDO0tBQUE7SUFFRCxVQUFVLENBQUMsU0FBUztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7QUF0RWEsY0FBSyxHQUFHLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cywgc2V0SXNUZXh0RWRpdGlvblRvb2wgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0RWRpdGlvblRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS90ZXh0LWVkaXRpb24uY29tcG9uZW50JztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBSZWRvVG9vbCBleHRlbmRzIFRleHRFZGl0aW9uVG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnUmVkbyc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAncmVkbyc7XG5cbiAgICBDU1MgPSB7XG4gICAgICAgIGJ1dHRvbjogJ2NlLWlubGluZS10b29sJyxcbiAgICAgICAgYnV0dG9uQWN0aXZlOiAnY2UtaW5saW5lLXRvb2wtLWFjdGl2ZScsXG4gICAgICAgIGJ1dHRvbk1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLXJlZG8nLFxuICAgIH07XG5cbiAgICBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBhcGk6IGFueTtcblxuICAgIHByaXZhdGUgX3N0YXRlOiBib29sZWFuO1xuXG4gICAgdGFnID0gJyc7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICBzZXRJc1RleHRFZGl0aW9uVG9vbCh0cnVlKTtcbiAgICAgICAgdGhpcy5yZWRvKCk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkby10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvcmVkby10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsV0FBVztBQUNYLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtJQXlDekMsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBdkNLLGdCQUFXLEdBQVcsTUFBTSxDQUFDO1FBRTlDLFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsc0JBQXNCO1NBQ3pDLENBQUM7UUFFRixVQUFLLEdBQWtDO1lBQ25DLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFNRixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBd0JMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBUUQsTUFBTTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUssUUFBUSxDQUFDLEtBQVk7O1lBQ3ZCLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDO0tBQUE7SUFFRCxVQUFVLENBQUMsU0FBUztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7QUF0RWEsY0FBSyxHQUFHLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cywgc2V0SXNUZXh0RWRpdGlvblRvb2wgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0RWRpdGlvblRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS90ZXh0LWVkaXRpb24uY29tcG9uZW50JztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBSZWRvVG9vbCBleHRlbmRzIFRleHRFZGl0aW9uVG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnUmVkbyc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAncmVkbyc7XG5cbiAgICBDU1MgPSB7XG4gICAgICAgIGJ1dHRvbjogJ2NlLWlubGluZS10b29sJyxcbiAgICAgICAgYnV0dG9uQWN0aXZlOiAnY2UtaW5saW5lLXRvb2wtLWFjdGl2ZScsXG4gICAgICAgIGJ1dHRvbk1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLXJlZG8nLFxuICAgIH07XG5cbiAgICBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBhcGk6IGFueTtcblxuICAgIHByaXZhdGUgX3N0YXRlOiBib29sZWFuO1xuXG4gICAgdGFnID0gJyc7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICBzZXRJc1RleHRFZGl0aW9uVG9vbCh0cnVlKTtcbiAgICAgICAgdGhpcy5yZWRvKCk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
@@ -117,4 +117,4 @@ export class TextAlignTool extends ParagraphTextTool {
117
117
  }
118
118
  }
119
119
  TextAlignTool.title = 'Text Align';
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hbGlnbi10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdGV4dC1hbGlnbi10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFakYsV0FBVztBQUNYLE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBaURoRCxZQUFZLEVBQUUsR0FBRyxFQUFFO1FBQ2YsS0FBSyxFQUFFLENBQUM7UUEvQ0ssZ0JBQVcsR0FBVyxXQUFXLENBQUM7UUFFbkQsUUFBRyxHQUFHO1lBQ0YsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSwyQkFBMkI7WUFDM0MsbUJBQW1CLEVBQUUsa0NBQWtDO1lBQ3ZELHFCQUFxQixFQUFFLDhCQUE4QjtTQUN4RCxDQUFDO1FBRUYsVUFBSyxHQUFrQztZQUNuQyxNQUFNLEVBQUUsU0FBUztTQUNwQixDQUFDO1FBTUYsUUFBRyxHQUFHLE1BQU0sQ0FBQztRQUViLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUUxQixjQUFTLEdBQXFCLFVBQVUsQ0FBQztRQUV6QyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBd0JULElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtB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S0FBSyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBSTtRQUNaLCtHQUErRztJQUNuSCxDQUFDO0lBRUQsV0FBVyxLQUFJLENBQUM7SUFFVixjQUFjLENBQUMsWUFBb0I7O1lBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsQ0FBQztLQUFBOztBQXJJYSxtQkFBSyxHQUFHLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhUZXh0VG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL3RleHQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEFsaWduLCBURVhUX0FMSUdOIH0gZnJvbSAnLi4vdXRpbHMvdGV4dHMuY29tcG9uZW50JztcbmltcG9ydCB7IGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIFRleHRBbGlnblRvb2wgZXh0ZW5kcyBQYXJhZ3JhcGhUZXh0VG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnVGV4dCBBbGlnbic7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAndGV4dEFsaWduJztcblxuICAgIENTUyA9IHtcbiAgICAgICAgYnV0dG9uOiAnY2UtaW5saW5lLXRvb2wnLFxuICAgICAgICBidXR0b25BY3RpdmU6ICdjZS1pbmxpbmUtdG9vbC0tYWN0aXZlJyxcbiAgICAgICAgYnV0dG9uTW9kaWZpZXI6ICdjZS1pbmxpbmUtdG9vbC0tdGV4dEFsaWduJyxcbiAgICAgICAgYXJyb3dCdXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS10ZXh0QWxpZ25fX2Fycm93JyxcbiAgICAgICAgdGV4dFNlbGVjdGlvbk1vZGlmaWVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLXRleHRBbGlnbicsXG4gICAgfTtcblxuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnU1BBTic7XG5cbiAgICBoYXNTZXBhcmF0b3JCZWZvcmUgPSB0cnVlO1xuXG4gICAgdGV4dEFsaWduOiBBcnJheTxUZXh0QWxpZ24+ID0gVEVYVF9BTElHTjtcblxuICAgIGNsYXNzZXMgPSAnJztcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBzYW5pdGl6ZSgpOiBTYW5pdGl6ZXJDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYjoge30sXG4gICAgICAgIH0gYXMgU2FuaXRpemVyQ29uZmlnO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZShzdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5hcGkuc3R5bGVzLmlubGluZVRvb2xCdXR0b25BY3RpdmUsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGFwaSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24udHlwZSA9ICdidXR0b24nO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmJ1dHRvbiwgdGhpcy5DU1MuYnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICBpZiAodGhpcy5oYXNTZXBhcmF0b3JCZWZvcmUpIHtcbiAgICAgICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5zZXBhcmF0b3JDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW5Ecm9wZG93bigpKTtcblxuICAgICAgICBsZXQgZHJvcGRvd25BcnJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgZHJvcGRvd25BcnJvdy5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmFycm93QnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5hcHBlbmRDaGlsZChkcm9wZG93bkFycm93KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5ub2Rlcy5idXR0b247XG4gICAgfVxuXG4gICAgYXN5bmMgc3Vycm91bmQocmFuZ2U6IFJhbmdlLCBhcHBseVN0eWxlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGFwcGx5U3R5bGUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZXhlY0NvbW1hbmRTdHlsZSh0aGlzLnRhZyk7XG4gICAgICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrU3RhdGUoc2VsZWN0aW9uKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0Jsb2NrRm9jdXNlZCkge1xuICAgICAgICAgICAgc2V0QmxvY2tGb2N1cyh0aGlzLnBhcmVudEVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyZW50TW9kaWZpZXIgPSB0aGlzLmZpbmRQYXJlbnRNb2RpZmllcigpO1xuICAgICAgICBpZiAoIXBhcmVudE1vZGlmaWVyKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50ZXh0QWxpZ24uZm9yRWFjaCgodGV4dEFsaWduKSA9PiB7XG4gICAgICAgICAgICBpZiAocGFyZW50TW9kaWZpZXIuY2xhc3NMaXN0LmNvbnRhaW5zKHRleHRBbGlnbi5jbGFzcykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRleHRBbGlnbi5jbGFzcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUodGV4dEFsaWduLmNsYXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmVuZGVyQWN0aW9ucygpIHtcbiAgICAgICAgbGV0IHRleHRBbGlnbkRyb3Bkb3duID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRleHRBbGlnbkRyb3Bkb3duLmNsYXNzTmFtZSA9IHRoaXMuZHJvcGRvd25Dc3NbJ2NvbnRhaW5lciddICsgJyBoaWRkZW4gJyArIHRoaXMuQ1NTLnRleHRTZWxlY3Rpb25Nb2RpZmllcjtcbiAgICAgICAgdGhpcy50ZXh0QWxpZ24uZm9yRWFjaCgodGV4dEFsaWduKSA9PiB7XG4gICAgICAgICAgICBsZXQgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICByb3cuY2xhc3NOYW1lID0gdGhpcy5kcm9wZG93bkNzc1sncm93J10gKyAnICcgKyB0ZXh0QWxpZ24uY2xhc3M7XG4gICAgICAgICAgICByb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmFwcGx5VGV4dFN0eWxlKHRleHRBbGlnbi5jbGFzcykpO1xuICAgICAgICAgICAgdGV4dEFsaWduRHJvcGRvd24uYXBwZW5kQ2hpbGQocm93KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLmNsYXNzZXMgPT09ICcnKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRBbGlnbi5mb3JFYWNoKCh0ZXh0QWxpZ24pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jbGFzc2VzICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsYXNzZXMgKz0gJywnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNsYXNzZXMgKz0gdGV4dEFsaWduLmNsYXNzO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRleHRBbGlnbkRyb3Bkb3duO1xuICAgIH1cblxuICAgIHNob3dBY3Rpb25zKG1hcmspIHtcbiAgICAgICAgLy90aGlzLnN0eWxlLmlucHV0ID0gbWFyayAmJiBtYXJrLnN0eWxlICYmIG1hcmsuc3R5bGUuYmFja2dyb3VuZENvbG9yID8gbWFyay5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgOiAnI2Y1ZjFjYyc7XG4gICAgfVxuXG4gICAgaGlkZUFjdGlvbnMoKSB7fVxuXG4gICAgYXN5bmMgYXBwbHlUZXh0U3R5bGUoY2xhc3NUb0FwcGx5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jbGFzc1RvQXBwbHkgPSBjbGFzc1RvQXBwbHk7XG4gICAgICAgIHRoaXMucmVzZXRVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuc3Vycm91bmQobnVsbCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgICAgICB0aGlzLnNhdmVVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMuaGlkZUFjdGlvbnMoKTtcbiAgICB9XG59XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hbGlnbi10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdGV4dC1hbGlnbi10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFakYsV0FBVztBQUNYLE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBaURoRCxZQUFZLEVBQUUsR0FBRyxFQUFFO1FBQ2YsS0FBSyxFQUFFLENBQUM7UUEvQ0ssZ0JBQVcsR0FBVyxXQUFXLENBQUM7UUFFbkQsUUFBRyxHQUFHO1lBQ0YsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSwyQkFBMkI7WUFDM0MsbUJBQW1CLEVBQUUsa0NBQWtDO1lBQ3ZELHFCQUFxQixFQUFFLDhCQUE4QjtTQUN4RCxDQUFDO1FBRUYsVUFBSyxHQUFrQztZQUNuQyxNQUFNLEVBQUUsU0FBUztTQUNwQixDQUFDO1FBTUYsUUFBRyxHQUFHLE1BQU0sQ0FBQztRQUViLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUUxQixjQUFTLEdBQXFCLFVBQVUsQ0FBQztRQUV6QyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBd0JULElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixP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LENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBSTtRQUNaLCtHQUErRztJQUNuSCxDQUFDO0lBRUQsV0FBVyxLQUFJLENBQUM7SUFFVixjQUFjLENBQUMsWUFBb0I7O1lBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsQ0FBQztLQUFBOztBQXJJYSxtQkFBSyxHQUFHLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhUZXh0VG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL3RleHQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEFsaWduLCBURVhUX0FMSUdOIH0gZnJvbSAnLi4vdXRpbHMvdGV4dHMuY29tcG9uZW50JztcbmltcG9ydCB7IGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIFRleHRBbGlnblRvb2wgZXh0ZW5kcyBQYXJhZ3JhcGhUZXh0VG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnVGV4dCBBbGlnbic7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAndGV4dEFsaWduJztcblxuICAgIENTUyA9IHtcbiAgICAgICAgYnV0dG9uOiAnY2UtaW5saW5lLXRvb2wnLFxuICAgICAgICBidXR0b25BY3RpdmU6ICdjZS1pbmxpbmUtdG9vbC0tYWN0aXZlJyxcbiAgICAgICAgYnV0dG9uTW9kaWZpZXI6ICdjZS1pbmxpbmUtdG9vbC0tdGV4dEFsaWduJyxcbiAgICAgICAgYXJyb3dCdXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS10ZXh0QWxpZ25fX2Fycm93JyxcbiAgICAgICAgdGV4dFNlbGVjdGlvbk1vZGlmaWVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLXRleHRBbGlnbicsXG4gICAgfTtcblxuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnU1BBTic7XG5cbiAgICBoYXNTZXBhcmF0b3JCZWZvcmUgPSB0cnVlO1xuXG4gICAgdGV4dEFsaWduOiBBcnJheTxUZXh0QWxpZ24+ID0gVEVYVF9BTElHTjtcblxuICAgIGNsYXNzZXMgPSAnJztcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBzYW5pdGl6ZSgpOiBTYW5pdGl6ZXJDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYjoge30sXG4gICAgICAgIH0gYXMgU2FuaXRpemVyQ29uZmlnO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZShzdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5hcGkuc3R5bGVzLmlubGluZVRvb2xCdXR0b25BY3RpdmUsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGFwaSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24udHlwZSA9ICdidXR0b24nO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmJ1dHRvbiwgdGhpcy5DU1MuYnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICBpZiAodGhpcy5oYXNTZXBhcmF0b3JCZWZvcmUpIHtcbiAgICAgICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5zZXBhcmF0b3JDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW5Ecm9wZG93bigpKTtcblxuICAgICAgICBsZXQgZHJvcGRvd25BcnJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgZHJvcGRvd25BcnJvdy5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmFycm93QnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5hcHBlbmRDaGlsZChkcm9wZG93bkFycm93KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5ub2Rlcy5idXR0b247XG4gICAgfVxuXG4gICAgYXN5bmMgc3Vycm91bmQocmFuZ2U6IFJhbmdlLCBhcHBseVN0eWxlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGFwcGx5U3R5bGUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZXhlY0NvbW1hbmRTdHlsZSh0aGlzLnRhZyk7XG4gICAgICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrU3RhdGUoc2VsZWN0aW9uKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0Jsb2NrRm9jdXNlZCkge1xuICAgICAgICAgICAgc2V0QmxvY2tGb2N1cyh0aGlzLnBhcmVudEVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyZW50TW9kaWZpZXIgPSB0aGlzLmZpbmRQYXJlbnRNb2RpZmllcigpO1xuICAgICAgICBpZiAoIXBhcmVudE1vZGlmaWVyKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50ZXh0QWxpZ24uZm9yRWFjaCgodGV4dEFsaWduKSA9PiB7XG4gICAgICAgICAgICBpZiAocGFyZW50TW9kaWZpZXIuY2xhc3NMaXN0LmNvbnRhaW5zKHRleHRBbGlnbi5jbGFzcykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRleHRBbGlnbi5jbGFzcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUodGV4dEFsaWduLmNsYXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmVuZGVyQWN0aW9ucygpIHtcbiAgICAgICAgbGV0IHRleHRBbGlnbkRyb3Bkb3duID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRleHRBbGlnbkRyb3Bkb3duLmNsYXNzTmFtZSA9IHRoaXMuZHJvcGRvd25Dc3NbJ2NvbnRhaW5lciddICsgJyBoaWRkZW4gJyArIHRoaXMuQ1NTLnRleHRTZWxlY3Rpb25Nb2RpZmllcjtcbiAgICAgICAgdGhpcy50ZXh0QWxpZ24uZm9yRWFjaCgodGV4dEFsaWduKSA9PiB7XG4gICAgICAgICAgICBsZXQgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICByb3cuY2xhc3NOYW1lID0gdGhpcy5kcm9wZG93bkNzc1sncm93J10gKyAnICcgKyB0ZXh0QWxpZ24uY2xhc3M7XG4gICAgICAgICAgICByb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmFwcGx5VGV4dFN0eWxlKHRleHRBbGlnbi5jbGFzcykpO1xuICAgICAgICAgICAgdGV4dEFsaWduRHJvcGRvd24uYXBwZW5kQ2hpbGQocm93KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLmNsYXNzZXMgPT09ICcnKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRBbGlnbi5mb3JFYWNoKCh0ZXh0QWxpZ24pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jbGFzc2VzICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsYXNzZXMgKz0gJywnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNsYXNzZXMgKz0gdGV4dEFsaWduLmNsYXNzO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRleHRBbGlnbkRyb3Bkb3duO1xuICAgIH1cblxuICAgIHNob3dBY3Rpb25zKG1hcmspIHtcbiAgICAgICAgLy90aGlzLnN0eWxlLmlucHV0ID0gbWFyayAmJiBtYXJrLnN0eWxlICYmIG1hcmsuc3R5bGUuYmFja2dyb3VuZENvbG9yID8gbWFyay5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgOiAnI2Y1ZjFjYyc7XG4gICAgfVxuXG4gICAgaGlkZUFjdGlvbnMoKSB7fVxuXG4gICAgYXN5bmMgYXBwbHlUZXh0U3R5bGUoY2xhc3NUb0FwcGx5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jbGFzc1RvQXBwbHkgPSBjbGFzc1RvQXBwbHk7XG4gICAgICAgIHRoaXMucmVzZXRVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuc3Vycm91bmQobnVsbCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgICAgICB0aGlzLnNhdmVVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMuaGlkZUFjdGlvbnMoKTtcbiAgICB9XG59XG4iXX0=
@@ -108,4 +108,4 @@ export class TextTypeTool extends ParagraphTextTool {
108
108
  }
109
109
  }
110
110
  TextTypeTool.title = 'Text Type';
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10eXBlLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL3BhcmFncmFwaC90ZXh0LXR5cGUtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBWSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRWhGLFdBQVc7QUFDWCxNQUFNLE9BQU8sWUFBYSxTQUFRLGlCQUFpQjtJQTZDL0MsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBM0NLLGdCQUFXLEdBQVcsVUFBVSxDQUFDO1FBRWxELFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsMEJBQTBCO1lBQzFDLG1CQUFtQixFQUFFLGlDQUFpQztZQUN0RCxxQkFBcUIsRUFBRSw2QkFBNkI7U0FDdkQsQ0FBQztRQUVGLFVBQUssR0FBa0M7WUFDbkMsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFFVixjQUFTLEdBQW9CLFVBQVUsQ0FBQztRQXdCcEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBeEJNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPO1lBQ0gsQ0FBQyxFQUFFLEVBQUU7U0FDVyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFRRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXNCLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDeEQ7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFFdkUsSUFBSSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFSyxRQUFRLENBQUMsS0FBWSxFQUFFLGFBQXNCLEtBQUs7O1lBQ3BELElBQUksVUFBVSxFQUFFO2dCQUNaLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3hCO1FBQ0wsQ0FBQztLQUFBO0lBRUQsVUFBVSxDQUFDLFNBQVM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUNELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxJQUFJLFlBQVksR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTlDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxnQkFBZ0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQztRQUN6RyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2hDLElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsR0FBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9FLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBSTtRQUNaLCtHQUErRztJQUNuSCxDQUFDO0lBRUQsV0FBVyxLQUFJLENBQUM7SUFFVixjQUFjLENBQUMsR0FBVzs7WUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7S0FBQTs7QUEzSGEsa0JBQUssR0FBRyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgUGFyYWdyYXBoVGV4dFRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS90ZXh0LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRUeXBlLCBURVhUX1RZUEVTIH0gZnJvbSAnLi4vdXRpbHMvdGV4dHMuY29tcG9uZW50JztcbmltcG9ydCB7IGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZWRpdG9ySlNJMThuRGljdGlvbm5hcnkgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10cmFuc2xhdGlvbi5zZXJ2aWNlJztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBUZXh0VHlwZVRvb2wgZXh0ZW5kcyBQYXJhZ3JhcGhUZXh0VG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnVGV4dCBUeXBlJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICd0ZXh0VHlwZSc7XG5cbiAgICBDU1MgPSB7XG4gICAgICAgIGJ1dHRvbjogJ2NlLWlubGluZS10b29sJyxcbiAgICAgICAgYnV0dG9uQWN0aXZlOiAnY2UtaW5saW5lLXRvb2wtLWFjdGl2ZScsXG4gICAgICAgIGJ1dHRvbk1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLXRleHRUeXBlJyxcbiAgICAgICAgYXJyb3dCdXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS10ZXh0VHlwZV9fYXJyb3cnLFxuICAgICAgICB0ZXh0U2VsZWN0aW9uTW9kaWZpZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tdGV4dFR5cGUnLFxuICAgIH07XG5cbiAgICBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBhcGk6IGFueTtcblxuICAgIHByaXZhdGUgX3N0YXRlOiBib29sZWFuO1xuXG4gICAgdGFnID0gJ1AnO1xuXG4gICAgdGV4dFR5cGVzOiBBcnJheTxUZXh0VHlwZT4gPSBURVhUX1RZUEVTO1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNJbmxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHNhbml0aXplKCk6IFNhbml0aXplckNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiOiB7fSxcbiAgICAgICAgfSBhcyBTYW5pdGl6ZXJDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gICAgfVxuXG4gICAgc2V0IHN0YXRlKHN0YXRlKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLmFwaS5zdHlsZXMuaW5saW5lVG9vbEJ1dHRvbkFjdGl2ZSwgc3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHsgYXBpIH0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi50eXBlID0gJ2J1dHRvbic7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYnV0dG9uLCB0aGlzLkNTUy5idXR0b25Nb2RpZmllcik7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbkRyb3Bkb3duKCkpO1xuXG4gICAgICAgIGxldCBkcm9wZG93bkFycm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBkcm9wZG93bkFycm93LmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYXJyb3dCdXR0b25Nb2RpZmllcik7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmFwcGVuZENoaWxkKGRyb3Bkb3duQXJyb3cpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCdyZW5kZXJpbmcgcGFyYWdyYXBoIHRvb2wnKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSwgYXBwbHlTdHlsZTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChhcHBseVN0eWxlKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuZ2V0U2VsZWN0aW9uKCkpO1xuICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcmVudE1vZGlmaWVyID0gdGhpcy5maW5kUGFyZW50TW9kaWZpZXIoKTtcbiAgICAgICAgaWYgKCFwYXJlbnRNb2RpZmllcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjbGFzc1RvQXBwbHkgPSBwYXJlbnRNb2RpZmllci50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMudGV4dFR5cGVzLmZvckVhY2goKHRleHRUeXBlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKHRleHRUeXBlLnRhZy50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZChjbGFzc1RvQXBwbHkpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCdjaGVja1N0YXRlIG1ldGhvZCBvbiBwYXJhZ3JhcGggdG9vbCcpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZW5kZXJBY3Rpb25zKCkge1xuICAgICAgICBsZXQgdGV4dFR5cGVEcm9wZG93biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0ZXh0VHlwZURyb3Bkb3duLmNsYXNzTmFtZSA9IHRoaXMuZHJvcGRvd25Dc3NbJ2NvbnRhaW5lciddICsgJyBoaWRkZW4gJyArIHRoaXMuQ1NTLnRleHRTZWxlY3Rpb25Nb2RpZmllcjtcbiAgICAgICAgdGhpcy50ZXh0VHlwZXMuZm9yRWFjaCgodGV4dFR5cGUpID0+IHtcbiAgICAgICAgICAgIGxldCByb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIHJvdy5jbGFzc05hbWUgPSB0aGlzLmRyb3Bkb3duQ3NzWydyb3cnXTtcbiAgICAgICAgICAgIHJvdy5pbm5lclRleHQgPSBlZGl0b3JKU0kxOG5EaWN0aW9ubmFyeS5tZXNzYWdlcy50b29scy50ZXh0VHlwZVt0ZXh0VHlwZS5uYW1lXTtcbiAgICAgICAgICAgIHJvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuYXBwbHlUZXh0U3R5bGUodGV4dFR5cGUudGFnKSk7XG4gICAgICAgICAgICB0ZXh0VHlwZURyb3Bkb3duLmFwcGVuZENoaWxkKHJvdyk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGV4dFR5cGVEcm9wZG93bjtcbiAgICB9XG5cbiAgICBzaG93QWN0aW9ucyhtYXJrKSB7XG4gICAgICAgIC8vdGhpcy5zdHlsZS5pbnB1dCA9IG1hcmsgJiYgbWFyay5zdHlsZSAmJiBtYXJrLnN0eWxlLmJhY2tncm91bmRDb2xvciA/IG1hcmsuc3R5bGUuYmFja2dyb3VuZENvbG9yIDogJyNmNWYxY2MnO1xuICAgIH1cblxuICAgIGhpZGVBY3Rpb25zKCkge31cblxuICAgIGFzeW5jIGFwcGx5VGV4dFN0eWxlKHRhZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudGFnID0gdGFnO1xuICAgICAgICB0aGlzLnJlc2V0VXNlclNlbGVjdGlvbigpO1xuICAgICAgICBhd2FpdCB0aGlzLnN1cnJvdW5kKG51bGwsIHRydWUpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5jdXJyZW50U2VsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICB0aGlzLmhpZGVBY3Rpb25zKCk7XG4gICAgfVxufVxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10eXBlLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL3BhcmFncmFwaC90ZXh0LXR5cGUtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBWSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRWhGLFdBQVc7QUFDWCxNQUFNLE9BQU8sWUFBYSxTQUFRLGlCQUFpQjtJQTZDL0MsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBM0NLLGdCQUFXLEdBQVcsVUFBVSxDQUFDO1FBRWxELFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsMEJBQTBCO1lBQzFDLG1CQUFtQixFQUFFLGlDQUFpQztZQUN0RCxxQkFBcUIsRUFBRSw2QkFBNkI7U0FDdkQsQ0FBQztRQUVGLFVBQUssR0FBa0M7WUFDbkMsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFFVixjQUFTLEdBQW9CLFVBQVUsQ0FBQztRQXdCcEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBeEJNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU8sSUFBSSxD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WUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7S0FBQTs7QUEzSGEsa0JBQUssR0FBRyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgUGFyYWdyYXBoVGV4dFRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS90ZXh0LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRUeXBlLCBURVhUX1RZUEVTIH0gZnJvbSAnLi4vdXRpbHMvdGV4dHMuY29tcG9uZW50JztcbmltcG9ydCB7IGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZWRpdG9ySlNJMThuRGljdGlvbm5hcnkgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10cmFuc2xhdGlvbi5zZXJ2aWNlJztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBUZXh0VHlwZVRvb2wgZXh0ZW5kcyBQYXJhZ3JhcGhUZXh0VG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnVGV4dCBUeXBlJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICd0ZXh0VHlwZSc7XG5cbiAgICBDU1MgPSB7XG4gICAgICAgIGJ1dHRvbjogJ2NlLWlubGluZS10b29sJyxcbiAgICAgICAgYnV0dG9uQWN0aXZlOiAnY2UtaW5saW5lLXRvb2wtLWFjdGl2ZScsXG4gICAgICAgIGJ1dHRvbk1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLXRleHRUeXBlJyxcbiAgICAgICAgYXJyb3dCdXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS10ZXh0VHlwZV9fYXJyb3cnLFxuICAgICAgICB0ZXh0U2VsZWN0aW9uTW9kaWZpZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tdGV4dFR5cGUnLFxuICAgIH07XG5cbiAgICBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBhcGk6IGFueTtcblxuICAgIHByaXZhdGUgX3N0YXRlOiBib29sZWFuO1xuXG4gICAgdGFnID0gJ1AnO1xuXG4gICAgdGV4dFR5cGVzOiBBcnJheTxUZXh0VHlwZT4gPSBURVhUX1RZUEVTO1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNJbmxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHNhbml0aXplKCk6IFNhbml0aXplckNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiOiB7fSxcbiAgICAgICAgfSBhcyBTYW5pdGl6ZXJDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gICAgfVxuXG4gICAgc2V0IHN0YXRlKHN0YXRlKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLmFwaS5zdHlsZXMuaW5saW5lVG9vbEJ1dHRvbkFjdGl2ZSwgc3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHsgYXBpIH0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi50eXBlID0gJ2J1dHRvbic7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYnV0dG9uLCB0aGlzLkNTUy5idXR0b25Nb2RpZmllcik7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbkRyb3Bkb3duKCkpO1xuXG4gICAgICAgIGxldCBkcm9wZG93bkFycm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBkcm9wZG93bkFycm93LmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYXJyb3dCdXR0b25Nb2RpZmllcik7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmFwcGVuZENoaWxkKGRyb3Bkb3duQXJyb3cpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCdyZW5kZXJpbmcgcGFyYWdyYXBoIHRvb2wnKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSwgYXBwbHlTdHlsZTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChhcHBseVN0eWxlKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuZ2V0U2VsZWN0aW9uKCkpO1xuICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcmVudE1vZGlmaWVyID0gdGhpcy5maW5kUGFyZW50TW9kaWZpZXIoKTtcbiAgICAgICAgaWYgKCFwYXJlbnRNb2RpZmllcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjbGFzc1RvQXBwbHkgPSBwYXJlbnRNb2RpZmllci50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMudGV4dFR5cGVzLmZvckVhY2goKHRleHRUeXBlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKHRleHRUeXBlLnRhZy50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZChjbGFzc1RvQXBwbHkpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCdjaGVja1N0YXRlIG1ldGhvZCBvbiBwYXJhZ3JhcGggdG9vbCcpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZW5kZXJBY3Rpb25zKCkge1xuICAgICAgICBsZXQgdGV4dFR5cGVEcm9wZG93biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0ZXh0VHlwZURyb3Bkb3duLmNsYXNzTmFtZSA9IHRoaXMuZHJvcGRvd25Dc3NbJ2NvbnRhaW5lciddICsgJyBoaWRkZW4gJyArIHRoaXMuQ1NTLnRleHRTZWxlY3Rpb25Nb2RpZmllcjtcbiAgICAgICAgdGhpcy50ZXh0VHlwZXMuZm9yRWFjaCgodGV4dFR5cGUpID0+IHtcbiAgICAgICAgICAgIGxldCByb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIHJvdy5jbGFzc05hbWUgPSB0aGlzLmRyb3Bkb3duQ3NzWydyb3cnXTtcbiAgICAgICAgICAgIHJvdy5pbm5lclRleHQgPSBlZGl0b3JKU0kxOG5EaWN0aW9ubmFyeS5tZXNzYWdlcy50b29scy50ZXh0VHlwZVt0ZXh0VHlwZS5uYW1lXTtcbiAgICAgICAgICAgIHJvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuYXBwbHlUZXh0U3R5bGUodGV4dFR5cGUudGFnKSk7XG4gICAgICAgICAgICB0ZXh0VHlwZURyb3Bkb3duLmFwcGVuZENoaWxkKHJvdyk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGV4dFR5cGVEcm9wZG93bjtcbiAgICB9XG5cbiAgICBzaG93QWN0aW9ucyhtYXJrKSB7XG4gICAgICAgIC8vdGhpcy5zdHlsZS5pbnB1dCA9IG1hcmsgJiYgbWFyay5zdHlsZSAmJiBtYXJrLnN0eWxlLmJhY2tncm91bmRDb2xvciA/IG1hcmsuc3R5bGUuYmFja2dyb3VuZENvbG9yIDogJyNmNWYxY2MnO1xuICAgIH1cblxuICAgIGhpZGVBY3Rpb25zKCkge31cblxuICAgIGFzeW5jIGFwcGx5VGV4dFN0eWxlKHRhZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudGFnID0gdGFnO1xuICAgICAgICB0aGlzLnJlc2V0VXNlclNlbGVjdGlvbigpO1xuICAgICAgICBhd2FpdCB0aGlzLnN1cnJvdW5kKG51bGwsIHRydWUpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5jdXJyZW50U2VsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICB0aGlzLmhpZGVBY3Rpb25zKCk7XG4gICAgfVxufVxuIl19
@@ -229,4 +229,4 @@ export function onEditList(event) {
229
229
  }
230
230
  }
231
231
  }
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWdyYXBoLXN0eWxlLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL3BhcmFncmFwaC90b29sLXR5cGUvcGFyYWdyYXBoLXN0eWxlLXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFbkUsTUFBTSxPQUFnQixrQkFBbUIsU0FBUSxZQUFZO0lBQTdEOztRQVNJLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsY0FBUyxHQUFHLHNDQUFzQyxDQUFDO1FBRW5ELHVCQUFrQixHQUFHLGtCQUFrQixDQUFDO0lBNko1QyxDQUFDO0lBekpTLGdCQUFnQixDQUFDLE1BQWM7O1lBQ2pDLE1BQU0sU0FBUyxHQUFxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hHLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ1osT0FBTzthQUNWO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsTUFBTSxVQUFVLEdBQVMsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUU5QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUMvQztZQUVELElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2IsT0FBTzthQUNWO1lBQ0QsSUFBSSxjQUFjLEdBQUcs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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExJU1RfRURJVF9LRVlfQ09ERVMgfSBmcm9tICcuLi8uLi91dGlscy9jb2xvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRvckpTVG9vbCB9IGZyb20gJy4uLy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhcmFncmFwaFN0eWxlVG9vbCBleHRlbmRzIEVkaXRvckpTVG9vbCB7XG4gICAgdGFnOiBzdHJpbmc7XG5cbiAgICBjbGFzc1RvQXBwbHk/OiBzdHJpbmc7XG5cbiAgICBjbGFzc2VzPzogc3RyaW5nO1xuXG4gICAgaW5wdXQ/OiBudW1iZXI7XG5cbiAgICBjb250YWluZXJzID0gJ2Rpdic7XG5cbiAgICBtb2RpZmllcnMgPSAnaDEsaDIsaDMsaDQsaDUsaDYscCx1bCxvbCxibG9ja3F1b3RlJztcblxuICAgIHJlbW92YWJsZU1vZGlmaWVycyA9ICd1bCxvbCxibG9ja3F1b3RlJztcblxuICAgIGFwaTogYW55O1xuXG4gICAgYXN5bmMgZXhlY0NvbW1hbmRTdHlsZShhY3Rpb246IHN0cmluZykge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb246IFNlbGVjdGlvbiB8IG51bGwgPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPyB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gOiB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoIXNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgY29uc3QgYW5jaG9yTm9kZTogTm9kZSA9IHNlbGVjdGlvbi5hbmNob3JOb2RlO1xuXG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWFuY2hvck5vZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcGFyZW50TW9kaWZpZXIgPSB0aGlzLmZpbmRQYXJlbnRNb2RpZmllcigpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAodGhpcy50YWcudG9Mb3dlckNhc2UoKSAhPT0gJ3NwYW4nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VDb250YWluZXJUYWcocGFyZW50TW9kaWZpZXIsIHNlbGVjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKHRoaXMuY2xhc3NUb0FwcGx5ICYmIHRoaXMuY2xhc3NUb0FwcGx5Lmxlbmd0aCA+IDApIHx8ICh0aGlzLmNsYXNzZXMgJiYgdGhpcy5jbGFzc2VzLmxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VDdXJyZW50Q2xhc3MocGFyZW50TW9kaWZpZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb2xsYXBzZVNlbGVjdGlvbigpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYXJhZ3JhcGggVG9vbCBFcnJvciA6ICcgKyBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrT3JkZXJlZExpc3RWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBsZXQgdmFsdWUgPSAxO1xuICAgICAgICBsZXQgY3VycmVudEluZGV4ID0gdGhpcy5hcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCk7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPiAwKSB7XG4gICAgICAgICAgICB3aGlsZSAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCBwcmV2aW91c1BhcmFncmFwaCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1wYXJhZ3JhcGgnKVtjdXJyZW50SW5kZXggLSAxXTtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNQYXJhZ3JhcGguZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlKys7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbmRleC0tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0ZvbGxvd2luZ0xpc3QodmFsdWU6IHN0cmluZykge1xuICAgICAgICBsZXQgY3VycmVudEluZGV4ID0gdGhpcy5hcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCkgKyAxO1xuICAgICAgICBsZXQgYmxvY2tzID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLWJsb2NrJyk7XG4gICAgICAgIGxldCBjdXJyZW50VmFsdWUgPSBwYXJzZUludCh2YWx1ZSk7XG4gICAgICAgIHdoaWxlIChibG9ja3NbY3VycmVudEluZGV4XSkge1xuICAgICAgICAgICAgbGV0IHBhcmFncmFwaCA9IGJsb2Nrc1tjdXJyZW50SW5kZXhdLnF1ZXJ5U2VsZWN0b3IoJy5jZS1wYXJhZ3JhcGgnKTtcbiAgICAgICAgICAgIGlmIChwYXJhZ3JhcGguZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSB7XG4gICAgICAgICAgICAgICAgcGFyYWdyYXBoLmZpcnN0RWxlbWVudENoaWxkLmZpcnN0RWxlbWVudENoaWxkLnNldEF0dHJpYnV0ZSgndmFsdWUnLCAoKytjdXJyZW50VmFsdWUpLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjdXJyZW50SW5kZXgrKztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudFBhcmFncmFwaChhbmNob3JOb2RlOiBOb2RlKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBpZiAoYW5jaG9yTm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUgJiYgKDxIVE1MRWxlbWVudD5hbmNob3JOb2RlKS5jbGFzc0xpc3QuY29udGFpbnMoJ2NlLXBhcmFncmFwaCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gPEhUTUxFbGVtZW50PmFuY2hvck5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFuY2hvck5vZGUucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2NlLXBhcmFncmFwaCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gYW5jaG9yTm9kZS5wYXJlbnRFbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhbmNob3JOb2RlLnBhcmVudEVsZW1lbnQuY2xvc2VzdCgnLmNlLXBhcmFncmFwaCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlQ29udGFpbmVyVGFnKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIHNlbGVjdGlvbjogU2VsZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IHJhbmdlOiBSYW5nZSA9IHRoaXMuZ2V0UmFuZ2VPYmplY3Qoc2VsZWN0aW9uKTtcbiAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSB0aGlzLmdldEN1cnJlbnRQYXJhZ3JhcGgoc2VsZWN0aW9uLmFuY2hvck5vZGUpO1xuICAgICAgICBsZXQgdGFnVG9DcmVhdGUgPSB0aGlzLnRhZztcbiAgICAgICAgaWYgKGNvbnRhaW5lci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMudGFnLnRvTG93ZXJDYXNlKCkgJiYgdGhpcy5yZW1vdmFibGVNb2RpZmllcnMuaW5kZXhPZih0aGlzLnRhZy50b0xvd2VyQ2FzZSgpKSA+IC0xKSB7XG4gICAgICAgICAgICB0YWdUb0NyZWF0ZSA9ICdwJztcbiAgICAgICAgfVxuICAgICAgICBsZXQgbmV3Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdUb0NyZWF0ZSk7XG4gICAgICAgIGlmIChjb250YWluZXIuY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICBuZXdDb250YWluZXIuY2xhc3NOYW1lID0gY29udGFpbmVyLmNsYXNzTmFtZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY29udGFpbmVyVG9Db3B5ID0gY29udGFpbmVyO1xuICAgICAgICBpZiAoY29udGFpbmVyLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3VsJyB8fCBjb250YWluZXIudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSB7XG4gICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRhaW5lclRvQ29weSA9IDxIVE1MRWxlbWVudD5jb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5ld0NvbnRhaW5lci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd1bCcgfHwgbmV3Q29udGFpbmVyLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykge1xuICAgICAgICAgICAgbGlzdEFwaSA9IHRoaXMuYXBpO1xuICAgICAgICAgICAgbGlzdEVkaXRvciA9IHRoaXMucGFyZW50RWRpdG9yO1xuICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoaXMudGFnLnRvTG93ZXJDYXNlKCkgPT09ICd1bCcgfHwgdGhpcy50YWcudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykgJiZcbiAgICAgICAgICAgIGNvbnRhaW5lci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT09IHRoaXMudGFnLnRvTG93ZXJDYXNlKClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBsZXQgbmV3Q2hpbGRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpO1xuICAgICAgICAgICAgaWYgKHRoaXMudGFnLnRvTG93ZXJDYXNlKCkgPT09ICdvbCcpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmNoZWNrT3JkZXJlZExpc3RWYWx1ZSgpO1xuICAgICAgICAgICAgICAgIG5ld0NoaWxkQ29udGFpbmVyLnNldEF0dHJpYnV0ZSgndmFsdWUnLCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja0ZvbGxvd2luZ0xpc3QodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2hpbGUgKGNvbnRhaW5lclRvQ29weS5maXJzdENoaWxkKSB7XG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRDbG9uZSA9IGNvbnRhaW5lclRvQ29weS5maXJzdENoaWxkLmNsb25lTm9kZSh0cnVlKTtcbiAgICAgICAgICAgICAgICBuZXdDaGlsZENvbnRhaW5lci5hcHBlbmRDaGlsZChlbGVtZW50Q2xvbmUpO1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lclRvQ29weS5maXJzdENoaWxkLnJlbW92ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3Q29udGFpbmVyLmFwcGVuZENoaWxkKG5ld0NoaWxkQ29udGFpbmVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdoaWxlIChjb250YWluZXJUb0NvcHkuZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgICAgIGxldCBlbGVtZW50Q2xvbmUgPSBjb250YWluZXJUb0NvcHkuZmlyc3RDaGlsZC5jbG9uZU5vZGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgbmV3Q29udGFpbmVyLmFwcGVuZENoaWxkKGVsZW1lbnRDbG9uZSk7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyVG9Db3B5LmZpcnN0Q2hpbGQucmVtb3ZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29udGFpbmVyLnBhcmVudEVsZW1lbnQucmVwbGFjZUNoaWxkKG5ld0NvbnRhaW5lciwgY29udGFpbmVyKTtcblxuICAgICAgICByYW5nZS5pbnNlcnROb2RlKG5ld0NvbnRhaW5lcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VDdXJyZW50Q2xhc3MoY29udGFpbmVyOiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAodGhpcy5jbGFzc2VzLmluZGV4T2YoJ3t7aW5wdXR9fScpID4gLTEpIHtcbiAgICAgICAgICAgIGxldCByZWdleHAgPSBuZXcgUmVnRXhwKCdeJyArIHRoaXMuY2xhc3Nlcy5yZXBsYWNlKCd7e2lucHV0fX0nLCAnJykpO1xuICAgICAgICAgICAgbGV0IGZvdW5kID0gLTE7XG4gICAgICAgICAgICBsZXQgbmV3SW5kZXggPSB0aGlzLmlucHV0O1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb250YWluZXIuY2xhc3NMaXN0Lmxlbmd0aCAmJiBmb3VuZCA9PT0gLTE7ICsraSkge1xuICAgICAgICAgICAgICAgIGlmIChjb250YWluZXIuY2xhc3NMaXN0W2ldLm1hdGNoKHJlZ2V4cCkpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3SW5kZXggKz0gcGFyc2VJbnQoY29udGFpbmVyLmNsYXNzTGlzdFtpXS5yZXBsYWNlKHRoaXMuY2xhc3Nlcy5yZXBsYWNlKCd7e2lucHV0fX0nLCAnJyksICcnKSk7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gaTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdJbmRleCA9IG5ld0luZGV4IDwgMCA/IDAgOiBuZXdJbmRleCA+IDEwID8gMTAgOiBuZXdJbmRleDtcbiAgICAgICAgICAgIGlmIChmb3VuZCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBpZiAobmV3SW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKHRoaXMuY2xhc3Nlcy5yZXBsYWNlKCd7e2lucHV0fX0nLCBuZXdJbmRleC50b1N0cmluZygpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZShjb250YWluZXIuY2xhc3NMaXN0W2ZvdW5kXSk7XG4gICAgICAgICAgICAgICAgaWYgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzZXMucmVwbGFjZSgne3tpbnB1dH19JywgbmV3SW5kZXgudG9TdHJpbmcoKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNsYXNzZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsYXNzZXMuc3BsaXQoJywnKS5mb3JFYWNoKChlbGVtZW50Q2xhc3MpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoZWxlbWVudENsYXNzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc05hbWUgKz0gKGNvbnRhaW5lci5jbGFzc05hbWUubGVuZ3RoID4gMCA/ICcgJyA6ICcnKSArIHRoaXMuY2xhc3NUb0FwcGx5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgdmFyIGxpc3RBcGkgPSBudWxsO1xuZXhwb3J0IHZhciBsaXN0RWRpdG9yID0gbnVsbDtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldGxpc3RBcGlFZGl0b3IoYXBpLCBlZGl0b3IpIHtcbiAgICBsaXN0QXBpID0gYXBpO1xuICAgIGxpc3RFZGl0b3IgPSBlZGl0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkVkaXRMaXN0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgbGV0IGZvY3VzZWRCbG9jayA9IDxIVE1MRWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgaWYgKExJU1RfRURJVF9LRVlfQ09ERVMuaW5kZXhPZihldmVudC5jb2RlKSA+IC0xKSB7XG4gICAgICAgIGlmIChldmVudC5jb2RlID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgaWYgKGZvY3VzZWRCbG9jay5pbm5lclRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSBsaXN0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1wYXJhZ3JhcGgnKVtsaXN0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpXTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpKTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwLCBjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ3AnKSwgMCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBzZWxlY3Rpb24gPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmFuY2hvck9mZnNldCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3UGFyYWdyYXBoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudFBhcmFncmFwaCA9IGxpc3RFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpW2xpc3RBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCldO1xuICAgICAgICAgICAgICAgICAgICBuZXdQYXJhZ3JhcGguaW5uZXJIVE1MID0gY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdsaScpLmlubmVySFRNTDtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hcHBlbmRDaGlsZChuZXdQYXJhZ3JhcGgpO1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRTZWxlY3Rpb24oKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNldEJhc2VBbmRFeHRlbnQoY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdwJyksIDAsIGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBpZiAoZm9jdXNlZEJsb2NrLmlubmVyVGV4dCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICBsaXN0QXBpLmJsb2Nrcy5pbnNlcnQoJ3BhcmFncmFwaCcsIGxpc3RBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCkpO1xuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50QmxvY2sgPSBsaXN0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1ibG9jaycpW2xpc3RBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCldO1xuICAgICAgICAgICAgICAgIGxldCBwcmV2aW91c0Jsb2NrID0gbGlzdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtYmxvY2snKVtsaXN0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpIC0gMV07XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSBjdXJyZW50QmxvY2sucXVlcnlTZWxlY3RvcignLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICAgICAgICAgIGxldCBsaXN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocHJldmlvdXNCbG9jay5xdWVyeVNlbGVjdG9yKCcuY2UtcGFyYWdyYXBoJykuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZSk7XG4gICAgICAgICAgICAgICAgbGlzdEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKSk7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBwYXJzZUludChwcmV2aW91c0Jsb2NrLnF1ZXJ5U2VsZWN0b3IoJ2xpJykuZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSArIDE7XG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXh0TGlzdEVsZW1lbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBsaXN0RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgdmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IGxpc3RBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCkgKyAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgaSA8IGxpc3RFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLWJsb2NrJykubGVuZ3RoICYmIG5leHRMaXN0RWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICsraVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmb2xsb3dpbmdPbEJsb2NrID0gbGlzdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtYmxvY2snKVtpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmb2xsb3dpbmdPbEJsb2NrLnF1ZXJ5U2VsZWN0b3IoJ29sJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArK3ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZ09sQmxvY2sucXVlcnlTZWxlY3RvcignbGknKS5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgdmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRMaXN0RWxlbWVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYXBwZW5kQ2hpbGQobGlzdEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdsaScpLCAwLCBjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ2xpJyksIDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudFBhcmFncmFwaCA9IGxpc3RFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpW2xpc3RBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCldO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJykpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGgucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdwJyksIDAsIGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWdyYXBoLXN0eWxlLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL3BhcmFncmFwaC90b29sLXR5cGUvcGFyYWdyYXBoLXN0eWxlLXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFbkUsTUFBTSxPQUFnQixrQkFBbUIsU0FBUSxZQUFZO0lBQTdEOztRQVNJLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsY0FBUyxHQUFHLHNDQUFzQyxDQUFDO1FBRW5ELHVCQUFrQixHQUFHLGtCQUFrQixDQUFDO0lBNko1QyxDQUFDO0lBekpTLGdCQUFnQixDQUFDLE1BQWM7O1lBQ2pDLE1BQU0sU0FBUyxHQUFxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hHLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ1osT0FBTzthQUNWO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsTUFBTSxVQUFVLEdBQVMsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUU5QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUMvQztZQUVELElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2IsT0FBTzthQUNWO1lBQ0QsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLGtC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ZW50IjpbImltcG9ydCB7IExJU1RfRURJVF9LRVlfQ09ERVMgfSBmcm9tICcuLi8uLi91dGlscy9jb2xvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRvckpTVG9vbCB9IGZyb20gJy4uLy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhcmFncmFwaFN0eWxlVG9vbCBleHRlbmRzIEVkaXRvckpTVG9vbCB7XG4gICAgdGFnOiBzdHJpbmc7XG5cbiAgICBjbGFzc1RvQXBwbHk/OiBzdHJpbmc7XG5cbiAgICBjbGFzc2VzPzogc3RyaW5nO1xuXG4gICAgaW5wdXQ/OiBudW1iZXI7XG5cbiAgICBjb250YWluZXJzID0gJ2Rpdic7XG5cbiAgICBtb2RpZmllcnMgPSAnaDEsaDIsaDMsaDQsaDUsaDYscCx1bCxvbCxibG9ja3F1b3RlJztcblxuICAgIHJlbW92YWJsZU1vZGlmaWVycyA9ICd1bCxvbCxibG9ja3F1b3RlJztcblxuICAgIGFwaTogYW55O1xuXG4gICAgYXN5bmMgZXhlY0NvbW1hbmRTdHlsZShhY3Rpb246IHN0cmluZykge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb246IFNlbGVjdGlvbiB8IG51bGwgPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPyB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gOiB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoIXNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgY29uc3QgYW5jaG9yTm9kZTogTm9kZSA9IHNlbGVjdGlvbi5hbmNob3JOb2RlO1xuXG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWFuY2hvck5vZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcGFyZW50TW9kaWZpZXIgPSB0aGlzLmZpbmRQYXJlbnRNb2RpZmllcigpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAodGhpcy50YWcudG9Mb3dlckNhc2UoKSAhPT0gJ3NwYW4nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VDb250YWluZXJUYWcocGFyZW50TW9kaWZpZXIsIHNlbGVjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKHRoaXMuY2xhc3NUb0FwcGx5ICYmIHRoaXMuY2xhc3NUb0FwcGx5Lmxlbmd0aCA+IDApIHx8ICh0aGlzLmNsYXNzZXMgJiYgdGhpcy5jbGFzc2VzLmxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VDdXJyZW50Q2xhc3MocGFyZW50TW9kaWZpZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb2xsYXBzZVNlbGVjdGlvbigpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYXJhZ3JhcGggVG9vbCBFcnJvciA6ICcgKyBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrT3JkZXJlZExpc3RWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBsZXQgdmFsdWUgPSAxO1xuICAgICAgICBsZXQgY3VycmVudEluZGV4ID0gdGhpcy5hcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCk7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPiAwKSB7XG4gICAgICAgICAgICB3aGlsZSAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCBwcmV2aW91c1BhcmFncmFwaCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1wYXJhZ3JhcGgnKVtjdXJyZW50SW5kZXggLSAxXTtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNQYXJhZ3JhcGguZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlKys7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbmRleC0tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0ZvbGxvd2luZ0xpc3QodmFsdWU6IHN0cmluZykge1xuICAgICAgICBsZXQgY3VycmVudEluZGV4ID0gdGhpcy5hcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCkgKyAxO1xuICAgICAgICBsZXQgYmxvY2tzID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLWJsb2NrJyk7XG4gICAgICAgIGxldCBjdXJyZW50VmFsdWUgPSBwYXJzZUludCh2YWx1ZSk7XG4gICAgICAgIHdoaWxlIChibG9ja3NbY3VycmVudEluZGV4XSkge1xuICAgICAgICAgICAgbGV0IHBhcmFncmFwaCA9IGJsb2Nrc1tjdXJyZW50SW5kZXhdLnF1ZXJ5U2VsZWN0b3IoJy5jZS1wYXJhZ3JhcGgnKTtcbiAgICAgICAgICAgIGlmIChwYXJhZ3JhcGguZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSB7XG4gICAgICAgICAgICAgICAgcGFyYWdyYXBoLmZpcnN0RWxlbWVudENoaWxkLmZpcnN0RWxlbWVudENoaWxkLnNldEF0dHJpYnV0ZSgndmFsdWUnLCAoKytjdXJyZW50VmFsdWUpLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjdXJyZW50SW5kZXgrKztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudFBhcmFncmFwaChhbmNob3JOb2RlOiBOb2RlKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBpZiAoYW5jaG9yTm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUgJiYgKDxIVE1MRWxlbWVudD5hbmNob3JOb2RlKS5jbGFzc0xpc3QuY29udGFpbnMoJ2NlLXBhcmFncmFwaCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gPEhUTUxFbGVtZW50PmFuY2hvck5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFuY2hvck5vZGUucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2NlLXBhcmFncmFwaCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gYW5jaG9yTm9kZS5wYXJlbnRFbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhbmNob3JOb2RlLnBhcmVudEVsZW1lbnQuY2xvc2VzdCgnLmNlLXBhcmFncmFwaCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlQ29udGFpbmVyVGFnKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIHNlbGVjdGlvbjogU2VsZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IHJhbmdlOiBSYW5nZSA9IHRoaXMuZ2V0UmFuZ2VPYmplY3Qoc2VsZWN0aW9uKTtcbiAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSB0aGlzLmdldEN1cnJlbnRQYXJhZ3JhcGgoc2VsZWN0aW9uLmFuY2hvck5vZGUpO1xuICAgICAgICBsZXQgdGFnVG9DcmVhdGUgPSB0aGlzLnRhZztcbiAgICAgICAgaWYgKGNvbnRhaW5lci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMudGFnLnRvTG93ZXJDYXNlKCkgJiYgdGhpcy5yZW1vdmFibGVNb2RpZmllcnMuaW5kZXhPZih0aGlzLnRhZy50b0xvd2VyQ2FzZSgpKSA+IC0xKSB7XG4gICAgICAgICAgICB0YWdUb0NyZWF0ZSA9ICdwJztcbiAgICAgICAgfVxuICAgICAgICBsZXQgbmV3Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdUb0NyZWF0ZSk7XG4gICAgICAgIGlmIChjb250YWluZXIuY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICBuZXdDb250YWluZXIuY2xhc3NOYW1lID0gY29udGFpbmVyLmNsYXNzTmFtZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY29udGFpbmVyVG9Db3B5ID0gY29udGFpbmVyO1xuICAgICAgICBpZiAoY29udGFpbmVyLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3VsJyB8fCBjb250YWluZXIudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSB7XG4gICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRhaW5lclRvQ29weSA9IDxIVE1MRWxlbWVudD5jb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5ld0NvbnRhaW5lci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd1bCcgfHwgbmV3Q29udGFpbmVyLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykge1xuICAgICAgICAgICAgbGlzdEFwaSA9IHRoaXMuYXBpO1xuICAgICAgICAgICAgbGlzdEVkaXRvciA9IHRoaXMucGFyZW50RWRpdG9yO1xuICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoaXMudGFnLnRvTG93ZXJDYXNlKCkgPT09ICd1bCcgfHwgdGhpcy50YWcudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykgJiZcbiAgICAgICAgICAgIGNvbnRhaW5lci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT09IHRoaXMudGFnLnRvTG93ZXJDYXNlKClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBsZXQgbmV3Q2hpbGRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpO1xuICAgICAgICAgICAgaWYgKHRoaXMudGFnLnRvTG93ZXJDYXNlKCkgPT09ICdvbCcpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmNoZWNrT3JkZXJlZExpc3RWYWx1ZSgpO1xuICAgICAgICAgICAgICAgIG5ld0NoaWxkQ29udGFpbmVyLnNldEF0dHJpYnV0ZSgndmFsdWUnLCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja0ZvbGxvd2luZ0xpc3QodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2hpbGUgKGNvbnRhaW5lclRvQ29weS5maXJzdENoaWxkKSB7XG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRDbG9uZSA9IGNvbnRhaW5lclRvQ29weS5maXJzdENoaWxkLmNsb25lTm9kZSh0cnVlKTtcbiAgICAgICAgICAgICAgICBuZXdDaGlsZENvbnRhaW5lci5hcHBlbmRDaGlsZChlbGVtZW50Q2xvbmUpO1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lclRvQ29weS5maXJzdENoaWxkLnJlbW92ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3Q29udGFpbmVyLmFwcGVuZENoaWxkKG5ld0NoaWxkQ29udGFpbmVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdoaWxlIChjb250YWluZXJUb0NvcHkuZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgICAgIGxldCBlbGVtZW50Q2xvbmUgPSBjb250YWluZXJUb0NvcHkuZmlyc3RDaGlsZC5jbG9uZU5vZGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgbmV3Q29udGFpbmVyLmFwcGVuZENoaWxkKGVsZW1lbnRDbG9uZSk7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyVG9Db3B5LmZpcnN0Q2hpbGQucmVtb3ZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29udGFpbmVyLnBhcmVudEVsZW1lbnQucmVwbGFjZUNoaWxkKG5ld0NvbnRhaW5lciwgY29udGFpbmVyKTtcblxuICAgICAgICByYW5nZS5pbnNlcnROb2RlKG5ld0NvbnRhaW5lcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VDdXJyZW50Q2xhc3MoY29udGFpbmVyOiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAodGhpcy5jbGFzc2VzLmluZGV4T2YoJ3t7aW5wdXR9fScpID4gLTEpIHtcbiAgICAgICAgICAgIGxldCByZWdleHAgPSBuZXcgUmVnRXhwKCdeJyArIHRoaXMuY2xhc3Nlcy5yZXBsYWNlKCd7e2lucHV0fX0nLCAnJykpO1xuICAgICAgICAgICAgbGV0IGZvdW5kID0gLTE7XG4gICAgICAgICAgICBsZXQgbmV3SW5kZXggPSB0aGlzLmlucHV0O1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb250YWluZXIuY2xhc3NMaXN0Lmxlbmd0aCAmJiBmb3VuZCA9PT0gLTE7ICsraSkge1xuICAgICAgICAgICAgICAgIGlmIChjb250YWluZXIuY2xhc3NMaXN0W2ldLm1hdGNoKHJlZ2V4cCkpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3SW5kZXggKz0gcGFyc2VJbnQoY29udGFpbmVyLmNsYXNzTGlzdFtpXS5yZXBsYWNlKHRoaXMuY2xhc3Nlcy5yZXBsYWNlKCd7e2lucHV0fX0nLCAnJyksICcnKSk7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gaTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdJbmRleCA9IG5ld0luZGV4IDwgMCA/IDAgOiBuZXdJbmRleCA+IDEwID8gMTAgOiBuZXdJbmRleDtcbiAgICAgICAgICAgIGlmIChmb3VuZCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBpZiAobmV3SW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKHRoaXMuY2xhc3Nlcy5yZXBsYWNlKCd7e2lucHV0fX0nLCBuZXdJbmRleC50b1N0cmluZygpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZShjb250YWluZXIuY2xhc3NMaXN0W2ZvdW5kXSk7XG4gICAgICAgICAgICAgICAgaWYgKG5ld0luZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzZXMucmVwbGFjZSgne3tpbnB1dH19JywgbmV3SW5kZXgudG9TdHJpbmcoKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNsYXNzZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsYXNzZXMuc3BsaXQoJywnKS5mb3JFYWNoKChlbGVtZW50Q2xhc3MpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoZWxlbWVudENsYXNzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc05hbWUgKz0gKGNvbnRhaW5lci5jbGFzc05hbWUubGVuZ3RoID4gMCA/ICcgJyA6ICcnKSArIHRoaXMuY2xhc3NUb0FwcGx5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgdmFyIGxpc3RBcGkgPSBudWxsO1xuZXhwb3J0IHZhciBsaXN0RWRpdG9yID0gbnVsbDtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldGxpc3RBcGlFZGl0b3IoYXBpLCBlZGl0b3IpIHtcbiAgICBsaXN0QXBpID0gYXBpO1xuICAgIGxpc3RFZGl0b3IgPSBlZGl0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkVkaXRMaXN0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgbGV0IGZvY3VzZWRCbG9jayA9IDxIVE1MRWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgaWYgKExJU1RfRURJVF9LRVlfQ09ERVMuaW5kZXhPZihldmVudC5jb2RlKSA+IC0xKSB7XG4gICAgICAgIGlmIChldmVudC5jb2RlID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgaWYgKGZvY3VzZWRCbG9jay5pbm5lclRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSBsaXN0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1wYXJhZ3JhcGgnKVtsaXN0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpXTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpKTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwLCBjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ3AnKSwgMCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBzZWxlY3Rpb24gPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmFuY2hvck9mZnNldCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3UGFyYWdyYXBoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudFBhcmFncmFwaCA9IGxpc3RFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpW2xpc3RBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCldO1xuICAgICAgICAgICAgICAgICAgICBuZXdQYXJhZ3JhcGguaW5uZXJIVE1MID0gY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdsaScpLmlubmVySFRNTDtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hcHBlbmRDaGlsZChuZXdQYXJhZ3JhcGgpO1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRTZWxlY3Rpb24oKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNldEJhc2VBbmRFeHRlbnQoY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdwJyksIDAsIGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBpZiAoZm9jdXNlZEJsb2NrLmlubmVyVGV4dCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICBsaXN0QXBpLmJsb2Nrcy5pbnNlcnQoJ3BhcmFncmFwaCcsIGxpc3RBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCkpO1xuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50QmxvY2sgPSBsaXN0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1ibG9jaycpW2xpc3RBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCldO1xuICAgICAgICAgICAgICAgIGxldCBwcmV2aW91c0Jsb2NrID0gbGlzdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtYmxvY2snKVtsaXN0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpIC0gMV07XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSBjdXJyZW50QmxvY2sucXVlcnlTZWxlY3RvcignLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICAgICAgICAgIGxldCBsaXN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocHJldmlvdXNCbG9jay5xdWVyeVNlbGVjdG9yKCcuY2UtcGFyYWdyYXBoJykuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZSk7XG4gICAgICAgICAgICAgICAgbGlzdEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKSk7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBwYXJzZUludChwcmV2aW91c0Jsb2NrLnF1ZXJ5U2VsZWN0b3IoJ2xpJykuZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSArIDE7XG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXh0TGlzdEVsZW1lbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBsaXN0RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgdmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IGxpc3RBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCkgKyAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgaSA8IGxpc3RFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLWJsb2NrJykubGVuZ3RoICYmIG5leHRMaXN0RWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICsraVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmb2xsb3dpbmdPbEJsb2NrID0gbGlzdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtYmxvY2snKVtpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmb2xsb3dpbmdPbEJsb2NrLnF1ZXJ5U2VsZWN0b3IoJ29sJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArK3ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZ09sQmxvY2sucXVlcnlTZWxlY3RvcignbGknKS5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgdmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRMaXN0RWxlbWVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYXBwZW5kQ2hpbGQobGlzdEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdsaScpLCAwLCBjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ2xpJyksIDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudFBhcmFncmFwaCA9IGxpc3RFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpW2xpc3RBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCldO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJykpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGgucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdwJyksIDAsIGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -265,4 +265,4 @@ function onEditList(event) {
265
265
  }
266
266
  }
267
267
  }
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdG9vbC10eXBlL3RleHQtZWRpdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU3QyxNQUFNLE9BQWdCLGVBQWdCLFNBQVEsa0JBQWtCO0lBQWhFOztRQUtJLG1CQUFjLEdBQUcscUJBQXFCLENBQUM7UUFDdkMsZUFBVSxHQUFHLDRCQUE0QixDQUFDO1FBQzFDLGdCQUFXLEdBQUcsb0NBQW9DLENBQUM7UUFDbkQsZ0JBQVcsR0FBRyxxQ0FBcUMsQ0FBQztJQXFLeEQsQ0FBQztJQW5LRyxJQUFJO1FBQ0EsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDckMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUM7WUFDakUsQ0FB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Z0JBQWdCLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVIO1NBQ0o7S0FDSjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJhZ3JhcGhTdHlsZVRvb2wgfSBmcm9tICcuL3BhcmFncmFwaC1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMSVNUX0VESVRfS0VZX0NPREVTIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3JzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBlZGl0b3JKU0kxOG5EaWN0aW9ubmFyeSB9IGZyb20gJy4uLy4uL3V0aWxzL2VkaXRvcmpzLXRyYW5zbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9yVmlldywgYmFzaWNTZXR1cCB9IGZyb20gJ2NvZGVtaXJyb3InO1xuaW1wb3J0IHsgRWRpdG9yU3RhdGUgfSBmcm9tICdAY29kZW1pcnJvci9zdGF0ZSc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnQGNvZGVtaXJyb3IvbGFuZy1odG1sJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRleHRFZGl0aW9uVG9vbCBleHRlbmRzIFBhcmFncmFwaFN0eWxlVG9vbCB7XG4gICAgbm9kZXM6IHsgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCB9O1xuXG4gICAgQ1NTOiBhbnk7XG5cbiAgICBjb250YWluZXJDbGFzcyA9ICdjb2RlRWRpdF9fY29udGFpbmVyJztcbiAgICBtb2RhbENsYXNzID0gJ2NvZGVFZGl0X19jb250YWluZXJfX21vZGFsJztcbiAgICBlZGl0b3JDbGFzcyA9ICdjb2RlRWRpdF9fY29udGFpbmVyX19tb2RhbF9fZWRpdG9yJztcbiAgICBidXR0b25DbGFzcyA9ICdjb2RlRWRpdF9fY29udGFpbmVyX19tb2RhbF9fYnV0dG9ucyc7XG5cbiAgICB1bmRvKCkge1xuICAgICAgICBsZXQgZWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIGxldCBzYXZlZERhdGEgPSB0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3IuaWQpO1xuICAgICAgICBsZXQgc2F2ZWREYXRhSW5kZXggPSB0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3IuaWQgKyAnLWluZGV4JylcbiAgICAgICAgICAgID8gcGFyc2VJbnQodGhpcy5nZXRTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yLmlkICsgJy1pbmRleCcpKVxuICAgICAgICAgICAgOiAtMTtcbiAgICAgICAgbGV0IHBhcnNlZFNhdmVkRGF0YTogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgICAgICBpZiAoIXNhdmVkRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHBhcnNlZFNhdmVkRGF0YSA9IEpTT04ucGFyc2Uoc2F2ZWREYXRhKTtcbiAgICAgICAgLS1zYXZlZERhdGFJbmRleDtcbiAgICAgICAgc2F2ZWREYXRhSW5kZXggPSBzYXZlZERhdGFJbmRleCA8IDAgPyAwIDogc2F2ZWREYXRhSW5kZXg7XG4gICAgICAgIGNvZGVFZGl0RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIGNvZGVFZGl0QXBpID0gdGhpcy5hcGk7XG4gICAgICAgIHNhdmVDb2RlRWRpdE1vZGFsKHBhcnNlZFNhdmVkRGF0YVtzYXZlZERhdGFJbmRleF0pO1xuICAgICAgICB0aGlzLnNldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3IuaWQgKyAnLWluZGV4Jywgc2F2ZWREYXRhSW5kZXgudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgcmVkbygpIHtcbiAgICAgICAgbGV0IGVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuXG4gICAgICAgIGxldCBzYXZlZERhdGEgPSB0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3IuaWQpO1xuICAgICAgICBsZXQgc2F2ZWREYXRhSW5kZXggPSB0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3IuaWQgKyAnLWluZGV4JylcbiAgICAgICAgICAgID8gcGFyc2VJbnQodGhpcy5nZXRTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yLmlkICsgJy1pbmRleCcpKVxuICAgICAgICAgICAgOiAtMTtcbiAgICAgICAgbGV0IHBhcnNlZFNhdmVkRGF0YTogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgICAgICBpZiAoIXNhdmVkRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHBhcnNlZFNhdmVkRGF0YSA9IEpTT04ucGFyc2Uoc2F2ZWREYXRhKTtcbiAgICAgICAgKytzYXZlZERhdGFJbmRleDtcbiAgICAgICAgc2F2ZWREYXRhSW5kZXggPSBzYXZlZERhdGFJbmRleCA+IHBhcnNlZFNhdmVkRGF0YS5sZW5ndGggPyBwYXJzZWRTYXZlZERhdGEubGVuZ3RoIDogc2F2ZWREYXRhSW5kZXg7XG4gICAgICAgIGNvZGVFZGl0RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIGNvZGVFZGl0QXBpID0gdGhpcy5hcGk7XG4gICAgICAgIHNhdmVDb2RlRWRpdE1vZGFsKHBhcnNlZFNhdmVkRGF0YVtzYXZlZERhdGFJbmRleF0pO1xuICAgICAgICB0aGlzLnNldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3IuaWQgKyAnLWluZGV4Jywgc2F2ZWREYXRhSW5kZXgudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgZWRpdEhUTUwoKSB7XG4gICAgICAgIGxldCBjb250ZW50ID0gdGhpcy5nZXRFZGl0b3JDb250ZW50KCk7XG4gICAgICAgIHRoaXMuY3JlYXRlSFRNTEVkaXRNb2RhbChjb250ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUhUTUxFZGl0TW9kYWwoY29udGVudDogc3RyaW5nKSB7XG4gICAgICAgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQodGhpcy5jb250YWluZXJDbGFzcyk7XG4gICAgICAgIGxldCBtb2RhbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBtb2RhbC5jbGFzc0xpc3QuYWRkKHRoaXMubW9kYWxDbGFzcyk7XG4gICAgICAgIGxldCBlZGl0b3JDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgZWRpdG9yQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQodGhpcy5lZGl0b3JDbGFzcyk7XG4gICAgICAgIGNvZGVFZGl0RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIGNvZGVFZGl0QXBpID0gdGhpcy5hcGk7XG5cbiAgICAgICAgbGV0IGJ1dHRvbkNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBsZXQgY2FuY2VsQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIGxldCBzYXZlQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIGNhbmNlbEJ1dHRvbi5pbm5lclRleHQgPSBlZGl0b3JKU0kxOG5EaWN0aW9ubmFyeS5tZXNzYWdlcy50b29scy5jb2RlRWRpdFsnQ2FuY2VsJ107XG4gICAgICAgIHNhdmVCdXR0b24uaW5uZXJUZXh0ID0gZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMuY29kZUVkaXRbJ1NhdmUnXTtcbiAgICAgICAgY2FuY2VsQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgY2xvc2VDb2RlRWRpdE1vZGFsLCB0cnVlKTtcbiAgICAgICAgYnV0dG9uQ29udGFpbmVyLmFwcGVuZENoaWxkKGNhbmNlbEJ1dHRvbik7XG4gICAgICAgIGJ1dHRvbkNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKHRoaXMuYnV0dG9uQ2xhc3MpO1xuXG4gICAgICAgIG1vZGFsLmFwcGVuZENoaWxkKGVkaXRvckNvbnRhaW5lcik7XG4gICAgICAgIG1vZGFsLmFwcGVuZENoaWxkKGJ1dHRvbkNvbnRhaW5lcik7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChtb2RhbCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcblxuICAgICAgICBsZXQgc3RhdGUgPSBFZGl0b3JTdGF0ZS5jcmVhdGUoe1xuICAgICAgICAgICAgZG9jOiBjb250ZW50LFxuICAgICAgICAgICAgZXh0ZW5zaW9uczogW2Jhc2ljU2V0dXAsIGh0bWwoKV0sXG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgdmlldyA9IG5ldyBFZGl0b3JWaWV3KHtcbiAgICAgICAgICAgIHN0YXRlOiBzdGF0ZSxcbiAgICAgICAgICAgIHBhcmVudDogZWRpdG9yQ29udGFpbmVyLFxuICAgICAgICB9KTtcblxuICAgICAgICBzYXZlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gc2F2ZUNvZGVFZGl0TW9kYWwodmlldy5zdGF0ZS5kb2MudG9TdHJpbmcoKSksIHRydWUpO1xuICAgICAgICBidXR0b25Db250YWluZXIuYXBwZW5kQ2hpbGQoc2F2ZUJ1dHRvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTYXZlZEVkaXRvckNvbnRlbnQobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNhdmVkRWRpdG9yQ29udGVudChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obmFtZSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RWRpdG9yQ29udGVudCgpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY3VycmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICBsZXQgZWRpdG9yQmxvY2tzID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY29kZXgtZWRpdG9yX19yZWRhY3RvciAuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgIGxldCBjb250ZW50ID0gJyc7XG4gICAgICAgIGVkaXRvckJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgbGV0IGNsb3NpbmdUYWcgPSAnPC8nICsgYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSArICc+JztcbiAgICAgICAgICAgIGxldCByZWdleHAgPSAvKCg8XFwvKVxcdysoPikpKD8hW1xcc1xcU10qKCg8XFwvKVxcdysoPikpW1xcc1xcU10qJCkvaTtcbiAgICAgICAgICAgIGxldCBsYXN0Q29udGVudENsb3NpbmdUYWcgPSBjb250ZW50Lm1hdGNoKHJlZ2V4cCkgPyBjb250ZW50Lm1hdGNoKHJlZ2V4cClbMF0gOiAnJztcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3VsJyB8fCBibG9jay5jaGlsZHJlblswXT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSAmJlxuICAgICAgICAgICAgICAgIGxhc3RDb250ZW50Q2xvc2luZ1RhZyA9PT0gY2xvc2luZ1RhZ1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuc3Vic3RyaW5nKDAsIGNvbnRlbnQubGVuZ3RoIC0gY2xvc2luZ1RhZy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYmxvY2suaW5uZXJIVE1MLnN1YnN0cmluZyhjbG9zaW5nVGFnLnJlcGxhY2UoJy8nLCAnJykubGVuZ3RoLCBibG9jay5pbm5lckhUTUwubGVuZ3RoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udGVudCArPSBibG9jay5pbm5lckhUTUw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5Gb3JtYXRIVE1MU3RyaW5nSW5kZW50YXRpb24oY29udGVudCk7XG4gICAgfVxuXG4gICAgLy8gQWRhcHRlZCBGUk9NIGpzZmlkZGxlIGhlcmU6IGh0dHBzOi8vanNmaWRkbGUubmV0L2J1a3N5L3J4dWNnMWdkL1xuICAgIHByaXZhdGUgRm9ybWF0SFRNTFN0cmluZ0luZGVudGF0aW9uKGNvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGxldCBzdHJpcFdoaXRlU3BhY2VzID0gdHJ1ZTtcbiAgICAgICAgbGV0IHN0cmlwRW1wdHlMaW5lcyA9IHRydWU7XG4gICAgICAgIGNvbnN0IHdoaXRlc3BhY2UgPSAnICcucmVwZWF0KDIpOyAvLyBEZWZhdWx0IGluZGVudGluZyA0IHdoaXRlc3BhY2VzXG4gICAgICAgIGxldCBjdXJyZW50SW5kZW50ID0gMDtcbiAgICAgICAgY29uc3QgbmV3bGluZUNoYXIgPSAnXFxuJztcbiAgICAgICAgbGV0IHByZXZDaGFyID0gbnVsbDtcbiAgICAgICAgbGV0IGNoYXIgPSBudWxsO1xuICAgICAgICBsZXQgbmV4dENoYXIgPSBudWxsO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSAnJztcbiAgICAgICAgZm9yIChsZXQgcG9zID0gMDsgcG9zIDw9IGNvZGUubGVuZ3RoOyBwb3MrKykge1xuICAgICAgICAgICAgcHJldkNoYXIgPSBjaGFyO1xuICAgICAgICAgICAgY2hhciA9IGNvZGUuc3Vic3RyKHBvcywgMSk7XG4gICAgICAgICAgICBuZXh0Q2hhciA9IGNvZGUuc3Vic3RyKHBvcyArIDEsIDEpO1xuXG4gICAgICAgICAgICBjb25zdCBpc0JyVGFnID0gY29kZS5zdWJzdHIocG9zLCA0KSA9PT0gJzxicj4nO1xuICAgICAgICAgICAgY29uc3QgaXNPcGVuaW5nVGFnID0gY2hhciA9PT0gJzwnICYmIG5leHRDaGFyICE9PSAnLycgJiYgIWlzQnJUYWc7XG4gICAgICAgICAgICBjb25zdCBpc0Nsb3NpbmdUYWcgPSBjaGFyID09PSAnPCcgJiYgbmV4dENoYXIgPT09ICcvJyAmJiAhaXNCclRhZztcbiAgICAgICAgICAgIGNvbnN0IGlzVGFnRW5kID0gcHJldkNoYXIgPT09ICc+JyAmJiBjaGFyICE9PSAnPCcgJiYgY3VycmVudEluZGVudCA+IDA7XG4gICAgICAgICAgICBjb25zdCBpc1RhZ05leHQgPVxuICAgICAgICAgICAgICAgICFpc0JyVGFnICYmICFpc09wZW5pbmdUYWcgJiYgIWlzQ2xvc2luZ1RhZyAmJiBpc1RhZ0VuZCAmJiBjb2RlLnN1YnN0cihwb3MsIGNvZGUuc3Vic3RyKHBvcykuaW5kZXhPZignPCcpKS50cmltKCkgPT09ICcnO1xuICAgICAgICAgICAgaWYgKGlzQnJUYWcpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBvcGVuaW5nIHRhZywgYWRkIG5ld2xpbmUgY2hhcmFjdGVyIGFuZCBpbmRlbnRpb25cbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gbmV3bGluZUNoYXIgKyB3aGl0ZXNwYWNlLnJlcGVhdChjdXJyZW50SW5kZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc09wZW5pbmdUYWcpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBvcGVuaW5nIHRhZywgYWRkIG5ld2xpbmUgY2hhcmFjdGVyIGFuZCBpbmRlbnRpb25cbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gKHBvcyA9PT0gMCA/ICcnIDogbmV3bGluZUNoYXIpICsgd2hpdGVzcGFjZS5yZXBlYXQoY3VycmVudEluZGVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudEluZGVudCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gaWYgQ2xvc2luZyB0YWcsIGFkZCBuZXdsaW5lIGFuZCBpbmRlbnRpb25cbiAgICAgICAgICAgIGVsc2UgaWYgKGlzQ2xvc2luZ1RhZykge1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlJ3JlIG1vcmUgY2xvc2luZyB0YWdzIHRoYW4gb3BlbmluZ1xuICAgICAgICAgICAgICAgIGlmICgtLWN1cnJlbnRJbmRlbnQgPCAwKSBjdXJyZW50SW5kZW50ID0gMDtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gbmV3bGluZUNoYXIgKyB3aGl0ZXNwYWNlLnJlcGVhdChjdXJyZW50SW5kZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHJlbW92ZSBtdWx0aXBsZSB3aGl0ZXNwYWNlc1xuICAgICAgICAgICAgZWxzZSBpZiAoc3RyaXBXaGl0ZVNwYWNlcyA9PT0gdHJ1ZSAmJiBjaGFyID09PSAnICcgJiYgbmV4dENoYXIgPT09ICcgJykgY2hhciA9ICcnO1xuICAgICAgICAgICAgLy8gcmVtb3ZlIGVtcHR5IGxpbmVzXG4gICAgICAgICAgICBlbHNlIGlmIChzdHJpcEVtcHR5TGluZXMgPT09IHRydWUgJiYgY2hhciA9PT0gbmV3bGluZUNoYXIpIHtcbiAgICAgICAgICAgICAgICAvL2RlYnVnZ2VyO1xuICAgICAgICAgICAgICAgIGlmIChjb2RlLnN1YnN0cihwb3MsIGNvZGUuc3Vic3RyKHBvcykuaW5kZXhPZignPCcpKS50cmltKCkgPT09ICcnKSBjaGFyID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNUYWdFbmQgJiYgIWlzVGFnTmV4dCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBuZXdsaW5lQ2hhciArIHdoaXRlc3BhY2UucmVwZWF0KGN1cnJlbnRJbmRlbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXN1bHQgKz0gY2hhcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cblxudmFyIGNvZGVFZGl0RWRpdG9yID0gbnVsbDtcbnZhciBjb2RlRWRpdEFwaSA9IG51bGw7XG5cbmZ1bmN0aW9uIGNsb3NlQ29kZUVkaXRNb2RhbCgpIHtcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY29kZUVkaXRfX2NvbnRhaW5lcicpPy5yZW1vdmUoKTtcbn1cblxuZnVuY3Rpb24gc2F2ZUNvZGVFZGl0TW9kYWwoY29udGVudCkge1xuICAgIGxldCB0bXBFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdG1wRWxlbWVudC5pbm5lckhUTUwgPSBjb250ZW50O1xuXG4gICAgY29kZUVkaXRBcGkuYmxvY2tzLmNsZWFyKCk7XG4gICAgbGV0IHBhcmFncmFwaCA9IGNvZGVFZGl0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1wYXJhZ3JhcGgnKTtcbiAgICBsZXQgaSA9IDA7XG5cbiAgICB3aGlsZSAodG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCkge1xuICAgICAgICBpZiAodG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd1bCcgfHwgdG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdvbCcpIHtcbiAgICAgICAgICAgIGxldCBsaXN0TWFya2VyID0gMTtcbiAgICAgICAgICAgIGxldCBwcmV2aW91c0NvbnRhaW5lcldhc09sID0gZmFsc2U7XG4gICAgICAgICAgICB3aGlsZSAodG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5maXJzdEVsZW1lbnRDaGlsZCkge1xuICAgICAgICAgICAgICAgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZSk7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZmlyc3RFbGVtZW50Q2hpbGQuY2xvbmVOb2RlKHRydWUpKTtcbiAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzQ29udGFpbmVyV2FzT2wpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RNYXJrZXIgPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5maXJzdEVsZW1lbnRDaGlsZC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgbGlzdE1hcmtlci50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNDb250YWluZXJXYXNPbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICsrbGlzdE1hcmtlcjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0NvbnRhaW5lcldhc09sID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpID49IHBhcmFncmFwaC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29kZUVkaXRBcGkuYmxvY2tzLmluc2VydCgpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgdG1wUGFyYWdyYXBoID0gY29kZUVkaXRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZmlyc3RFbGVtZW50Q2hpbGQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgKytpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGkgPj0gcGFyYWdyYXBoLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvZGVFZGl0QXBpLmJsb2Nrcy5pbnNlcnQoKTtcbiAgICAgICAgICAgICAgICBsZXQgdG1wUGFyYWdyYXBoID0gY29kZUVkaXRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5hcHBlbmRDaGlsZCh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmNsb25lTm9kZSh0cnVlKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uYXBwZW5kQ2hpbGQodG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKytpO1xuICAgICAgICB9XG4gICAgICAgIHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQucmVtb3ZlKCk7XG4gICAgfVxuXG4gICAgY2xvc2VDb2RlRWRpdE1vZGFsKCk7XG59XG5cbmZ1bmN0aW9uIG9uRWRpdExpc3QoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBsZXQgZm9jdXNlZEJsb2NrID0gPEhUTUxFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICBpZiAoTElTVF9FRElUX0tFWV9DT0RFUy5pbmRleE9mKGV2ZW50LmNvZGUpID4gLTEpIHtcbiAgICAgICAgaWYgKGV2ZW50LmNvZGUgPT09ICdCYWNrc3BhY2UnKSB7XG4gICAgICAgICAgICBpZiAoZm9jdXNlZEJsb2NrLmlubmVyVGV4dC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudFBhcmFncmFwaCA9IGNvZGVFZGl0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1wYXJhZ3JhcGgnKVtjb2RlRWRpdEFwaS5ibG9ja3MuZ2V0Q3VycmVudEJsb2NrSW5kZXgoKV07XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKSk7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ3AnKSwgMCwgY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdwJyksIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWYgKGZvY3VzZWRCbG9jay5pbm5lclRleHQgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgY29kZUVkaXRBcGkuYmxvY2tzLmluc2VydCgncGFyYWdyYXBoJywgY29kZUVkaXRBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCkpO1xuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50QmxvY2sgPSBjb2RlRWRpdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtYmxvY2snKVtjb2RlRWRpdEFwaS5ibG9ja3MuZ2V0Q3VycmVudEJsb2NrSW5kZXgoKV07XG4gICAgICAgICAgICAgICAgbGV0IHByZXZpb3VzQmxvY2sgPSBjb2RlRWRpdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtYmxvY2snKVtjb2RlRWRpdEFwaS5ibG9ja3MuZ2V0Q3VycmVudEJsb2NrSW5kZXgoKSAtIDFdO1xuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50UGFyYWdyYXBoID0gY3VycmVudEJsb2NrLnF1ZXJ5U2VsZWN0b3IoJy5jZS1wYXJhZ3JhcGgnKTtcbiAgICAgICAgICAgICAgICBsZXQgbGlzdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHByZXZpb3VzQmxvY2sucXVlcnlTZWxlY3RvcignLmNlLXBhcmFncmFwaCcpLmZpcnN0RWxlbWVudENoaWxkLnRhZ05hbWUpO1xuICAgICAgICAgICAgICAgIGxpc3RFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpJykpO1xuICAgICAgICAgICAgICAgIGlmIChsaXN0RWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdvbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIChwYXJzZUludChwcmV2aW91c0Jsb2NrLnF1ZXJ5U2VsZWN0b3IoJ2xpJykuZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSArIDEpLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hcHBlbmRDaGlsZChsaXN0RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ2xpJyksIDAsIGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcignbGknKSwgMCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50UGFyYWdyYXBoID0gY29kZUVkaXRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpW2NvZGVFZGl0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpXTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpKTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwLCBjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ3AnKSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdG9vbC10eXBlL3RleHQtZWRpdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU3QyxNQUFNLE9BQWdCLGVBQWdCLFNBQVEsa0JBQWtCO0lBQWhFOztRQUtJLG1CQUFjLEdBQUcscUJBQXFCLENBQUM7UUFDdkMsZUFBVSxHQUFHLDRCQUE0QixDQUFDO1FBQzFDLGdCQUFXLEdBQUcsb0NBQW9DLENBQUM7UUFDbkQsZ0JBQVcsR0FBRyxxQ0FBcUMsQ0FBQztJQXFLeEQsQ0FBQztJQW5LRyxJQUFJO1FBQ0EsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDckMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUM7WUFDakUsQ0FBQyxDQUFDLFFBQVEs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QUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDNUg7U0FDSjtLQUNKO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFncmFwaFN0eWxlVG9vbCB9IGZyb20gJy4vcGFyYWdyYXBoLXN0eWxlLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IExJU1RfRURJVF9LRVlfQ09ERVMgfSBmcm9tICcuLi8uLi91dGlscy9jb2xvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5IH0gZnJvbSAnLi4vLi4vdXRpbHMvZWRpdG9yanMtdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JWaWV3LCBiYXNpY1NldHVwIH0gZnJvbSAnY29kZW1pcnJvcic7XG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSB9IGZyb20gJ0Bjb2RlbWlycm9yL3N0YXRlJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdAY29kZW1pcnJvci9sYW5nLWh0bWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGV4dEVkaXRpb25Ub29sIGV4dGVuZHMgUGFyYWdyYXBoU3R5bGVUb29sIHtcbiAgICBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH07XG5cbiAgICBDU1M6IGFueTtcblxuICAgIGNvbnRhaW5lckNsYXNzID0gJ2NvZGVFZGl0X19jb250YWluZXInO1xuICAgIG1vZGFsQ2xhc3MgPSAnY29kZUVkaXRfX2NvbnRhaW5lcl9fbW9kYWwnO1xuICAgIGVkaXRvckNsYXNzID0gJ2NvZGVFZGl0X19jb250YWluZXJfX21vZGFsX19lZGl0b3InO1xuICAgIGJ1dHRvbkNsYXNzID0gJ2NvZGVFZGl0X19jb250YWluZXJfX21vZGFsX19idXR0b25zJztcblxuICAgIHVuZG8oKSB7XG4gICAgICAgIGxldCBlZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgbGV0IHNhdmVkRGF0YSA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCk7XG4gICAgICAgIGxldCBzYXZlZERhdGFJbmRleCA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCArICctaW5kZXgnKVxuICAgICAgICAgICAgPyBwYXJzZUludCh0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3IuaWQgKyAnLWluZGV4JykpXG4gICAgICAgICAgICA6IC0xO1xuICAgICAgICBsZXQgcGFyc2VkU2F2ZWREYXRhOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIGlmICghc2F2ZWREYXRhKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VkU2F2ZWREYXRhID0gSlNPTi5wYXJzZShzYXZlZERhdGEpO1xuICAgICAgICAtLXNhdmVkRGF0YUluZGV4O1xuICAgICAgICBzYXZlZERhdGFJbmRleCA9IHNhdmVkRGF0YUluZGV4IDwgMCA/IDAgOiBzYXZlZERhdGFJbmRleDtcbiAgICAgICAgY29kZUVkaXRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgY29kZUVkaXRBcGkgPSB0aGlzLmFwaTtcbiAgICAgICAgc2F2ZUNvZGVFZGl0TW9kYWwocGFyc2VkU2F2ZWREYXRhW3NhdmVkRGF0YUluZGV4XSk7XG4gICAgICAgIHRoaXMuc2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCArICctaW5kZXgnLCBzYXZlZERhdGFJbmRleC50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICByZWRvKCkge1xuICAgICAgICBsZXQgZWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG5cbiAgICAgICAgbGV0IHNhdmVkRGF0YSA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCk7XG4gICAgICAgIGxldCBzYXZlZERhdGFJbmRleCA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCArICctaW5kZXgnKVxuICAgICAgICAgICAgPyBwYXJzZUludCh0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3IuaWQgKyAnLWluZGV4JykpXG4gICAgICAgICAgICA6IC0xO1xuICAgICAgICBsZXQgcGFyc2VkU2F2ZWREYXRhOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIGlmICghc2F2ZWREYXRhKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VkU2F2ZWREYXRhID0gSlNPTi5wYXJzZShzYXZlZERhdGEpO1xuICAgICAgICArK3NhdmVkRGF0YUluZGV4O1xuICAgICAgICBzYXZlZERhdGFJbmRleCA9IHNhdmVkRGF0YUluZGV4ID4gcGFyc2VkU2F2ZWREYXRhLmxlbmd0aCA/IHBhcnNlZFNhdmVkRGF0YS5sZW5ndGggOiBzYXZlZERhdGFJbmRleDtcbiAgICAgICAgY29kZUVkaXRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgY29kZUVkaXRBcGkgPSB0aGlzLmFwaTtcbiAgICAgICAgc2F2ZUNvZGVFZGl0TW9kYWwocGFyc2VkU2F2ZWREYXRhW3NhdmVkRGF0YUluZGV4XSk7XG4gICAgICAgIHRoaXMuc2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCArICctaW5kZXgnLCBzYXZlZERhdGFJbmRleC50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBlZGl0SFRNTCgpIHtcbiAgICAgICAgbGV0IGNvbnRlbnQgPSB0aGlzLmdldEVkaXRvckNvbnRlbnQoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVIVE1MRWRpdE1vZGFsKGNvbnRlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlSFRNTEVkaXRNb2RhbChjb250ZW50OiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCh0aGlzLmNvbnRhaW5lckNsYXNzKTtcbiAgICAgICAgbGV0IG1vZGFsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIG1vZGFsLmNsYXNzTGlzdC5hZGQodGhpcy5tb2RhbENsYXNzKTtcbiAgICAgICAgbGV0IGVkaXRvckNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBlZGl0b3JDb250YWluZXIuY2xhc3NMaXN0LmFkZCh0aGlzLmVkaXRvckNsYXNzKTtcbiAgICAgICAgY29kZUVkaXRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgY29kZUVkaXRBcGkgPSB0aGlzLmFwaTtcblxuICAgICAgICBsZXQgYnV0dG9uQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGxldCBjYW5jZWxCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcbiAgICAgICAgbGV0IHNhdmVCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcbiAgICAgICAgY2FuY2VsQnV0dG9uLmlubmVyVGV4dCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmNvZGVFZGl0WydDYW5jZWwnXTtcbiAgICAgICAgc2F2ZUJ1dHRvbi5pbm5lclRleHQgPSBlZGl0b3JKU0kxOG5EaWN0aW9ubmFyeS5tZXNzYWdlcy50b29scy5jb2RlRWRpdFsnU2F2ZSddO1xuICAgICAgICBjYW5jZWxCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZUNvZGVFZGl0TW9kYWwsIHRydWUpO1xuICAgICAgICBidXR0b25Db250YWluZXIuYXBwZW5kQ2hpbGQoY2FuY2VsQnV0dG9uKTtcbiAgICAgICAgYnV0dG9uQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQodGhpcy5idXR0b25DbGFzcyk7XG5cbiAgICAgICAgbW9kYWwuYXBwZW5kQ2hpbGQoZWRpdG9yQ29udGFpbmVyKTtcbiAgICAgICAgbW9kYWwuYXBwZW5kQ2hpbGQoYnV0dG9uQ29udGFpbmVyKTtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKG1vZGFsKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuXG4gICAgICAgIGxldCBzdGF0ZSA9IEVkaXRvclN0YXRlLmNyZWF0ZSh7XG4gICAgICAgICAgICBkb2M6IGNvbnRlbnQsXG4gICAgICAgICAgICBleHRlbnNpb25zOiBbYmFzaWNTZXR1cCwgaHRtbCgpXSxcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCB2aWV3ID0gbmV3IEVkaXRvclZpZXcoe1xuICAgICAgICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgICAgICAgcGFyZW50OiBlZGl0b3JDb250YWluZXIsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNhdmVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBzYXZlQ29kZUVkaXRNb2RhbCh2aWV3LnN0YXRlLmRvYy50b1N0cmluZygpKSwgdHJ1ZSk7XG4gICAgICAgIGJ1dHRvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChzYXZlQnV0dG9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNhdmVkRWRpdG9yQ29udGVudChuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2F2ZWRFZGl0b3JDb250ZW50KG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShuYW1lLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFZGl0b3JDb250ZW50KCk6IHN0cmluZyB7XG4gICAgICAgIGxldCBjdXJyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIGxldCBlZGl0b3JCbG9ja3MgPSBjdXJyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jb2RleC1lZGl0b3JfX3JlZGFjdG9yIC5jZS1wYXJhZ3JhcGgnKTtcbiAgICAgICAgbGV0IGNvbnRlbnQgPSAnJztcbiAgICAgICAgZWRpdG9yQmxvY2tzLmZvckVhY2goKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICBsZXQgY2xvc2luZ1RhZyA9ICc8LycgKyBibG9jay5jaGlsZHJlblswXT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpICsgJz4nO1xuICAgICAgICAgICAgbGV0IHJlZ2V4cCA9IC8oKDxcXC8pXFx3Kyg+KSkoPyFbXFxzXFxTXSooKDxcXC8pXFx3Kyg+KSlbXFxzXFxTXSokKS9pO1xuICAgICAgICAgICAgbGV0IGxhc3RDb250ZW50Q2xvc2luZ1RhZyA9IGNvbnRlbnQubWF0Y2gocmVnZXhwKSA/IGNvbnRlbnQubWF0Y2gocmVnZXhwKVswXSA6ICcnO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIChibG9jay5jaGlsZHJlblswXT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAndWwnIHx8IGJsb2NrLmNoaWxkcmVuWzBdPy50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdvbCcpICYmXG4gICAgICAgICAgICAgICAgbGFzdENvbnRlbnRDbG9zaW5nVGFnID09PSBjbG9zaW5nVGFnXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb250ZW50ID0gY29udGVudC5zdWJzdHJpbmcoMCwgY29udGVudC5sZW5ndGggLSBjbG9zaW5nVGFnLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgY29udGVudCArPSBibG9jay5pbm5lckhUTUwuc3Vic3RyaW5nKGNsb3NpbmdUYWcucmVwbGFjZSgnLycsICcnKS5sZW5ndGgsIGJsb2NrLmlubmVySFRNTC5sZW5ndGgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50ICs9IGJsb2NrLmlubmVySFRNTDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLkZvcm1hdEhUTUxTdHJpbmdJbmRlbnRhdGlvbihjb250ZW50KTtcbiAgICB9XG5cbiAgICAvLyBBZGFwdGVkIEZST00ganNmaWRkbGUgaGVyZTogaHR0cHM6Ly9qc2ZpZGRsZS5uZXQvYnVrc3kvcnh1Y2cxZ2QvXG4gICAgcHJpdmF0ZSBGb3JtYXRIVE1MU3RyaW5nSW5kZW50YXRpb24oY29kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHN0cmlwV2hpdGVTcGFjZXMgPSB0cnVlO1xuICAgICAgICBsZXQgc3RyaXBFbXB0eUxpbmVzID0gdHJ1ZTtcbiAgICAgICAgY29uc3Qgd2hpdGVzcGFjZSA9ICcgJy5yZXBlYXQoMik7IC8vIERlZmF1bHQgaW5kZW50aW5nIDQgd2hpdGVzcGFjZXNcbiAgICAgICAgbGV0IGN1cnJlbnRJbmRlbnQgPSAwO1xuICAgICAgICBjb25zdCBuZXdsaW5lQ2hhciA9ICdcXG4nO1xuICAgICAgICBsZXQgcHJldkNoYXIgPSBudWxsO1xuICAgICAgICBsZXQgY2hhciA9IG51bGw7XG4gICAgICAgIGxldCBuZXh0Q2hhciA9IG51bGw7XG5cbiAgICAgICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgICAgICBmb3IgKGxldCBwb3MgPSAwOyBwb3MgPD0gY29kZS5sZW5ndGg7IHBvcysrKSB7XG4gICAgICAgICAgICBwcmV2Q2hhciA9IGNoYXI7XG4gICAgICAgICAgICBjaGFyID0gY29kZS5zdWJzdHIocG9zLCAxKTtcbiAgICAgICAgICAgIG5leHRDaGFyID0gY29kZS5zdWJzdHIocG9zICsgMSwgMSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlzQnJUYWcgPSBjb2RlLnN1YnN0cihwb3MsIDQpID09PSAnPGJyPic7XG4gICAgICAgICAgICBjb25zdCBpc09wZW5pbmdUYWcgPSBjaGFyID09PSAnPCcgJiYgbmV4dENoYXIgIT09ICcvJyAmJiAhaXNCclRhZztcbiAgICAgICAgICAgIGNvbnN0IGlzQ2xvc2luZ1RhZyA9IGNoYXIgPT09ICc8JyAmJiBuZXh0Q2hhciA9PT0gJy8nICYmICFpc0JyVGFnO1xuICAgICAgICAgICAgY29uc3QgaXNUYWdFbmQgPSBwcmV2Q2hhciA9PT0gJz4nICYmIGNoYXIgIT09ICc8JyAmJiBjdXJyZW50SW5kZW50ID4gMDtcbiAgICAgICAgICAgIGNvbnN0IGlzVGFnTmV4dCA9XG4gICAgICAgICAgICAgICAgIWlzQnJUYWcgJiYgIWlzT3BlbmluZ1RhZyAmJiAhaXNDbG9zaW5nVGFnICYmIGlzVGFnRW5kICYmIGNvZGUuc3Vic3RyKHBvcywgY29kZS5zdWJzdHIocG9zKS5pbmRleE9mKCc8JykpLnRyaW0oKSA9PT0gJyc7XG4gICAgICAgICAgICBpZiAoaXNCclRhZykge1xuICAgICAgICAgICAgICAgIC8vIElmIG9wZW5pbmcgdGFnLCBhZGQgbmV3bGluZSBjaGFyYWN0ZXIgYW5kIGluZGVudGlvblxuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBuZXdsaW5lQ2hhciArIHdoaXRlc3BhY2UucmVwZWF0KGN1cnJlbnRJbmRlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzT3BlbmluZ1RhZykge1xuICAgICAgICAgICAgICAgIC8vIElmIG9wZW5pbmcgdGFnLCBhZGQgbmV3bGluZSBjaGFyYWN0ZXIgYW5kIGluZGVudGlvblxuICAgICAgICAgICAgICAgIHJlc3VsdCArPSAocG9zID09PSAwID8gJycgOiBuZXdsaW5lQ2hhcikgKyB3aGl0ZXNwYWNlLnJlcGVhdChjdXJyZW50SW5kZW50KTtcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5kZW50Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBpZiBDbG9zaW5nIHRhZywgYWRkIG5ld2xpbmUgYW5kIGluZGVudGlvblxuICAgICAgICAgICAgZWxzZSBpZiAoaXNDbG9zaW5nVGFnKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUncmUgbW9yZSBjbG9zaW5nIHRhZ3MgdGhhbiBvcGVuaW5nXG4gICAgICAgICAgICAgICAgaWYgKC0tY3VycmVudEluZGVudCA8IDApIGN1cnJlbnRJbmRlbnQgPSAwO1xuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBuZXdsaW5lQ2hhciArIHdoaXRlc3BhY2UucmVwZWF0KGN1cnJlbnRJbmRlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gcmVtb3ZlIG11bHRpcGxlIHdoaXRlc3BhY2VzXG4gICAgICAgICAgICBlbHNlIGlmIChzdHJpcFdoaXRlU3BhY2VzID09PSB0cnVlICYmIGNoYXIgPT09ICcgJyAmJiBuZXh0Q2hhciA9PT0gJyAnKSBjaGFyID0gJyc7XG4gICAgICAgICAgICAvLyByZW1vdmUgZW1wdHkgbGluZXNcbiAgICAgICAgICAgIGVsc2UgaWYgKHN0cmlwRW1wdHlMaW5lcyA9PT0gdHJ1ZSAmJiBjaGFyID09PSBuZXdsaW5lQ2hhcikge1xuICAgICAgICAgICAgICAgIC8vZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgaWYgKGNvZGUuc3Vic3RyKHBvcywgY29kZS5zdWJzdHIocG9zKS5pbmRleE9mKCc8JykpLnRyaW0oKSA9PT0gJycpIGNoYXIgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc1RhZ0VuZCAmJiAhaXNUYWdOZXh0KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IG5ld2xpbmVDaGFyICsgd2hpdGVzcGFjZS5yZXBlYXQoY3VycmVudEluZGVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlc3VsdCArPSBjaGFyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuXG52YXIgY29kZUVkaXRFZGl0b3IgPSBudWxsO1xudmFyIGNvZGVFZGl0QXBpID0gbnVsbDtcblxuZnVuY3Rpb24gY2xvc2VDb2RlRWRpdE1vZGFsKCkge1xuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jb2RlRWRpdF9fY29udGFpbmVyJyk/LnJlbW92ZSgpO1xufVxuXG5mdW5jdGlvbiBzYXZlQ29kZUVkaXRNb2RhbChjb250ZW50KSB7XG4gICAgbGV0IHRtcEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0bXBFbGVtZW50LmlubmVySFRNTCA9IGNvbnRlbnQ7XG5cbiAgICBjb2RlRWRpdEFwaS5ibG9ja3MuY2xlYXIoKTtcbiAgICBsZXQgcGFyYWdyYXBoID0gY29kZUVkaXRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpO1xuICAgIGxldCBpID0gMDtcblxuICAgIHdoaWxlICh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkKSB7XG4gICAgICAgIGlmICh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3VsJyB8fCB0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykge1xuICAgICAgICAgICAgbGV0IGxpc3RNYXJrZXIgPSAxO1xuICAgICAgICAgICAgbGV0IHByZXZpb3VzQ29udGFpbmVyV2FzT2wgPSBmYWxzZTtcbiAgICAgICAgICAgIHdoaWxlICh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmZpcnN0RWxlbWVudENoaWxkKSB7XG4gICAgICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC50YWdOYW1lKTtcbiAgICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5maXJzdEVsZW1lbnRDaGlsZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgICAgICAgICAgICAgIGlmIChjb250YWluZXIudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNDb250YWluZXJXYXNPbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdE1hcmtlciA9IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmZpcnN0RWxlbWVudENoaWxkLnNldEF0dHJpYnV0ZSgndmFsdWUnLCBsaXN0TWFya2VyLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0NvbnRhaW5lcldhc09sID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgKytsaXN0TWFya2VyO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQ29udGFpbmVyV2FzT2wgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGkgPj0gcGFyYWdyYXBoLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjb2RlRWRpdEFwaS5ibG9ja3MuaW5zZXJ0KCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCB0bXBQYXJhZ3JhcGggPSBjb2RlRWRpdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5maXJzdEVsZW1lbnRDaGlsZC5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICArK2k7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoaSA+PSBwYXJhZ3JhcGgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29kZUVkaXRBcGkuYmxvY2tzLmluc2VydCgpO1xuICAgICAgICAgICAgICAgIGxldCB0bXBQYXJhZ3JhcGggPSBjb2RlRWRpdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmFwcGVuZENoaWxkKHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xvbmVOb2RlKHRydWUpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5hcHBlbmRDaGlsZCh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmNsb25lTm9kZSh0cnVlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICArK2k7XG4gICAgICAgIH1cbiAgICAgICAgdG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICBjbG9zZUNvZGVFZGl0TW9kYWwoKTtcbn1cblxuZnVuY3Rpb24gb25FZGl0TGlzdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGxldCBmb2N1c2VkQmxvY2sgPSA8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuICAgIGlmIChMSVNUX0VESVRfS0VZX0NPREVTLmluZGV4T2YoZXZlbnQuY29kZSkgPiAtMSkge1xuICAgICAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgICAgICAgIGlmIChmb2N1c2VkQmxvY2suaW5uZXJUZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50UGFyYWdyYXBoID0gY29kZUVkaXRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpW2NvZGVFZGl0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpXTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpKTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwLCBjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ3AnKSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBpZiAoZm9jdXNlZEJsb2NrLmlubmVyVGV4dCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICBjb2RlRWRpdEFwaS5ibG9ja3MuaW5zZXJ0KCdwYXJhZ3JhcGgnLCBjb2RlRWRpdEFwaS5ibG9ja3MuZ2V0Q3VycmVudEJsb2NrSW5kZXgoKSk7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRCbG9jayA9IGNvZGVFZGl0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1ibG9jaycpW2NvZGVFZGl0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpXTtcbiAgICAgICAgICAgICAgICBsZXQgcHJldmlvdXNCbG9jayA9IGNvZGVFZGl0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1ibG9jaycpW2NvZGVFZGl0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpIC0gMV07XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSBjdXJyZW50QmxvY2sucXVlcnlTZWxlY3RvcignLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICAgICAgICAgIGxldCBsaXN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocHJldmlvdXNCbG9jay5xdWVyeVNlbGVjdG9yKCcuY2UtcGFyYWdyYXBoJykuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZSk7XG4gICAgICAgICAgICAgICAgbGlzdEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKSk7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykge1xuICAgICAgICAgICAgICAgICAgICBsaXN0RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHBhcnNlSW50KHByZXZpb3VzQmxvY2sucXVlcnlTZWxlY3RvcignbGknKS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpICsgMSkudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmFwcGVuZENoaWxkKGxpc3RFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcignbGknKSwgMCwgY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdsaScpLCAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSBjb2RlRWRpdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJylbY29kZUVkaXRBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCldO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJykpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGgucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdwJyksIDAsIGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -83,4 +83,4 @@ export class ParagraphTextTool extends ParagraphStyleTool {
83
83
  }
84
84
  }
85
85
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdG9vbC10eXBlL3RleHQtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdEUsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxrQkFBa0I7SUFBbEU7O1FBR0ksbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFJaEMsdUJBQWtCLEdBQVMsSUFBSSxDQUFDO1FBRWhDLHNCQUFpQixHQUFTLElBQUksQ0FBQztRQUUvQixpQkFBWSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFNekIsZ0JBQVcsR0FBVztZQUNsQixTQUFTLEVBQUUseUJBQXlCO1lBQ3BDLEdBQUcsRUFBRSw4QkFBOEI7U0FDdEMsQ0FBQztJQTZFTixDQUFDO0lBM0VHLFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdFLFFBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRztZQUM3QixHQUFHO2dCQUNILENBQ2tCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLDZCQUE2QixDQUFFLENBQUMsWUFBWTtvQkFDMUYsQ0FB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LElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzVCLE9BQU8sT0FBTyxFQUFFO2dCQUNaLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO29CQUMzRCxPQUFPO2lCQUNWO2dCQUNELE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO2FBQ25DO1lBQ0QsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVUb29sIH0gZnJvbSAnLi9wYXJhZ3JhcGgtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFyYWdyYXBoVGV4dFRvb2wgZXh0ZW5kcyBQYXJhZ3JhcGhTdHlsZVRvb2wge1xuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfTtcblxuICAgIGlzRHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjdXJyZW50U2VsZWN0aW9uPzogU2VsZWN0aW9uO1xuXG4gICAgc2VsZWN0ZWRBbmNob3JOb2RlOiBOb2RlID0gbnVsbDtcblxuICAgIHNlbGVjdGVkRm9jdXNOb2RlOiBOb2RlID0gbnVsbDtcblxuICAgIGFuY2hvck9mZnNldDogbnVtYmVyID0gLTE7XG5cbiAgICBmb2N1c09mZnNldDogbnVtYmVyID0gLTE7XG5cbiAgICBDU1M6IGFueTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgZHJvcGRvd25Dc3M6IE9iamVjdCA9IHtcbiAgICAgICAgY29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLXRleHQnLFxuICAgICAgICByb3c6ICdjZS1pbmxpbmUtYWN0aW9ucy0tdGV4dF9fcm93JyxcbiAgICB9O1xuXG4gICAgb3BlbkRyb3Bkb3duKCkge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkcm9wZG93biA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy4nICsgdGhpcy5DU1MudGV4dFNlbGVjdGlvbk1vZGlmaWVyKVswXTtcbiAgICAgICAgKDxIVE1MRWxlbWVudD5kcm9wZG93bikuc3R5bGUudG9wID1cbiAgICAgICAgICAgICctJyArXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgKDxIVE1MRWxlbWVudD50aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuY2UtaW5saW5lLXRvb2xiYXJfX2J1dHRvbnMnKSkub2Zmc2V0SGVpZ2h0IC1cbiAgICAgICAgICAgICAgICAodGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0VG9wICsgdGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0SGVpZ2h0KVxuICAgICAgICAgICAgKS50b1N0cmluZygpICtcbiAgICAgICAgICAgICdweCc7XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKGRyb3Bkb3duKSB7XG4gICAgICAgICAgICBpZiAoZHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+ZHJvcGRvd24pLnN0eWxlLmxlZnQgPSB0aGlzLm5vZGVzLmJ1dHRvbi5vZmZzZXRMZWZ0LnRvU3RyaW5nKCkgKyAncHgnO1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB0aGlzLmlzRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LCA0MDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZHJvcGRvd24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZURyb3Bkb3duKCkge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkcm9wZG93biA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy4nICsgdGhpcy5DU1MudGV4dFNlbGVjdGlvbk1vZGlmaWVyKVswXTtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoZHJvcGRvd24pIHtcbiAgICAgICAgICAgIGlmICghZHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSwgNDAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNhdmVVc2VyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSA9IHRoaXMuY3VycmVudFNlbGVjdGlvbi5hbmNob3JOb2RlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRm9jdXNOb2RlID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmZvY3VzTm9kZTtcbiAgICAgICAgdGhpcy5hbmNob3JPZmZzZXQgPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24uYW5jaG9yT2Zmc2V0O1xuICAgICAgICB0aGlzLmZvY3VzT2Zmc2V0ID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmZvY3VzT2Zmc2V0O1xuICAgIH1cblxuICAgIHJlc2V0VXNlclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudCh0aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSwgdGhpcy5hbmNob3JPZmZzZXQsIHRoaXMuc2VsZWN0ZWRGb2N1c05vZGUsIHRoaXMuZm9jdXNPZmZzZXQpO1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgIH1cblxuICAgIGlzRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkge1xuICAgICAgICBsZXQgZHJvcGRvd25TZWxlY3Rpb24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuJyArIHRoaXMuQ1NTLnRleHRTZWxlY3Rpb25Nb2RpZmllcilbMF07XG4gICAgICAgIGlmICh0aGlzLmlzRHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9ICRldmVudC50YXJnZXQ7XG4gICAgICAgICAgICB3aGlsZSAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyh0aGlzLmRyb3Bkb3duQ3NzWydjb250YWluZXInXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB0aGlzLmlzRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgZHJvcGRvd25TZWxlY3Rpb24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB0aGlzLmFwaS50b29sYmFyLmNsb3NlKCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdG9vbC10eXBlL3RleHQtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdEUsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxrQkFBa0I7SUFBbEU7O1FBR0ksbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFJaEMsdUJBQWtCLEdBQVMsSUFBSSxDQUFDO1FBRWhDLHNCQUFpQixHQUFTLElBQUksQ0FBQztRQUUvQixpQkFBWSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFNekIsZ0JBQVcsR0FBVztZQUNsQixTQUFTLEVBQUUseUJBQXlCO1lBQ3BDLEdBQUcsRUFBRSw4QkFBOEI7U0FDdEMsQ0FBQztJQTZFTixDQUFDO0lBM0VHLFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdFLFFBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRztZQUM3QixHQUFHO2dCQUNILENBQ2tCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLDZCQUE2QixDQUFFLENBQUMsWUFBWTtvQkFDMUYsQ0FBQyxJQUFJLENBQUMs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LEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzVCLE9BQU8sT0FBTyxFQUFFO2dCQUNaLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO29CQUMzRCxPQUFPO2lCQUNWO2dCQUNELE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO2FBQ25DO1lBQ0QsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVUb29sIH0gZnJvbSAnLi9wYXJhZ3JhcGgtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFyYWdyYXBoVGV4dFRvb2wgZXh0ZW5kcyBQYXJhZ3JhcGhTdHlsZVRvb2wge1xuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfTtcblxuICAgIGlzRHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjdXJyZW50U2VsZWN0aW9uPzogU2VsZWN0aW9uO1xuXG4gICAgc2VsZWN0ZWRBbmNob3JOb2RlOiBOb2RlID0gbnVsbDtcblxuICAgIHNlbGVjdGVkRm9jdXNOb2RlOiBOb2RlID0gbnVsbDtcblxuICAgIGFuY2hvck9mZnNldDogbnVtYmVyID0gLTE7XG5cbiAgICBmb2N1c09mZnNldDogbnVtYmVyID0gLTE7XG5cbiAgICBDU1M6IGFueTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgZHJvcGRvd25Dc3M6IE9iamVjdCA9IHtcbiAgICAgICAgY29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLXRleHQnLFxuICAgICAgICByb3c6ICdjZS1pbmxpbmUtYWN0aW9ucy0tdGV4dF9fcm93JyxcbiAgICB9O1xuXG4gICAgb3BlbkRyb3Bkb3duKCkge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkcm9wZG93biA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy4nICsgdGhpcy5DU1MudGV4dFNlbGVjdGlvbk1vZGlmaWVyKVswXTtcbiAgICAgICAgKDxIVE1MRWxlbWVudD5kcm9wZG93bikuc3R5bGUudG9wID1cbiAgICAgICAgICAgICctJyArXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgKDxIVE1MRWxlbWVudD50aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuY2UtaW5saW5lLXRvb2xiYXJfX2J1dHRvbnMnKSkub2Zmc2V0SGVpZ2h0IC1cbiAgICAgICAgICAgICAgICAodGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0VG9wICsgdGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0SGVpZ2h0KVxuICAgICAgICAgICAgKS50b1N0cmluZygpICtcbiAgICAgICAgICAgICdweCc7XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKGRyb3Bkb3duKSB7XG4gICAgICAgICAgICBpZiAoZHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+ZHJvcGRvd24pLnN0eWxlLmxlZnQgPSB0aGlzLm5vZGVzLmJ1dHRvbi5vZmZzZXRMZWZ0LnRvU3RyaW5nKCkgKyAncHgnO1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB0aGlzLmlzRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LCA0MDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZHJvcGRvd24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZURyb3Bkb3duKCkge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkcm9wZG93biA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy4nICsgdGhpcy5DU1MudGV4dFNlbGVjdGlvbk1vZGlmaWVyKVswXTtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoZHJvcGRvd24pIHtcbiAgICAgICAgICAgIGlmICghZHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSwgNDAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNhdmVVc2VyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSA9IHRoaXMuY3VycmVudFNlbGVjdGlvbi5hbmNob3JOb2RlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRm9jdXNOb2RlID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmZvY3VzTm9kZTtcbiAgICAgICAgdGhpcy5hbmNob3JPZmZzZXQgPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24uYW5jaG9yT2Zmc2V0O1xuICAgICAgICB0aGlzLmZvY3VzT2Zmc2V0ID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmZvY3VzT2Zmc2V0O1xuICAgIH1cblxuICAgIHJlc2V0VXNlclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudCh0aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSwgdGhpcy5hbmNob3JPZmZzZXQsIHRoaXMuc2VsZWN0ZWRGb2N1c05vZGUsIHRoaXMuZm9jdXNPZmZzZXQpO1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgIH1cblxuICAgIGlzRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkge1xuICAgICAgICBsZXQgZHJvcGRvd25TZWxlY3Rpb24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuJyArIHRoaXMuQ1NTLnRleHRTZWxlY3Rpb25Nb2RpZmllcilbMF07XG4gICAgICAgIGlmICh0aGlzLmlzRHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9ICRldmVudC50YXJnZXQ7XG4gICAgICAgICAgICB3aGlsZSAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyh0aGlzLmRyb3Bkb3duQ3NzWydjb250YWluZXInXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB0aGlzLmlzRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgZHJvcGRvd25TZWxlY3Rpb24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB0aGlzLmFwaS50b29sYmFyLmNsb3NlKCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -60,4 +60,4 @@ export class UndoTool extends TextEditionTool {
60
60
  }
61
61
  }
62
62
  UndoTool.title = 'Undo';
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kby10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdW5kby10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsV0FBVztBQUNYLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtJQTJDekMsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBekNLLGdCQUFXLEdBQVcsTUFBTSxDQUFDO1FBRTlDLFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsc0JBQXNCO1NBQ3pDLENBQUM7UUFFRixVQUFLLEdBQWtDO1lBQ25DLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFNRixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBRVQsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBd0J0QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUF4Qk0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU87WUFDSCxDQUFDLEVBQUUsRUFBRTtTQUNXLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQVFELE1BQU07UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4RDtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVLLFFBQVEsQ0FBQyxLQUFZOztZQUN2QixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRUQsVUFBVSxDQUFDLFNBQVM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7O0FBeEVhLGNBQUssR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgaXNCbG9ja0ZvY3VzZWQsIHNldEJsb2NrRm9jdXMsIHNldElzVGV4dEVkaXRpb25Ub29sIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEVkaXRpb25Ub29sIH0gZnJvbSAnLi90b29sLXR5cGUvdGV4dC1lZGl0aW9uLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgVW5kb1Rvb2wgZXh0ZW5kcyBUZXh0RWRpdGlvblRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ1VuZG8nO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kTmFtZTogc3RyaW5nID0gJ3VuZG8nO1xuXG4gICAgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS11bmRvJyxcbiAgICB9O1xuXG4gICAgbm9kZXM6IHsgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCB9ID0ge1xuICAgICAgICBidXR0b246IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICcnO1xuXG4gICAgaGFzU2VwYXJhdG9yQmVmb3JlID0gdHJ1ZTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBzYW5pdGl6ZSgpOiBTYW5pdGl6ZXJDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYjoge30sXG4gICAgICAgIH0gYXMgU2FuaXRpemVyQ29uZmlnO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZShzdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5hcGkuc3R5bGVzLmlubGluZVRvb2xCdXR0b25BY3RpdmUsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGFwaSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24udHlwZSA9ICdidXR0b24nO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmJ1dHRvbiwgdGhpcy5DU1MuYnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICBpZiAodGhpcy5oYXNTZXBhcmF0b3JCZWZvcmUpIHtcbiAgICAgICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5zZXBhcmF0b3JDbGFzcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5ub2Rlcy5idXR0b247XG4gICAgfVxuXG4gICAgYXN5bmMgc3Vycm91bmQocmFuZ2U6IFJhbmdlKSB7XG4gICAgICAgIHNldElzVGV4dEVkaXRpb25Ub29sKHRydWUpO1xuICAgICAgICB0aGlzLnVuZG8oKTtcbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kby10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdW5kby10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsV0FBVztBQUNYLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtJQTJDekMsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBekNLLGdCQUFXLEdBQVcsTUFBTSxDQUFDO1FBRTlDLFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsc0JBQXNCO1NBQ3pDLENBQUM7UUFFRixVQUFLLEdBQWtDO1lBQ25DLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFNRixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBRVQsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBd0J0QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUF4Qk0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU87WUFDSCxDQUFDLEVBQUUsRUFBRTtTQUNXLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQVFELE1BQU07UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4RDtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVLLFFBQVEsQ0FBQyxLQUFZOztZQUN2QixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRUQsVUFBVSxDQUFDLFNBQVM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7O0FBeEVhLGNBQUssR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgaXNCbG9ja0ZvY3VzZWQsIHNldEJsb2NrRm9jdXMsIHNldElzVGV4dEVkaXRpb25Ub29sIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEVkaXRpb25Ub29sIH0gZnJvbSAnLi90b29sLXR5cGUvdGV4dC1lZGl0aW9uLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgVW5kb1Rvb2wgZXh0ZW5kcyBUZXh0RWRpdGlvblRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ1VuZG8nO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kTmFtZTogc3RyaW5nID0gJ3VuZG8nO1xuXG4gICAgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS11bmRvJyxcbiAgICB9O1xuXG4gICAgbm9kZXM6IHsgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCB9ID0ge1xuICAgICAgICBidXR0b246IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICcnO1xuXG4gICAgaGFzU2VwYXJhdG9yQmVmb3JlID0gdHJ1ZTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBzYW5pdGl6ZSgpOiBTYW5pdGl6ZXJDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYjoge30sXG4gICAgICAgIH0gYXMgU2FuaXRpemVyQ29uZmlnO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZShzdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5hcGkuc3R5bGVzLmlubGluZVRvb2xCdXR0b25BY3RpdmUsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGFwaSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24udHlwZSA9ICdidXR0b24nO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmJ1dHRvbiwgdGhpcy5DU1MuYnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICBpZiAodGhpcy5oYXNTZXBhcmF0b3JCZWZvcmUpIHtcbiAgICAgICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5zZXBhcmF0b3JDbGFzcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5ub2Rlcy5idXR0b247XG4gICAgfVxuXG4gICAgYXN5bmMgc3Vycm91bmQocmFuZ2U6IFJhbmdlKSB7XG4gICAgICAgIHNldElzVGV4dEVkaXRpb25Ub29sKHRydWUpO1xuICAgICAgICB0aGlzLnVuZG8oKTtcbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
@@ -65,4 +65,4 @@ export class UnorderedListTool extends ParagraphStyleTool {
65
65
  }
66
66
  }
67
67
  UnorderedListTool.title = 'Unordered List';
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvcGFyYWdyYXBoL3Vub3JkZXJlZC1saXN0LXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLFdBQVc7QUFDWCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBeUNyRCxZQUFZLEVBQUUsR0FBRyxFQUFFO1FBQ2YsS0FBSyxFQUFFLENBQUM7UUF2Q0ssZ0JBQVcsR0FBVyxlQUFlLENBQUM7UUFFdkQsUUFBRyxHQUFHO1lBQ0YsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSwrQkFBK0I7U0FDbEQsQ0FBQztRQUVGLFVBQUssR0FBa0M7WUFDbkMsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxJQUFJLENBQUM7UUF3QlAsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBeEJNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPO1lBQ0gsQ0FBQyxFQUFFLEVBQUU7U0FDVyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFRRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXNCLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFSyxRQUFRLENBQUMsS0FBWTs7WUFDdkIsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztLQUFBO0lBRUQsVUFBVSxDQUFDLFNBQVM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUNELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxJQUFJLFFBQVEsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOztBQTdFYSx1QkFBSyxHQUFHLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5saW5lVG9vbCwgU2FuaXRpemVyQ29uZmlnIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcbmltcG9ydCB7IGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVUb29sIH0gZnJvbSAnLi90b29sLXR5cGUvcGFyYWdyYXBoLXN0eWxlLXRvb2wuY29tcG9uZW50JztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBVbm9yZGVyZWRMaXN0VG9vbCBleHRlbmRzIFBhcmFncmFwaFN0eWxlVG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnVW5vcmRlcmVkIExpc3QnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kTmFtZTogc3RyaW5nID0gJ3Vub3JkZXJlZExpc3QnO1xuXG4gICAgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS11bm9yZGVyZWRMaXN0JyxcbiAgICB9O1xuXG4gICAgbm9kZXM6IHsgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCB9ID0ge1xuICAgICAgICBidXR0b246IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICdVTCc7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJlbnRNb2RpZmllciA9IHRoaXMuZmluZFBhcmVudE1vZGlmaWVyKCk7XG4gICAgICAgIGlmICghcGFyZW50TW9kaWZpZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaXNBY3RpdmUgPSBwYXJlbnRNb2RpZmllci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMudGFnLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cbn1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvcGFyYWdyYXBoL3Vub3JkZXJlZC1saXN0LXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLFdBQVc7QUFDWCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBeUNyRCxZQUFZLEVBQUUsR0FBRyxFQUFFO1FBQ2YsS0FBSyxFQUFFLENBQUM7UUF2Q0ssZ0JBQVcsR0FBVyxlQUFlLENBQUM7UUFFdkQsUUFBRyxHQUFHO1lBQ0YsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSwrQkFBK0I7U0FDbEQsQ0FBQztRQUVGLFVBQUssR0FBa0M7WUFDbkMsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxJQUFJLENBQUM7UUF3QlAsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBeEJNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPO1lBQ0gsQ0FBQyxFQUFFLEVBQUU7U0FDVyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFRRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXNCLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFSyxRQUFRLENBQUMsS0FBWTs7WUFDdkIsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztLQUFBO0lBRUQsVUFBVSxDQUFDLFNBQVM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUNELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxJQUFJLFFBQVEsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOztBQTdFYSx1QkFBSyxHQUFHLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5saW5lVG9vbCwgU2FuaXRpemVyQ29uZmlnIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcbmltcG9ydCB7IGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVUb29sIH0gZnJvbSAnLi90b29sLXR5cGUvcGFyYWdyYXBoLXN0eWxlLXRvb2wuY29tcG9uZW50JztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBVbm9yZGVyZWRMaXN0VG9vbCBleHRlbmRzIFBhcmFncmFwaFN0eWxlVG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnVW5vcmRlcmVkIExpc3QnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kTmFtZTogc3RyaW5nID0gJ3Vub3JkZXJlZExpc3QnO1xuXG4gICAgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS11bm9yZGVyZWRMaXN0JyxcbiAgICB9O1xuXG4gICAgbm9kZXM6IHsgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCB9ID0ge1xuICAgICAgICBidXR0b246IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICdVTCc7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJlbnRNb2RpZmllciA9IHRoaXMuZmluZFBhcmVudE1vZGlmaWVyKCk7XG4gICAgICAgIGlmICghcGFyZW50TW9kaWZpZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaXNBY3RpdmUgPSBwYXJlbnRNb2RpZmllci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMudGFnLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cbn1cbiJdfQ==