@talrace/ngx-noder 0.0.17 → 0.0.19

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 (305) hide show
  1. package/README.md +72 -9
  2. package/assets/i18n/noder.en.json +93 -0
  3. package/assets/i18n/noder.es.json +93 -0
  4. package/assets/i18n/noder.ru.json +93 -0
  5. package/fesm2022/talrace-ngx-noder.mjs +371 -298
  6. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  7. package/lib/apart-components/add-link-dialog/add-link-dialog.component.d.ts +1 -10
  8. package/lib/apart-components/editor-title/editor-title.component.d.ts +5 -3
  9. package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +1 -1
  10. package/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.d.ts +3 -1
  11. package/lib/apart-components/editor-toolbar/editor-toolbar.module.d.ts +23 -23
  12. package/lib/editor/components/edges/edge.component.d.ts +10 -3
  13. package/lib/editor/components/edges/edges.d.ts +0 -2
  14. package/lib/editor/components/external-element/external.component.d.ts +1 -1
  15. package/lib/editor/components/external-element/models/external-element.model.d.ts +3 -3
  16. package/lib/editor/components/shared/abstract/base.component.d.ts +1 -1
  17. package/lib/editor/components/shared/abstract/destroy.component.d.ts +1 -1
  18. package/lib/editor/components/table/overlay-menu/overlay-menu.component.d.ts +3 -1
  19. package/lib/editor/editor.module.d.ts +2 -1
  20. package/lib/editor/gadgets/scrollbar.d.ts +1 -0
  21. package/lib/translate/noder-translate.loader.d.ts +11 -0
  22. package/package.json +3 -3
  23. package/public-api.d.ts +1 -0
  24. package/src/lib/apart-components/add-link-dialog/_add-link-dialog.theme.scss +3 -6
  25. package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +4 -7
  26. package/src/lib/apart-components/confirm-dialog/_theme.scss +6 -9
  27. package/src/lib/apart-components/editor-title/_editor-title.theme.scss +6 -9
  28. package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +9 -12
  29. package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +5 -8
  30. package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +1 -3
  31. package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +1 -3
  32. package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +2 -5
  33. package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +3 -6
  34. package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +3 -6
  35. package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +15 -18
  36. package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +2 -4
  37. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +5 -8
  38. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +6 -9
  39. package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +3 -6
  40. package/src/lib/apart-components/insert-table/_insert-table.theme.scss +6 -9
  41. package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +12 -15
  42. package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +22 -25
  43. package/src/lib/editor/components/_editor.theme.scss +25 -28
  44. package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +0 -73
  45. package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +0 -7
  46. package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +0 -47
  47. package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +0 -32
  48. package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +0 -64
  49. package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +0 -92
  50. package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +0 -22
  51. package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +0 -117
  52. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +0 -37
  53. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +0 -49
  54. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +0 -90
  55. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +0 -81
  56. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +0 -28
  57. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.mjs +0 -22
  58. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +0 -53
  59. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +0 -18
  60. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +0 -27
  61. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +0 -71
  62. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +0 -106
  63. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +0 -24
  64. package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +0 -65
  65. package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +0 -84
  66. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +0 -90
  67. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +0 -127
  68. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +0 -8
  69. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.mjs +0 -1148
  70. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +0 -157
  71. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +0 -8
  72. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +0 -11
  73. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-template-type.enum.mjs +0 -16
  74. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +0 -6
  75. package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +0 -34
  76. package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +0 -26
  77. package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +0 -60
  78. package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +0 -48
  79. package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +0 -54
  80. package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +0 -84
  81. package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +0 -123
  82. package/esm2022/lib/editor/components/edges/edge-element.model.mjs +0 -38
  83. package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +0 -6
  84. package/esm2022/lib/editor/components/edges/edge.component.mjs +0 -99
  85. package/esm2022/lib/editor/components/edges/edges.mjs +0 -142
  86. package/esm2022/lib/editor/components/edges/page-type.enum.mjs +0 -7
  87. package/esm2022/lib/editor/components/editor.component.mjs +0 -112
  88. package/esm2022/lib/editor/components/external-element/external-element.service.mjs +0 -6
  89. package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +0 -4
  90. package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +0 -2
  91. package/esm2022/lib/editor/components/external-element/external.component.mjs +0 -41
  92. package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +0 -9
  93. package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +0 -11
  94. package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +0 -15
  95. package/esm2022/lib/editor/components/image/components/image.component.mjs +0 -88
  96. package/esm2022/lib/editor/components/image/image-api.service.mjs +0 -36
  97. package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +0 -46
  98. package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +0 -2
  99. package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +0 -19
  100. package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +0 -12
  101. package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +0 -106
  102. package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +0 -2
  103. package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +0 -52
  104. package/esm2022/lib/editor/components/image/size.mjs +0 -2
  105. package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +0 -60
  106. package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +0 -18
  107. package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +0 -43
  108. package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +0 -2
  109. package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +0 -3
  110. package/esm2022/lib/editor/components/shared/custom-content.mjs +0 -2
  111. package/esm2022/lib/editor/components/shared/services/component.service.mjs +0 -52
  112. package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +0 -123
  113. package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +0 -55
  114. package/esm2022/lib/editor/components/tab/tab.component.mjs +0 -44
  115. package/esm2022/lib/editor/components/tab/tab.helper.mjs +0 -6
  116. package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +0 -118
  117. package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +0 -99
  118. package/esm2022/lib/editor/components/table/components/table.component.mjs +0 -412
  119. package/esm2022/lib/editor/components/table/enums/hrule.enum.mjs +0 -7
  120. package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +0 -8
  121. package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +0 -6
  122. package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +0 -17
  123. package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +0 -9
  124. package/esm2022/lib/editor/components/table/models/row-data.model.mjs +0 -8
  125. package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +0 -7
  126. package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +0 -74
  127. package/esm2022/lib/editor/components/table/selection/table-selection.mjs +0 -383
  128. package/esm2022/lib/editor/content/constants/display-values.const.mjs +0 -8
  129. package/esm2022/lib/editor/content/constants/document-info.const.mjs +0 -13
  130. package/esm2022/lib/editor/content/constants/editor.const.mjs +0 -70
  131. package/esm2022/lib/editor/content/contents.interface.mjs +0 -2
  132. package/esm2022/lib/editor/content/display-data/display-data.mjs +0 -839
  133. package/esm2022/lib/editor/content/display-data/display-token.model.mjs +0 -12
  134. package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +0 -10
  135. package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +0 -11
  136. package/esm2022/lib/editor/content/display-data/indent.model.mjs +0 -9
  137. package/esm2022/lib/editor/content/display-data/line-info.model.mjs +0 -9
  138. package/esm2022/lib/editor/content/display-data/lines.mjs +0 -96
  139. package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +0 -8
  140. package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +0 -2
  141. package/esm2022/lib/editor/content/display-data/paragraph.mjs +0 -56
  142. package/esm2022/lib/editor/content/display-data/text-line-info.mjs +0 -35
  143. package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +0 -2
  144. package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +0 -78
  145. package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +0 -62
  146. package/esm2022/lib/editor/content/helpers/format.helper.mjs +0 -23
  147. package/esm2022/lib/editor/content/helpers/indexed-element.helper.mjs +0 -6
  148. package/esm2022/lib/editor/content/helpers/link.helper.mjs +0 -42
  149. package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +0 -9
  150. package/esm2022/lib/editor/content/margin.model.mjs +0 -16
  151. package/esm2022/lib/editor/content/page-vertical-data.model.mjs +0 -9
  152. package/esm2022/lib/editor/content/vertical-alignment.enum.mjs +0 -11
  153. package/esm2022/lib/editor/core/event-emitting.mjs +0 -56
  154. package/esm2022/lib/editor/display/cell.interface.mjs +0 -2
  155. package/esm2022/lib/editor/display/event.helper.mjs +0 -18
  156. package/esm2022/lib/editor/display/layers/cursor.layer.mjs +0 -102
  157. package/esm2022/lib/editor/display/layers/layer.config.mjs +0 -2
  158. package/esm2022/lib/editor/display/layers/pages.layer.mjs +0 -109
  159. package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +0 -7
  160. package/esm2022/lib/editor/display/layers/print.text.layer.mjs +0 -7
  161. package/esm2022/lib/editor/display/layers/selection.layer.mjs +0 -119
  162. package/esm2022/lib/editor/display/layers/text.layer.mjs +0 -226
  163. package/esm2022/lib/editor/display/print/print.helper.mjs +0 -40
  164. package/esm2022/lib/editor/display/print/print.renderer.mjs +0 -67
  165. package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +0 -7
  166. package/esm2022/lib/editor/display/render-changes.interface.mjs +0 -2
  167. package/esm2022/lib/editor/display/render-changes.model.mjs +0 -25
  168. package/esm2022/lib/editor/display/renderer.mjs +0 -204
  169. package/esm2022/lib/editor/display/rendering.helper.mjs +0 -185
  170. package/esm2022/lib/editor/display/renderloop.mjs +0 -26
  171. package/esm2022/lib/editor/display/virtual.renderer.mjs +0 -284
  172. package/esm2022/lib/editor/display/visible-range.interface.mjs +0 -2
  173. package/esm2022/lib/editor/editor.module.mjs +0 -67
  174. package/esm2022/lib/editor/execution/distance.model.mjs +0 -10
  175. package/esm2022/lib/editor/execution/edit.session.mjs +0 -602
  176. package/esm2022/lib/editor/execution/editor.mjs +0 -1367
  177. package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +0 -42
  178. package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +0 -73
  179. package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +0 -12
  180. package/esm2022/lib/editor/execution/helpers/page.helper.mjs +0 -12
  181. package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +0 -41
  182. package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +0 -177
  183. package/esm2022/lib/editor/execution/regulator.service.mjs +0 -212
  184. package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +0 -18
  185. package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +0 -14
  186. package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +0 -8
  187. package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +0 -3
  188. package/esm2022/lib/editor/execution/targeting/session.model.mjs +0 -10
  189. package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +0 -2
  190. package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +0 -2
  191. package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +0 -88
  192. package/esm2022/lib/editor/gadgets/history/operation-history.mjs +0 -208
  193. package/esm2022/lib/editor/gadgets/history/operation.type.mjs +0 -2
  194. package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +0 -7
  195. package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +0 -9
  196. package/esm2022/lib/editor/gadgets/numbering/numbering-marker-type.enum.mjs +0 -12
  197. package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +0 -13
  198. package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +0 -149
  199. package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +0 -7
  200. package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +0 -18
  201. package/esm2022/lib/editor/gadgets/scrollbar.mjs +0 -81
  202. package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +0 -2
  203. package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +0 -2
  204. package/esm2022/lib/editor/gadgets/search/search.mjs +0 -231
  205. package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +0 -5
  206. package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +0 -20
  207. package/esm2022/lib/editor/interaction/base.handler.mjs +0 -19
  208. package/esm2022/lib/editor/interaction/document.handler.mjs +0 -27
  209. package/esm2022/lib/editor/interaction/editor.service.mjs +0 -386
  210. package/esm2022/lib/editor/interaction/input.handler.mjs +0 -152
  211. package/esm2022/lib/editor/interaction/mode.enum.mjs +0 -7
  212. package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +0 -7
  213. package/esm2022/lib/editor/interaction/mouse.handler.mjs +0 -50
  214. package/esm2022/lib/editor/interaction/text-input.mjs +0 -53
  215. package/esm2022/lib/editor/operations/commands.service.mjs +0 -20
  216. package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +0 -32
  217. package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +0 -7
  218. package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +0 -9
  219. package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +0 -15
  220. package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +0 -85
  221. package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +0 -19
  222. package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
  223. package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +0 -136
  224. package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
  225. package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +0 -114
  226. package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +0 -16
  227. package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +0 -374
  228. package/esm2022/lib/editor/operations/operations-helper.helper.mjs +0 -438
  229. package/esm2022/lib/editor/operations/save-commands.helper.mjs +0 -128
  230. package/esm2022/lib/editor/operations/target-operations.helper.mjs +0 -23
  231. package/esm2022/lib/editor/positioning/alignments.const.mjs +0 -8
  232. package/esm2022/lib/editor/positioning/content.helper.mjs +0 -45
  233. package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +0 -13
  234. package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +0 -2
  235. package/esm2022/lib/editor/positioning/insert-index.interface.mjs +0 -2
  236. package/esm2022/lib/editor/positioning/line-width.helper.mjs +0 -13
  237. package/esm2022/lib/editor/positioning/position.helper.mjs +0 -210
  238. package/esm2022/lib/editor/positioning/range.mjs +0 -94
  239. package/esm2022/lib/editor/positioning/selection.mjs +0 -351
  240. package/esm2022/lib/editor/revision.helper.mjs +0 -94
  241. package/esm2022/lib/models/generated/add-numbering.model.mjs +0 -8
  242. package/esm2022/lib/models/generated/apply-element-style.model.mjs +0 -8
  243. package/esm2022/lib/models/generated/apply-image-style.model.mjs +0 -8
  244. package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +0 -12
  245. package/esm2022/lib/models/generated/apply-text-style.model.mjs +0 -12
  246. package/esm2022/lib/models/generated/borders-style.model.mjs +0 -8
  247. package/esm2022/lib/models/generated/break.model.mjs +0 -8
  248. package/esm2022/lib/models/generated/cell.model.mjs +0 -12
  249. package/esm2022/lib/models/generated/column-section.model.mjs +0 -8
  250. package/esm2022/lib/models/generated/column.model.mjs +0 -8
  251. package/esm2022/lib/models/generated/command.model.mjs +0 -120
  252. package/esm2022/lib/models/generated/delete.model.mjs +0 -8
  253. package/esm2022/lib/models/generated/document-name.model.mjs +0 -8
  254. package/esm2022/lib/models/generated/document.model.mjs +0 -8
  255. package/esm2022/lib/models/generated/docx.model.mjs +0 -12
  256. package/esm2022/lib/models/generated/edge-target.model.mjs +0 -8
  257. package/esm2022/lib/models/generated/edge.model.mjs +0 -8
  258. package/esm2022/lib/models/generated/element.model.mjs +0 -8
  259. package/esm2022/lib/models/generated/file-source.model.mjs +0 -8
  260. package/esm2022/lib/models/generated/format.model.mjs +0 -12
  261. package/esm2022/lib/models/generated/heading.model.mjs +0 -16
  262. package/esm2022/lib/models/generated/image-data.model.mjs +0 -8
  263. package/esm2022/lib/models/generated/image.model.mjs +0 -12
  264. package/esm2022/lib/models/generated/insert-break.model.mjs +0 -8
  265. package/esm2022/lib/models/generated/insert-element.model.mjs +0 -12
  266. package/esm2022/lib/models/generated/insert-image.model.mjs +0 -12
  267. package/esm2022/lib/models/generated/insert-link.model.mjs +0 -12
  268. package/esm2022/lib/models/generated/insert-paragraph.model.mjs +0 -20
  269. package/esm2022/lib/models/generated/insert-styled-text.model.mjs +0 -12
  270. package/esm2022/lib/models/generated/insert-tab.model.mjs +0 -8
  271. package/esm2022/lib/models/generated/insert-table-columns.model.mjs +0 -8
  272. package/esm2022/lib/models/generated/insert-table-rows.model.mjs +0 -8
  273. package/esm2022/lib/models/generated/insert-table.model.mjs +0 -8
  274. package/esm2022/lib/models/generated/insert-text.model.mjs +0 -8
  275. package/esm2022/lib/models/generated/last-document-revision.model.mjs +0 -12
  276. package/esm2022/lib/models/generated/link-data.model.mjs +0 -8
  277. package/esm2022/lib/models/generated/link.model.mjs +0 -8
  278. package/esm2022/lib/models/generated/margins.model.mjs +0 -8
  279. package/esm2022/lib/models/generated/numbering-level.model.mjs +0 -12
  280. package/esm2022/lib/models/generated/numbering.model.mjs +0 -8
  281. package/esm2022/lib/models/generated/operation.model.mjs +0 -12
  282. package/esm2022/lib/models/generated/page-numbers.model.mjs +0 -8
  283. package/esm2022/lib/models/generated/paragraph-style.model.mjs +0 -8
  284. package/esm2022/lib/models/generated/paragraph.model.mjs +0 -12
  285. package/esm2022/lib/models/generated/remove-numberings.model.mjs +0 -8
  286. package/esm2022/lib/models/generated/remove-table-columns.model.mjs +0 -8
  287. package/esm2022/lib/models/generated/remove-table-rows.model.mjs +0 -8
  288. package/esm2022/lib/models/generated/replace-by-text.model.mjs +0 -8
  289. package/esm2022/lib/models/generated/replace.model.mjs +0 -44
  290. package/esm2022/lib/models/generated/resize-table-columns.model.mjs +0 -8
  291. package/esm2022/lib/models/generated/restore-numberings.model.mjs +0 -8
  292. package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +0 -8
  293. package/esm2022/lib/models/generated/restore-table.model.mjs +0 -12
  294. package/esm2022/lib/models/generated/restore-text-styles.model.mjs +0 -8
  295. package/esm2022/lib/models/generated/restore.model.mjs +0 -8
  296. package/esm2022/lib/models/generated/revision.model.mjs +0 -12
  297. package/esm2022/lib/models/generated/row.model.mjs +0 -8
  298. package/esm2022/lib/models/generated/tab.model.mjs +0 -8
  299. package/esm2022/lib/models/generated/table-cell.model.mjs +0 -8
  300. package/esm2022/lib/models/generated/table.model.mjs +0 -12
  301. package/esm2022/lib/models/generated/target.model.mjs +0 -16
  302. package/esm2022/lib/models/generated/text-style.model.mjs +0 -8
  303. package/esm2022/public-api.mjs +0 -53
  304. package/esm2022/talrace-ngx-noder.mjs +0 -5
  305. package/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.d.ts +0 -8
