@ng-atomic/components 18.2.0 → 18.4.0

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 (302) hide show
  1. package/atoms/smart-menu-button/smart-menu-button.atom.d.ts +3 -3
  2. package/components.module.d.ts +6 -1
  3. package/esm2022/atoms/icon/icon.atom.mjs +2 -2
  4. package/esm2022/atoms/smart-menu-button/smart-menu-button.atom.mjs +77 -114
  5. package/esm2022/components.module.mjs +7 -3
  6. package/esm2022/extras/editor/editor.component.mjs +78 -46
  7. package/esm2022/frames/app/app.frame.mjs +130 -70
  8. package/esm2022/frames/auto-layout/auto-layout.frame.mjs +29 -7
  9. package/esm2022/frames/columns/columns.frame.mjs +2 -2
  10. package/esm2022/frames/divider/divider.frame.mjs +2 -2
  11. package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
  12. package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
  13. package/esm2022/frames/fab/fab.frame.mjs +2 -2
  14. package/esm2022/frames/frames.module.mjs +3 -3
  15. package/esm2022/frames/line-up/line-up.animations.mjs +3 -7
  16. package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
  17. package/esm2022/frames/loading/loading.frame.mjs +2 -2
  18. package/esm2022/frames/progress-bar/index.mjs +2 -0
  19. package/esm2022/frames/progress-bar/ng-atomic-components-frames-progress-bar.mjs +5 -0
  20. package/esm2022/frames/progress-bar/progress-bar.frame.mjs +53 -0
  21. package/esm2022/frames/router-outlet/router-outlet.frame.mjs +96 -41
  22. package/esm2022/frames/scroll/scroll.frame.mjs +32 -14
  23. package/esm2022/frames/scroll-v2/index.mjs +2 -2
  24. package/esm2022/frames/side-app/index.mjs +2 -0
  25. package/esm2022/frames/side-app/ng-atomic-components-frames-side-app.mjs +5 -0
  26. package/esm2022/frames/side-app/side-app.frame.mjs +74 -0
  27. package/esm2022/frames/side-nav/side-nav.frame.mjs +27 -21
  28. package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
  29. package/esm2022/frames/tabs/tabs.frame.mjs +13 -7
  30. package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +11 -18
  31. package/esm2022/molecules/action-input-field/action-input-field.molecule.mjs +2 -2
  32. package/esm2022/molecules/actions-column/actions-column.molecule.mjs +13 -7
  33. package/esm2022/molecules/checkbox-column/checkbox-column.molecule.mjs +48 -21
  34. package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
  35. package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
  36. package/esm2022/molecules/file-input-field/file-input-field.molecule.mjs +2 -2
  37. package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
  38. package/esm2022/molecules/list-item/index.mjs +2 -0
  39. package/esm2022/molecules/list-item/list-item.molecule.mjs +198 -0
  40. package/esm2022/molecules/list-item/ng-atomic-components-molecules-list-item.mjs +5 -0
  41. package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
  42. package/esm2022/molecules/molecules.module.mjs +4 -1
  43. package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +2 -2
  44. package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +9 -5
  45. package/esm2022/molecules/smart-column/smart-column.molecule.mjs +129 -43
  46. package/esm2022/molecules/tree-column/tree-column.molecule.mjs +37 -25
  47. package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
  48. package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
  49. package/esm2022/organisms/agreement-input-section/agreement-input-section.organism.mjs +3 -3
  50. package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
  51. package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
  52. package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +4 -4
  53. package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +4 -4
  54. package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
  55. package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
  56. package/esm2022/organisms/filters-section/filters-section.organism.mjs +5 -5
  57. package/esm2022/organisms/graphql-editor/graphql-editor.organism.mjs +1 -1
  58. package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
  59. package/esm2022/organisms/heading/heading.organism.mjs +2 -2
  60. package/esm2022/{sheets/actions → organisms/list}/index.mjs +2 -2
  61. package/esm2022/organisms/list/list.organism.mjs +161 -0
  62. package/esm2022/{sheets/actions/ng-atomic-components-sheets-actions.mjs → organisms/list/ng-atomic-components-organisms-list.mjs} +1 -1
  63. package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
  64. package/esm2022/organisms/menu-header/menu-header.organism.mjs +2 -2
  65. package/esm2022/organisms/mermaid-section/mermaid-section.organism.mjs +39 -33
  66. package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
  67. package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +2 -2
  68. package/esm2022/organisms/navigator/navigator.organism.mjs +49 -19
  69. package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
  70. package/esm2022/organisms/organisms.module.mjs +5 -5
  71. package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
  72. package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
  73. package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +4 -4
  74. package/esm2022/organisms/selection-list/selection-list.organism.mjs +1 -1
  75. package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +4 -4
  76. package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
  77. package/esm2022/organisms/table/index.mjs +2 -1
  78. package/esm2022/organisms/table/table.helpers.mjs +4 -4
  79. package/esm2022/organisms/table/table.organism.mjs +152 -141
  80. package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +4 -4
  81. package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
  82. package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
  83. package/esm2022/organisms/tree-list/index.mjs +2 -0
  84. package/esm2022/organisms/tree-list/ng-atomic-components-organisms-tree-list.mjs +5 -0
  85. package/esm2022/organisms/tree-list/tree-list.organism.mjs +125 -0
  86. package/esm2022/pages/_index/index.page.mjs +169 -62
  87. package/esm2022/pages/columns/columns.page.mjs +10 -9
  88. package/esm2022/pages/form/form.page.mjs +27 -12
  89. package/esm2022/pages/terms/terms.page.mjs +2 -2
  90. package/esm2022/templates/_index/index.template.mjs +276 -155
  91. package/esm2022/templates/background/background.template.mjs +2 -2
  92. package/esm2022/templates/code-editor/code-editor.template.mjs +52 -15
  93. package/esm2022/templates/columns/columns.template.mjs +6 -4
  94. package/esm2022/templates/entrance/entrance.template.mjs +12 -11
  95. package/esm2022/templates/form/form.builder.mjs +93 -71
  96. package/esm2022/templates/form/form.template.mjs +47 -28
  97. package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +69 -16
  98. package/esm2022/templates/menu/menu.template.mjs +2 -2
  99. package/esm2022/templates/messages/messages.template.mjs +71 -65
  100. package/esm2022/templates/selection/selection.template.mjs +2 -2
  101. package/esm2022/templates/settings/settings.template.mjs +2 -2
  102. package/extras/editor/editor.component.d.ts +19 -10
  103. package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
  104. package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs +76 -113
  105. package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs.map +1 -1
  106. package/fesm2022/ng-atomic-components-extras-editor.mjs +79 -47
  107. package/fesm2022/ng-atomic-components-extras-editor.mjs.map +1 -1
  108. package/fesm2022/ng-atomic-components-frames-app.mjs +129 -69
  109. package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
  110. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +29 -7
  111. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -2
  113. package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
  114. package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
  115. package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
  116. package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
  117. package/fesm2022/ng-atomic-components-frames-line-up.mjs +4 -8
  118. package/fesm2022/ng-atomic-components-frames-line-up.mjs.map +1 -1
  119. package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
  120. package/fesm2022/ng-atomic-components-frames-progress-bar.mjs +60 -0
  121. package/fesm2022/ng-atomic-components-frames-progress-bar.mjs.map +1 -0
  122. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +96 -41
  123. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
  124. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +1 -48
  125. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs.map +1 -1
  126. package/fesm2022/ng-atomic-components-frames-scroll.mjs +31 -13
  127. package/fesm2022/ng-atomic-components-frames-scroll.mjs.map +1 -1
  128. package/fesm2022/ng-atomic-components-frames-side-app.mjs +81 -0
  129. package/fesm2022/ng-atomic-components-frames-side-app.mjs.map +1 -0
  130. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +26 -20
  131. package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
  132. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
  133. package/fesm2022/ng-atomic-components-frames-tabs.mjs +12 -6
  134. package/fesm2022/ng-atomic-components-frames-tabs.mjs.map +1 -1
  135. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +10 -17
  136. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs.map +1 -1
  137. package/fesm2022/ng-atomic-components-frames.mjs +2 -2
  138. package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
  139. package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs +1 -1
  140. package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs.map +1 -1
  141. package/fesm2022/ng-atomic-components-molecules-actions-column.mjs +12 -6
  142. package/fesm2022/ng-atomic-components-molecules-actions-column.mjs.map +1 -1
  143. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +47 -21
  144. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
  145. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
  146. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
  147. package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs +1 -1
  148. package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs.map +1 -1
  149. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
  150. package/fesm2022/ng-atomic-components-molecules-list-item.mjs +203 -0
  151. package/fesm2022/ng-atomic-components-molecules-list-item.mjs.map +1 -0
  152. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
  153. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
  154. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +8 -4
  155. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs.map +1 -1
  156. package/fesm2022/ng-atomic-components-molecules-smart-column.mjs +128 -43
  157. package/fesm2022/ng-atomic-components-molecules-smart-column.mjs.map +1 -1
  158. package/fesm2022/ng-atomic-components-molecules-tree-column.mjs +36 -24
  159. package/fesm2022/ng-atomic-components-molecules-tree-column.mjs.map +1 -1
  160. package/fesm2022/ng-atomic-components-molecules.mjs +3 -0
  161. package/fesm2022/ng-atomic-components-molecules.mjs.map +1 -1
  162. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
  163. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
  164. package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs +2 -2
  165. package/fesm2022/ng-atomic-components-organisms-agreement-input-section.mjs.map +1 -1
  166. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
  167. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
  168. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +3 -3
  169. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs.map +1 -1
  170. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +3 -3
  171. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs.map +1 -1
  172. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
  173. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
  174. package/fesm2022/ng-atomic-components-organisms-filters-section.mjs +4 -4
  175. package/fesm2022/ng-atomic-components-organisms-filters-section.mjs.map +1 -1
  176. package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs +1 -1
  177. package/fesm2022/ng-atomic-components-organisms-graphql-editor.mjs.map +1 -1
  178. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
  179. package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
  180. package/fesm2022/ng-atomic-components-organisms-list.mjs +166 -0
  181. package/fesm2022/ng-atomic-components-organisms-list.mjs.map +1 -0
  182. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
  183. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
  184. package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs +38 -32
  185. package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs.map +1 -1
  186. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
  187. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -2
  188. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +48 -18
  189. package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
  190. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
  191. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs.map +1 -1
  192. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
  193. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
  194. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs.map +1 -1
  195. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +3 -3
  196. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs.map +1 -1
  197. package/fesm2022/ng-atomic-components-organisms-selection-list.mjs +1 -1
  198. package/fesm2022/ng-atomic-components-organisms-selection-list.mjs.map +1 -1
  199. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +3 -3
  200. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs.map +1 -1
  201. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
  202. package/fesm2022/ng-atomic-components-organisms-table.mjs +156 -145
  203. package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
  204. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +3 -3
  205. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs.map +1 -1
  206. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
  207. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs.map +1 -1
  208. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
  209. package/fesm2022/ng-atomic-components-organisms-tree-list.mjs +132 -0
  210. package/fesm2022/ng-atomic-components-organisms-tree-list.mjs.map +1 -0
  211. package/fesm2022/ng-atomic-components-organisms.mjs +4 -4
  212. package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
  213. package/fesm2022/ng-atomic-components-pages-_index.mjs +168 -62
  214. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  215. package/fesm2022/ng-atomic-components-pages-columns.mjs +9 -8
  216. package/fesm2022/ng-atomic-components-pages-columns.mjs.map +1 -1
  217. package/fesm2022/ng-atomic-components-pages-form.mjs +26 -11
  218. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  219. package/fesm2022/ng-atomic-components-pages-terms.mjs +1 -1
  220. package/fesm2022/ng-atomic-components-pages-terms.mjs.map +1 -1
  221. package/fesm2022/ng-atomic-components-templates-_index.mjs +276 -155
  222. package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
  223. package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
  224. package/fesm2022/ng-atomic-components-templates-code-editor.mjs +51 -14
  225. package/fesm2022/ng-atomic-components-templates-code-editor.mjs.map +1 -1
  226. package/fesm2022/ng-atomic-components-templates-columns.mjs +5 -3
  227. package/fesm2022/ng-atomic-components-templates-columns.mjs.map +1 -1
  228. package/fesm2022/ng-atomic-components-templates-entrance.mjs +11 -10
  229. package/fesm2022/ng-atomic-components-templates-entrance.mjs.map +1 -1
  230. package/fesm2022/ng-atomic-components-templates-form.mjs +139 -99
  231. package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
  232. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +68 -15
  233. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs.map +1 -1
  234. package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
  235. package/fesm2022/ng-atomic-components-templates-messages.mjs +71 -65
  236. package/fesm2022/ng-atomic-components-templates-messages.mjs.map +1 -1
  237. package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
  238. package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
  239. package/fesm2022/ng-atomic-components.mjs +7 -3
  240. package/fesm2022/ng-atomic-components.mjs.map +1 -1
  241. package/frames/app/app.frame.d.ts +13 -1
  242. package/frames/auto-layout/auto-layout.frame.d.ts +7 -1
  243. package/frames/progress-bar/index.d.ts +1 -0
  244. package/frames/progress-bar/progress-bar.frame.d.ts +14 -0
  245. package/frames/router-outlet/router-outlet.frame.d.ts +20 -9
  246. package/frames/scroll/scroll.frame.d.ts +5 -1
  247. package/frames/scroll-v2/index.d.ts +1 -1
  248. package/frames/side-app/index.d.ts +1 -0
  249. package/frames/side-app/side-app.frame.d.ts +20 -0
  250. package/frames/side-nav/side-nav.frame.d.ts +6 -2
  251. package/frames/tabs/tabs.frame.d.ts +2 -1
  252. package/frames/vertical-hide/vertical-hide.frame.d.ts +2 -2
  253. package/molecules/actions-column/actions-column.molecule.d.ts +3 -2
  254. package/molecules/checkbox-column/checkbox-column.molecule.d.ts +12 -4
  255. package/molecules/list-item/index.d.ts +1 -0
  256. package/molecules/list-item/list-item.molecule.d.ts +50 -0
  257. package/molecules/molecules.module.d.ts +3 -0
  258. package/molecules/smart-column/smart-column.molecule.d.ts +34 -9
  259. package/molecules/tree-column/tree-column.molecule.d.ts +6 -2
  260. package/organisms/list/index.d.ts +1 -0
  261. package/organisms/{smart-list/smart-list.organism.d.ts → list/list.organism.d.ts} +11 -11
  262. package/organisms/mermaid-section/mermaid-section.organism.d.ts +10 -10
  263. package/organisms/navigator/navigator.organism.d.ts +8 -6
  264. package/organisms/organisms.module.d.ts +1 -1
  265. package/organisms/table/index.d.ts +1 -0
  266. package/organisms/table/table.helpers.d.ts +1 -1
  267. package/organisms/table/table.organism.d.ts +32 -1
  268. package/organisms/tree-list/index.d.ts +1 -0
  269. package/organisms/tree-list/tree-list.organism.d.ts +33 -0
  270. package/package.json +37 -25
  271. package/pages/_index/index.page.d.ts +72 -43
  272. package/pages/columns/columns.page.d.ts +5 -2
  273. package/pages/form/form.page.d.ts +11 -2
  274. package/templates/_index/index.template.d.ts +40 -11
  275. package/templates/code-editor/code-editor.template.d.ts +6 -3
  276. package/templates/entrance/entrance.template.d.ts +1 -1
  277. package/templates/form/form.builder.d.ts +10 -3
  278. package/templates/form/form.template.d.ts +2 -1
  279. package/templates/icon-button-menu/icon-button-menu.template.d.ts +3 -2
  280. package/templates/messages/messages.template.d.ts +21 -17
  281. package/esm2022/frames/scroll-v2/scroll.frame.mjs +0 -46
  282. package/esm2022/organisms/smart-list/index.mjs +0 -2
  283. package/esm2022/organisms/smart-list/ng-atomic-components-organisms-smart-list.mjs +0 -5
  284. package/esm2022/organisms/smart-list/smart-list.organism.mjs +0 -218
  285. package/esm2022/sheets/actions/actions.sheet.mjs +0 -45
  286. package/esm2022/sheets/index.mjs +0 -3
  287. package/esm2022/sheets/ng-atomic-components-sheets.mjs +0 -5
  288. package/esm2022/sheets/sheets.module.mjs +0 -25
  289. package/esm2022/sheets/sheets.service.mjs +0 -20
  290. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs +0 -223
  291. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs.map +0 -1
  292. package/fesm2022/ng-atomic-components-sheets-actions.mjs +0 -52
  293. package/fesm2022/ng-atomic-components-sheets-actions.mjs.map +0 -1
  294. package/fesm2022/ng-atomic-components-sheets.mjs +0 -48
  295. package/fesm2022/ng-atomic-components-sheets.mjs.map +0 -1
  296. package/frames/scroll-v2/scroll.frame.d.ts +0 -9
  297. package/organisms/smart-list/index.d.ts +0 -1
  298. package/sheets/actions/actions.sheet.d.ts +0 -9
  299. package/sheets/actions/index.d.ts +0 -1
  300. package/sheets/index.d.ts +0 -2
  301. package/sheets/sheets.module.d.ts +0 -11
  302. package/sheets/sheets.service.d.ts +0 -10