@@ -1,208 +0,0 @@
1
- import { AddNumberingModel } from '../../../models/generated/add-numbering.model';
2
- import { ApplyElementStyleModel } from '../../../models/generated/apply-element-style.model';
3
- import { ApplyImageStyleModel } from '../../../models/generated/apply-image-style.model';
4
- import { ApplyParagraphStyleModel } from '../../../models/generated/apply-paragraph-style.model';
5
- import { ApplyTextStyleModel } from '../../../models/generated/apply-text-style.model';
6
- import { CUSTOM_ELEMENT_MARKER } from '../../components/shared/custom-content-markers.const';
7
- import { DeleteModel } from '../../../models/generated/delete.model';
8
- import { InsertStyledTextModel } from '../../../models/generated/insert-styled-text.model';
9
- import { InsertTableColumnsModel } from '../../../models/generated/insert-table-columns.model';
10
- import { InsertTableRowsModel } from '../../../models/generated/insert-table-rows.model';
11
- import { InsertTextModel } from '../../../models/generated/insert-text.model';
12
- import { OperationsHistoryInfoModel } from './operations-history-info.model';
13
- import { RemoveNumberingsModel } from '../../../models/generated/remove-numberings.model';
14
- import { RemoveTableColumnsModel } from '../../../models/generated/remove-table-columns.model';
15
- import { RemoveTableRowsModel } from '../../../models/generated/remove-table-rows.model';
16
- import { ResizeTableColumnsModel } from '../../../models/generated/resize-table-columns.model';
17
- import { RestoreNumberingsModel } from '../../../models/generated/restore-numberings.model';
18
- import { RestoreParagraphStylesModel } from '../../../models/generated/restore-paragraph-styles.model';
19
- import { RestoreTableModel } from '../../../models/generated/restore-table.model';
20
- import { RestoreTextStylesModel } from '../../../models/generated/restore-text-styles.model';
21
- export class OperationHistory {
22
- constructor(editorService, regulatorService) {
23
- this.editorService = editorService;
24
- this.regulatorService = regulatorService;
25
- this.MAX_HISTORY = 100;
26
- this.storage = [];
27
- this.step = -1;
28
- this.editorService.historyInfo = new OperationsHistoryInfoModel(this.step, this.storage.length - 1);
29
- }
30
- pushInsertText(insertIndex, text) {
31
- const redoStep = new InsertTextModel({ insertIndex, text });
32
- const undoStep = new DeleteModel({ startIndex: insertIndex, count: text.length });
33
- this.addToHistory(undoStep, redoStep);
34
- }
35
- pushInsertParagraph(content, model, paragraphs) {
36
- const undoStep = this.getDeleteDataForInsertParagraphs(content, model, paragraphs);
37
- this.addToHistory(new DeleteModel({ ...undoStep }), model);
38
- }
39
- pushInsertElement(model) {
40
- const undoStep = new DeleteModel({ startIndex: model.element.insertIndex, count: CUSTOM_ELEMENT_MARKER.length });
41
- this.addToHistory(undoStep, model);
42
- }
43
- pushInsertBreak(model, count) {
44
- const undoStep = new DeleteModel({ startIndex: model.insertIndex, count });
45
- this.addToHistory(undoStep, model);
46
- }
47
- pushInsertTab(model) {
48
- const undoStep = new DeleteModel({ startIndex: model.insertIndex, count: CUSTOM_ELEMENT_MARKER.length });
49
- this.addToHistory(undoStep, model);
50
- }
51
- pushInsertImage(model) {
52
- const undoStep = new DeleteModel({ startIndex: model.insertIndex, count: CUSTOM_ELEMENT_MARKER.length });
53
- this.addToHistory(undoStep, model);
54
- }
55
- pushInsertLink(model) {
56
- const undoStep = new DeleteModel({ startIndex: model.insertIndex, count: model.linkDataModel.text.length });
57
- this.addToHistory(undoStep, model);
58
- }
59
- pushInsertTable(model) {
60
- const undoStep = new DeleteModel({ startIndex: model.insertIndex, count: model.content.length });
61
- this.addToHistory(undoStep, model);
62
- }
63
- pushInsertStyledText(insertIndex, text, style) {
64
- const redoStep = new InsertStyledTextModel({ insertIndex, text, textStyle: style });
65
- const undoStep = new DeleteModel({ startIndex: insertIndex, count: text.length });
66
- this.addToHistory(undoStep, redoStep);
67
- }
68
- pushDelete(model) {
69
- const redoStep = new DeleteModel({ startIndex: model.startIndex, count: model.text.length });
70
- this.addToHistory(model, redoStep);
71
- }
72
- pushApplyTextStyle(startIndex, endIndex, style, formats, linkFormats) {
73
- const redoStep = new ApplyTextStyleModel({ startIndex, endIndex, textStyle: style });
74
- const undoStep = new RestoreTextStylesModel({ formats, linkFormats });
75
- this.addToHistory(undoStep, redoStep);
76
- }
77
- pushApplyParagraphStyle(startIndex, endIndex, style, paragraphs) {
78
- const redoStep = new ApplyParagraphStyleModel({ startIndex, endIndex, paragraphStyle: style });
79
- const undoStep = new RestoreParagraphStylesModel({ paragraphs });
80
- this.addToHistory(undoStep, redoStep);
81
- }
82
- pushApplyElementStyle(previous, current) {
83
- const redoStep = new ApplyElementStyleModel({ insertIndex: current.insertIndex, width: current.width, height: current.height });
84
- const undoStep = new ApplyElementStyleModel({ insertIndex: previous.insertIndex, width: previous.width, height: previous.height });
85
- this.addToHistory(undoStep, redoStep);
86
- }
87
- pushInsertTableRows(insertIndex, rowsCount, targetIndex, inheritIndex, table) {
88
- const oldTable = JSON.parse(JSON.stringify(table));
89
- const redoStep = new InsertTableRowsModel({ insertIndex, rowsCount, targetIndex, inheritIndex });
90
- const undoStep = new RestoreTableModel({ insertIndex, oldTable });
91
- this.addToHistory(undoStep, redoStep);
92
- }
93
- pushInsertTableColumns(insertIndex, columnsCount, targetIndex, inheritIndex, table) {
94
- const oldTable = JSON.parse(JSON.stringify(table));
95
- const redoStep = new InsertTableColumnsModel({ insertIndex, columnsCount, targetIndex, inheritIndex });
96
- const undoStep = new RestoreTableModel({ insertIndex, oldTable });
97
- this.addToHistory(undoStep, redoStep);
98
- }
99
- pushRemoveTableRows(insertIndex, startIndex, endIndex, table) {
100
- const oldTable = JSON.parse(JSON.stringify(table));
101
- const redoStep = new RemoveTableRowsModel({ insertIndex, startIndex, endIndex });
102
- const undoStep = new RestoreTableModel({ insertIndex, oldTable });
103
- this.addToHistory(undoStep, redoStep);
104
- }
105
- pushRemoveTableColumns(insertIndex, startIndex, endIndex, table) {
106
- const oldTable = JSON.parse(JSON.stringify(table));
107
- const redoStep = new RemoveTableColumnsModel({ insertIndex, startIndex, endIndex });
108
- const undoStep = new RestoreTableModel({ insertIndex, oldTable });
109
- this.addToHistory(undoStep, redoStep);
110
- }
111
- pushResizeTableColumns(resizeTableColumns) {
112
- const redoStep = new ResizeTableColumnsModel({
113
- cellIndex: resizeTableColumns.cellIndex,
114
- columnIndex: resizeTableColumns.columnIndex,
115
- distance: resizeTableColumns.distance,
116
- insertIndex: resizeTableColumns.insertIndex,
117
- resizerSide: resizeTableColumns.resizerSide,
118
- rowIndex: resizeTableColumns.rowIndex
119
- });
120
- const undoStep = new ResizeTableColumnsModel({
121
- cellIndex: resizeTableColumns.cellIndex,
122
- columnIndex: resizeTableColumns.columnIndex,
123
- distance: -resizeTableColumns.distance,
124
- insertIndex: resizeTableColumns.insertIndex,
125
- resizerSide: resizeTableColumns.resizerSide,
126
- rowIndex: resizeTableColumns.rowIndex
127
- });
128
- this.addToHistory(undoStep, redoStep);
129
- }
130
- pushApplyImageStyle(previous, current) {
131
- const redoStep = new ApplyImageStyleModel({ insertIndex: current.insertIndex, width: current.width, height: current.height });
132
- const undoStep = new ApplyImageStyleModel({ insertIndex: previous.insertIndex, width: previous.width, height: previous.height });
133
- this.addToHistory(undoStep, redoStep);
134
- }
135
- pushAddNumbering(startIndex, endIndex, levels, paragraphs, numberings) {
136
- const redoStep = new AddNumberingModel({ startIndex, endIndex, levels });
137
- const undoStep = new RestoreNumberingsModel({ paragraphs, numberings });
138
- this.addToHistory(undoStep, redoStep);
139
- }
140
- pushRemoveNumberings(startIndex, endIndex, numberings, paragraphs) {
141
- const redoStep = new RemoveNumberingsModel({ startIndex, endIndex });
142
- const undoStep = new RestoreNumberingsModel({ numberings, paragraphs });
143
- this.addToHistory(undoStep, redoStep);
144
- }
145
- pushReplace(restore, replace) {
146
- this.addToHistory(restore, replace);
147
- }
148
- popUndoOperation() {
149
- if (this.step === -1) {
150
- return null;
151
- }
152
- const operation = this.storage[this.step].undo;
153
- const targets = this.storage[this.step].targets;
154
- const cursor = this.storage[this.step].cursor;
155
- const anchor = this.storage[this.step].anchor;
156
- this.step--;
157
- this.editorService.historyInfo = new OperationsHistoryInfoModel(this.step, this.storage.length - 1);
158
- return { operation, targets, cursor, anchor };
159
- }
160
- popRedoOperation() {
161
- if (this.step >= this.storage.length - 1) {
162
- return null;
163
- }
164
- this.step++;
165
- const operation = this.storage[this.step].redo;
166
- const targets = this.storage[this.step].targets;
167
- const cursor = this.storage[this.step].cursor;
168
- const anchor = this.storage[this.step].anchor;
169
- this.editorService.historyInfo = new OperationsHistoryInfoModel(this.step, this.storage.length - 1);
170
- return { operation, targets, cursor, anchor };
171
- }
172
- addToHistory(undoStep, redoStep) {
173
- const targets = this.regulatorService.getCurrentSessionTargets();
174
- const cursor = this.regulatorService.selection.cursor;
175
- const anchor = this.regulatorService.selection.anchor;
176
- this.step++;
177
- this.storage.splice(this.step, this.storage.length);
178
- this.storage.push({ undo: undoStep, redo: redoStep, targets, cursor, anchor });
179
- if (this.storage.length > this.MAX_HISTORY) {
180
- this.storage.splice(0, 1);
181
- this.step--;
182
- }
183
- this.editorService.historyInfo = new OperationsHistoryInfoModel(this.step, this.storage.length - 1);
184
- }
185
- getDeleteDataForInsertParagraphs(content, model, paragraphs) {
186
- const currentParagraph = paragraphs
187
- .slice()
188
- .sort((a, b) => a.insertIndex - b.insertIndex)
189
- .find(x => x.insertIndex >= model.insertIndex);
190
- const previousParagraph = paragraphs
191
- .slice()
192
- .sort((a, b) => b.insertIndex - a.insertIndex)
193
- .find(x => x.insertIndex < currentParagraph.insertIndex);
194
- let startIndex = model.insertIndex;
195
- let count = content.length;
196
- if (model.insertIndex === 0 || previousParagraph?.insertIndex === model.insertIndex - 1) {
197
- count++;
198
- }
199
- else if (currentParagraph.insertIndex === model.insertIndex) {
200
- startIndex++;
201
- }
202
- else {
203
- count = count + 2;
204
- }
205
- return { startIndex, count };
206
- }
207
- }
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLWhpc3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvZ2FkZ2V0cy9oaXN0b3J5L29wZXJhdGlvbi1oaXN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRXZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQVVyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUUvRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFJOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0RBQXNELENB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LFVBQVU7YUFDL0IsS0FBSyxFQUFFO2FBQ1AsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO2FBQzdDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxDQUFDLElBQUksaUJBQWlCLEVBQUUsV0FBVyxLQUFLLEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1lBQ3JGLEtBQUssRUFBRSxDQUFDO1NBQ1g7YUFBTSxJQUFJLGdCQUFnQixDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzNELFVBQVUsRUFBRSxDQUFDO1NBQ2hCO2FBQU07WUFDSCxLQUFLLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztTQUNyQjtRQUVELE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDakMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkTnVtYmVyaW5nTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2FkZC1udW1iZXJpbmcubW9kZWwnO1xuaW1wb3J0IHsgQXBwbHlFbGVtZW50U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYXBwbHktZWxlbWVudC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBBcHBseUltYWdlU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYXBwbHktaW1hZ2Utc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgQXBwbHlQYXJhZ3JhcGhTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9hcHBseS1wYXJhZ3JhcGgtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgQXBwbHlUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYXBwbHktdGV4dC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBDdXJzb3JQYXJhZ3JhcGggfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvcG9zaXRpb25pbmcvY3Vyc29yLXBhcmFncmFwaCc7XG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVF9NQVJLRVIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NoYXJlZC9jdXN0b20tY29udGVudC1tYXJrZXJzLmNvbnN0JztcbmltcG9ydCB7IERlbGV0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9kZWxldGUubW9kZWwnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VkaXRvci9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2VsZW1lbnQubW9kZWwnO1xuaW1wb3J0IHsgRm9ybWF0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2Zvcm1hdC5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRCcmVha01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtYnJlYWsubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0RWxlbWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtZWxlbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtaW1hZ2UubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0TGlua01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtbGluay5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRQYXJhZ3JhcGhNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXBhcmFncmFwaC5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRTdHlsZWRUZXh0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC1zdHlsZWQtdGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUYWJsZUNvbHVtbnNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYmxlLWNvbHVtbnMubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGFibGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IEluc2VydFRhYmxlUm93c01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtdGFibGUtcm93cy5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUYWJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYi5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUZXh0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10ZXh0Lm1vZGVsJztcbmltcG9ydCB7IE51bWJlcmluZ0xldmVsTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL251bWJlcmluZy1sZXZlbC5tb2RlbCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvbnVtYmVyaW5nLm1vZGVsJztcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gJy4vb3BlcmF0aW9uLnR5cGUnO1xuaW1wb3J0IHsgT3BlcmF0aW9uc0hpc3RvcnlJbmZvTW9kZWwgfSBmcm9tICcuL29wZXJhdGlvbnMtaGlzdG9yeS1pbmZvLm1vZGVsJztcbmltcG9ydCB7IFBhcmFncmFwaE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9wYXJhZ3JhcGgubW9kZWwnO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFJlZ3VsYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9leGVjdXRpb24vcmVndWxhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVtb3ZlTnVtYmVyaW5nc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZW1vdmUtbnVtYmVyaW5ncy5tb2RlbCc7XG5pbXBvcnQgeyBSZW1vdmVUYWJsZUNvbHVtbnNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVtb3ZlLXRhYmxlLWNvbHVtbnMubW9kZWwnO1xuaW1wb3J0IHsgUmVtb3ZlVGFibGVSb3dzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3JlbW92ZS10YWJsZS1yb3dzLm1vZGVsJztcbmltcG9ydCB7IFJlcGxhY2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVwbGFjZS5tb2RlbCc7XG5pbXBvcnQgeyBSZXNpemVUYWJsZUNvbHVtbnNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzaXplLXRhYmxlLWNvbHVtbnMubW9kZWwnO1xuaW1wb3J0IHsgUmVzdG9yZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXN0b3JlLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVOdW1iZXJpbmdzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUtbnVtYmVyaW5ncy5tb2RlbCc7XG5pbXBvcnQgeyBSZXN0b3JlUGFyYWdyYXBoU3R5bGVzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUtcGFyYWdyYXBoLXN0eWxlcy5tb2RlbCc7XG5pbXBvcnQgeyBSZXN0b3JlVGFibGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS10YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBSZXN0b3JlVGV4dFN0eWxlc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXN0b3JlLXRleHQtc3R5bGVzLm1vZGVsJztcbmltcG9ydCB7IFRhYmxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RhYmxlLm1vZGVsJztcbmltcG9ydCB7IFRhcmdldE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90YXJnZXQubW9kZWwnO1xuaW1wb3J0IHsgVGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RleHQtc3R5bGUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgT3BlcmF0aW9uSGlzdG9yeSB7XG4gICAgcmVhZG9ubHkgTUFYX0hJU1RPUlkgPSAxMDA7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2U6IHtcbiAgICAgICAgdW5kbzogT3BlcmF0aW9uO1xuICAgICAgICByZWRvOiBPcGVyYXRpb247XG4gICAgICAgIHRhcmdldHM6IFRhcmdldE1vZGVsW107XG4gICAgICAgIGN1cnNvcjogQ3Vyc29yUGFyYWdyYXBoO1xuICAgICAgICBhbmNob3I6IEN1cnNvclBhcmFncmFwaCB8IG51bGw7XG4gICAgfVtdID0gW107XG5cbiAgICBwcml2YXRlIHN0ZXAgPSAtMTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSwgcHJpdmF0ZSByZWd1bGF0b3JTZXJ2aWNlOiBSZWd1bGF0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5oaXN0b3J5SW5mbyA9IG5ldyBPcGVyYXRpb25zSGlzdG9yeUluZm9Nb2RlbCh0aGlzLnN0ZXAsIHRoaXMuc3RvcmFnZS5sZW5ndGggLSAxKTtcbiAgICB9XG5cbiAgICBwdXNoSW5zZXJ0VGV4dChpbnNlcnRJbmRleDogbnVtYmVyLCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgSW5zZXJ0VGV4dE1vZGVsKHsgaW5zZXJ0SW5kZXgsIHRleHQgfSk7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IERlbGV0ZU1vZGVsKHsgc3RhcnRJbmRleDogaW5zZXJ0SW5kZXgsIGNvdW50OiB0ZXh0Lmxlbmd0aCB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoSW5zZXJ0UGFyYWdyYXBoKGNvbnRlbnQ6IHN0cmluZywgbW9kZWw6IEluc2VydFBhcmFncmFwaE1vZGVsLCBwYXJhZ3JhcGhzOiBQYXJhZ3JhcGhNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gdGhpcy5nZXREZWxldGVEYXRhRm9ySW5zZXJ0UGFyYWdyYXBocyhjb250ZW50LCBtb2RlbCwgcGFyYWdyYXBocyk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KG5ldyBEZWxldGVNb2RlbCh7IC4uLnVuZG9TdGVwIH0pLCBtb2RlbCk7XG4gICAgfVxuXG4gICAgcHVzaEluc2VydEVsZW1lbnQobW9kZWw6IEluc2VydEVsZW1lbnRNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBEZWxldGVNb2RlbCh7IHN0YXJ0SW5kZXg6IG1vZGVsLmVsZW1lbnQuaW5zZXJ0SW5kZXgsIGNvdW50OiBDVVNUT01fRUxFTUVOVF9NQVJLRVIubGVuZ3RoIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgbW9kZWwpO1xuICAgIH1cblxuICAgIHB1c2hJbnNlcnRCcmVhayhtb2RlbDogSW5zZXJ0QnJlYWtNb2RlbCwgY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBEZWxldGVNb2RlbCh7IHN0YXJ0SW5kZXg6IG1vZGVsLmluc2VydEluZGV4LCBjb3VudCB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIG1vZGVsKTtcbiAgICB9XG5cbiAgICBwdXNoSW5zZXJ0VGFiKG1vZGVsOiBJbnNlcnRUYWJNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBEZWxldGVNb2RlbCh7IHN0YXJ0SW5kZXg6IG1vZGVsLmluc2VydEluZGV4LCBjb3VudDogQ1VTVE9NX0VMRU1FTlRfTUFSS0VSLmxlbmd0aCB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIG1vZGVsKTtcbiAgICB9XG5cbiAgICBwdXNoSW5zZXJ0SW1hZ2UobW9kZWw6IEluc2VydEltYWdlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdW5kb1N0ZXAgPSBuZXcgRGVsZXRlTW9kZWwoeyBzdGFydEluZGV4OiBtb2RlbC5pbnNlcnRJbmRleCwgY291bnQ6IENVU1RPTV9FTEVNRU5UX01BUktFUi5sZW5ndGggfSk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHVuZG9TdGVwLCBtb2RlbCk7XG4gICAgfVxuXG4gICAgcHVzaEluc2VydExpbmsobW9kZWw6IEluc2VydExpbmtNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBEZWxldGVNb2RlbCh7IHN0YXJ0SW5kZXg6IG1vZGVsLmluc2VydEluZGV4LCBjb3VudDogbW9kZWwubGlua0RhdGFNb2RlbC50ZXh0Lmxlbmd0aCB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIG1vZGVsKTtcbiAgICB9XG5cbiAgICBwdXNoSW5zZXJ0VGFibGUobW9kZWw6IEluc2VydFRhYmxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdW5kb1N0ZXAgPSBuZXcgRGVsZXRlTW9kZWwoeyBzdGFydEluZGV4OiBtb2RlbC5pbnNlcnRJbmRleCwgY291bnQ6IG1vZGVsLmNvbnRlbnQubGVuZ3RoIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgbW9kZWwpO1xuICAgIH1cblxuICAgIHB1c2hJbnNlcnRTdHlsZWRUZXh0KGluc2VydEluZGV4OiBudW1iZXIsIHRleHQ6IHN0cmluZywgc3R5bGU6IFRleHRTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IEluc2VydFN0eWxlZFRleHRNb2RlbCh7IGluc2VydEluZGV4LCB0ZXh0LCB0ZXh0U3R5bGU6IHN0eWxlIH0pO1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBEZWxldGVNb2RlbCh7IHN0YXJ0SW5kZXg6IGluc2VydEluZGV4LCBjb3VudDogdGV4dC5sZW5ndGggfSk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHVuZG9TdGVwLCByZWRvU3RlcCk7XG4gICAgfVxuXG4gICAgcHVzaERlbGV0ZShtb2RlbDogUmVzdG9yZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IERlbGV0ZU1vZGVsKHsgc3RhcnRJbmRleDogbW9kZWwuc3RhcnRJbmRleCwgY291bnQ6IG1vZGVsLnRleHQubGVuZ3RoIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeShtb2RlbCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hBcHBseVRleHRTdHlsZShcbiAgICAgICAgc3RhcnRJbmRleDogbnVtYmVyLFxuICAgICAgICBlbmRJbmRleDogbnVtYmVyLFxuICAgICAgICBzdHlsZTogVGV4dFN0eWxlTW9kZWwsXG4gICAgICAgIGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sXG4gICAgICAgIGxpbmtGb3JtYXRzOiBGb3JtYXRNb2RlbFtdXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IEFwcGx5VGV4dFN0eWxlTW9kZWwoeyBzdGFydEluZGV4LCBlbmRJbmRleCwgdGV4dFN0eWxlOiBzdHlsZSB9KTtcbiAgICAgICAgY29uc3QgdW5kb1N0ZXAgPSBuZXcgUmVzdG9yZVRleHRTdHlsZXNNb2RlbCh7IGZvcm1hdHMsIGxpbmtGb3JtYXRzIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hBcHBseVBhcmFncmFwaFN0eWxlKHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgc3R5bGU6IFBhcmFncmFwaFN0eWxlTW9kZWwsIHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgQXBwbHlQYXJhZ3JhcGhTdHlsZU1vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXgsIHBhcmFncmFwaFN0eWxlOiBzdHlsZSB9KTtcbiAgICAgICAgY29uc3QgdW5kb1N0ZXAgPSBuZXcgUmVzdG9yZVBhcmFncmFwaFN0eWxlc01vZGVsKHsgcGFyYWdyYXBocyB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoQXBwbHlFbGVtZW50U3R5bGUocHJldmlvdXM6IEVsZW1lbnRNb2RlbCwgY3VycmVudDogRWxlbWVudE1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IEFwcGx5RWxlbWVudFN0eWxlTW9kZWwoeyBpbnNlcnRJbmRleDogY3VycmVudC5pbnNlcnRJbmRleCwgd2lkdGg6IGN1cnJlbnQud2lkdGgsIGhlaWdodDogY3VycmVudC5oZWlnaHQgfSk7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IEFwcGx5RWxlbWVudFN0eWxlTW9kZWwoeyBpbnNlcnRJbmRleDogcHJldmlvdXMuaW5zZXJ0SW5kZXgsIHdpZHRoOiBwcmV2aW91cy53aWR0aCwgaGVpZ2h0OiBwcmV2aW91cy5oZWlnaHQgfSk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHVuZG9TdGVwLCByZWRvU3RlcCk7XG4gICAgfVxuXG4gICAgcHVzaEluc2VydFRhYmxlUm93cyhpbnNlcnRJbmRleDogbnVtYmVyLCByb3dzQ291bnQ6IG51bWJlciwgdGFyZ2V0SW5kZXg6IG51bWJlciwgaW5oZXJpdEluZGV4OiBudW1iZXIsIHRhYmxlOiBUYWJsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9sZFRhYmxlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0YWJsZSkpO1xuICAgICAgICBjb25zdCByZWRvU3RlcCA9IG5ldyBJbnNlcnRUYWJsZVJvd3NNb2RlbCh7IGluc2VydEluZGV4LCByb3dzQ291bnQsIHRhcmdldEluZGV4LCBpbmhlcml0SW5kZXggfSk7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IFJlc3RvcmVUYWJsZU1vZGVsKHsgaW5zZXJ0SW5kZXgsIG9sZFRhYmxlIH0pO1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeSh1bmRvU3RlcCwgcmVkb1N0ZXApO1xuICAgIH1cblxuICAgIHB1c2hJbnNlcnRUYWJsZUNvbHVtbnMoaW5zZXJ0SW5kZXg6IG51bWJlciwgY29sdW1uc0NvdW50OiBudW1iZXIsIHRhcmdldEluZGV4OiBudW1iZXIsIGluaGVyaXRJbmRleDogbnVtYmVyLCB0YWJsZTogVGFibGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBvbGRUYWJsZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGFibGUpKTtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgSW5zZXJ0VGFibGVDb2x1bW5zTW9kZWwoeyBpbnNlcnRJbmRleCwgY29sdW1uc0NvdW50LCB0YXJnZXRJbmRleCwgaW5oZXJpdEluZGV4IH0pO1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBSZXN0b3JlVGFibGVNb2RlbCh7IGluc2VydEluZGV4LCBvbGRUYWJsZSB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoUmVtb3ZlVGFibGVSb3dzKGluc2VydEluZGV4OiBudW1iZXIsIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgdGFibGU6IFRhYmxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb2xkVGFibGUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRhYmxlKSk7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IFJlbW92ZVRhYmxlUm93c01vZGVsKHsgaW5zZXJ0SW5kZXgsIHN0YXJ0SW5kZXgsIGVuZEluZGV4IH0pO1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBSZXN0b3JlVGFibGVNb2RlbCh7IGluc2VydEluZGV4LCBvbGRUYWJsZSB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoUmVtb3ZlVGFibGVDb2x1bW5zKGluc2VydEluZGV4OiBudW1iZXIsIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgdGFibGU6IFRhYmxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb2xkVGFibGUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRhYmxlKSk7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IFJlbW92ZVRhYmxlQ29sdW1uc01vZGVsKHsgaW5zZXJ0SW5kZXgsIHN0YXJ0SW5kZXgsIGVuZEluZGV4IH0pO1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBSZXN0b3JlVGFibGVNb2RlbCh7IGluc2VydEluZGV4LCBvbGRUYWJsZSB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoUmVzaXplVGFibGVDb2x1bW5zKHJlc2l6ZVRhYmxlQ29sdW1uczogUmVzaXplVGFibGVDb2x1bW5zTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVkb1N0ZXAgPSBuZXcgUmVzaXplVGFibGVDb2x1bW5zTW9kZWwoe1xuICAgICAgICAgICAgY2VsbEluZGV4OiByZXNpemVUYWJsZUNvbHVtbnMuY2VsbEluZGV4LFxuICAgICAgICAgICAgY29sdW1uSW5kZXg6IHJlc2l6ZVRhYmxlQ29sdW1ucy5jb2x1bW5JbmRleCxcbiAgICAgICAgICAgIGRpc3RhbmNlOiByZXNpemVUYWJsZUNvbHVtbnMuZGlzdGFuY2UsXG4gICAgICAgICAgICBpbnNlcnRJbmRleDogcmVzaXplVGFibGVDb2x1bW5zLmluc2VydEluZGV4LFxuICAgICAgICAgICAgcmVzaXplclNpZGU6IHJlc2l6ZVRhYmxlQ29sdW1ucy5yZXNpemVyU2lkZSxcbiAgICAgICAgICAgIHJvd0luZGV4OiByZXNpemVUYWJsZUNvbHVtbnMucm93SW5kZXhcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHVuZG9TdGVwID0gbmV3IFJlc2l6ZVRhYmxlQ29sdW1uc01vZGVsKHtcbiAgICAgICAgICAgIGNlbGxJbmRleDogcmVzaXplVGFibGVDb2x1bW5zLmNlbGxJbmRleCxcbiAgICAgICAgICAgIGNvbHVtbkluZGV4OiByZXNpemVUYWJsZUNvbHVtbnMuY29sdW1uSW5kZXgsXG4gICAgICAgICAgICBkaXN0YW5jZTogLXJlc2l6ZVRhYmxlQ29sdW1ucy5kaXN0YW5jZSxcbiAgICAgICAgICAgIGluc2VydEluZGV4OiByZXNpemVUYWJsZUNvbHVtbnMuaW5zZXJ0SW5kZXgsXG4gICAgICAgICAgICByZXNpemVyU2lkZTogcmVzaXplVGFibGVDb2x1bW5zLnJlc2l6ZXJTaWRlLFxuICAgICAgICAgICAgcm93SW5kZXg6IHJlc2l6ZVRhYmxlQ29sdW1ucy5yb3dJbmRleFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoQXBwbHlJbWFnZVN0eWxlKHByZXZpb3VzOiBJbWFnZU1vZGVsLCBjdXJyZW50OiBJbWFnZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IEFwcGx5SW1hZ2VTdHlsZU1vZGVsKHsgaW5zZXJ0SW5kZXg6IGN1cnJlbnQuaW5zZXJ0SW5kZXgsIHdpZHRoOiBjdXJyZW50LndpZHRoLCBoZWlnaHQ6IGN1cnJlbnQuaGVpZ2h0IH0pO1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBBcHBseUltYWdlU3R5bGVNb2RlbCh7IGluc2VydEluZGV4OiBwcmV2aW91cy5pbnNlcnRJbmRleCwgd2lkdGg6IHByZXZpb3VzLndpZHRoLCBoZWlnaHQ6IHByZXZpb3VzLmhlaWdodCB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoQWRkTnVtYmVyaW5nKFxuICAgICAgICBzdGFydEluZGV4OiBudW1iZXIsXG4gICAgICAgIGVuZEluZGV4OiBudW1iZXIsXG4gICAgICAgIGxldmVsczogTnVtYmVyaW5nTGV2ZWxNb2RlbFtdLFxuICAgICAgICBwYXJhZ3JhcGhzOiBQYXJhZ3JhcGhNb2RlbFtdLFxuICAgICAgICBudW1iZXJpbmdzOiBOdW1iZXJpbmdNb2RlbFtdXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IEFkZE51bWJlcmluZ01vZGVsKHsgc3RhcnRJbmRleCwgZW5kSW5kZXgsIGxldmVscyB9KTtcbiAgICAgICAgY29uc3QgdW5kb1N0ZXAgPSBuZXcgUmVzdG9yZU51bWJlcmluZ3NNb2RlbCh7IHBhcmFncmFwaHMsIG51bWJlcmluZ3MgfSk7XG4gICAgICAgIHRoaXMuYWRkVG9IaXN0b3J5KHVuZG9TdGVwLCByZWRvU3RlcCk7XG4gICAgfVxuXG4gICAgcHVzaFJlbW92ZU51bWJlcmluZ3Moc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCBudW1iZXJpbmdzOiBOdW1iZXJpbmdNb2RlbFtdLCBwYXJhZ3JhcGhzOiBQYXJhZ3JhcGhNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZG9TdGVwID0gbmV3IFJlbW92ZU51bWJlcmluZ3NNb2RlbCh7IHN0YXJ0SW5kZXgsIGVuZEluZGV4IH0pO1xuICAgICAgICBjb25zdCB1bmRvU3RlcCA9IG5ldyBSZXN0b3JlTnVtYmVyaW5nc01vZGVsKHsgbnVtYmVyaW5ncywgcGFyYWdyYXBocyB9KTtcbiAgICAgICAgdGhpcy5hZGRUb0hpc3RvcnkodW5kb1N0ZXAsIHJlZG9TdGVwKTtcbiAgICB9XG5cbiAgICBwdXNoUmVwbGFjZShyZXN0b3JlOiBSZXN0b3JlTW9kZWwsIHJlcGxhY2U6IFJlcGxhY2VNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZFRvSGlzdG9yeShyZXN0b3JlLCByZXBsYWNlKTtcbiAgICB9XG5cbiAgICBwb3BVbmRvT3BlcmF0aW9uKCk6IHtcbiAgICAgICAgb3BlcmF0aW9uOiBPcGVyYXRpb24gfCBudWxsO1xuICAgICAgICB0YXJnZXRzOiBUYXJnZXRNb2RlbFtdO1xuICAgICAgICBjdXJzb3I6IEN1cnNvclBhcmFncmFwaDtcbiAgICAgICAgYW5jaG9yOiBDdXJzb3JQYXJhZ3JhcGggfCBudWxsO1xuICAgIH0gfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuc3RlcCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wZXJhdGlvbiA9IHRoaXMuc3RvcmFnZVt0aGlzLnN0ZXBdLnVuZG87XG4gICAgICAgIGNvbnN0IHRhcmdldHMgPSB0aGlzLnN0b3JhZ2VbdGhpcy5zdGVwXS50YXJnZXRzO1xuICAgICAgICBjb25zdCBjdXJzb3IgPSB0aGlzLnN0b3JhZ2VbdGhpcy5zdGVwXS5jdXJzb3I7XG4gICAgICAgIGNvbnN0IGFuY2hvciA9IHRoaXMuc3RvcmFnZVt0aGlzLnN0ZXBdLmFuY2hvcjtcbiAgICAgICAgdGhpcy5zdGVwLS07XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5oaXN0b3J5SW5mbyA9IG5ldyBPcGVyYXRpb25zSGlzdG9yeUluZm9Nb2RlbCh0aGlzLnN0ZXAsIHRoaXMuc3RvcmFnZS5sZW5ndGggLSAxKTtcbiAgICAgICAgcmV0dXJuIHsgb3BlcmF0aW9uLCB0YXJnZXRzLCBjdXJzb3IsIGFuY2hvciB9O1xuICAgIH1cblxuICAgIHBvcFJlZG9PcGVyYXRpb24oKToge1xuICAgICAgICBvcGVyYXRpb246IE9wZXJhdGlvbiB8IG51bGw7XG4gICAgICAgIHRhcmdldHM6IFRhcmdldE1vZGVsW107XG4gICAgICAgIGN1cnNvcjogQ3Vyc29yUGFyYWdyYXBoO1xuICAgICAgICBhbmNob3I6IEN1cnNvclBhcmFncmFwaCB8IG51bGw7XG4gICAgfSB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5zdGVwID49IHRoaXMuc3RvcmFnZS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0ZXArKztcbiAgICAgICAgY29uc3Qgb3BlcmF0aW9uID0gdGhpcy5zdG9yYWdlW3RoaXMuc3RlcF0ucmVkbztcbiAgICAgICAgY29uc3QgdGFyZ2V0cyA9IHRoaXMuc3RvcmFnZVt0aGlzLnN0ZXBdLnRhcmdldHM7XG4gICAgICAgIGNvbnN0IGN1cnNvciA9IHRoaXMuc3RvcmFnZVt0aGlzLnN0ZXBdLmN1cnNvcjtcbiAgICAgICAgY29uc3QgYW5jaG9yID0gdGhpcy5zdG9yYWdlW3RoaXMuc3RlcF0uYW5jaG9yO1xuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuaGlzdG9yeUluZm8gPSBuZXcgT3BlcmF0aW9uc0hpc3RvcnlJbmZvTW9kZWwodGhpcy5zdGVwLCB0aGlzLnN0b3JhZ2UubGVuZ3RoIC0gMSk7XG4gICAgICAgIHJldHVybiB7IG9wZXJhdGlvbiwgdGFyZ2V0cywgY3Vyc29yLCBhbmNob3IgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFRvSGlzdG9yeSh1bmRvU3RlcDogT3BlcmF0aW9uLCByZWRvU3RlcDogT3BlcmF0aW9uKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldHMgPSB0aGlzLnJlZ3VsYXRvclNlcnZpY2UuZ2V0Q3VycmVudFNlc3Npb25UYXJnZXRzKCk7XG4gICAgICAgIGNvbnN0IGN1cnNvciA9IHRoaXMucmVndWxhdG9yU2VydmljZS5zZWxlY3Rpb24uY3Vyc29yO1xuICAgICAgICBjb25zdCBhbmNob3IgPSB0aGlzLnJlZ3VsYXRvclNlcnZpY2Uuc2VsZWN0aW9uLmFuY2hvcjtcbiAgICAgICAgdGhpcy5zdGVwKys7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5zcGxpY2UodGhpcy5zdGVwLCB0aGlzLnN0b3JhZ2UubGVuZ3RoKTtcbiAgICAgICAgdGhpcy5zdG9yYWdlLnB1c2goeyB1bmRvOiB1bmRvU3RlcCwgcmVkbzogcmVkb1N0ZXAsIHRhcmdldHMsIGN1cnNvciwgYW5jaG9yIH0pO1xuICAgICAgICBpZiAodGhpcy5zdG9yYWdlLmxlbmd0aCA+IHRoaXMuTUFYX0hJU1RPUlkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5zcGxpY2UoMCwgMSk7XG4gICAgICAgICAgICB0aGlzLnN0ZXAtLTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5oaXN0b3J5SW5mbyA9IG5ldyBPcGVyYXRpb25zSGlzdG9yeUluZm9Nb2RlbCh0aGlzLnN0ZXAsIHRoaXMuc3RvcmFnZS5sZW5ndGggLSAxKTtcbiAgICB9XG5cbiAgICBnZXREZWxldGVEYXRhRm9ySW5zZXJ0UGFyYWdyYXBocyhcbiAgICAgICAgY29udGVudDogc3RyaW5nLFxuICAgICAgICBtb2RlbDogSW5zZXJ0UGFyYWdyYXBoTW9kZWwsXG4gICAgICAgIHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW11cbiAgICApOiB7IHN0YXJ0SW5kZXg6IG51bWJlcjsgY291bnQ6IG51bWJlciB9IHtcbiAgICAgICAgY29uc3QgY3VycmVudFBhcmFncmFwaCA9IHBhcmFncmFwaHNcbiAgICAgICAgICAgIC5zbGljZSgpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5pbnNlcnRJbmRleCAtIGIuaW5zZXJ0SW5kZXgpXG4gICAgICAgICAgICAuZmluZCh4ID0+IHguaW5zZXJ0SW5kZXggPj0gbW9kZWwuaW5zZXJ0SW5kZXgpO1xuICAgICAgICBjb25zdCBwcmV2aW91c1BhcmFncmFwaCA9IHBhcmFncmFwaHNcbiAgICAgICAgICAgIC5zbGljZSgpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYi5pbnNlcnRJbmRleCAtIGEuaW5zZXJ0SW5kZXgpXG4gICAgICAgICAgICAuZmluZCh4ID0+IHguaW5zZXJ0SW5kZXggPCBjdXJyZW50UGFyYWdyYXBoLmluc2VydEluZGV4KTtcbiAgICAgICAgbGV0IHN0YXJ0SW5kZXggPSBtb2RlbC5pbnNlcnRJbmRleDtcbiAgICAgICAgbGV0IGNvdW50ID0gY29udGVudC5sZW5ndGg7XG4gICAgICAgIGlmIChtb2RlbC5pbnNlcnRJbmRleCA9PT0gMCB8fCBwcmV2aW91c1BhcmFncmFwaD8uaW5zZXJ0SW5kZXggPT09IG1vZGVsLmluc2VydEluZGV4IC0gMSkge1xuICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50UGFyYWdyYXBoLmluc2VydEluZGV4ID09PSBtb2RlbC5pbnNlcnRJbmRleCkge1xuICAgICAgICAgICAgc3RhcnRJbmRleCsrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY291bnQgPSBjb3VudCArIDI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyBzdGFydEluZGV4LCBjb3VudCB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvZ2FkZ2V0cy9oaXN0b3J5L29wZXJhdGlvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGROdW1iZXJpbmdNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYWRkLW51bWJlcmluZy5tb2RlbCc7XG5pbXBvcnQgeyBBcHBseUltYWdlU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYXBwbHktaW1hZ2Utc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgQXBwbHlUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvYXBwbHktdGV4dC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBEZWxldGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZGVsZXRlLm1vZGVsJztcbmltcG9ydCB7IEluc2VydEJyZWFrTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC1icmVhay5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRFbGVtZW50TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC1lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IEluc2VydEltYWdlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC1pbWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRQYXJhZ3JhcGhNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXBhcmFncmFwaC5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRTdHlsZWRUZXh0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC1zdHlsZWQtdGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUYWJsZUNvbHVtbnNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYmxlLWNvbHVtbnMubW9kZWwnO1xuaW1wb3J0IHsgSW5zZXJ0VGFibGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IEluc2VydFRhYmxlUm93c01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbnNlcnQtdGFibGUtcm93cy5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUYWJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW5zZXJ0LXRhYi5tb2RlbCc7XG5pbXBvcnQgeyBJbnNlcnRUZXh0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2luc2VydC10ZXh0Lm1vZGVsJztcbmltcG9ydCB7IFJlbW92ZU51bWJlcmluZ3NNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVtb3ZlLW51bWJlcmluZ3MubW9kZWwnO1xuaW1wb3J0IHsgUmVtb3ZlVGFibGVDb2x1bW5zTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3JlbW92ZS10YWJsZS1jb2x1bW5zLm1vZGVsJztcbmltcG9ydCB7IFJlbW92ZVRhYmxlUm93c01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZW1vdmUtdGFibGUtcm93cy5tb2RlbCc7XG5pbXBvcnQgeyBSZXBsYWNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3JlcGxhY2UubW9kZWwnO1xuaW1wb3J0IHsgUmVzaXplVGFibGVDb2x1bW5zTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc2l6ZS10YWJsZS1jb2x1bW5zLm1vZGVsJztcbmltcG9ydCB7IFJlc3RvcmVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS5tb2RlbCc7XG5pbXBvcnQgeyBSZXN0b3JlTnVtYmVyaW5nc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXN0b3JlLW51bWJlcmluZ3MubW9kZWwnO1xuaW1wb3J0IHsgUmVzdG9yZVBhcmFncmFwaFN0eWxlc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9yZXN0b3JlLXBhcmFncmFwaC1zdHlsZXMubW9kZWwnO1xuaW1wb3J0IHsgUmVzdG9yZVRhYmxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc3RvcmUtdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgUmVzdG9yZVRleHRTdHlsZXNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcmVzdG9yZS10ZXh0LXN0eWxlcy5tb2RlbCc7XG5cbmV4cG9ydCB0eXBlIE9wZXJhdGlvbiA9XG4gICAgfCBJbnNlcnRUZXh0TW9kZWxcbiAgICB8IERlbGV0ZU1vZGVsXG4gICAgfCBJbnNlcnRTdHlsZWRUZXh0TW9kZWxcbiAgICB8IFJlc3RvcmVNb2RlbFxuICAgIHwgQXBwbHlUZXh0U3R5bGVNb2RlbFxuICAgIHwgUmVzdG9yZVRleHRTdHlsZXNNb2RlbFxuICAgIHwgUmVzdG9yZVBhcmFncmFwaFN0eWxlc01vZGVsXG4gICAgfCBJbnNlcnRFbGVtZW50TW9kZWxcbiAgICB8IEluc2VydEJyZWFrTW9kZWxcbiAgICB8IEFwcGx5SW1hZ2VTdHlsZU1vZGVsXG4gICAgfCBBZGROdW1iZXJpbmdNb2RlbFxuICAgIHwgUmVzdG9yZU51bWJlcmluZ3NNb2RlbFxuICAgIHwgSW5zZXJ0UGFyYWdyYXBoTW9kZWxcbiAgICB8IEluc2VydFRhYk1vZGVsXG4gICAgfCBJbnNlcnRUYWJsZUNvbHVtbnNNb2RlbFxuICAgIHwgSW5zZXJ0VGFibGVSb3dzTW9kZWxcbiAgICB8IFJlbW92ZVRhYmxlQ29sdW1uc01vZGVsXG4gICAgfCBSZW1vdmVUYWJsZVJvd3NNb2RlbFxuICAgIHwgUmVzaXplVGFibGVDb2x1bW5zTW9kZWxcbiAgICB8IFJlc3RvcmVUYWJsZU1vZGVsXG4gICAgfCBJbnNlcnRUYWJsZU1vZGVsXG4gICAgfCBJbnNlcnRJbWFnZU1vZGVsXG4gICAgfCBSZW1vdmVOdW1iZXJpbmdzTW9kZWxcbiAgICB8IFJlcGxhY2VNb2RlbDtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- export class OperationsHistoryInfoModel {
2
- constructor(step, storageLength) {
3
- this.step = step;
4
- this.lastStep = storageLength;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9ucy1oaXN0b3J5LWluZm8ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvZ2FkZ2V0cy9oaXN0b3J5L29wZXJhdGlvbnMtaGlzdG9yeS1pbmZvLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTywwQkFBMEI7SUFJbkMsWUFBWSxJQUFZLEVBQUUsYUFBcUI7UUFDM0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7SUFDbEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsIHtcbiAgICBzdGVwOiBudW1iZXI7XG4gICAgbGFzdFN0ZXA6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHN0ZXA6IG51bWJlciwgc3RvcmFnZUxlbmd0aDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc3RlcCA9IHN0ZXA7XG4gICAgICAgIHRoaXMubGFzdFN0ZXAgPSBzdG9yYWdlTGVuZ3RoO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,9 +0,0 @@
1
- export class NumberingDataModel {
2
- constructor(fields) {
3
- if (!fields) {
4
- return;
5
- }
6
- Object.assign(this, fields);
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvZ2FkZ2V0cy9udW1iZXJpbmcvbnVtYmVyaW5nLWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGtCQUFrQjtJQVMzQixZQUFZLE1BQW9DO1FBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBOdW1iZXJpbmdEYXRhTW9kZWwge1xuICAgIG51bWJlcmluZ0lkOiBudW1iZXI7XG4gICAgbGV2ZWw6IG51bWJlcjtcbiAgICBtYXJrZXI6IHN0cmluZztcbiAgICBtYXJrZXJUZXh0U3R5bGU6IFRleHRTdHlsZU1vZGVsO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgcGFkZGluZ0xlZnQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKGZpZWxkcz86IFBhcnRpYWw8TnVtYmVyaW5nRGF0YU1vZGVsPikge1xuICAgICAgICBpZiAoIWZpZWxkcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBmaWVsZHMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,12 +0,0 @@
1
- export var NumberingMarkerType;
2
- (function (NumberingMarkerType) {
3
- NumberingMarkerType[NumberingMarkerType["Bullet"] = 0] = "Bullet";
4
- NumberingMarkerType[NumberingMarkerType["LowerLetter"] = 1] = "LowerLetter";
5
- NumberingMarkerType[NumberingMarkerType["UpperLetter"] = 2] = "UpperLetter";
6
- NumberingMarkerType[NumberingMarkerType["LowerRoman"] = 3] = "LowerRoman";
7
- NumberingMarkerType[NumberingMarkerType["UpperRoman"] = 4] = "UpperRoman";
8
- NumberingMarkerType[NumberingMarkerType["Decimal"] = 5] = "Decimal";
9
- NumberingMarkerType[NumberingMarkerType["DecimalZero"] = 6] = "DecimalZero";
10
- NumberingMarkerType[NumberingMarkerType["IdeographDigital"] = 7] = "IdeographDigital";
11
- })(NumberingMarkerType || (NumberingMarkerType = {}));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLW1hcmtlci10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvZ2FkZ2V0cy9udW1iZXJpbmcvbnVtYmVyaW5nLW1hcmtlci10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBU1g7QUFURCxXQUFZLG1CQUFtQjtJQUMzQixpRUFBTSxDQUFBO0lBQ04sMkVBQVcsQ0FBQTtJQUNYLDJFQUFXLENBQUE7SUFDWCx5RUFBVSxDQUFBO0lBQ1YseUVBQVUsQ0FBQTtJQUNWLG1FQUFPLENBQUE7SUFDUCwyRUFBVyxDQUFBO0lBQ1gscUZBQWdCLENBQUE7QUFDcEIsQ0FBQyxFQVRXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFTOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBOdW1iZXJpbmdNYXJrZXJUeXBlIHtcbiAgICBCdWxsZXQsXG4gICAgTG93ZXJMZXR0ZXIsXG4gICAgVXBwZXJMZXR0ZXIsXG4gICAgTG93ZXJSb21hbixcbiAgICBVcHBlclJvbWFuLFxuICAgIERlY2ltYWwsXG4gICAgRGVjaW1hbFplcm8sXG4gICAgSWRlb2dyYXBoRGlnaXRhbFxufVxuIl19
@@ -1,13 +0,0 @@
1
- import { ParagraphStyleModel } from '../../../models/generated/paragraph-style.model';
2
- export class NumberingParagraphStyleModel extends ParagraphStyleModel {
3
- constructor(fields) {
4
- super();
5
- this.numberingType = null;
6
- this.numberingLevelsStyles = null;
7
- if (!fields) {
8
- return;
9
- }
10
- Object.assign(this, fields);
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLXBhcmFncmFwaC1zdHlsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9nYWRnZXRzL251bWJlcmluZy9udW1iZXJpbmctcGFyYWdyYXBoLXN0eWxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXRGLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBbUI7SUFJakUsWUFBWSxNQUE4QztRQUN0RCxLQUFLLEVBQUUsQ0FBQztRQUpaLGtCQUFhLEdBQVEsSUFBSSxDQUFDO1FBQzFCLDBCQUFxQixHQUFXLElBQUksQ0FBQztRQUlqQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIE51bWJlcmluZ1BhcmFncmFwaFN0eWxlTW9kZWwgZXh0ZW5kcyBQYXJhZ3JhcGhTdHlsZU1vZGVsIHtcbiAgICBudW1iZXJpbmdUeXBlOiBhbnkgPSBudWxsO1xuICAgIG51bWJlcmluZ0xldmVsc1N0eWxlczogc3RyaW5nID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKGZpZWxkcz86IFBhcnRpYWw8TnVtYmVyaW5nUGFyYWdyYXBoU3R5bGVNb2RlbD4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgaWYgKCFmaWVsZHMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZmllbGRzKTtcbiAgICB9XG59XG4iXX0=
@@ -1,149 +0,0 @@
1
- import { ContentStyleHelper } from '../../content/helpers/content-style.helper';
2
- import { FontMetrics } from '../font-metrics/font-metrics.helper';
3
- import { NumberingDataModel } from './numbering-data.model';
4
- import { NumberingMarkerType } from './numbering-marker-type.enum';
5
- import { NumberingParagraphStyleModel } from './numbering-paragraph-style.model';
6
- import { TabHelper } from '../../components/tab/tab.helper';
7
- export class NumberingHelper {
8
- static getStyles(paragraphStyle, numberings) {
9
- const numberingLevels = numberings.find(x => x.numberingId === paragraphStyle.numberingId).levels;
10
- const numberingLevelsStyles = numberingLevels.reduce((prev, next) => `${prev}${next.marker}${next.markerType}`, '');
11
- const level = numberingLevels.find(x => x.level === paragraphStyle.numberingLevel);
12
- return new NumberingParagraphStyleModel({ ...paragraphStyle, numberingType: level.markerType, numberingLevelsStyles });
13
- }
14
- static find(numberings, id, level) {
15
- const numbering = numberings.find(x => x.numberingId === id);
16
- return numbering?.levels.find(x => x.level === level);
17
- }
18
- static calculateNumberingInfo(numberingId, level, marker, numberingInfo, numberings) {
19
- const numberingModel = this.find(numberings, numberingId, level);
20
- if (numberingModel?.markerType === NumberingMarkerType.Bullet) {
21
- return;
22
- }
23
- this.calculateMarkerIndexes(numberingId, level, marker, numberingInfo);
24
- }
25
- static calculateMarkerIndexes(numberingId, level, marker, numberingInfo) {
26
- if (!numberingId) {
27
- return;
28
- }
29
- if (!numberingInfo[numberingId]?.length || !numberingInfo[numberingId][level]) {
30
- numberingInfo[numberingId] ??= [];
31
- return;
32
- }
33
- if (!numberingInfo[numberingId][level]?.visited) {
34
- if (!marker) {
35
- return;
36
- }
37
- this.updateNumberingInfo(numberingInfo, marker, numberingId);
38
- }
39
- else {
40
- numberingInfo[numberingId][level].markerIndex++;
41
- numberingInfo[numberingId].splice(level + 1);
42
- }
43
- }
44
- static getMarker(levelModel, numberingId, paragraphs, paragraphIndex, numberingInfo) {
45
- let resultMarker = levelModel.marker;
46
- let index = resultMarker.indexOf('%');
47
- if (index === -1) {
48
- return resultMarker;
49
- }
50
- if (numberingInfo[numberingId]?.length && numberingInfo[numberingId][levelModel.level]) {
51
- return this.createMarkerString(numberingInfo, numberingId, levelModel.level);
52
- }
53
- while (index !== -1) {
54
- const symbolLevelNumber = Number(resultMarker[index + 1]) - 1;
55
- const levelIndex = this.getLevelIndex(paragraphs, paragraphIndex, numberingId, symbolLevelNumber);
56
- const count = levelModel.startValue + levelIndex;
57
- resultMarker = resultMarker.slice(0, index) + count.toString() + resultMarker.slice(index + 2);
58
- index = resultMarker.indexOf('%');
59
- }
60
- numberingInfo[numberingId] ??= [];
61
- this.updateNumberingInfo(numberingInfo, resultMarker, numberingId);
62
- return resultMarker;
63
- }
64
- static createDataModel(numberings, paragraphs, paragraphIndex, numberingInfo) {
65
- const paragraph = paragraphs[paragraphIndex];
66
- const numberingId = paragraph?.paragraphStyle.numberingId;
67
- if (!numberingId) {
68
- return new NumberingDataModel({ numberingId: null });
69
- }
70
- const level = paragraph.paragraphStyle.numberingLevel;
71
- const numberingLevelModel = this.find(numberings, numberingId, level);
72
- const marker = this.getMarker(numberingLevelModel, numberingId, paragraphs, paragraphIndex, numberingInfo);
73
- return new NumberingDataModel({ numberingId, level, marker });
74
- }
75
- static updateMarkerData(properties, paragraph, paragraphTextStyle, paragraphStyle) {
76
- const numberingLevel = NumberingHelper.find(properties.numberings, paragraph.numberingData.numberingId, paragraph.numberingData.level);
77
- const markerTextStyle = ContentStyleHelper.combineTextStyles(numberingLevel.markerStyle, paragraphTextStyle);
78
- const markerSizes = NumberingHelper.getMarkerSizes(paragraph.numberingData.marker, markerTextStyle);
79
- paragraph.numberingData.markerTextStyle = markerTextStyle;
80
- paragraph.numberingData.width = markerSizes.width;
81
- paragraph.numberingData.height = markerSizes.height;
82
- const indentHanging = paragraphStyle.indentHanging ? paragraphStyle.indentHanging : numberingLevel.indentHanging;
83
- paragraph.numberingData.paddingLeft = paragraph.textLinesInfo[0].paddingLeft - indentHanging;
84
- if (markerSizes.width >= indentHanging) {
85
- const markerOverflow = paragraph.numberingData.width - indentHanging;
86
- const additionalMarkerIndent = TabHelper.calculateTabWidth(numberingLevel.indentLeft + markerOverflow, properties.defaultTabWidth);
87
- paragraph.numberingData.paddingLeft = paragraph.numberingData.paddingLeft - markerOverflow - additionalMarkerIndent;
88
- }
89
- }
90
- static getMarkerSizes(marker, markerStyle) {
91
- let width = 0;
92
- let height = 0;
93
- const markerStylesString = ContentStyleHelper.getFontStylesString(markerStyle);
94
- for (let char of marker) {
95
- const markerCharSizes = FontMetrics.measureCharSize(char, markerStylesString);
96
- width += markerCharSizes.width;
97
- if (height < markerCharSizes.height) {
98
- height = markerCharSizes.height;
99
- }
100
- }
101
- return { height, width };
102
- }
103
- static updateNumberingInfo(numberingInfo, marker, numberingId) {
104
- if (!numberingInfo[numberingId]) {
105
- return;
106
- }
107
- const levels = this.getLevelInfo(marker);
108
- for (let i = 0; i < levels.length; i++) {
109
- numberingInfo[numberingId][i] = { markerIndex: levels[i], visited: true };
110
- }
111
- }
112
- static getLevelIndex(paragraphs, paragraphIndex, numberingId, numberingLevel) {
113
- let index = 0;
114
- let isOnlySubLevelsBefore = false;
115
- for (let i = paragraphIndex; i >= 0; i--) {
116
- if (paragraphs[i].paragraphStyle.numberingId !== numberingId) {
117
- continue;
118
- }
119
- if (paragraphs[i].paragraphStyle.numberingLevel < numberingLevel) {
120
- break;
121
- }
122
- if (paragraphs[i].paragraphStyle.numberingLevel > numberingLevel) {
123
- isOnlySubLevelsBefore = true;
124
- }
125
- else {
126
- index++;
127
- isOnlySubLevelsBefore = false;
128
- }
129
- }
130
- index = isOnlySubLevelsBefore ? index + 1 : index;
131
- return index <= 0 ? 0 : index - 1;
132
- }
133
- static getLevelInfo(input) {
134
- return input
135
- .split('.')
136
- .filter(x => !!x)
137
- .map(x => parseInt(x));
138
- }
139
- static createMarkerString(numberingInfo, numberingId, level) {
140
- if (level === 0) {
141
- return numberingInfo[numberingId][level].markerIndex + '.';
142
- }
143
- return numberingInfo[numberingId]
144
- .slice(0, level + 1)
145
- .map(marker => marker.markerIndex)
146
- .join('.');
147
- }
148
- }
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9nYWRnZXRzL251bWJlcmluZy9udW1iZXJpbmcuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUlqRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHNUQsTUFBTSxPQUFPLGVBQWU7SUFDeEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFtQyxFQUFFLFVBQTRCO1FBQzlFLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDbEcsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEgsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25GLE9B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QUNQLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsYUFBNEIsRUFBRSxXQUFtQixFQUFFLEtBQWE7UUFDdEYsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2IsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztTQUM5RDtRQUVELE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQzthQUM1QixLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDbkIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQzthQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudFN0eWxlSGVscGVyIH0gZnJvbSAnLi4vLi4vY29udGVudC9oZWxwZXJzL2NvbnRlbnQtc3R5bGUuaGVscGVyJztcbmltcG9ydCB7IEZvbnRNZXRyaWNzIH0gZnJvbSAnLi4vZm9udC1tZXRyaWNzL2ZvbnQtbWV0cmljcy5oZWxwZXInO1xuaW1wb3J0IHsgR2VuZXJhbFByb3BlcnRpZXNNb2RlbCwgTnVtYmVyaW5nSW5mbyB9IGZyb20gJy4uLy4uL2NvbnRlbnQvZGlzcGxheS1kYXRhL2dlbmVyYWwtcHJvcGVydGllcy5tb2RlbCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdEYXRhTW9kZWwgfSBmcm9tICcuL251bWJlcmluZy1kYXRhLm1vZGVsJztcbmltcG9ydCB7IE51bWJlcmluZ0xldmVsTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL251bWJlcmluZy1sZXZlbC5tb2RlbCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdNYXJrZXJUeXBlIH0gZnJvbSAnLi9udW1iZXJpbmctbWFya2VyLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBOdW1iZXJpbmdNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvbnVtYmVyaW5nLm1vZGVsJztcbmltcG9ydCB7IE51bWJlcmluZ1BhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuL251bWJlcmluZy1wYXJhZ3JhcGgtc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgUGFyYWdyYXBoIH0gZnJvbSAnLi4vLi4vY29udGVudC9kaXNwbGF5LWRhdGEvcGFyYWdyYXBoJztcbmltcG9ydCB7IFBhcmFncmFwaE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9wYXJhZ3JhcGgubW9kZWwnO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFRhYkhlbHBlciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGFiL3RhYi5oZWxwZXInO1xuaW1wb3J0IHsgVGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RleHQtc3R5bGUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgTnVtYmVyaW5nSGVscGVyIHtcbiAgICBzdGF0aWMgZ2V0U3R5bGVzKHBhcmFncmFwaFN0eWxlOiBQYXJhZ3JhcGhTdHlsZU1vZGVsLCBudW1iZXJpbmdzOiBOdW1iZXJpbmdNb2RlbFtdKTogTnVtYmVyaW5nUGFyYWdyYXBoU3R5bGVNb2RlbCB7XG4gICAgICAgIGNvbnN0IG51bWJlcmluZ0xldmVscyA9IG51bWJlcmluZ3MuZmluZCh4ID0+IHgubnVtYmVyaW5nSWQgPT09IHBhcmFncmFwaFN0eWxlLm51bWJlcmluZ0lkKS5sZXZlbHM7XG4gICAgICAgIGNvbnN0IG51bWJlcmluZ0xldmVsc1N0eWxlcyA9IG51bWJlcmluZ0xldmVscy5yZWR1Y2UoKHByZXYsIG5leHQpID0+IGAke3ByZXZ9JHtuZXh0Lm1hcmtlcn0ke25leHQubWFya2VyVHlwZX1gLCAnJyk7XG4gICAgICAgIGNvbnN0IGxldmVsID0gbnVtYmVyaW5nTGV2ZWxzLmZpbmQoeCA9PiB4LmxldmVsID09PSBwYXJhZ3JhcGhTdHlsZS5udW1iZXJpbmdMZXZlbCk7XG4gICAgICAgIHJldHVybiBuZXcgTnVtYmVyaW5nUGFyYWdyYXBoU3R5bGVNb2RlbCh7IC4uLnBhcmFncmFwaFN0eWxlLCBudW1iZXJpbmdUeXBlOiBsZXZlbC5tYXJrZXJUeXBlLCBudW1iZXJpbmdMZXZlbHNTdHlsZXMgfSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGZpbmQobnVtYmVyaW5nczogTnVtYmVyaW5nTW9kZWxbXSwgaWQ6IG51bWJlciwgbGV2ZWw6IG51bWJlcik6IE51bWJlcmluZ0xldmVsTW9kZWwge1xuICAgICAgICBjb25zdCBudW1iZXJpbmcgPSBudW1iZXJpbmdzLmZpbmQoeCA9PiB4Lm51bWJlcmluZ0lkID09PSBpZCk7XG4gICAgICAgIHJldHVybiBudW1iZXJpbmc/LmxldmVscy5maW5kKHggPT4geC5sZXZlbCA9PT0gbGV2ZWwpO1xuICAgIH1cblxuICAgIHN0YXRpYyBjYWxjdWxhdGVOdW1iZXJpbmdJbmZvKFxuICAgICAgICBudW1iZXJpbmdJZDogbnVtYmVyLFxuICAgICAgICBsZXZlbDogbnVtYmVyLFxuICAgICAgICBtYXJrZXI6IHN0cmluZyxcbiAgICAgICAgbnVtYmVyaW5nSW5mbzogTnVtYmVyaW5nSW5mbyxcbiAgICAgICAgbnVtYmVyaW5nczogTnVtYmVyaW5nTW9kZWxbXVxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBudW1iZXJpbmdNb2RlbCA9IHRoaXMuZmluZChudW1iZXJpbmdzLCBudW1iZXJpbmdJZCwgbGV2ZWwpO1xuICAgICAgICBpZiAobnVtYmVyaW5nTW9kZWw/Lm1hcmtlclR5cGUgPT09IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhbGN1bGF0ZU1hcmtlckluZGV4ZXMobnVtYmVyaW5nSWQsIGxldmVsLCBtYXJrZXIsIG51bWJlcmluZ0luZm8pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNhbGN1bGF0ZU1hcmtlckluZGV4ZXMobnVtYmVyaW5nSWQ6IG51bWJlciwgbGV2ZWw6IG51bWJlciwgbWFya2VyOiBzdHJpbmcsIG51bWJlcmluZ0luZm86IE51bWJlcmluZ0luZm8pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFudW1iZXJpbmdJZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFudW1iZXJpbmdJbmZvW251bWJlcmluZ0lkXT8ubGVuZ3RoIHx8ICFudW1iZXJpbmdJbmZvW251bWJlcmluZ0lkXVtsZXZlbF0pIHtcbiAgICAgICAgICAgIG51bWJlcmluZ0luZm9bbnVtYmVyaW5nSWRdID8/PSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghbnVtYmVyaW5nSW5mb1tudW1iZXJpbmdJZF1bbGV2ZWxdPy52aXNpdGVkKSB7XG4gICAgICAgICAgICBpZiAoIW1hcmtlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy51cGRhdGVOdW1iZXJpbmdJbmZvKG51bWJlcmluZ0luZm8sIG1hcmtlciwgbnVtYmVyaW5nSWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbnVtYmVyaW5nSW5mb1tudW1iZXJpbmdJZF1bbGV2ZWxdLm1hcmtlckluZGV4Kys7XG4gICAgICAgICAgICBudW1iZXJpbmdJbmZvW251bWJlcmluZ0lkXS5zcGxpY2UobGV2ZWwgKyAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBnZXRNYXJrZXIoXG4gICAgICAgIGxldmVsTW9kZWw6IE51bWJlcmluZ0xldmVsTW9kZWwsXG4gICAgICAgIG51bWJlcmluZ0lkOiBudW1iZXIsXG4gICAgICAgIHBhcmFncmFwaHM6IFBhcmFncmFwaE1vZGVsW10sXG4gICAgICAgIHBhcmFncmFwaEluZGV4OiBudW1iZXIsXG4gICAgICAgIG51bWJlcmluZ0luZm86IE51bWJlcmluZ0luZm9cbiAgICApOiBzdHJpbmcge1xuICAgICAgICBsZXQgcmVzdWx0TWFya2VyID0gbGV2ZWxNb2RlbC5tYXJrZXI7XG4gICAgICAgIGxldCBpbmRleCA9IHJlc3VsdE1hcmtlci5pbmRleE9mKCclJyk7XG4gICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRNYXJrZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobnVtYmVyaW5nSW5mb1tudW1iZXJpbmdJZF0/Lmxlbmd0aCAmJiBudW1iZXJpbmdJbmZvW251bWJlcmluZ0lkXVtsZXZlbE1vZGVsLmxldmVsXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlTWFya2VyU3RyaW5nKG51bWJlcmluZ0luZm8sIG51bWJlcmluZ0lkLCBsZXZlbE1vZGVsLmxldmVsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIGNvbnN0IHN5bWJvbExldmVsTnVtYmVyID0gTnVtYmVyKHJlc3VsdE1hcmtlcltpbmRleCArIDFdKSAtIDE7XG4gICAgICAgICAgICBjb25zdCBsZXZlbEluZGV4ID0gdGhpcy5nZXRMZXZlbEluZGV4KHBhcmFncmFwaHMsIHBhcmFncmFwaEluZGV4LCBudW1iZXJpbmdJZCwgc3ltYm9sTGV2ZWxOdW1iZXIpO1xuICAgICAgICAgICAgY29uc3QgY291bnQgPSBsZXZlbE1vZGVsLnN0YXJ0VmFsdWUgKyBsZXZlbEluZGV4O1xuICAgICAgICAgICAgcmVzdWx0TWFya2VyID0gcmVzdWx0TWFya2VyLnNsaWNlKDAsIGluZGV4KSArIGNvdW50LnRvU3RyaW5nKCkgKyByZXN1bHRNYXJrZXIuc2xpY2UoaW5kZXggKyAyKTtcbiAgICAgICAgICAgIGluZGV4ID0gcmVzdWx0TWFya2VyLmluZGV4T2YoJyUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG51bWJlcmluZ0luZm9bbnVtYmVyaW5nSWRdID8/PSBbXTtcbiAgICAgICAgdGhpcy51cGRhdGVOdW1iZXJpbmdJbmZvKG51bWJlcmluZ0luZm8sIHJlc3VsdE1hcmtlciwgbnVtYmVyaW5nSWQpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHRNYXJrZXI7XG4gICAgfVxuXG4gICAgc3RhdGljIGNyZWF0ZURhdGFNb2RlbChcbiAgICAgICAgbnVtYmVyaW5nczogTnVtYmVyaW5nTW9kZWxbXSxcbiAgICAgICAgcGFyYWdyYXBoczogUGFyYWdyYXBoTW9kZWxbXSxcbiAgICAgICAgcGFyYWdyYXBoSW5kZXg6IG51bWJlcixcbiAgICAgICAgbnVtYmVyaW5nSW5mbzogTnVtYmVyaW5nSW5mb1xuICAgICk6IE51bWJlcmluZ0RhdGFNb2RlbCB7XG4gICAgICAgIGNvbnN0IHBhcmFncmFwaCA9IHBhcmFncmFwaHNbcGFyYWdyYXBoSW5kZXhdO1xuICAgICAgICBjb25zdCBudW1iZXJpbmdJZCA9IHBhcmFncmFwaD8ucGFyYWdyYXBoU3R5bGUubnVtYmVyaW5nSWQ7XG5cbiAgICAgICAgaWYgKCFudW1iZXJpbmdJZCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXJpbmdEYXRhTW9kZWwoeyBudW1iZXJpbmdJZDogbnVsbCB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxldmVsID0gcGFyYWdyYXBoLnBhcmFncmFwaFN0eWxlLm51bWJlcmluZ0xldmVsO1xuICAgICAgICBjb25zdCBudW1iZXJpbmdMZXZlbE1vZGVsID0gdGhpcy5maW5kKG51bWJlcmluZ3MsIG51bWJlcmluZ0lkLCBsZXZlbCk7XG4gICAgICAgIGNvbnN0IG1hcmtlciA9IHRoaXMuZ2V0TWFya2VyKG51bWJlcmluZ0xldmVsTW9kZWwsIG51bWJlcmluZ0lkLCBwYXJhZ3JhcGhzLCBwYXJhZ3JhcGhJbmRleCwgbnVtYmVyaW5nSW5mbyk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXJpbmdEYXRhTW9kZWwoeyBudW1iZXJpbmdJZCwgbGV2ZWwsIG1hcmtlciB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgdXBkYXRlTWFya2VyRGF0YShcbiAgICAgICAgcHJvcGVydGllczogR2VuZXJhbFByb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgcGFyYWdyYXBoOiBQYXJhZ3JhcGgsXG4gICAgICAgIHBhcmFncmFwaFRleHRTdHlsZTogVGV4dFN0eWxlTW9kZWwsXG4gICAgICAgIHBhcmFncmFwaFN0eWxlOiBQYXJhZ3JhcGhTdHlsZU1vZGVsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG51bWJlcmluZ0xldmVsID0gTnVtYmVyaW5nSGVscGVyLmZpbmQoXG4gICAgICAgICAgICBwcm9wZXJ0aWVzLm51bWJlcmluZ3MsXG4gICAgICAgICAgICBwYXJhZ3JhcGgubnVtYmVyaW5nRGF0YS5udW1iZXJpbmdJZCxcbiAgICAgICAgICAgIHBhcmFncmFwaC5udW1iZXJpbmdEYXRhLmxldmVsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG1hcmtlclRleHRTdHlsZSA9IENvbnRlbnRTdHlsZUhlbHBlci5jb21iaW5lVGV4dFN0eWxlcyhudW1iZXJpbmdMZXZlbC5tYXJrZXJTdHlsZSwgcGFyYWdyYXBoVGV4dFN0eWxlKTtcbiAgICAgICAgY29uc3QgbWFya2VyU2l6ZXMgPSBOdW1iZXJpbmdIZWxwZXIuZ2V0TWFya2VyU2l6ZXMocGFyYWdyYXBoLm51bWJlcmluZ0RhdGEubWFya2VyLCBtYXJrZXJUZXh0U3R5bGUpO1xuICAgICAgICBwYXJhZ3JhcGgubnVtYmVyaW5nRGF0YS5tYXJrZXJUZXh0U3R5bGUgPSBtYXJrZXJUZXh0U3R5bGU7XG4gICAgICAgIHBhcmFncmFwaC5udW1iZXJpbmdEYXRhLndpZHRoID0gbWFya2VyU2l6ZXMud2lkdGg7XG4gICAgICAgIHBhcmFncmFwaC5udW1iZXJpbmdEYXRhLmhlaWdodCA9IG1hcmtlclNpemVzLmhlaWdodDtcbiAgICAgICAgY29uc3QgaW5kZW50SGFuZ2luZyA9IHBhcmFncmFwaFN0eWxlLmluZGVudEhhbmdpbmcgPyBwYXJhZ3JhcGhTdHlsZS5pbmRlbnRIYW5naW5nIDogbnVtYmVyaW5nTGV2ZWwuaW5kZW50SGFuZ2luZztcbiAgICAgICAgcGFyYWdyYXBoLm51bWJlcmluZ0RhdGEucGFkZGluZ0xlZnQgPSBwYXJhZ3JhcGgudGV4dExpbmVzSW5mb1swXS5wYWRkaW5nTGVmdCAtIGluZGVudEhhbmdpbmc7XG4gICAgICAgIGlmIChtYXJrZXJTaXplcy53aWR0aCA+PSBpbmRlbnRIYW5naW5nKSB7XG4gICAgICAgICAgICBjb25zdCBtYXJrZXJPdmVyZmxvdyA9IHBhcmFncmFwaC5udW1iZXJpbmdEYXRhLndpZHRoIC0gaW5kZW50SGFuZ2luZztcbiAgICAgICAgICAgIGNvbnN0IGFkZGl0aW9uYWxNYXJrZXJJbmRlbnQgPSBUYWJIZWxwZXIuY2FsY3VsYXRlVGFiV2lkdGgoXG4gICAgICAgICAgICAgICAgbnVtYmVyaW5nTGV2ZWwuaW5kZW50TGVmdCArIG1hcmtlck92ZXJmbG93LFxuICAgICAgICAgICAgICAgIHByb3BlcnRpZXMuZGVmYXVsdFRhYldpZHRoXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcGFyYWdyYXBoLm51bWJlcmluZ0RhdGEucGFkZGluZ0xlZnQgPSBwYXJhZ3JhcGgubnVtYmVyaW5nRGF0YS5wYWRkaW5nTGVmdCAtIG1hcmtlck92ZXJmbG93IC0gYWRkaXRpb25hbE1hcmtlckluZGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBnZXRNYXJrZXJTaXplcyhtYXJrZXI6IHN0cmluZywgbWFya2VyU3R5bGU6IFRleHRTdHlsZU1vZGVsKTogeyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9IHtcbiAgICAgICAgbGV0IHdpZHRoID0gMDtcbiAgICAgICAgbGV0IGhlaWdodCA9IDA7XG4gICAgICAgIGNvbnN0IG1hcmtlclN0eWxlc1N0cmluZyA9IENvbnRlbnRTdHlsZUhlbHBlci5nZXRGb250U3R5bGVzU3RyaW5nKG1hcmtlclN0eWxlKTtcbiAgICAgICAgZm9yIChsZXQgY2hhciBvZiBtYXJrZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmtlckNoYXJTaXplcyA9IEZvbnRNZXRyaWNzLm1lYXN1cmVDaGFyU2l6ZShjaGFyLCBtYXJrZXJTdHlsZXNTdHJpbmcpO1xuICAgICAgICAgICAgd2lkdGggKz0gbWFya2VyQ2hhclNpemVzLndpZHRoO1xuICAgICAgICAgICAgaWYgKGhlaWdodCA8IG1hcmtlckNoYXJTaXplcy5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQgPSBtYXJrZXJDaGFyU2l6ZXMuaGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgaGVpZ2h0LCB3aWR0aCB9O1xuICAgIH1cblxuICAgIHN0YXRpYyB1cGRhdGVOdW1iZXJpbmdJbmZvKG51bWJlcmluZ0luZm86IE51bWJlcmluZ0luZm8sIG1hcmtlcjogc3RyaW5nLCBudW1iZXJpbmdJZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghbnVtYmVyaW5nSW5mb1tudW1iZXJpbmdJZF0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxldmVscyA9IHRoaXMuZ2V0TGV2ZWxJbmZvKG1hcmtlcik7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGV2ZWxzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBudW1iZXJpbmdJbmZvW251bWJlcmluZ0lkXVtpXSA9IHsgbWFya2VySW5kZXg6IGxldmVsc1tpXSwgdmlzaXRlZDogdHJ1ZSB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0TGV2ZWxJbmRleChcbiAgICAgICAgcGFyYWdyYXBoczogUGFyYWdyYXBoTW9kZWxbXSxcbiAgICAgICAgcGFyYWdyYXBoSW5kZXg6IG51bWJlcixcbiAgICAgICAgbnVtYmVyaW5nSWQ6IG51bWJlcixcbiAgICAgICAgbnVtYmVyaW5nTGV2ZWw6IG51bWJlclxuICAgICk6IG51bWJlciB7XG4gICAgICAgIGxldCBpbmRleCA9IDA7XG4gICAgICAgIGxldCBpc09ubHlTdWJMZXZlbHNCZWZvcmUgPSBmYWxzZTtcbiAgICAgICAgZm9yIChsZXQgaSA9IHBhcmFncmFwaEluZGV4OyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgaWYgKHBhcmFncmFwaHNbaV0ucGFyYWdyYXBoU3R5bGUubnVtYmVyaW5nSWQgIT09IG51bWJlcmluZ0lkKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwYXJhZ3JhcGhzW2ldLnBhcmFncmFwaFN0eWxlLm51bWJlcmluZ0xldmVsIDwgbnVtYmVyaW5nTGV2ZWwpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhcmFncmFwaHNbaV0ucGFyYWdyYXBoU3R5bGUubnVtYmVyaW5nTGV2ZWwgPiBudW1iZXJpbmdMZXZlbCkge1xuICAgICAgICAgICAgICAgIGlzT25seVN1YkxldmVsc0JlZm9yZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgICAgICAgICAgaXNPbmx5U3ViTGV2ZWxzQmVmb3JlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXggPSBpc09ubHlTdWJMZXZlbHNCZWZvcmUgPyBpbmRleCArIDEgOiBpbmRleDtcblxuICAgICAgICByZXR1cm4gaW5kZXggPD0gMCA/IDAgOiBpbmRleCAtIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0TGV2ZWxJbmZvKGlucHV0OiBzdHJpbmcpOiBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiBpbnB1dFxuICAgICAgICAgICAgLnNwbGl0KCcuJylcbiAgICAgICAgICAgIC5maWx0ZXIoeCA9PiAhIXgpXG4gICAgICAgICAgICAubWFwKHggPT4gcGFyc2VJbnQoeCkpO1xuICAgIH1cblxuICAgIHN0YXRpYyBjcmVhdGVNYXJrZXJTdHJpbmcobnVtYmVyaW5nSW5mbzogTnVtYmVyaW5nSW5mbywgbnVtYmVyaW5nSWQ6IG51bWJlciwgbGV2ZWw6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGlmIChsZXZlbCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bWJlcmluZ0luZm9bbnVtYmVyaW5nSWRdW2xldmVsXS5tYXJrZXJJbmRleCArICcuJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudW1iZXJpbmdJbmZvW251bWJlcmluZ0lkXVxuICAgICAgICAgICAgLnNsaWNlKDAsIGxldmVsICsgMSlcbiAgICAgICAgICAgIC5tYXAobWFya2VyID0+IG1hcmtlci5tYXJrZXJJbmRleClcbiAgICAgICAgICAgIC5qb2luKCcuJyk7XG4gICAgfVxufVxuIl19
@@ -1,7 +0,0 @@
1
- export var BreakTypes;
2
- (function (BreakTypes) {
3
- BreakTypes[BreakTypes["Page"] = 0] = "Page";
4
- BreakTypes[BreakTypes["Column"] = 1] = "Column";
5
- BreakTypes[BreakTypes["TextWrapping"] = 2] = "TextWrapping";
6
- })(BreakTypes || (BreakTypes = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWstdHlwZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9nYWRnZXRzL3BhZ2UtYnJlYWsvYnJlYWstdHlwZXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ2xCLDJDQUFJLENBQUE7SUFDSiwrQ0FBTSxDQUFBO0lBQ04sMkRBQVksQ0FBQTtBQUNoQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBCcmVha1R5cGVzIHtcbiAgICBQYWdlLFxuICAgIENvbHVtbixcbiAgICBUZXh0V3JhcHBpbmdcbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { CUSTOM_ELEMENT_MARKER } from '../../components/shared/custom-content-markers.const';
2
- import { NEW_LINE_MARKUP } from '../../content/constants/editor.const';
3
- export class BreakHelper {
4
- static getBreakType(model, char, insertIndex) {
5
- if (char !== CUSTOM_ELEMENT_MARKER) {
6
- return null;
7
- }
8
- return model.breaks.find(x => x.insertIndex === insertIndex)?.breakType ?? null;
9
- }
10
- static removeBreakMarker(breaks, text, fragmentStartIndex) {
11
- const index = text.at(-1) === NEW_LINE_MARKUP ? -2 : -1;
12
- if (text.at(index) === CUSTOM_ELEMENT_MARKER && breaks.some(x => x.insertIndex === fragmentStartIndex + text.length + index)) {
13
- return index === -1 ? text.substring(0, text.length + index) : text.substring(0, text.length + index).concat(text.at(-1));
14
- }
15
- return text;
16
- }
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWsuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2dhZGdldHMvcGFnZS1icmVhay9icmVhay5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXZFLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBd0IsRUFBRSxJQUFZLEVBQUUsV0FBbUI7UUFDM0UsSUFBSSxJQUFJLEtBQUsscUJBQXFCLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUM7SUFDcEYsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFvQixFQUFFLElBQVksRUFBRSxrQkFBMEI7UUFDbkYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhELElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxxQkFBcUIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxFQUFFO1lBQzFILE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3SDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2JyZWFrLm1vZGVsJztcbmltcG9ydCB7IEJyZWFrVHlwZXMgfSBmcm9tICcuL2JyZWFrLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgQ29udGVudHNJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9jb250ZW50L2NvbnRlbnRzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVF9NQVJLRVIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NoYXJlZC9jdXN0b20tY29udGVudC1tYXJrZXJzLmNvbnN0JztcbmltcG9ydCB7IE5FV19MSU5FX01BUktVUCB9IGZyb20gJy4uLy4uL2NvbnRlbnQvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5cbmV4cG9ydCBjbGFzcyBCcmVha0hlbHBlciB7XG4gICAgc3RhdGljIGdldEJyZWFrVHlwZShtb2RlbDogQ29udGVudHNJbnRlcmZhY2UsIGNoYXI6IHN0cmluZywgaW5zZXJ0SW5kZXg6IG51bWJlcik6IEJyZWFrVHlwZXMgfCBudWxsIHtcbiAgICAgICAgaWYgKGNoYXIgIT09IENVU1RPTV9FTEVNRU5UX01BUktFUikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbW9kZWwuYnJlYWtzLmZpbmQoeCA9PiB4Lmluc2VydEluZGV4ID09PSBpbnNlcnRJbmRleCk/LmJyZWFrVHlwZSA/PyBudWxsO1xuICAgIH1cblxuICAgIHN0YXRpYyByZW1vdmVCcmVha01hcmtlcihicmVha3M6IEJyZWFrTW9kZWxbXSwgdGV4dDogc3RyaW5nLCBmcmFnbWVudFN0YXJ0SW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGV4dC5hdCgtMSkgPT09IE5FV19MSU5FX01BUktVUCA/IC0yIDogLTE7XG5cbiAgICAgICAgaWYgKHRleHQuYXQoaW5kZXgpID09PSBDVVNUT01fRUxFTUVOVF9NQVJLRVIgJiYgYnJlYWtzLnNvbWUoeCA9PiB4Lmluc2VydEluZGV4ID09PSBmcmFnbWVudFN0YXJ0SW5kZXggKyB0ZXh0Lmxlbmd0aCArIGluZGV4KSkge1xuICAgICAgICAgICAgcmV0dXJuIGluZGV4ID09PSAtMSA/IHRleHQuc3Vic3RyaW5nKDAsIHRleHQubGVuZ3RoICsgaW5kZXgpIDogdGV4dC5zdWJzdHJpbmcoMCwgdGV4dC5sZW5ndGggKyBpbmRleCkuY29uY2F0KHRleHQuYXQoLTEpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0ZXh0O1xuICAgIH1cbn1cbiJdfQ==