@@ -1,12 +1,12 @@
1
1
  import { ChangeDetectionStrategy, Component, PLATFORM_ID, computed, effect, input } from '@angular/core';
2
2
  import { Directive, inject } from '@angular/core';
3
- import { RouterOutlet } from '@angular/router';
3
+ import { ActivatedRoute, RouterOutlet } from '@angular/router';
4
4
  import { LoadingFrame } from '@ng-atomic/components/frames/loading';
5
5
  import { SideNavFrame, SideNavFrameStore } from '@ng-atomic/components/frames/side-nav';
6
6
  import { EntranceFrame } from '@ng-atomic/components/frames/entrance';
7
- import { InjectableComponent, NgAtomicComponent, _computed, applyToInput, provideEffect } from '@ng-atomic/core';
7
+ import { InjectableComponent, NgAtomicComponent, _computed, applyToInput, createAction, provideEffect } from '@ng-atomic/core';
8
8
  import { FormBuilder } from '@angular/forms';
9
- import { makeConfig } from '@ng-atomic/common/services/ui';
9
+ import { makeConfig, NavActionId } from '@ng-atomic/common/services/ui';
10
10
  import { isPlatformBrowser, isPlatformServer } from '@angular/common';
11
11
  import { DrawerFrame } from '@ng-atomic/components/frames/drawer';
12
12
  import { FabFrame } from '@ng-atomic/components/frames/fab';
@@ -15,7 +15,8 @@ import { SideAppService } from '@ng-atomic/common/services/side-app';
15
15
  import { AuthService } from '@ng-atomic/common/services/auth';
16
16
  import { RootPropertyService } from '@ng-atomic/common/services/root-property';
17
17
  import { makeInitializerConfig } from '@ng-atomic/common/services/initializer';
18
- import { injectPrimaryPaths } from '@ng-atomic/common/utils';
18
+ import { injectHasNext, injectPrimaryPaths } from '@ng-atomic/common/utils';
19
+ import { ProgressBarFrame } from "@ng-atomic/components/frames/progress-bar";
19
20
  import * as i0 from "@angular/core";
20
21
  var ActionId;
21
22
  (function (ActionId) {
@@ -25,6 +26,7 @@ var ActionId;
25
26
  ActionId["SIGN_UP_WITH_EMAIL"] = "[@ng-atomic/components:frames/app] Sign Up With Email";
26
27
  ActionId["NAVIGATE"] = "[@ng-atomic/components:frames/app] Navigate";
27
28
  ActionId["SIGN_OUT"] = "[@ng-atomic/components:frames/app] Sign Out";
29
+ ActionId["NAVIGATE_SIDE_APP"] = "[@ng-atomic/components:frames/app] Navigate Side App";
28
30
  ActionId["OPEN_SIDE_APP"] = "[@ng-atomic/components:frames/app] Open Side App";
29
31
  })(ActionId || (ActionId = {}));
30
32
  export class AppFrameStore extends InjectableComponent {
@@ -35,6 +37,7 @@ export class AppFrameStore extends InjectableComponent {
35
37
  fabHide: true,
36
38
  isEntrance: true,
37
39
  isLoading: false,
40
+ isProgress: false,
38
41
  sideAppOpened: false,
39
42
  title: 'title',
40
43
  form: inject(FormBuilder).group({}),
@@ -44,10 +47,11 @@ export class AppFrameStore extends InjectableComponent {
44
47
  sideNavActions: [
45
48
  { id: ActionId.SIGN_OUT, name: 'ログアウト', icon: 'exit_to_app' },
46
49
  ],
50
+ sideNavBottomActions: [],
47
51
  sideNavMode: 'collapsed',
48
52
  sideNavMenuType: SideNavFrameStore.getMenuType(context),
49
53
  sideNavMenuTitle: undefined,
50
- sideAppOutletName: 'side-app',
54
+ sideAppOutletName: 'side',
51
55
  });
52
56
  }, ['components', 'frames', 'app']); }
53
57
  static { this.provideAppServiceConfig = () => AppFrameStore.Config.provide(() => {
@@ -56,6 +60,7 @@ export class AppFrameStore extends InjectableComponent {
56
60
  return (config) => ({
57
61
  ...config,
58
62
  isLoading: app.loading.isLoading(),
63
+ isProgress: app.loading.isProgress(),
59
64
  sideNavMode: app.sideNavMode.sideNavMode(),
60
65
  sideAppOpened: app.sideApp.opened(),
61
66
  fabActions: app.fab.actions(),
@@ -117,7 +122,29 @@ export class AppFrameStore extends InjectableComponent {
117
122
  return provideEffect(AppFrameStore.ActionId.NAVIGATE, () => {
118
123
  const app = inject(AppService);
119
124
  return (payload) => {
120
- app.router.navigate(payload).then(() => app.sideNav.collapse());
125
+ if (Array.isArray(payload)) {
126
+ app.sideApp.collapse();
127
+ app.router.navigate(payload).then(() => app.sideNav.collapse());
128
+ }
129
+ else {
130
+ app.sideApp.collapse();
131
+ const { commands, extras } = payload;
132
+ app.router.navigate(commands, extras ?? {}).then(() => app.sideNav.collapse());
133
+ }
134
+ };
135
+ });
136
+ }
137
+ static provideNavigateSideAppEffect() {
138
+ return provideEffect(AppFrameStore.ActionId.NAVIGATE_SIDE_APP, () => {
139
+ const app = inject(AppService);
140
+ return (payload) => {
141
+ if (Array.isArray(payload)) {
142
+ app.sideApp.router.navigate(payload);
143
+ }
144
+ else {
145
+ const { commands, extras } = payload;
146
+ app.sideApp.router.navigate(commands, extras ?? {});
147
+ }
121
148
  };
122
149
  });
123
150
  }
@@ -137,11 +164,18 @@ export class AppFrameStore extends InjectableComponent {
137
164
  return provideEffect(AppFrameStore.ActionId.OPEN_SIDE_APP, () => {
138
165
  const app = inject(AppService);
139
166
  return () => {
140
- console.debug('open side app');
141
167
  app.sideApp.expand();
142
168
  };
143
169
  });
144
170
  }
171
+ static provideCloseSideAppEffect() {
172
+ return provideEffect(NavActionId.CLOSE, () => {
173
+ const app = inject(AppService);
174
+ return () => {
175
+ app.sideApp.collapse();
176
+ };
177
+ });
178
+ }
145
179
  static provideSignUpWithEmailEffect() {
146
180
  return provideEffect(AppFrameStore.ActionId.SIGN_UP_WITH_EMAIL, () => {
147
181
  const app = inject(AppService);
@@ -213,10 +247,12 @@ export class AppFrameStore extends InjectableComponent {
213
247
  AppFrameStore.provideNavigateEffect(),
214
248
  AppFrameStore.provideSignOutEffect(),
215
249
  AppFrameStore.provideOpenSideAppEffect(),
250
+ AppFrameStore.provideCloseSideAppEffect(),
216
251
  AppFrameStore.provideSignUpWithEmailEffect(),
217
252
  AppFrameStore.provideSignInWithEmailEffect(),
218
253
  AppFrameStore.provideSignInWithGoogleEffect(),
219
254
  AppFrameStore.provideSignInWithTwitterEffect(),
255
+ AppFrameStore.provideNavigateSideAppEffect(),
220
256
  ];
221
257
  }
222
258
  static provideDefault() {
@@ -226,16 +262,33 @@ export class AppFrameStore extends InjectableComponent {
226
262
  AppFrameStore.provideDefaultEffects(),
227
263
  ];
228
264
  }
265
+ static injectNavActionFactory() {
266
+ const hasNext = injectHasNext();
267
+ const route = inject(ActivatedRoute);
268
+ const navigateActionBuilder = createAction(AppFrameStore.ActionId.NAVIGATE, undefined, {
269
+ icon: 'open_in_new',
270
+ });
271
+ return (commands, name) => {
272
+ return navigateActionBuilder.create({
273
+ commands,
274
+ extras: { relativeTo: route, replaceUrl: hasNext() }
275
+ }, {
276
+ name,
277
+ });
278
+ };
279
+ }
229
280
  constructor() {
230
281
  super();
231
282
  this.config = AppFrameStore.Config.inject();
232
283
  this.isLoading = input(_computed(() => this.config().isLoading));
284
+ this.isProgress = input(_computed(() => this.config().isProgress));
233
285
  this.isEntrance = input(_computed(() => this.config().isEntrance));
234
286
  this.sideAppOpened = input(_computed(() => this.config().sideAppOpened));
235
287
  this.title = input(_computed(() => this.config().title));
236
288
  this.form = input(_computed(() => this.config().form));
237
289
  this.entranceActions = input(_computed(() => this.config().entranceActions));
238
290
  this.sideNavActions = input(_computed(() => this.config().sideNavActions));
291
+ this.sideNavBottomActions = input(_computed(() => this.config().sideNavBottomActions));
239
292
  this.sideNavMode = input(_computed(() => this.config().sideNavMode));
240
293
  this.sideNavMenuType = input(_computed(() => this.config().sideNavMenuType));
241
294
  this.sideNavMenuTitle = input(_computed(() => this.config().sideNavMenuTitle));
@@ -245,7 +298,7 @@ export class AppFrameStore extends InjectableComponent {
245
298
  AppFrameStore.Initializer.initializeStore(this);
246
299
  }
247
300
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: AppFrameStore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
248
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: AppFrameStore, isStandalone: true, selector: "frames-app", inputs: { isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isEntrance: { classPropertyName: "isEntrance", publicName: "isEntrance", isSignal: true, isRequired: false, transformFunction: null }, sideAppOpened: { classPropertyName: "sideAppOpened", publicName: "sideAppOpened", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, entranceActions: { classPropertyName: "entranceActions", publicName: "entranceActions", isSignal: true, isRequired: false, transformFunction: null }, sideNavActions: { classPropertyName: "sideNavActions", publicName: "sideNavActions", isSignal: true, isRequired: false, transformFunction: null }, sideNavMode: { classPropertyName: "sideNavMode", publicName: "sideNavMode", isSignal: true, isRequired: false, transformFunction: null }, sideNavMenuType: { classPropertyName: "sideNavMenuType", publicName: "sideNavMenuType", isSignal: true, isRequired: false, transformFunction: null }, sideNavMenuTitle: { classPropertyName: "sideNavMenuTitle", publicName: "sideNavMenuTitle", isSignal: true, isRequired: false, transformFunction: null }, sideAppOutletName: { classPropertyName: "sideAppOutletName", publicName: "sideAppOutletName", isSignal: true, isRequired: false, transformFunction: null }, fabActions: { classPropertyName: "fabActions", publicName: "fabActions", isSignal: true, isRequired: false, transformFunction: null }, fabHide: { classPropertyName: "fabHide", publicName: "fabHide", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
301
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: AppFrameStore, isStandalone: true, selector: "frames-app", inputs: { isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isProgress: { classPropertyName: "isProgress", publicName: "isProgress", isSignal: true, isRequired: false, transformFunction: null }, isEntrance: { classPropertyName: "isEntrance", publicName: "isEntrance", isSignal: true, isRequired: false, transformFunction: null }, sideAppOpened: { classPropertyName: "sideAppOpened", publicName: "sideAppOpened", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, entranceActions: { classPropertyName: "entranceActions", publicName: "entranceActions", isSignal: true, isRequired: false, transformFunction: null }, sideNavActions: { classPropertyName: "sideNavActions", publicName: "sideNavActions", isSignal: true, isRequired: false, transformFunction: null }, sideNavBottomActions: { classPropertyName: "sideNavBottomActions", publicName: "sideNavBottomActions", isSignal: true, isRequired: false, transformFunction: null }, sideNavMode: { classPropertyName: "sideNavMode", publicName: "sideNavMode", isSignal: true, isRequired: false, transformFunction: null }, sideNavMenuType: { classPropertyName: "sideNavMenuType", publicName: "sideNavMenuType", isSignal: true, isRequired: false, transformFunction: null }, sideNavMenuTitle: { classPropertyName: "sideNavMenuTitle", publicName: "sideNavMenuTitle", isSignal: true, isRequired: false, transformFunction: null }, sideAppOutletName: { classPropertyName: "sideAppOutletName", publicName: "sideAppOutletName", isSignal: true, isRequired: false, transformFunction: null }, fabActions: { classPropertyName: "fabActions", publicName: "fabActions", isSignal: true, isRequired: false, transformFunction: null }, fabHide: { classPropertyName: "fabHide", publicName: "fabHide", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
249
302
  }
250
303
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: AppFrameStore, decorators: [{
251
304
  type: Directive,
@@ -272,43 +325,46 @@ export class AppFrame extends NgAtomicComponent {
272
325
  }
273
326
  }
274
327
  <frames-loading [isLoading]="store.isLoading()">
275
- <frames-fab
276
- [actions]="store.fabActions()"
277
- [hide]="store.fabHide()"
278
- (action)="dispatch($event)"
279
- >
280
- <frames-entrance
281
- [isEntrance]="store.isEntrance()"
282
- [form]="store.form()"
283
- [title]="store.title()"
284
- [actions]="store.entranceActions()"
328
+ <frames-progress-bar [isProgress]="store.isProgress()" [mode]="'query'">
329
+ <frames-fab
330
+ [actions]="store.fabActions()"
331
+ [hide]="store.fabHide()"
285
332
  (action)="dispatch($event)"
286
333
  >
287
- <frames-drawer
288
- [opened]="store.sideAppOpened()"
289
- [position]="'end'"
290
- [hasBackdrop]="false"
334
+ <frames-entrance
335
+ [isEntrance]="store.isEntrance()"
336
+ [form]="store.form()"
337
+ [title]="store.title()"
338
+ [actions]="store.entranceActions()"
339
+ (action)="dispatch($event)"
291
340
  >
292
- <frames-side-nav
293
- [actions]="store.sideNavActions()"
294
- [mode]="store.sideNavMode()"
295
- [menuType]="store.sideNavMenuType()"
296
- [menuTitle]="store.sideNavMenuTitle()"
297
- (action)="dispatch($event)"
298
- contents
341
+ <frames-drawer
342
+ [opened]="store.sideAppOpened()"
343
+ [position]="'end'"
344
+ [hasBackdrop]="false"
299
345
  >
300
- <router-outlet contents/>
301
- </frames-side-nav>
302
- <div drawer style="width: var(--page-width-lv1);height: 100%;">
303
- <router-outlet [name]="store.sideAppOutletName()" />
304
- </div>
305
- </frames-drawer>
306
- </frames-entrance>
307
- </frames-fab>
346
+ <frames-side-nav
347
+ [actions]="store.sideNavActions()"
348
+ [bottomActions]="store.sideNavBottomActions()"
349
+ [mode]="store.sideNavMode()"
350
+ [menuType]="store.sideNavMenuType()"
351
+ [menuTitle]="store.sideNavMenuTitle()"
352
+ (action)="dispatch($event)"
353
+ contents
354
+ >
355
+ <router-outlet contents/>
356
+ </frames-side-nav>
357
+ <div drawer style="width: var(--page-width-lv1);height: 100%;">
358
+ <router-outlet [name]="store.sideAppOutletName()" />
359
+ </div>
360
+ </frames-drawer>
361
+ </frames-entrance>
362
+ </frames-fab>
363
+ </frames-progress-bar>
308
364
  </frames-loading>
309
- `, isInline: true, styles: [":host{--primary-color-SCOPED-IN-frames-app-64hS: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-64hS: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-64hS: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-64hS: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-64hS: var(--background-color);--on-background-color-SCOPED-IN-frames-app-64hS: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-64hS: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-64hS: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-64hS: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-64hS: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-64hS: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-64hS: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-64hS: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-64hS: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-64hS: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-64hS: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-64hS);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-64hS);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-64hS);--surface-color: var(--surface-color-SCOPED-IN-frames-app-64hS);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-64hS);--background-color: var(--background-color-SCOPED-IN-frames-app-64hS);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-64hS);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-64hS);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-64hS)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-64hS)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-64hS)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-64hS);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-64hS);--background-color: var(--background-background-color-SCOPED-IN-frames-app-64hS);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-64hS);height:100%}\n"], dependencies: [{ kind: "component", type: FabFrame, selector: "frames-fab" }, { kind: "component", type: LoadingFrame, selector: "frames-loading" }, { kind: "component", type: SideNavFrame, selector: "frames-side-nav" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EntranceFrame, selector: "frames-entrance" }, { kind: "component", type:
365
+ `, isInline: true, styles: [":host{--primary-color-SCOPED-IN-frames-app-LMSh: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-LMSh: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-LMSh: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-LMSh: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-LMSh: var(--background-color);--on-background-color-SCOPED-IN-frames-app-LMSh: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-LMSh: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-LMSh: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-LMSh: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-LMSh: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-LMSh: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-LMSh: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-LMSh: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-LMSh: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-LMSh: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-LMSh: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-LMSh);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-LMSh);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-LMSh);--surface-color: var(--surface-color-SCOPED-IN-frames-app-LMSh);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-LMSh);--background-color: var(--background-color-SCOPED-IN-frames-app-LMSh);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-LMSh);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-LMSh);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-LMSh)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-LMSh)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-LMSh)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-LMSh);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-LMSh);--background-color: var(--background-background-color-SCOPED-IN-frames-app-LMSh);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-LMSh);height:100%}\n"], dependencies: [{ kind: "component", type: FabFrame, selector: "frames-fab" }, { kind: "component", type: LoadingFrame, selector: "frames-loading" }, { kind: "component", type: SideNavFrame, selector: "frames-side-nav" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EntranceFrame, selector: "frames-entrance" }, { kind: "component", type:
310
366
  // DrawerFrameStore,
311
- DrawerFrame, selector: "frames-drawer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [import("@ng-atomic/components/templates/background").then(m => m.BackgroundTemplateStore)]] }); }
367
+ DrawerFrame, selector: "frames-drawer" }, { kind: "component", type: ProgressBarFrame, selector: "frames-progress-bar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [import("@ng-atomic/components/templates/background").then(m => m.BackgroundTemplateStore)]] }); }
312
368
  }
313
369
  i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.1.2", ngImport: i0, type: AppFrame, resolveDeferredDeps: () => [import("@ng-atomic/components/templates/background").then(m => m.BackgroundTemplateStore)], resolveMetadata: BackgroundTemplateStore => ({ decorators: [{
314
370
  type: Component,
@@ -321,6 +377,7 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.1.2", ng
321
377
  // DrawerFrameStore,
322
378
  DrawerFrame,
323
379
  BackgroundTemplateStore,
380
+ ProgressBarFrame,
324
381
  ], template: `
325
382
  <router-outlet/>
326
383
  @if (isPlatformBrowser()) {
@@ -329,42 +386,45 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.1.2", ng
329
386
  }
330
387
  }
331
388
  <frames-loading [isLoading]="store.isLoading()">
332
- <frames-fab
333
- [actions]="store.fabActions()"
334
- [hide]="store.fabHide()"
335
- (action)="dispatch($event)"
336
- >
337
- <frames-entrance
338
- [isEntrance]="store.isEntrance()"
339
- [form]="store.form()"
340
- [title]="store.title()"
341
- [actions]="store.entranceActions()"
389
+ <frames-progress-bar [isProgress]="store.isProgress()" [mode]="'query'">
390
+ <frames-fab
391
+ [actions]="store.fabActions()"
392
+ [hide]="store.fabHide()"
342
393
  (action)="dispatch($event)"
343
394
  >
344
- <frames-drawer
345
- [opened]="store.sideAppOpened()"
346
- [position]="'end'"
347
- [hasBackdrop]="false"
395
+ <frames-entrance
396
+ [isEntrance]="store.isEntrance()"
397
+ [form]="store.form()"
398
+ [title]="store.title()"
399
+ [actions]="store.entranceActions()"
400
+ (action)="dispatch($event)"
348
401
  >
349
- <frames-side-nav
350
- [actions]="store.sideNavActions()"
351
- [mode]="store.sideNavMode()"
352
- [menuType]="store.sideNavMenuType()"
353
- [menuTitle]="store.sideNavMenuTitle()"
354
- (action)="dispatch($event)"
355
- contents
402
+ <frames-drawer
403
+ [opened]="store.sideAppOpened()"
404
+ [position]="'end'"
405
+ [hasBackdrop]="false"
356
406
  >
357
- <router-outlet contents/>
358
- </frames-side-nav>
359
- <div drawer style="width: var(--page-width-lv1);height: 100%;">
360
- <router-outlet [name]="store.sideAppOutletName()" />
361
- </div>
362
- </frames-drawer>
363
- </frames-entrance>
364
- </frames-fab>
407
+ <frames-side-nav
408
+ [actions]="store.sideNavActions()"
409
+ [bottomActions]="store.sideNavBottomActions()"
410
+ [mode]="store.sideNavMode()"
411
+ [menuType]="store.sideNavMenuType()"
412
+ [menuTitle]="store.sideNavMenuTitle()"
413
+ (action)="dispatch($event)"
414
+ contents
415
+ >
416
+ <router-outlet contents/>
417
+ </frames-side-nav>
418
+ <div drawer style="width: var(--page-width-lv1);height: 100%;">
419
+ <router-outlet [name]="store.sideAppOutletName()" />
420
+ </div>
421
+ </frames-drawer>
422
+ </frames-entrance>
423
+ </frames-fab>
424
+ </frames-progress-bar>
365
425
  </frames-loading>
366
426
  `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
367
427
  AppFrameStore,
368
- ], styles: [":host{--primary-color-SCOPED-IN-frames-app-64hS: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-64hS: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-64hS: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-64hS: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-64hS: var(--background-color);--on-background-color-SCOPED-IN-frames-app-64hS: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-64hS: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-64hS: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-64hS: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-64hS: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-64hS: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-64hS: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-64hS: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-64hS: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-64hS: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-64hS: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-64hS);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-64hS);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-64hS);--surface-color: var(--surface-color-SCOPED-IN-frames-app-64hS);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-64hS);--background-color: var(--background-color-SCOPED-IN-frames-app-64hS);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-64hS);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-64hS);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-64hS)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-64hS)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-64hS)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-64hS);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-64hS);--background-color: var(--background-background-color-SCOPED-IN-frames-app-64hS);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-64hS);height:100%}\n"] }]
428
+ ], styles: [":host{--primary-color-SCOPED-IN-frames-app-LMSh: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-LMSh: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-LMSh: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-LMSh: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-LMSh: var(--background-color);--on-background-color-SCOPED-IN-frames-app-LMSh: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-LMSh: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-LMSh: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-LMSh: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-LMSh: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-LMSh: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-LMSh: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-LMSh: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-LMSh: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-LMSh: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-LMSh: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-LMSh);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-LMSh);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-LMSh);--surface-color: var(--surface-color-SCOPED-IN-frames-app-LMSh);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-LMSh);--background-color: var(--background-color-SCOPED-IN-frames-app-LMSh);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-LMSh);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-LMSh);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-LMSh)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-LMSh)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-LMSh)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-LMSh);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-LMSh);--background-color: var(--background-background-color-SCOPED-IN-frames-app-LMSh);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-LMSh);height:100%}\n"] }]
369
429
  }], ctorParameters: null, propDecorators: null }) });
370
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmZyYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL2FwcC9hcHAuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsSSxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENB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OzJGQUFiLGFBQWE7a0JBRHpCLFNBQVM7bUJBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUU7O0FBOFJ2RCxNQUFNLE9BQU8sUUFBUyxTQUFRLGlCQUFpQjtJQTlEL0M7O1FBK0RZLFVBQUssR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0IsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQVMzQztJQVBXLGdCQUFnQjtRQUN4QixPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7OEdBVlUsUUFBUTtrR0FBUixRQUFRLG1HQTdSUixhQUFhLDZCQTRPZDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENULDJrRkFuREMsUUFBUSx1REFDUixZQUFZLDJEQUNaLFlBQVksNERBQ1osWUFBWSwySkFDWixhQUFhO2dCQUNiLG9CQUFvQjtnQkFDcEIsV0FBVzs7Z0dBb0RGLFFBQVE7c0JBOURwQixTQUFTO21DQUNFLFlBQVksY0FDVixJQUFJLFdBQ1A7NEJBQ1AsUUFBUTs0QkFDUixZQUFZOzRCQUNaLFlBQVk7NEJBQ1osWUFBWTs0QkFDWixhQUFhOzRCQUNiLG9CQUFvQjs0QkFDcEIsV0FBVzs0QkFDWCx1QkFBdUI7eUJBQ3hCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0I7NEJBQ2QsYUFBYTt5QkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFBMQVRGT1JNX0lELCBjb21wdXRlZCwgZWZmZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMb2FkaW5nRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2xvYWRpbmcnO1xuaW1wb3J0IHsgU2lkZU5hdkZyYW1lLCBTaWRlTmF2RnJhbWVTdG9yZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvc2lkZS1uYXYnO1xuaW1wb3J0IHsgRW50cmFuY2VGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvZW50cmFuY2UnO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25zLCBJbmplY3RhYmxlQ29tcG9uZW50LCBOZ0F0b21pY0NvbXBvbmVudCwgX2NvbXB1dGVkLCBhcHBseVRvSW5wdXQsIHByb3ZpZGVFZmZlY3QgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1ha2VDb25maWcsIFVJQ29udGV4dCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9iYWNrZ3JvdW5kJztcbmltcG9ydCB7IERyYXdlckZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9kcmF3ZXInO1xuaW1wb3J0IHsgRmFiRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2ZhYic7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvYXBwJztcbmltcG9ydCB7IFNpZGVBcHBTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvc2lkZS1hcHAnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9hdXRoJztcbmltcG9ydCB7IFJvb3RQcm9wZXJ0eVNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9yb290LXByb3BlcnR5JztcbmltcG9ydCB7IG1ha2VJbml0aWFsaXplckNvbmZpZyB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2luaXRpYWxpemVyJztcbmltcG9ydCB7IGluamVjdFByaW1hcnlQYXRocyB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3V0aWxzJztcblxuZW51bSBBY3Rpb25JZCB7XG4gIFNJR05fSU5fV0lUSF9HT09HTEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50czpmcmFtZXMvYXBwXSBTaWduIEluIFdpdGggR29vZ2xlJyxcbiAgU0lHTl9JTl9XSVRIX1RXSVRURVIgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50czpmcmFtZXMvYXBwXSBTaWduIEluIFdpdGggVHdpdHRlcicsXG4gIFNJR05fSU5fV0lUSF9FTUFJTCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gSW4gV2l0aCBFbWFpbCcsXG4gIFNJR05fVVBfV0lUSF9FTUFJTCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gVXAgV2l0aCBFbWFpbCcsXG4gIE5BVklHQVRFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gTmF2aWdhdGUnLFxuICBTSUdOX09VVCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gT3V0JyxcbiAgT1BFTl9TSURFX0FQUCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIE9wZW4gU2lkZSBBcHAnLFxufVxuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICdmcmFtZXMtYXBwJyB9KVxuZXhwb3J0IGNsYXNzIEFwcEZyYW1lU3RvcmUgZXh0ZW5kcyBJbmplY3RhYmxlQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IEFjdGlvbklkID0gQWN0aW9uSWQ7XG4gIHN0YXRpYyByZWFkb25seSBDb25maWcgPSBtYWtlQ29uZmlnKCgpID0+IHtcbiAgICByZXR1cm4gKGNvbnRleHQpID0+ICh7XG4gICAgICBmYWJBY3Rpb25zOiBbXSxcbiAgICAgIGZhYkhpZGU6IHRydWUsXG4gICAgICBpc0VudHJhbmNlOiB0cnVlLFxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgIHNpZGVBcHBPcGVuZWQ6IGZhbHNlLFxuICAgICAgdGl0bGU6ICd0aXRsZScsXG4gICAgICBmb3JtOiBpbmplY3QoRm9ybUJ1aWxkZXIpLmdyb3VwKHt9KSBhcyBBYnN0cmFjdENvbnRyb2wsXG4gICAgICBlbnRyYW5jZUFjdGlvbnM6IFtcbiAgICAgICAgeyBpZDogQWN0aW9uSWQuU0lHTl9JTl9XSVRIX0dPT0dMRSwgbmFtZTogJ0dvb2dsZeOBp+OCteOCpOODs+OCpOODsycsIGljb246ICcnIH0sXG4gICAgICBdIGFzIEFjdGlvbnMsXG4gICAgICBzaWRlTmF2QWN0aW9uczogW1xuICAgICAgICB7IGlkOiBBY3Rpb25JZC5TSUdOX09VVCwgbmFtZTogJ+ODreOCsOOCouOCpuODiCcsIGljb246ICdleGl0X3RvX2FwcCcgfSxcbiAgICAgIF0gYXMgQWN0aW9ucyxcbiAgICAgIHNpZGVOYXZNb2RlOiAnY29sbGFwc2VkJyBhcyAnZXhwYW5kZWQnIHwgJ2NvbGxhcHNlZCcsXG4gICAgICBzaWRlTmF2TWVudVR5cGU6IFNpZGVOYXZGcmFtZVN0b3JlLmdldE1lbnVUeXBlKGNvbnRleHQpLFxuICAgICAgc2lkZU5hdk1lbnVUaXRsZTogdW5kZWZpbmVkIGFzIHN0cmluZyxcbiAgICAgIHNpZGVBcHBPdXRsZXROYW1lOiAnc2lkZS1hcHAnLFxuICAgIH0pO1xuICB9LCBbJ2NvbXBvbmVudHMnLCAnZnJhbWVzJywgJ2FwcCddKTtcbiAgc3RhdGljIHByb3ZpZGVBcHBTZXJ2aWNlQ29uZmlnID0gKCkgPT4gQXBwRnJhbWVTdG9yZS5Db25maWcucHJvdmlkZSgoKSA9PiB7XG4gICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgIGNvbnN0IGZhYkhpZGUgPSBjb21wdXRlZCgoKSA9PiBhcHAuc2lkZUFwcC5vcGVuZWQoKSk7XG4gICAgcmV0dXJuIChjb25maWcpID0+ICh7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBpc0xvYWRpbmc6IGFwcC5sb2FkaW5nLmlzTG9hZGluZygpLFxuICAgICAgc2lkZU5hdk1vZGU6IGFwcC5zaWRlTmF2TW9kZS5zaWRlTmF2TW9kZSgpLFxuICAgICAgc2lkZUFwcE9wZW5lZDogYXBwLnNpZGVBcHAub3BlbmVkKCksXG4gICAgICBmYWJBY3Rpb25zOiBhcHAuZmFiLmFjdGlvbnMoKSxcbiAgICAgIGZhYkhpZGU6IGZhYkhpZGUoKSxcbiAgICB9KTtcbiAgfSk7XG4gIHN0YXRpYyBwcm92aWRlSWNvbkJ1dHRvbk1lbnVBc0RlZmF1bHRDb25maWcoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFJvb3RQcm9wZXJ0eVNlcnZpY2UuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgICAgICBjb25zdCBnZXRQcm9wcyA9IChjb250ZXh0OiBVSUNvbnRleHQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGNvbnRleHQuYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgY2FzZSAneFNtYWxsJzogcmV0dXJuIHsgJy0tbWVudS13aWR0aCc6ICcyMjBweCcgfTtcbiAgICAgICAgICAgIGNhc2UgJ3NtYWxsJzpcbiAgICAgICAgICAgIGNhc2UgJ21lZGl1bSc6XG4gICAgICAgICAgICBjYXNlICdsYXJnZSc6XG4gICAgICAgICAgICBjYXNlICd4TGFyZ2UnOiByZXR1cm4geyAnLS1tZW51LXdpZHRoJzogJzY0cHgnIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoY29uZmlnLCBjb250ZXh0KSA9PiAoey4uLmNvbmZpZywgLi4uZ2V0UHJvcHMoY29udGV4dCl9KTtcbiAgICAgIH0pLFxuICAgICAgQXBwRnJhbWVTdG9yZS5Db25maWcucHJvdmlkZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGdldE1lbnVUeXBlID0gKGNvbnRleHQ6IFVJQ29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY29udGV4dC5icmVha3BvaW50KSB7XG4gICAgICAgICAgICBjYXNlICd4U21hbGwnOiByZXR1cm4gJ21lbnUnO1xuICAgICAgICAgICAgZGVmYXVsdDogcmV0dXJuICdpY29uLWJ1dHRvbi1tZW51JztcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiAoY29uZmlnLCBjb250ZXh0KSA9PiAoe1xuICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICBzaWRlTmF2TWVudVR5cGU6IGdldE1lbnVUeXBlKGNvbnRleHQpLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgXTtcbiAgfVxuICBzdGF0aWMgSW5pdGlhbGl6ZXIgPSBtYWtlSW5pdGlhbGl6ZXJDb25maWcoQXBwRnJhbWVTdG9yZSk7XG4gIHN0YXRpYyBwcm92aWRlSW5pdGlhbGl6ZXIgPSBBcHBGcmFtZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGU7XG4gIHN0YXRpYyBwcm92aWRlRXhwYW5kU2lkZUFwcE9uSW5pdCgpIHtcbiAgICByZXR1cm4gQXBwRnJhbWVTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKCgpID0+IHtcbiAgICAgIGluamVjdChTaWRlQXBwU2VydmljZSkuZXhwYW5kKCk7XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVTaWRlTmF2QWN0aW9uc0luaXRpYWxpemVyKGFjdGlvbnNGYWN0b3J5OiAoKSA9PiBBY3Rpb25bXSkge1xuICAgIHJldHVybiBBcHBGcmFtZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBwYXRocyA9IGluamVjdFByaW1hcnlQYXRocygpO1xuICAgICAgZnVuY3Rpb24gY29tcGFyZShwYXRoczogc3RyaW5nW10sIHBheWxvYWQ/OiBzdHJpbmdbXSkge1xuICAgICAgICBpZiAocGF5bG9hZCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBwYXlsb2FkLmV2ZXJ5KChwYXRoLCBpKSA9PiBwYXRoc1tpXSA9PT0gcGF0aCk7XG4gICAgICB9XG4gICAgICBjb25zdCBhY3Rpb25zID0gYWN0aW9uc0ZhY3RvcnkoKTtcblxuICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgYXBwbHlUb0lucHV0KHN0b3JlLCAnc2lkZU5hdkFjdGlvbnMnLCBhY3Rpb25zLm1hcChhY3Rpb24gPT4gKHtcbiAgICAgICAgICAuLi5hY3Rpb24sIGRpc2FibGVkOiBjb21wYXJlKHBhdGhzKCksIGFjdGlvbj8ucGF5bG9hZCksXG4gICAgICAgIH0pKSk7XG4gICAgICB9LCB7YWxsb3dTaWduYWxXcml0ZXM6IHRydWV9KTtcbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZU5hdmlnYXRlRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEFwcEZyYW1lU3RvcmUuQWN0aW9uSWQuTkFWSUdBVEUsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIHJldHVybiAocGF5bG9hZDogc3RyaW5nW10pID0+IHtcbiAgICAgICAgYXBwLnJvdXRlci5uYXZpZ2F0ZShwYXlsb2FkKS50aGVuKCgpID0+IGFwcC5zaWRlTmF2LmNvbGxhcHNlKCkpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZVNpZ25PdXRFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX09VVCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhdXRoLnNpZ25PdXQoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICBhcHAuc2lkZU5hdi5jb2xsYXBzZSgpO1xuICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfjgrXjgqTjg7PjgqLjgqbjg4jjgZfjgb7jgZfjgZ8nKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlT3BlblNpZGVBcHBFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5PUEVOX1NJREVfQVBQLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmRlYnVnKCdvcGVuIHNpZGUgYXBwJyk7XG4gICAgICAgIGFwcC5zaWRlQXBwLmV4cGFuZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lnblVwV2l0aEVtYWlsRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEFwcEZyYW1lU3RvcmUuQWN0aW9uSWQuU0lHTl9VUF9XSVRIX0VNQUlMLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChBcHBGcmFtZVN0b3JlKTtcbiAgICAgIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHN0b3JlLmZvcm0oKS5nZXRSYXdWYWx1ZSgpIGFzIHtlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nfTtcbiAgICAgICAgYXBwLmxvYWRpbmcuYXdhaXQoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBhdXRoLmNyZWF0ZVVzZXJXaXRoRW1haWxBbmRQYXNzd29yZChkYXRhLmVtYWlsLCBkYXRhLnBhc3N3b3JkKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfmlrDopo/nmbvpjLLjgZfjgb7jgZfjgZ/jgIInKTtcbiAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZVNpZ25JbldpdGhFbWFpbEVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChBcHBGcmFtZVN0b3JlLkFjdGlvbklkLlNJR05fSU5fV0lUSF9FTUFJTCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3Qgc3RvcmUgPSBpbmplY3QoQXBwRnJhbWVTdG9yZSk7XG4gICAgICBjb25zdCBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBzdG9yZS5mb3JtKCkuZ2V0UmF3VmFsdWUoKSBhcyB7ZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZ307XG4gICAgICAgIGFwcC5sb2FkaW5nLmF3YWl0KCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXV0aC5zaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZChkYXRhLmVtYWlsLCBkYXRhLnBhc3N3b3JkKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfjg63jgrDjgqTjg7PjgZfjgb7jgZfjgZ8nKTtcbiAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZVNpZ25JbldpdGhHb29nbGVFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX0lOX1dJVEhfR09PR0xFLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICBjb25zdCBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGF1dGguc2lnbkluV2l0aEdvb2dsZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfjg63jgrDjgqTjg7PjgZfjgb7jgZfjgZ8nKTtcbiAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgY29uc3QgX21lc3NhZ2UgPSBlcnJvci5tZXNzYWdlLm1hdGNoKC9IVFRQIENsb3VkIEZ1bmN0aW9uIHJldHVybmVkIGFuIGVycm9yOiAoLiopIFxcKC4qLyk7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IF9tZXNzYWdlID8gSlNPTi5wYXJzZShfbWVzc2FnZVsxXSkuZXJyb3IubWVzc2FnZSA6IGVycm9yLm1lc3NhZ2U7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4obWVzc2FnZSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZVNpZ25JbldpdGhUd2l0dGVyRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEFwcEZyYW1lU3RvcmUuQWN0aW9uSWQuU0lHTl9JTl9XSVRIX1RXSVRURVIsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgYXV0aC5zaWduSW5XaXRoVHdpdHRlcigpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfjg63jgrDjgqTjg7PjgZfjgb7jgZfjgZ8nKTtcbiAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRFZmZlY3RzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVOYXZpZ2F0ZUVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlU2lnbk91dEVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlT3BlblNpZGVBcHBFZmZlY3QoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZVNpZ25VcFdpdGhFbWFpbEVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlU2lnbkluV2l0aEVtYWlsRWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVTaWduSW5XaXRoR29vZ2xlRWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVTaWduSW5XaXRoVHdpdHRlckVmZmVjdCgpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZUFwcFNlcnZpY2VDb25maWcoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZUljb25CdXR0b25NZW51QXNEZWZhdWx0Q29uZmlnKCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgIF1cbiAgfVxuXG4gIHJlYWRvbmx5IGNvbmZpZyA9IEFwcEZyYW1lU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSBpc0xvYWRpbmcgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5pc0xvYWRpbmcpKTtcbiAgcmVhZG9ubHkgaXNFbnRyYW5jZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmlzRW50cmFuY2UpKTtcbiAgcmVhZG9ubHkgc2lkZUFwcE9wZW5lZCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVBcHBPcGVuZWQpKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS50aXRsZSkpO1xuICByZWFkb25seSBmb3JtID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZm9ybSkpO1xuICByZWFkb25seSBlbnRyYW5jZUFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5lbnRyYW5jZUFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgc2lkZU5hdkFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlTmF2QWN0aW9ucykpO1xuICByZWFkb25seSBzaWRlTmF2TW9kZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZNb2RlKSk7XG4gIHJlYWRvbmx5IHNpZGVOYXZNZW51VHlwZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZNZW51VHlwZSkpO1xuICByZWFkb25seSBzaWRlTmF2TWVudVRpdGxlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2lkZU5hdk1lbnVUaXRsZSkpO1xuICByZWFkb25seSBzaWRlQXBwT3V0bGV0TmFtZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVBcHBPdXRsZXROYW1lKSk7XG4gIHJlYWRvbmx5IGZhYkFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mYWJBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IGZhYkhpZGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mYWJIaWRlKSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBBcHBGcmFtZVN0b3JlLkluaXRpYWxpemVyLmluaXRpYWxpemVTdG9yZSh0aGlzKTtcbiAgfVxufVxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZyYW1lcy1hcHAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRmFiRnJhbWUsXG4gICAgTG9hZGluZ0ZyYW1lLFxuICAgIFNpZGVOYXZGcmFtZSxcbiAgICBSb3V0ZXJPdXRsZXQsXG4gICAgRW50cmFuY2VGcmFtZSxcbiAgICAvLyBEcmF3ZXJGcmFtZVN0b3JlLFxuICAgIERyYXdlckZyYW1lLFxuICAgIEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICA8cm91dGVyLW91dGxldC8+XG4gIEBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIoKSkge1xuICAgIEBkZWZlciB7XG4gICAgICA8dGVtcGxhdGVzLWJhY2tncm91bmQgaW5qZWN0YWJsZS8+XG4gICAgfVxuICB9XG4gIDxmcmFtZXMtbG9hZGluZyBbaXNMb2FkaW5nXT1cInN0b3JlLmlzTG9hZGluZygpXCI+XG4gICAgPGZyYW1lcy1mYWJcbiAgICAgIFthY3Rpb25zXT1cInN0b3JlLmZhYkFjdGlvbnMoKVwiXG4gICAgICBbaGlkZV09XCJzdG9yZS5mYWJIaWRlKClcIlxuICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8ZnJhbWVzLWVudHJhbmNlXG4gICAgICAgIFtpc0VudHJhbmNlXT1cInN0b3JlLmlzRW50cmFuY2UoKVwiXG4gICAgICAgIFtmb3JtXT1cInN0b3JlLmZvcm0oKVwiXG4gICAgICAgIFt0aXRsZV09XCJzdG9yZS50aXRsZSgpXCJcbiAgICAgICAgW2FjdGlvbnNdPVwic3RvcmUuZW50cmFuY2VBY3Rpb25zKClcIlxuICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8ZnJhbWVzLWRyYXdlclxuICAgICAgICAgIFtvcGVuZWRdPVwic3RvcmUuc2lkZUFwcE9wZW5lZCgpXCJcbiAgICAgICAgICBbcG9zaXRpb25dPVwiJ2VuZCdcIlxuICAgICAgICAgIFtoYXNCYWNrZHJvcF09XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZnJhbWVzLXNpZGUtbmF2XG4gICAgICAgICAgICBbYWN0aW9uc109XCJzdG9yZS5zaWRlTmF2QWN0aW9ucygpXCJcbiAgICAgICAgICAgIFttb2RlXT1cInN0b3JlLnNpZGVOYXZNb2RlKClcIlxuICAgICAgICAgICAgW21lbnVUeXBlXT1cInN0b3JlLnNpZGVOYXZNZW51VHlwZSgpXCJcbiAgICAgICAgICAgIFttZW51VGl0bGVdPVwic3RvcmUuc2lkZU5hdk1lbnVUaXRsZSgpXCJcbiAgICAgICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAgICAgICBjb250ZW50c1xuICAgICAgICAgID5cbiAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0IGNvbnRlbnRzLz5cbiAgICAgICAgICA8L2ZyYW1lcy1zaWRlLW5hdj5cbiAgICAgICAgICA8ZGl2IGRyYXdlciBzdHlsZT1cIndpZHRoOiB2YXIoLS1wYWdlLXdpZHRoLWx2MSk7aGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICAgICAgPHJvdXRlci1vdXRsZXQgW25hbWVdPVwic3RvcmUuc2lkZUFwcE91dGxldE5hbWUoKVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZnJhbWVzLWRyYXdlcj5cbiAgICAgIDwvZnJhbWVzLWVudHJhbmNlPlxuICAgIDwvZnJhbWVzLWZhYj5cbiAgPC9mcmFtZXMtbG9hZGluZz5cbiAgYCxcbiAgc3R5bGVVcmw6ICcuL2FwcC5mcmFtZS5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgQXBwRnJhbWVTdG9yZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwRnJhbWUgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChBcHBGcmFtZVN0b3JlKTtcbiAgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcHJvdGVjdGVkIGlzUGxhdGZvcm1TZXJ2ZXIoKSB7XG4gICAgcmV0dXJuIGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1BsYXRmb3JtQnJvd3NlcigpIHtcbiAgICByZXR1cm4gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgfVxufVxuIl19
430
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmZyYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL2FwcC9hcHAuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBb0IsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFtQixtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoSixPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFhLE1BQU0sK0JBQStCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FB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QWE7eUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBQTEFURk9STV9JRCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkV4dHJhcywgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvYWRpbmdGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvbG9hZGluZyc7XG5pbXBvcnQgeyBTaWRlTmF2RnJhbWUsIFNpZGVOYXZGcmFtZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9zaWRlLW5hdic7XG5pbXBvcnQgeyBFbnRyYW5jZUZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9lbnRyYW5jZSc7XG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvbnMsIEluamVjdGFibGVDb21wb25lbnQsIE5nQXRvbWljQ29tcG9uZW50LCBfY29tcHV0ZWQsIGFwcGx5VG9JbnB1dCwgY3JlYXRlQWN0aW9uLCBwcm92aWRlRWZmZWN0IH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtYWtlQ29uZmlnLCBOYXZBY3Rpb25JZCwgVUlDb250ZXh0IH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWknO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmFja2dyb3VuZFRlbXBsYXRlU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2JhY2tncm91bmQnO1xuaW1wb3J0IHsgRHJhd2VyRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2RyYXdlcic7XG5pbXBvcnQgeyBGYWJGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvZmFiJztcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9hcHAnO1xuaW1wb3J0IHsgU2lkZUFwcFNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9zaWRlLWFwcCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2F1dGgnO1xuaW1wb3J0IHsgUm9vdFByb3BlcnR5U2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3Jvb3QtcHJvcGVydHknO1xuaW1wb3J0IHsgbWFrZUluaXRpYWxpemVyQ29uZmlnIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgaW5qZWN0SGFzTmV4dCwgaW5qZWN0UHJpbWFyeVBhdGhzIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJGcmFtZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3Byb2dyZXNzLWJhclwiO1xuXG5lbnVtIEFjdGlvbklkIHtcbiAgU0lHTl9JTl9XSVRIX0dPT0dMRSA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gSW4gV2l0aCBHb29nbGUnLFxuICBTSUdOX0lOX1dJVEhfVFdJVFRFUiA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gSW4gV2l0aCBUd2l0dGVyJyxcbiAgU0lHTl9JTl9XSVRIX0VNQUlMID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBJbiBXaXRoIEVtYWlsJyxcbiAgU0lHTl9VUF9XSVRIX0VNQUlMID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBVcCBXaXRoIEVtYWlsJyxcbiAgTkFWSUdBVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50czpmcmFtZXMvYXBwXSBOYXZpZ2F0ZScsXG4gIFNJR05fT1VUID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBPdXQnLFxuICBOQVZJR0FURV9TSURFX0FQUCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIE5hdmlnYXRlIFNpZGUgQXBwJyxcbiAgT1BFTl9TSURFX0FQUCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIE9wZW4gU2lkZSBBcHAnLFxufVxuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICdmcmFtZXMtYXBwJyB9KVxuZXhwb3J0IGNsYXNzIEFwcEZyYW1lU3RvcmUgZXh0ZW5kcyBJbmplY3RhYmxlQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IEFjdGlvbklkID0gQWN0aW9uSWQ7XG4gIHN0YXRpYyByZWFkb25seSBDb25maWcgPSBtYWtlQ29uZmlnKCgpID0+IHtcbiAgICByZXR1cm4gKGNvbnRleHQpID0+ICh7XG4gICAgICBmYWJBY3Rpb25zOiBbXSxcbiAgICAgIGZhYkhpZGU6IHRydWUsXG4gICAgICBpc0VudHJhbmNlOiB0cnVlLFxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgIGlzUHJvZ3Jlc3M6IGZhbHNlLFxuICAgICAgc2lkZUFwcE9wZW5lZDogZmFsc2UsXG4gICAgICB0aXRsZTogJ3RpdGxlJyxcbiAgICAgIGZvcm06IGluamVjdChGb3JtQnVpbGRlcikuZ3JvdXAoe30pIGFzIEFic3RyYWN0Q29udHJvbCxcbiAgICAgIGVudHJhbmNlQWN0aW9uczogW1xuICAgICAgICB7IGlkOiBBY3Rpb25JZC5TSUdOX0lOX1dJVEhfR09PR0xFLCBuYW1lOiAnR29vZ2xl44Gn44K144Kk44Oz44Kk44OzJywgaWNvbjogJycgfSxcbiAgICAgIF0gYXMgQWN0aW9ucyxcbiAgICAgIHNpZGVOYXZBY3Rpb25zOiBbXG4gICAgICAgIHsgaWQ6IEFjdGlvbklkLlNJR05fT1VULCBuYW1lOiAn44Ot44Kw44Ki44Km44OIJywgaWNvbjogJ2V4aXRfdG9fYXBwJyB9LFxuICAgICAgXSBhcyBBY3Rpb25zLFxuICAgICAgc2lkZU5hdkJvdHRvbUFjdGlvbnM6IFtdLFxuICAgICAgc2lkZU5hdk1vZGU6ICdjb2xsYXBzZWQnIGFzICdleHBhbmRlZCcgfCAnY29sbGFwc2VkJyxcbiAgICAgIHNpZGVOYXZNZW51VHlwZTogU2lkZU5hdkZyYW1lU3RvcmUuZ2V0TWVudVR5cGUoY29udGV4dCksXG4gICAgICBzaWRlTmF2TWVudVRpdGxlOiB1bmRlZmluZWQgYXMgc3RyaW5nLFxuICAgICAgc2lkZUFwcE91dGxldE5hbWU6ICdzaWRlJyxcbiAgICB9KTtcbiAgfSwgWydjb21wb25lbnRzJywgJ2ZyYW1lcycsICdhcHAnXSk7XG4gIHN0YXRpYyBwcm92aWRlQXBwU2VydmljZUNvbmZpZyA9ICgpID0+IEFwcEZyYW1lU3RvcmUuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICBjb25zdCBmYWJIaWRlID0gY29tcHV0ZWQoKCkgPT4gYXBwLnNpZGVBcHAub3BlbmVkKCkpO1xuICAgIHJldHVybiAoY29uZmlnKSA9PiAoe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgaXNMb2FkaW5nOiBhcHAubG9hZGluZy5pc0xvYWRpbmcoKSxcbiAgICAgIGlzUHJvZ3Jlc3M6IGFwcC5sb2FkaW5nLmlzUHJvZ3Jlc3MoKSxcbiAgICAgIHNpZGVOYXZNb2RlOiBhcHAuc2lkZU5hdk1vZGUuc2lkZU5hdk1vZGUoKSxcbiAgICAgIHNpZGVBcHBPcGVuZWQ6IGFwcC5zaWRlQXBwLm9wZW5lZCgpLFxuICAgICAgZmFiQWN0aW9uczogYXBwLmZhYi5hY3Rpb25zKCksXG4gICAgICBmYWJIaWRlOiBmYWJIaWRlKCksXG4gICAgfSk7XG4gIH0pO1xuICBzdGF0aWMgcHJvdmlkZUljb25CdXR0b25NZW51QXNEZWZhdWx0Q29uZmlnKCkge1xuICAgIHJldHVybiBbXG4gICAgICBSb290UHJvcGVydHlTZXJ2aWNlLkNvbmZpZy5wcm92aWRlKCgpID0+IHtcbiAgICAgICAgY29uc3QgZ2V0UHJvcHMgPSAoY29udGV4dDogVUlDb250ZXh0KSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChjb250ZXh0LmJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGNhc2UgJ3hTbWFsbCc6IHJldHVybiB7ICctLW1lbnUtd2lkdGgnOiAnMjIwcHgnIH07XG4gICAgICAgICAgICBjYXNlICdzbWFsbCc6XG4gICAgICAgICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgICAgICAgY2FzZSAnbGFyZ2UnOlxuICAgICAgICAgICAgY2FzZSAneExhcmdlJzogcmV0dXJuIHsgJy0tbWVudS13aWR0aCc6ICc2NHB4JyB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGNvbmZpZywgY29udGV4dCkgPT4gKHsuLi5jb25maWcsIC4uLmdldFByb3BzKGNvbnRleHQpfSk7XG4gICAgICB9KSxcbiAgICAgIEFwcEZyYW1lU3RvcmUuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgICAgICBjb25zdCBnZXRNZW51VHlwZSA9IChjb250ZXh0OiBVSUNvbnRleHQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGNvbnRleHQuYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgY2FzZSAneFNtYWxsJzogcmV0dXJuICdtZW51JztcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnaWNvbi1idXR0b24tbWVudSc7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gKGNvbmZpZywgY29udGV4dCkgPT4gKHtcbiAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgc2lkZU5hdk1lbnVUeXBlOiBnZXRNZW51VHlwZShjb250ZXh0KSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIF07XG4gIH1cbiAgc3RhdGljIEluaXRpYWxpemVyID0gbWFrZUluaXRpYWxpemVyQ29uZmlnKEFwcEZyYW1lU3RvcmUpO1xuICBzdGF0aWMgcHJvdmlkZUluaXRpYWxpemVyID0gQXBwRnJhbWVTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlO1xuICBzdGF0aWMgcHJvdmlkZUV4cGFuZFNpZGVBcHBPbkluaXQoKSB7XG4gICAgcmV0dXJuIEFwcEZyYW1lU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoKSA9PiB7XG4gICAgICBpbmplY3QoU2lkZUFwcFNlcnZpY2UpLmV4cGFuZCgpO1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lkZU5hdkFjdGlvbnNJbml0aWFsaXplcihhY3Rpb25zRmFjdG9yeTogKCkgPT4gQWN0aW9uW10pIHtcbiAgICByZXR1cm4gQXBwRnJhbWVTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgICAgY29uc3QgcGF0aHMgPSBpbmplY3RQcmltYXJ5UGF0aHMoKTtcbiAgICAgIGZ1bmN0aW9uIGNvbXBhcmUocGF0aHM6IHN0cmluZ1tdLCBwYXlsb2FkPzogc3RyaW5nW10pIHtcbiAgICAgICAgaWYgKHBheWxvYWQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gcGF5bG9hZC5ldmVyeSgocGF0aCwgaSkgPT4gcGF0aHNbaV0gPT09IHBhdGgpO1xuICAgICAgfVxuICAgICAgY29uc3QgYWN0aW9ucyA9IGFjdGlvbnNGYWN0b3J5KCk7XG5cbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ3NpZGVOYXZBY3Rpb25zJywgYWN0aW9ucy5tYXAoYWN0aW9uID0+ICh7XG4gICAgICAgICAgLi4uYWN0aW9uLCBkaXNhYmxlZDogY29tcGFyZShwYXRocygpLCBhY3Rpb24/LnBheWxvYWQpLFxuICAgICAgICB9KSkpO1xuICAgICAgfSwge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfSk7XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVOYXZpZ2F0ZUVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChBcHBGcmFtZVN0b3JlLkFjdGlvbklkLk5BVklHQVRFLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICByZXR1cm4gKHBheWxvYWQ6IHN0cmluZ1tdIHwge2NvbW1hbmRzOiBzdHJpbmdbXSwgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhc30pID0+IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGF5bG9hZCkpIHtcbiAgICAgICAgICBhcHAuc2lkZUFwcC5jb2xsYXBzZSgpO1xuICAgICAgICAgIGFwcC5yb3V0ZXIubmF2aWdhdGUocGF5bG9hZCkudGhlbigoKSA9PiBhcHAuc2lkZU5hdi5jb2xsYXBzZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhcHAuc2lkZUFwcC5jb2xsYXBzZSgpO1xuICAgICAgICAgIGNvbnN0IHtjb21tYW5kcywgZXh0cmFzfSA9IHBheWxvYWQ7XG4gICAgICAgICAgYXBwLnJvdXRlci5uYXZpZ2F0ZShjb21tYW5kcywgZXh0cmFzID8/IHt9KS50aGVuKCgpID0+IGFwcC5zaWRlTmF2LmNvbGxhcHNlKCkpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVOYXZpZ2F0ZVNpZGVBcHBFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5OQVZJR0FURV9TSURFX0FQUCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkOiBzdHJpbmdbXSB8IHtjb21tYW5kczogc3RyaW5nW10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMgJiB7ZXhwYW5kZWQ/OiBib29sZWFufX0pID0+IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGF5bG9hZCkpIHtcbiAgICAgICAgICBhcHAuc2lkZUFwcC5yb3V0ZXIubmF2aWdhdGUocGF5bG9hZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qge2NvbW1hbmRzLCBleHRyYXN9ID0gcGF5bG9hZDtcbiAgICAgICAgICBhcHAuc2lkZUFwcC5yb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIGV4dHJhcyA/PyB7fSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVNpZ25PdXRFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX09VVCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhdXRoLnNpZ25PdXQoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICBhcHAuc2lkZU5hdi5jb2xsYXBzZSgpO1xuICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfjgrXjgqTjg7PjgqLjgqbjg4jjgZfjgb7jgZfjgZ8nKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlT3BlblNpZGVBcHBFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5PUEVOX1NJREVfQVBQLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhcHAuc2lkZUFwcC5leHBhbmQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZUNsb3NlU2lkZUFwcEVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChOYXZBY3Rpb25JZC5DTE9TRSwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgYXBwLnNpZGVBcHAuY29sbGFwc2UoKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVTaWduVXBXaXRoRW1haWxFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX1VQX1dJVEhfRU1BSUwsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KEFwcEZyYW1lU3RvcmUpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0gc3RvcmUuZm9ybSgpLmdldFJhd1ZhbHVlKCkgYXMge2VtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmd9O1xuICAgICAgICBhcHAubG9hZGluZy5hd2FpdCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF1dGguY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkKGRhdGEuZW1haWwsIGRhdGEucGFzc3dvcmQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+aWsOimj+eZu+mMsuOBl+OBvuOBl+OBn+OAgicpO1xuICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lnbkluV2l0aEVtYWlsRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEFwcEZyYW1lU3RvcmUuQWN0aW9uSWQuU0lHTl9JTl9XSVRIX0VNQUlMLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChBcHBGcmFtZVN0b3JlKTtcbiAgICAgIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHN0b3JlLmZvcm0oKS5nZXRSYXdWYWx1ZSgpIGFzIHtlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nfTtcbiAgICAgICAgYXBwLmxvYWRpbmcuYXdhaXQoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBhdXRoLnNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkKGRhdGEuZW1haWwsIGRhdGEucGFzc3dvcmQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODreOCsOOCpOODs+OBl+OBvuOBl+OBnycpO1xuICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lnbkluV2l0aEdvb2dsZUVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChBcHBGcmFtZVN0b3JlLkFjdGlvbklkLlNJR05fSU5fV0lUSF9HT09HTEUsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgYXV0aC5zaWduSW5XaXRoR29vZ2xlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODreOCsOOCpOODs+OBl+OBvuOBl+OBnycpO1xuICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICBjb25zdCBfbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UubWF0Y2goL0hUVFAgQ2xvdWQgRnVuY3Rpb24gcmV0dXJuZWQgYW4gZXJyb3I6ICguKikgXFwoLiovKTtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gX21lc3NhZ2UgPyBKU09OLnBhcnNlKF9tZXNzYWdlWzFdKS5lcnJvci5tZXNzYWdlIDogZXJyb3IubWVzc2FnZTtcbiAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihtZXNzYWdlKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lnbkluV2l0aFR3aXR0ZXJFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX0lOX1dJVEhfVFdJVFRFUiwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhdXRoLnNpZ25JbldpdGhUd2l0dGVyKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODreOCsOOCpOODs+OBl+OBvuOBl+OBnycpO1xuICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEVmZmVjdHMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZU5hdmlnYXRlRWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVTaWduT3V0RWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVPcGVuU2lkZUFwcEVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlQ2xvc2VTaWRlQXBwRWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVTaWduVXBXaXRoRW1haWxFZmZlY3QoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZVNpZ25JbldpdGhFbWFpbEVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlU2lnbkluV2l0aEdvb2dsZUVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlU2lnbkluV2l0aFR3aXR0ZXJFZmZlY3QoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZU5hdmlnYXRlU2lkZUFwcEVmZmVjdCgpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZUFwcFNlcnZpY2VDb25maWcoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZUljb25CdXR0b25NZW51QXNEZWZhdWx0Q29uZmlnKCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgIF1cbiAgfVxuXG4gIHN0YXRpYyBpbmplY3ROYXZBY3Rpb25GYWN0b3J5KCkge1xuICAgIGNvbnN0IGhhc05leHQgPSBpbmplY3RIYXNOZXh0KCk7XG4gICAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIGNvbnN0IG5hdmlnYXRlQWN0aW9uQnVpbGRlciA9IGNyZWF0ZUFjdGlvbihBcHBGcmFtZVN0b3JlLkFjdGlvbklkLk5BVklHQVRFLCB1bmRlZmluZWQsIHtcbiAgICAgIGljb246ICdvcGVuX2luX25ldycsXG4gICAgfSk7XG4gICAgcmV0dXJuIChjb21tYW5kczogYW55W10sIG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIG5hdmlnYXRlQWN0aW9uQnVpbGRlci5jcmVhdGUoe1xuICAgICAgICBjb21tYW5kcyxcbiAgICAgICAgZXh0cmFzOiB7IHJlbGF0aXZlVG86IHJvdXRlLCByZXBsYWNlVXJsOiBoYXNOZXh0KCkgfVxuICAgICAgfSwge1xuICAgICAgICBuYW1lLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVhZG9ubHkgY29uZmlnID0gQXBwRnJhbWVTdG9yZS5Db25maWcuaW5qZWN0KCk7XG4gIHJlYWRvbmx5IGlzTG9hZGluZyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmlzTG9hZGluZykpO1xuICByZWFkb25seSBpc1Byb2dyZXNzID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuaXNQcm9ncmVzcykpO1xuICByZWFkb25seSBpc0VudHJhbmNlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuaXNFbnRyYW5jZSkpO1xuICByZWFkb25seSBzaWRlQXBwT3BlbmVkID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2lkZUFwcE9wZW5lZCkpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlKSk7XG4gIHJlYWRvbmx5IGZvcm0gPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mb3JtKSk7XG4gIHJlYWRvbmx5IGVudHJhbmNlQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmVudHJhbmNlQWN0aW9ucykpO1xuICByZWFkb25seSBzaWRlTmF2QWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IHNpZGVOYXZCb3R0b21BY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2lkZU5hdkJvdHRvbUFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgc2lkZU5hdk1vZGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlTmF2TW9kZSkpO1xuICByZWFkb25seSBzaWRlTmF2TWVudVR5cGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlTmF2TWVudVR5cGUpKTtcbiAgcmVhZG9ubHkgc2lkZU5hdk1lbnVUaXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZNZW51VGl0bGUpKTtcbiAgcmVhZG9ubHkgc2lkZUFwcE91dGxldE5hbWUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlQXBwT3V0bGV0TmFtZSkpO1xuICByZWFkb25seSBmYWJBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZmFiQWN0aW9ucykpO1xuICByZWFkb25seSBmYWJIaWRlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZmFiSGlkZSkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgQXBwRnJhbWVTdG9yZS5Jbml0aWFsaXplci5pbml0aWFsaXplU3RvcmUodGhpcyk7XG4gIH1cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcmFtZXMtYXBwJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZhYkZyYW1lLFxuICAgIExvYWRpbmdGcmFtZSxcbiAgICBTaWRlTmF2RnJhbWUsXG4gICAgUm91dGVyT3V0bGV0LFxuICAgIEVudHJhbmNlRnJhbWUsXG4gICAgLy8gRHJhd2VyRnJhbWVTdG9yZSxcbiAgICBEcmF3ZXJGcmFtZSxcbiAgICBCYWNrZ3JvdW5kVGVtcGxhdGVTdG9yZSxcbiAgICBQcm9ncmVzc0JhckZyYW1lLFxuXSxcbiAgdGVtcGxhdGU6IGBcbiAgPHJvdXRlci1vdXRsZXQvPlxuICBAaWYgKGlzUGxhdGZvcm1Ccm93c2VyKCkpIHtcbiAgICBAZGVmZXIge1xuICAgICAgPHRlbXBsYXRlcy1iYWNrZ3JvdW5kIGluamVjdGFibGUvPlxuICAgIH1cbiAgfVxuICA8ZnJhbWVzLWxvYWRpbmcgW2lzTG9hZGluZ109XCJzdG9yZS5pc0xvYWRpbmcoKVwiPlxuICAgIDxmcmFtZXMtcHJvZ3Jlc3MtYmFyIFtpc1Byb2dyZXNzXT1cInN0b3JlLmlzUHJvZ3Jlc3MoKVwiIFttb2RlXT1cIidxdWVyeSdcIj5cbiAgICAgIDxmcmFtZXMtZmFiXG4gICAgICAgIFthY3Rpb25zXT1cInN0b3JlLmZhYkFjdGlvbnMoKVwiXG4gICAgICAgIFtoaWRlXT1cInN0b3JlLmZhYkhpZGUoKVwiXG4gICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxmcmFtZXMtZW50cmFuY2VcbiAgICAgICAgICBbaXNFbnRyYW5jZV09XCJzdG9yZS5pc0VudHJhbmNlKClcIlxuICAgICAgICAgIFtmb3JtXT1cInN0b3JlLmZvcm0oKVwiXG4gICAgICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgICAgIFthY3Rpb25zXT1cInN0b3JlLmVudHJhbmNlQWN0aW9ucygpXCJcbiAgICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGZyYW1lcy1kcmF3ZXJcbiAgICAgICAgICAgIFtvcGVuZWRdPVwic3RvcmUuc2lkZUFwcE9wZW5lZCgpXCJcbiAgICAgICAgICAgIFtwb3NpdGlvbl09XCInZW5kJ1wiXG4gICAgICAgICAgICBbaGFzQmFja2Ryb3BdPVwiZmFsc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxmcmFtZXMtc2lkZS1uYXZcbiAgICAgICAgICAgICAgW2FjdGlvbnNdPVwic3RvcmUuc2lkZU5hdkFjdGlvbnMoKVwiXG4gICAgICAgICAgICAgIFtib3R0b21BY3Rpb25zXT1cInN0b3JlLnNpZGVOYXZCb3R0b21BY3Rpb25zKClcIlxuICAgICAgICAgICAgICBbbW9kZV09XCJzdG9yZS5zaWRlTmF2TW9kZSgpXCJcbiAgICAgICAgICAgICAgW21lbnVUeXBlXT1cInN0b3JlLnNpZGVOYXZNZW51VHlwZSgpXCJcbiAgICAgICAgICAgICAgW21lbnVUaXRsZV09XCJzdG9yZS5zaWRlTmF2TWVudVRpdGxlKClcIlxuICAgICAgICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICAgICAgICBjb250ZW50c1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cm91dGVyLW91dGxldCBjb250ZW50cy8+XG4gICAgICAgICAgICA8L2ZyYW1lcy1zaWRlLW5hdj5cbiAgICAgICAgICAgIDxkaXYgZHJhd2VyIHN0eWxlPVwid2lkdGg6IHZhcigtLXBhZ2Utd2lkdGgtbHYxKTtoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0IFtuYW1lXT1cInN0b3JlLnNpZGVBcHBPdXRsZXROYW1lKClcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9mcmFtZXMtZHJhd2VyPlxuICAgICAgICA8L2ZyYW1lcy1lbnRyYW5jZT5cbiAgICAgIDwvZnJhbWVzLWZhYj5cbiAgICA8L2ZyYW1lcy1wcm9ncmVzcy1iYXI+XG4gIDwvZnJhbWVzLWxvYWRpbmc+XG4gIGAsXG4gIHN0eWxlVXJsOiAnLi9hcHAuZnJhbWUuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIEFwcEZyYW1lU3RvcmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcEZyYW1lIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoQXBwRnJhbWVTdG9yZSk7XG4gIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gIHByb3RlY3RlZCBpc1BsYXRmb3JtU2VydmVyKCkge1xuICAgIHJldHVybiBpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNQbGF0Zm9ybUJyb3dzZXIoKSB7XG4gICAgcmV0dXJuIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,14 +1,36 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Directive, inject, input } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
3
+ export class AutoLayoutFrameStore {
4
+ constructor() {
5
+ this.type = input('horizontal');
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: AutoLayoutFrameStore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: AutoLayoutFrameStore, isStandalone: true, inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: AutoLayoutFrameStore, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ standalone: true,
14
+ }]
15
+ }] });
4
16
  export class AutoLayoutFrame {
17
+ constructor() {
18
+ this.store = inject(AutoLayoutFrameStore);
19
+ }
5
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: AutoLayoutFrame, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: AutoLayoutFrame, isStandalone: true, selector: "frames-auto-layout", ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-USaZ: var(--gap);--vertical-padding: 24px;--vertical-padding-SCOPED-IN-auto-layout-USaZ: var(--vertical-padding)}:host{display:flex;width:100%;height:100%;justify-content:center;gap:var(--gap-SCOPED-IN-auto-layout-USaZ);box-sizing:border-box;padding:var(--vertical-padding-SCOPED-IN-auto-layout-USaZ) 0}:host[horizontal]{flex-direction:row}:host[vertical]{flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: AutoLayoutFrame, isStandalone: true, selector: "frames-auto-layout", host: { properties: { "attr.type": "store.type()" } }, hostDirectives: [{ directive: AutoLayoutFrameStore, inputs: ["type", "type"] }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-he1l: var(--gap);--vertical-padding: 24px;--vertical-padding-SCOPED-IN-auto-layout-he1l: var(--vertical-padding);--horizontal-padding: 0;--horizontal-padding-SCOPED-IN-auto-layout-he1l: var(--horizontal-padding)}:host{display:flex;width:100%;height:100%;justify-content:center;align-items:center;gap:var(--gap-SCOPED-IN-auto-layout-he1l);box-sizing:border-box;padding:var(--vertical-padding-SCOPED-IN-auto-layout-he1l) var(--horizontal-padding-SCOPED-IN-auto-layout-he1l)}:host[type=horizontal]{flex-direction:row}:host[type=vertical]{flex-direction:column}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
22
  }
8
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: AutoLayoutFrame, decorators: [{
9
24
  type: Component,
10
- args: [{ selector: 'frames-auto-layout', standalone: true, imports: [
11
- CommonModule,
12
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>", styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-USaZ: var(--gap);--vertical-padding: 24px;--vertical-padding-SCOPED-IN-auto-layout-USaZ: var(--vertical-padding)}:host{display:flex;width:100%;height:100%;justify-content:center;gap:var(--gap-SCOPED-IN-auto-layout-USaZ);box-sizing:border-box;padding:var(--vertical-padding-SCOPED-IN-auto-layout-USaZ) 0}:host[horizontal]{flex-direction:row}:host[vertical]{flex-direction:column}\n"] }]
25
+ args: [{ selector: 'frames-auto-layout', standalone: true, template: `<ng-content></ng-content>`, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
26
+ {
27
+ directive: AutoLayoutFrameStore,
28
+ inputs: [
29
+ 'type',
30
+ ],
31
+ },
32
+ ], host: {
33
+ '[attr.type]': 'store.type()'
34
+ }, styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-he1l: var(--gap);--vertical-padding: 24px;--vertical-padding-SCOPED-IN-auto-layout-he1l: var(--vertical-padding);--horizontal-padding: 0;--horizontal-padding-SCOPED-IN-auto-layout-he1l: var(--horizontal-padding)}:host{display:flex;width:100%;height:100%;justify-content:center;align-items:center;gap:var(--gap-SCOPED-IN-auto-layout-he1l);box-sizing:border-box;padding:var(--vertical-padding-SCOPED-IN-auto-layout-he1l) var(--horizontal-padding-SCOPED-IN-auto-layout-he1l)}:host[type=horizontal]{flex-direction:row}:host[type=vertical]{flex-direction:column}\n"] }]
13
35
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1sYXlvdXQuZnJhbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvYXV0by1sYXlvdXQvYXV0by1sYXlvdXQuZnJhbWUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvYXV0by1sYXlvdXQvYXV0by1sYXlvdXQuZnJhbWUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZbkUsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTtrR0FBZixlQUFlLDhFQ2I1QiwyQkFBeUIsbWVET3JCLFlBQVk7OzJGQU1ILGVBQWU7a0JBVjNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUDt3QkFDUCxZQUFZO3FCQUNiLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnJhbWVzLWF1dG8tbGF5b3V0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG8tbGF5b3V0LmZyYW1lLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvLWxheW91dC5mcmFtZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvTGF5b3V0RnJhbWUgeyB9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+Il19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1sYXlvdXQuZnJhbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvYXV0by1sYXlvdXQvYXV0by1sYXlvdXQuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLN0YsTUFBTSxPQUFPLG9CQUFvQjtJQUhqQztRQUlXLFNBQUksR0FBRyxLQUFLLENBQTRCLFlBQVksQ0FBQyxDQUFDO0tBQ2hFOzhHQUZZLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUF1QkQsTUFBTSxPQUFPLGVBQWU7SUFsQjVCO1FBbUJZLFVBQUssR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQUNoRDs4R0FGWSxlQUFlO2tHQUFmLGVBQWUsMklBdEJmLG9CQUFvQix1REFPckIsMkJBQTJCOzsyRkFlMUIsZUFBZTtrQkFsQjNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksWUFDTiwyQkFBMkIsbUJBRXBCLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxvQkFBb0I7NEJBQy9CLE1BQU0sRUFBRTtnQ0FDTixNQUFNOzZCQUNQO3lCQUNGO3FCQUNGLFFBQ0s7d0JBQ0osYUFBYSxFQUFFLGNBQWM7cUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIERpcmVjdGl2ZSwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0xheW91dEZyYW1lU3RvcmUge1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8J2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJz4oJ2hvcml6b250YWwnKTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnJhbWVzLWF1dG8tbGF5b3V0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0by1sYXlvdXQuZnJhbWUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IEF1dG9MYXlvdXRGcmFtZVN0b3JlLFxuICAgICAgaW5wdXRzOiBbXG4gICAgICAgICd0eXBlJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci50eXBlXSc6ICdzdG9yZS50eXBlKCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b0xheW91dEZyYW1lIHtcbiAgcHJvdGVjdGVkIHN0b3JlID0gaW5qZWN0KEF1dG9MYXlvdXRGcmFtZVN0b3JlKTtcbn1cbiJdfQ==
@@ -103,7 +103,7 @@ export class ColumnsFrame extends NgAtomicComponent {
103
103
  <ng-container [ngTemplateOutlet]="right()?.templateRef" />
104
104
  </div>
105
105
  }
106
- `, isInline: true, styles: [":host{display:block;--side-width: 360px;--side-width-SCOPED-IN-columns-NLYl: var(--side-width)}:host{display:flex;flex-direction:row;justify-content:space-between;width:100%;height:100%}:host[type=row]{flex-direction:row;justify-content:space-between}:host[type=row] .container{width:100%}:host[type=row] .container.left{max-width:var(--side-width-SCOPED-IN-columns-NLYl)}:host[type=row] .container.right{max-width:var(--side-width-SCOPED-IN-columns-NLYl)}:host[type=column]{flex-direction:column;justify-content:flex-start}:host[type=column] .container.main{width:100%}:host[type=column] .container.left{width:100%}:host[type=column] .container.right{width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
106
+ `, isInline: true, styles: [":host{display:block;--side-width: 360px;--side-width-SCOPED-IN-columns-oUpU: var(--side-width)}:host{display:flex;flex-direction:row;justify-content:space-between;width:100%;height:100%}:host[type=row]{flex-direction:row;justify-content:space-between}:host[type=row] .container{width:100%}:host[type=row] .container.left{max-width:var(--side-width-SCOPED-IN-columns-oUpU)}:host[type=row] .container.right{max-width:var(--side-width-SCOPED-IN-columns-oUpU)}:host[type=column]{flex-direction:column;justify-content:flex-start}:host[type=column] .container.main{width:100%}:host[type=column] .container.left{width:100%}:host[type=column] .container.right{width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
107
107
  }
108
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ColumnsFrame, decorators: [{
109
109
  type: Component,
@@ -134,7 +134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
134
134
  }
135
135
  ], host: {
136
136
  '[attr.type]': 'store.type()',
137
- }, styles: [":host{display:block;--side-width: 360px;--side-width-SCOPED-IN-columns-NLYl: var(--side-width)}:host{display:flex;flex-direction:row;justify-content:space-between;width:100%;height:100%}:host[type=row]{flex-direction:row;justify-content:space-between}:host[type=row] .container{width:100%}:host[type=row] .container.left{max-width:var(--side-width-SCOPED-IN-columns-NLYl)}:host[type=row] .container.right{max-width:var(--side-width-SCOPED-IN-columns-NLYl)}:host[type=column]{flex-direction:column;justify-content:flex-start}:host[type=column] .container.main{width:100%}:host[type=column] .container.left{width:100%}:host[type=column] .container.right{width:100%}\n"] }]
137
+ }, styles: [":host{display:block;--side-width: 360px;--side-width-SCOPED-IN-columns-oUpU: var(--side-width)}:host{display:flex;flex-direction:row;justify-content:space-between;width:100%;height:100%}:host[type=row]{flex-direction:row;justify-content:space-between}:host[type=row] .container{width:100%}:host[type=row] .container.left{max-width:var(--side-width-SCOPED-IN-columns-oUpU)}:host[type=row] .container.right{max-width:var(--side-width-SCOPED-IN-columns-oUpU)}:host[type=column]{flex-direction:column;justify-content:flex-start}:host[type=column] .container.main{width:100%}:host[type=column] .container.left{width:100%}:host[type=column] .container.right{width:100%}\n"] }]
138
138
  }] });
139
139
  export class ColumnsFrameModule {
140
140
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ColumnsFrameModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }