nuxeo-development-framework 3.4.6 → 3.4.8

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 (254) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1015 -1053
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/Core/adapters/adapter.service.js +4 -4
  4. package/esm2015/lib/Core/core.module.js +5 -5
  5. package/esm2015/lib/Core/services/callApi/call-api.service.js +4 -4
  6. package/esm2015/lib/Core/services/extension/component-register.service.js +4 -4
  7. package/esm2015/lib/Core/services/extension/extension-loader.service.js +4 -4
  8. package/esm2015/lib/Core/services/extension/extension.service.js +4 -4
  9. package/esm2015/lib/Core/services/initialization/initialization.service.js +4 -4
  10. package/esm2015/lib/Core/services/localStorag/local-storag.service.js +4 -4
  11. package/esm2015/lib/Core/services/nuxeo/nuxeo.service.js +4 -4
  12. package/esm2015/lib/Core/services/roles/roles.service.js +4 -4
  13. package/esm2015/lib/Core/services/translation/translate-loader.service.js +4 -4
  14. package/esm2015/lib/Core/services/translation/translation.service.js +4 -4
  15. package/esm2015/lib/Core/services/user/user-preferences.service.js +4 -4
  16. package/esm2015/lib/Core/utilities/moment-date-adapter.js +4 -4
  17. package/esm2015/lib/Core/utilities/utility.service.js +4 -4
  18. package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +4 -4
  19. package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +4 -4
  20. package/esm2015/lib/components/activities-log/activities-log.module.js +5 -5
  21. package/esm2015/lib/components/activity/activity/activity.component.js +4 -4
  22. package/esm2015/lib/components/activity/activity.module.js +5 -5
  23. package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +4 -4
  24. package/esm2015/lib/components/attachment-item/attachment-item.module.js +5 -5
  25. package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +5 -5
  26. package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +4 -4
  27. package/esm2015/lib/components/avatar/avatar/avatar.component.js +4 -4
  28. package/esm2015/lib/components/avatar/avatar.module.js +5 -5
  29. package/esm2015/lib/components/card/card.component.js +4 -4
  30. package/esm2015/lib/components/card/card.module.js +5 -5
  31. package/esm2015/lib/components/comments/comments.module.js +5 -5
  32. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +4 -4
  33. package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +4 -4
  34. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +6 -5
  35. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +4 -4
  36. package/esm2015/lib/components/comments/services/comment-api.service.js +4 -4
  37. package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +4 -4
  38. package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +5 -5
  39. package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +4 -4
  40. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +4 -4
  41. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +5 -5
  42. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +4 -4
  43. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +4 -4
  44. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +4 -4
  45. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +7 -6
  46. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +4 -4
  47. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +5 -5
  48. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +4 -4
  49. package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +4 -4
  50. package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +4 -4
  51. package/esm2015/lib/components/create-entity/create-entity.module.js +5 -5
  52. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +4 -4
  53. package/esm2015/lib/components/cts-tags/cts-tags.module.js +5 -5
  54. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +4 -4
  55. package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +4 -4
  56. package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +5 -5
  57. package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +4 -4
  58. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +4 -4
  59. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +4 -4
  60. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +5 -5
  61. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +4 -4
  62. package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +4 -4
  63. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +4 -4
  64. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +4 -4
  65. package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +4 -4
  66. package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +4 -4
  67. package/esm2015/lib/components/documents/components/documents/documents.component.js +4 -4
  68. package/esm2015/lib/components/documents/documents.module.js +5 -5
  69. package/esm2015/lib/components/documents/services/document-templates.service.js +4 -4
  70. package/esm2015/lib/components/documents/services/documents.service.js +4 -4
  71. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +4 -4
  72. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +5 -5
  73. package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +4 -4
  74. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +4 -4
  75. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +4 -4
  76. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +5 -5
  77. package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +4 -4
  78. package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +5 -5
  79. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +4 -4
  80. package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +4 -4
  81. package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +4 -4
  82. package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +4 -4
  83. package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +4 -4
  84. package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +4 -4
  85. package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +4 -4
  86. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +4 -4
  87. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +4 -4
  88. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +4 -4
  89. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +4 -4
  90. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +4 -4
  91. package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +4 -4
  92. package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +4 -4
  93. package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +4 -4
  94. package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +4 -4
  95. package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +4 -4
  96. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +4 -4
  97. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +4 -4
  98. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +4 -4
  99. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +4 -4
  100. package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +4 -4
  101. package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +4 -4
  102. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +4 -4
  103. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +4 -4
  104. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +4 -4
  105. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +4 -4
  106. package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +4 -4
  107. package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +4 -4
  108. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +4 -4
  109. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +4 -4
  110. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +4 -4
  111. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +4 -4
  112. package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +4 -4
  113. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +5 -5
  114. package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +4 -4
  115. package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +4 -4
  116. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +4 -4
  117. package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +5 -5
  118. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +4 -4
  119. package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +5 -5
  120. package/esm2015/lib/components/dynamic-table/services/dynamic-table.service.js +4 -4
  121. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +4 -4
  122. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +5 -5
  123. package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +4 -4
  124. package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +4 -4
  125. package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +4 -4
  126. package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +4 -4
  127. package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +4 -4
  128. package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +4 -4
  129. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +4 -4
  130. package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +13 -4
  131. package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +5 -5
  132. package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +4 -4
  133. package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +4 -4
  134. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +4 -4
  135. package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +4 -4
  136. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +4 -4
  137. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +4 -4
  138. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +4 -4
  139. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +4 -4
  140. package/esm2015/lib/components/file-manger/components/delete/delete.component.js +4 -4
  141. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +4 -4
  142. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +4 -4
  143. package/esm2015/lib/components/file-manger/components/move/move.component.js +4 -4
  144. package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +4 -4
  145. package/esm2015/lib/components/file-manger/components/rename/rename.component.js +4 -4
  146. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +4 -4
  147. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +4 -4
  148. package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +4 -4
  149. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +4 -4
  150. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +4 -4
  151. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +4 -4
  152. package/esm2015/lib/components/file-manger/file-manager.abstract.js +4 -4
  153. package/esm2015/lib/components/file-manger/file-manger.module.js +5 -5
  154. package/esm2015/lib/components/filter/filter/filter.component.js +4 -4
  155. package/esm2015/lib/components/filter/filter.module.js +5 -5
  156. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +4 -4
  157. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +4 -4
  158. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +4 -4
  159. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +4 -4
  160. package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +5 -5
  161. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +4 -4
  162. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +4 -4
  163. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +4 -4
  164. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +4 -4
  165. package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +4 -4
  166. package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +6 -5
  167. package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +80 -5
  168. package/esm2015/lib/components/latest-activity/latest-activity.module.js +5 -5
  169. package/esm2015/lib/components/latest-activity/services/activity-log.service.js +4 -4
  170. package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +4 -4
  171. package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +5 -5
  172. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +4 -4
  173. package/esm2015/lib/components/notifications/components/notification-options/notification-options.component.js +4 -4
  174. package/esm2015/lib/components/notifications/components/notification-toast/notification-toast.component.js +4 -4
  175. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +4 -4
  176. package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +4 -4
  177. package/esm2015/lib/components/notifications/notifications.module.js +5 -5
  178. package/esm2015/lib/components/notifications/notifications.service.js +4 -4
  179. package/esm2015/lib/components/pagination/pagination/pagination.component.js +4 -4
  180. package/esm2015/lib/components/pagination/pagination.module.js +5 -5
  181. package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +5 -5
  182. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +67 -50
  183. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +4 -4
  184. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +4 -4
  185. package/esm2015/lib/components/permissions/permission.service.js +4 -4
  186. package/esm2015/lib/components/permissions/permissions/permissions.component.js +4 -4
  187. package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +4 -4
  188. package/esm2015/lib/components/permissions/permissions.module.js +5 -5
  189. package/esm2015/lib/components/select/select/select.component.js +4 -4
  190. package/esm2015/lib/components/select/select.module.js +5 -5
  191. package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +5 -5
  192. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +4 -4
  193. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +4 -4
  194. package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +4 -4
  195. package/esm2015/lib/components/table/table/table.component.js +4 -4
  196. package/esm2015/lib/components/table/table.module.js +5 -5
  197. package/esm2015/lib/components/user/user/user.component.js +4 -4
  198. package/esm2015/lib/components/user/user.module.js +5 -5
  199. package/esm2015/lib/components/users-card/users-card.component.js +4 -4
  200. package/esm2015/lib/components/users-card/users-card.module.js +5 -5
  201. package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +4 -4
  202. package/esm2015/lib/components/viewer-log/viewer-log.module.js +5 -5
  203. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +4 -4
  204. package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +4 -4
  205. package/esm2015/lib/components/vocabulary/vocabulary.module.js +5 -5
  206. package/esm2015/lib/configuration/app-config.service.js +4 -4
  207. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +4 -4
  208. package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +4 -4
  209. package/esm2015/lib/directive/directive.module.js +5 -5
  210. package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +4 -4
  211. package/esm2015/lib/directive/permissions/evaluators.service.js +4 -4
  212. package/esm2015/lib/directive/permissions/permissions.directive.js +4 -4
  213. package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +4 -4
  214. package/esm2015/lib/directive/rtl/set-rtl.directive.js +4 -4
  215. package/esm2015/lib/nuxeo-development-framework.component.js +4 -4
  216. package/esm2015/lib/nuxeo-development-framework.module.js +5 -5
  217. package/esm2015/lib/nuxeo-development-framework.service.js +4 -4
  218. package/esm2015/lib/pipes/file-size.pipe.js +4 -4
  219. package/esm2015/lib/pipes/hijri-date.pipe.js +4 -4
  220. package/esm2015/lib/pipes/localized-date.pipe.js +4 -4
  221. package/esm2015/lib/pipes/multi-value.pipe.js +4 -4
  222. package/esm2015/lib/pipes/pipes.module.js +5 -5
  223. package/esm2015/lib/pipes/secure-html.pipe.js +4 -4
  224. package/esm2015/lib/pipes/secure.pipe.js +4 -4
  225. package/esm2015/lib/pipes/time-ago.pipe.js +4 -4
  226. package/esm2015/lib/shared/components/button/button.component.js +4 -4
  227. package/esm2015/lib/shared/components/item-list/item-list.component.js +4 -4
  228. package/esm2015/lib/shared/components/no-data/no-data.component.js +9 -5
  229. package/esm2015/lib/shared/components/read-more/read-more.component.js +4 -4
  230. package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +4 -4
  231. package/esm2015/lib/shared/components/spinner/spinner.component.js +4 -4
  232. package/esm2015/lib/shared/components/user-card/user-card.component.js +4 -4
  233. package/esm2015/lib/shared/libraryShared.module.js +5 -5
  234. package/esm2015/lib/shared-services/dialog-mangment.service.js +4 -4
  235. package/esm2015/lib/shared-services/dynamic-form.service.js +4 -4
  236. package/esm2015/lib/shared-services/file-manager.adapter.js +4 -4
  237. package/esm2015/lib/shared-services/file-manager.service.js +4 -4
  238. package/esm2015/lib/shared-services/global-admin.service.js +4 -4
  239. package/esm2015/lib/shared-services/global-pdftron.service.js +4 -4
  240. package/esm2015/lib/shared-services/mainfolder.service.js +4 -4
  241. package/esm2015/lib/shared-services/publishing-document.service.js +4 -4
  242. package/esm2015/lib/shared-services/recently-viewed.service.js +4 -4
  243. package/esm2015/lib/shared-services/shared-docs.service.js +4 -4
  244. package/esm2015/lib/shared-services/shared-services.module.js +5 -5
  245. package/esm2015/lib/shared-services/upload-file.service.js +4 -4
  246. package/esm2015/lib/shared-services/upload-managment.service.js +4 -4
  247. package/esm2015/lib/shared-services/user.service.js +4 -4
  248. package/fesm2015/nuxeo-development-framework.js +950 -843
  249. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  250. package/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.d.ts +1 -0
  251. package/lib/components/latest-activity/components/single-activity/single-activity.component.d.ts +74 -0
  252. package/lib/components/pdf-tron/pdftron/pdftron.component.d.ts +6 -2
  253. package/lib/shared/components/no-data/no-data.component.d.ts +2 -1
  254. package/package.json +1 -1
@@ -541,12 +541,12 @@ export class ChartDataService {
541
541
  return { options: options, chartData: chartData };
542
542
  }
543
543
  }
544
- ChartDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartDataService, deps: [{ token: i1.TranslateService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
545
- ChartDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartDataService, providedIn: 'root' });
546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartDataService, decorators: [{
544
+ ChartDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: ChartDataService, deps: [{ token: i1.TranslateService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
545
+ ChartDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: ChartDataService, providedIn: 'root' });
546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: ChartDataService, decorators: [{
547
547
  type: Injectable,
548
548
  args: [{
549
549
  providedIn: 'root',
550
550
  }]
551
551
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.TranslationService }]; } });
552
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWNoYXJ0L3NlcnZpY2VzL2NoYXJ0LWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLE1BQU0sTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFTNUIsTUFBTSxPQUFPLGdCQUFnQjtJQTRGM0IsWUFDVSxTQUEyQixFQUMzQixXQUErQjtRQUQvQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUE3RnpDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QixXQUFNLEdBQUcsUUFBUSxDQUFDO1FBRWxCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFFakIsZ0JBQVcsR0FBRztZQUNwQjtnQkFDRSxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO3dCQUN4QyxzQkFBc0I7d0JBQ3RCLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO3dCQUUxQixnREFBZ0Q7d0JBQ2hELElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7d0JBQ3hELElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO3dCQUNsRCxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxD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LEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtpQkFDbkU7Z0JBQ0QsaUJBQWlCLEVBQUUsRUFBRTtnQkFDckIsTUFBTSxFQUFFO29CQUNOLE1BQU0sRUFBRTt3QkFDTixhQUFhLEVBQUUsSUFBSTt3QkFDbkIsUUFBUSxFQUFFLENBQUM7cUJBQ1o7b0JBQ0Qsb0JBQW9CO29CQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2lCQUNsQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFO3dCQUNULE9BQU8sRUFBRSxLQUFLO3FCQUNmO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3BELENBQUM7OzhHQTVnQlUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC1lczYnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcblxyXG5pbnRlcmZhY2UgQ2hhcnREYXRhIHtcclxuICBjaGFydERhdGE6IHt9O1xyXG4gIG9wdGlvbnM6IHt9O1xyXG59XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFydERhdGFTZXJ2aWNlIHtcclxuICByZWZyZXNoRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBwcml2YXRlIHByZWZpeCA9ICdTVEFUUy4nO1xyXG4gIHByaXZhdGUgaXNBcmFiaWM6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBzaXplOiBudW1iZXIgPSA4O1xyXG4gIFxyXG4gIHByaXZhdGUgdG90YWxOdW1iZXIgPSBbXHJcbiAgICB7XHJcbiAgICAgIGJlZm9yZURyYXc6IChjaGFydCkgPT4ge1xyXG4gICAgICAgIGlmIChjaGFydC5jb25maWcub3B0aW9ucy5lbGVtZW50cy5jZW50ZXIpIHtcclxuICAgICAgICAgIC8vIEdldCBjdHggZnJvbSBzdHJpbmdcclxuICAgICAgICAgIHZhciBjdHggPSBjaGFydC5jaGFydC5jdHg7XHJcblxyXG4gICAgICAgICAgLy8gR2V0IG9wdGlvbnMgZnJvbSB0aGUgY2VudGVyIG9iamVjdCBpbiBvcHRpb25zXHJcbiAgICAgICAgICB2YXIgY2VudGVyQ29uZmlnID0gY2hhcnQuY29uZmlnLm9wdGlvbnMuZWxlbWVudHMuY2VudGVyO1xyXG4gICAgICAgICAgdmFyIGZvbnRTdHlsZSA9IGNlbnRlckNvbmZpZy5mb250U3R5bGUgfHwgJ0FyaWFsJztcclxuICAgICAgICAgIHZhciB0eHQgPSBjZW50ZXJDb25maWcudGV4dDtcclxuICAgICAgICAgIHZhciBjb2xvciA9IGNlbnRlckNvbmZpZy5jb2xvciB8fCAnIzAwMCc7XHJcbiAgICAgICAgICB2YXIgbWF4Rm9udFNpemUgPSBjZW50ZXJDb25maWcubWF4Rm9udFNpemUgfHwgNzU7XHJcbiAgICAgICAgICB2YXIgc2lkZVBhZGRpbmcgPSBjZW50ZXJDb25maWcuc2lkZVBhZGRpbmcgfHwgMjA7XHJcbiAgICAgICAgICB2YXIgc2lkZVBhZGRpbmdDYWxjdWxhdGVkID1cclxuICAgICAgICAgICAgKHNpZGVQYWRkaW5nIC8gMTAwKSAqIChjaGFydC5pbm5lclJhZGl1cyAqIDIpO1xyXG4gICAgICAgICAgLy8gU3RhcnQgd2l0aCBhIGJhc2UgZm9udCBvZiAzMHB4XHJcbiAgICAgICAgICBjdHguZm9udCA9ICczMHB4ICcgKyBmb250U3R5bGU7XHJcblxyXG4gICAgICAgICAgLy8gR2V0IHRoZSB3aWR0aCBvZiB0aGUgc3RyaW5nIGFuZCBhbHNvIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCBtaW51cyAxMCB0byBnaXZlIGl0IDVweCBzaWRlIHBhZGRpbmdcclxuICAgICAgICAgIHZhciBzdHJpbmdXaWR0aCA9IGN0eC5tZWFzdXJlVGV4dCh0eHQpLndpZHRoO1xyXG4gICAgICAgICAgdmFyIGVsZW1lbnRXaWR0aCA9IGNoYXJ0LmlubmVyUmFkaXVzICogMiAtIHNpZGVQYWRkaW5nQ2FsY3VsYXRlZDtcclxuXHJcbiAgICAgICAgICAvLyBGaW5kIG91dCBob3cgbXVjaCB0aGUgZm9udCBjYW4gZ3JvdyBpbiB3aWR0aC5cclxuICAgICAgICAgIHZhciB3aWR0aFJhdGlvID0gZWxlbWVudFdpZHRoIC8gc3RyaW5nV2lkdGg7XHJcbiAgICAgICAgICB2YXIgbmV3Rm9udFNpemUgPSBNYXRoLmZsb29yKDMwICogd2lkdGhSYXRpbyk7XHJcbiAgICAgICAgICB2YXIgZWxlbWVudEhlaWdodCA9IGNoYXJ0LmlubmVyUmFkaXVzICogMjtcclxuXHJcbiAgICAgICAgICAvLyBQaWNrIGEgbmV3IGZvbnQgc2l6ZSBzbyBpdCB3aWxsIG5vdCBiZSBsYXJnZXIgdGhhbiB0aGUgaGVpZ2h0IG9mIGxhYmVsLlxyXG4gICAgICAgICAgdmFyIGZvbnRTaXplVG9Vc2UgPSBNYXRoLm1pbihuZXdGb250U2l6ZSwgZWxlbWVudEhlaWdodCwgbWF4Rm9udFNpemUpO1xyXG4gICAgICAgICAgdmFyIG1pbkZvbnRTaXplID0gY2VudGVyQ29uZmlnLm1pbkZvbnRTaXplO1xyXG4gICAgICAgICAgdmFyIGxpbmVIZWlnaHQgPSBjZW50ZXJDb25maWcubGluZUhlaWdodCB8fCAyNTtcclxuICAgICAgICAgIHZhciB3cmFwVGV4dCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgIGlmIChtaW5Gb250U2l6ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIG1pbkZvbnRTaXplID0gMjA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKG1pbkZvbnRTaXplICYmIGZvbnRTaXplVG9Vc2UgPCBtaW5Gb250U2l6ZSkge1xyXG4gICAgICAgICAgICBmb250U2l6ZVRvVXNlID0gbWluRm9udFNpemU7XHJcbiAgICAgICAgICAgIHdyYXBUZXh0ID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyBTZXQgZm9udCBzZXR0aW5ncyB0byBkcmF3IGl0IGNvcnJlY3RseS5cclxuICAgICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcclxuICAgICAgICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcclxuICAgICAgICAgIHZhciBjZW50ZXJYID0gKGNoYXJ0LmNoYXJ0QXJlYS5sZWZ0ICsgY2hhcnQuY2hhcnRBcmVhLnJpZ2h0KSAvIDI7XHJcbiAgICAgICAgICB2YXIgY2VudGVyWSA9IChjaGFydC5jaGFydEFyZWEudG9wICsgY2hhcnQuY2hhcnRBcmVhLmJvdHRvbSkgLyAyO1xyXG4gICAgICAgICAgY3R4LmZvbnQgPSAnMTQnICsgJ3B4ICcgKyBmb250U3R5bGU7XHJcbiAgICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XHJcblxyXG4gICAgICAgICAgaWYgKCF3cmFwVGV4dCkge1xyXG4gICAgICAgICAgICBjdHguZmlsbFRleHQodHh0LCBjZW50ZXJYLCBjZW50ZXJZKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHZhciB3b3JkcyA9IHR4dC5zcGxpdCgnICcpO1xyXG4gICAgICAgICAgdmFyIGxpbmUgPSAnJztcclxuICAgICAgICAgIHZhciBsaW5lcyA9IFtdO1xyXG5cclxuICAgICAgICAgIC8vIEJyZWFrIHdvcmRzIHVwIGludG8gbXVsdGlwbGUgbGluZXMgaWYgbmVjZXNzYXJ5XHJcbiAgICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IHdvcmRzLmxlbmd0aDsgbisrKSB7XHJcbiAgICAgICAgICAgIHZhciB0ZXN0TGluZSA9IGxpbmUgKyB3b3Jkc1tuXSArICcgJztcclxuICAgICAgICAgICAgdmFyIG1ldHJpY3MgPSBjdHgubWVhc3VyZVRleHQodGVzdExpbmUpO1xyXG4gICAgICAgICAgICB2YXIgdGVzdFdpZHRoID0gbWV0cmljcy53aWR0aDtcclxuICAgICAgICAgICAgaWYgKHRlc3RXaWR0aCA+IGVsZW1lbnRXaWR0aCAmJiBuID4gMCkge1xyXG4gICAgICAgICAgICAgIGxpbmVzLnB1c2gobGluZSk7XHJcbiAgICAgICAgICAgICAgbGluZSA9IHdvcmRzW25dICsgJyAnO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGxpbmUgPSB0ZXN0TGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIE1vdmUgdGhlIGNlbnRlciB1cCBkZXBlbmRpbmcgb24gbGluZSBoZWlnaHQgYW5kIG51bWJlciBvZiBsaW5lc1xyXG4gICAgICAgICAgY2VudGVyWSAtPSAobGluZXMubGVuZ3RoIC8gMikgKiBsaW5lSGVpZ2h0O1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGluZXMubGVuZ3RoOyBuKyspIHtcclxuICAgICAgICAgICAgY3R4LmZpbGxUZXh0KGxpbmVzW25dLCBjZW50ZXJYLCBjZW50ZXJZKTtcclxuICAgICAgICAgICAgY2VudGVyWSArPSBsaW5lSGVpZ2h0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy9EcmF3IHRleHQgaW4gY2VudGVyXHJcbiAgICAgICAgICBjdHguZmlsbFRleHQobGluZSwgY2VudGVyWCwgY2VudGVyWSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICBdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChhcmFiaWMpID0+IHtcclxuICAgICAgYXJhYmljID8gKHRoaXMuaXNBcmFiaWMgPSBhcmFiaWMpIDogKHRoaXMuaXNBcmFiaWMgPSBhcmFiaWMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGRhdGEgZGF0YSBmZXRjaGVkIGZyb20gYmFjay1lbmRcclxuICAgKiBAcGFyYW0gdG90YWxJdGVtcyB0b3RhbEl0ZW1zIGZyb20gdGhlIGJhY2tlZG5cclxuICAgKiBAcGFyYW0gcHJlZml4IGZvciBUcmFuc2xhdGlvbnNcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIG11bHRpU2VyaWVzUGllQ2hhcnQoZGF0YSk6IENoYXJ0RGF0YSB7XHJcbiAgICBjb25zdCBwcm92aWRlQ29sb3JzID0gZGF0YS5jb2xvcnM7XHJcbiAgICBjb25zdCBwcmVmaXggPSBkYXRhLnByZWZpeDtcclxuICAgIGNvbnN0IHRvdGFsSXRlbXMgPSBkYXRhLnRvdGFsSXRlbXM7XHJcbiAgICBsZXQgZGF0YUFyciA9IFtdO1xyXG4gICAgbGV0IGxhYmVscyA9IFtdO1xyXG4gICAgLy9mb3IgYWdncmVnYXRpb25zXHJcbiAgICBsZXQgaXRlbUNvdW50OiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IG90aGVySXRlbXNDb3VudDogbnVtYmVyO1xyXG5cclxuICAgIGRhdGFBcnIgPSBkYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGNvbnN0IG51bWJlcnMgPSBkYXRhLmRhdGEubWFwKChpdGVtMSwgaW5kZXgxKSA9PlxyXG4gICAgICAgIGluZGV4ID09PSBpbmRleDEgPyBpdGVtLmNvdW50IDogMFxyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBjb2xvcnMgPSBkYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0xLCBpbmRleDEpID0+IHtcclxuICAgICAgICByZXR1cm4gcHJvdmlkZUNvbG9yc1tpdGVtMS5sYWJlbF07XHJcbiAgICAgIH0pO1xyXG4gICAgICBudW1iZXJzLnB1c2goZGF0YS50b3RhbEl0ZW1zIC0gaXRlbS5jb3VudCk7XHJcblxyXG4gICAgICBjb2xvcnMucHVzaCgnI2Y3ZjhmOScpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGRhdGE6IG51bWJlcnMsXHJcbiAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbEl0ZW1zLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICBsYWJlbHMgPSBkYXRhLmRhdGFcclxuICAgICAgLnNsaWNlKDAsIHRoaXMuc2l6ZSlcclxuICAgICAgLm1hcChcclxuICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArIGl0ZW0ubGFiZWwpfSAoJHtpdGVtLmNvdW50fSlgXHJcbiAgICAgICk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSB7XHJcbiAgICAgIGRhdGFzZXRzOiBkYXRhQXJyLFxyXG4gICAgICBsYWJlbHM6IGxhYmVscyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ2RvdWdobnV0JyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBwbHVnaW5zOiB0aGlzLnRvdGFsTnVtYmVyLFxyXG4gICAgICBzaG93Q291bnQ6IHRydWUsXHJcbiAgICAgIGNvdW50U2l6ZTogJzE4cHgnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICB0b29sdGlwczogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDMwLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHBvc2l0aW9uOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbGVtZW50czoge1xyXG4gICAgICAgICAgY2VudGVyOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IGAke1xyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXMgPj0gMTAwMFxyXG4gICAgICAgICAgICAgICAgPyBwYXJzZUZsb2F0KCh0b3RhbEl0ZW1zIC8gMTAwMCkudG9GaXhlZCgyKSkgKyAnSydcclxuICAgICAgICAgICAgICAgIDogdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgY29sb3I6ICcjNTk2OTczJywgLy8gRGVmYXVsdCBpcyAjMDAwMDAwXHJcbiAgICAgICAgICAgIGZvbnRTdHlsZTogJ0FyaWFsJywgLy8gRGVmYXVsdCBpcyBBcmlhbFxyXG4gICAgICAgICAgICBzaWRlUGFkZGluZzogMjAsIC8vIERlZmF1bHQgaXMgMjAgKGFzIGEgcGVyY2VudGFnZSlcclxuICAgICAgICAgICAgbWluRm9udFNpemU6IDIwLCAvLyBEZWZhdWx0IGlzIDIwIChpbiBweCksIHNldCB0byBmYWxzZSBhbmQgdGV4dCB3aWxsIG5vdCB3cmFwLlxyXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAyNSwgLy8gRGVmYXVsdCBpcyAyNSAoaW4gcHgpLCB1c2VkIGZvciB3aGVuIHRleHQgd3JhcHNcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgZG91Z2hudXRDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGNvbnN0IHByb3ZpZGVDb2xvcnMgPSBkYXRhLmNvbG9ycztcclxuICAgIGNvbnN0IHByZWZpeCA9IGRhdGEucHJlZml4O1xyXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGRhdGEuZGF0YS50b3RhbEl0ZW1zO1xyXG4gICAgbGV0IGJhY2tncm91bmRDb2xvciA9IFtdO1xyXG4gICAgbGV0IGRhdGFBcnIgPSBbXTtcclxuICAgIGxldCBsYWJlbHMgPSBbXTtcclxuICAgIC8vZm9yIGFnZ3JlZ2F0aW9uc1xyXG4gICAgbGV0IGl0ZW1Db3VudDogbnVtYmVyID0gMDtcclxuICAgIGxldCBvdGhlckl0ZW1zQ291bnQ6IG51bWJlcjtcclxuICAgIGRhdGEuZGF0YS5kYXRhLnNsaWNlKDAsIHRoaXMuc2l6ZSkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1tpdGVtLmxhYmVsXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChpdGVtLmNvdW50KTtcclxuICAgICAgaXRlbUNvdW50ID0gaXRlbUNvdW50ICsgaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG4gICAgbGFiZWxzID0gZGF0YS5kYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArIGl0ZW0ubGFiZWwpfSAoJHtpdGVtLmNvdW50fSlgO1xyXG4gICAgfSk7XHJcbiAgICAvL2FnZ3JlZ2F0ZSBvdGhlciBkYXRhXHJcbiAgICBvdGhlckl0ZW1zQ291bnQgPSB0b3RhbEl0ZW1zIC0gaXRlbUNvdW50O1xyXG4gICAgaWYgKG90aGVySXRlbXNDb3VudCA+IDApIHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1snb3RoZXInXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChvdGhlckl0ZW1zQ291bnQpO1xyXG4gICAgICBsYWJlbHMucHVzaChcclxuICAgICAgICBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArICdvdGhlcicpfSAoJHtvdGhlckl0ZW1zQ291bnR9KWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNoYXJ0RGF0YSA9IHtcclxuICAgICAgZGF0YXNldHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvcixcclxuICAgICAgICAgIGRhdGE6IGRhdGFBcnIsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgbGFiZWxzOiBsYWJlbHMsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgIHR5cGU6ICdkb3VnaG51dCcsXHJcbiAgICAgIGRhdGE6IGNoYXJ0RGF0YSxcclxuICAgICAgc2hvd0NvdW50OiB0cnVlLFxyXG4gICAgICBjb3VudFNpemU6ICcxOHB4JyxcclxuICAgICAgcGx1Z2luczogdGhpcy50b3RhbE51bWJlcixcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXHJcbiAgICAgICAgdG9vbHRpcHM6IHsgZW5hYmxlZDogdHJ1ZSB9LFxyXG4gICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDMwLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICBwb3NpdGlvbjogdGhpcy5pc0FyYWJpYyA/ICdyaWdodCcgOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbGVtZW50czoge1xyXG4gICAgICAgICAgY2VudGVyOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IGAke1xyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXMgPj0gMTAwMFxyXG4gICAgICAgICAgICAgICAgPyBwYXJzZUZsb2F0KCh0b3RhbEl0ZW1zIC8gMTAwMCkudG9GaXhlZCgyKSkgKyAnSydcclxuICAgICAgICAgICAgICAgIDogdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgY29sb3I6ICcjNTk2OTczJywgLy8gRGVmYXVsdCBpcyAjMDAwMDAwXHJcbiAgICAgICAgICAgIGZvbnRTdHlsZTogJ0FyaWFsJywgLy8gRGVmYXVsdCBpcyBBcmlhbFxyXG4gICAgICAgICAgICBzaWRlUGFkZGluZzogMjAsIC8vIERlZmF1bHQgaXMgMjAgKGFzIGEgcGVyY2VudGFnZSlcclxuICAgICAgICAgICAgbWluRm9udFNpemU6IDIwLCAvLyBEZWZhdWx0IGlzIDIwIChpbiBweCksIHNldCB0byBmYWxzZSBhbmQgdGV4dCB3aWxsIG5vdCB3cmFwLlxyXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAyNSwgLy8gRGVmYXVsdCBpcyAyNSAoaW4gcHgpLCB1c2VkIGZvciB3aGVuIHRleHQgd3JhcHNcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgbGluZUNoYXJ0KGRhdGEpOiBDaGFydERhdGEge1xyXG4gICAgZGF0YSA9IHRoaXMuZ3JvdXBPYmplY3RCeWtleUxpbmUoZGF0YS5kYXRhKTtcclxuICAgIGNvbnNvbGUubG9nKCdjaGFydCBkYXRhJywgZGF0YSk7XHJcbiAgICB0aGlzLmlzQXJhYmljID8gbW9tZW50LmxvY2FsZSgnYXItc2EnKSA6IG1vbWVudC5sb2NhbGUoJ2VuLXVzJyk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSBkYXRhO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ2xpbmUnLFxyXG4gICAgICBkYXRhOiBjaGFydERhdGEsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICBzY2FsZXM6IHtcclxuICAgICAgICAgIHhBeGVzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgICAgYXV0b1NraXA6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBtYXhUaWNrc0xpbWl0OiAxMixcclxuICAgICAgICAgICAgICAgIHNvdXJjZTogJ2xhYmVscycsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0eXBlOiAndGltZScsXHJcbiAgICAgICAgICAgICAgdGltZToge1xyXG4gICAgICAgICAgICAgICAgdW5pdDogJ3dlZWsnLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheUZvcm1hdHM6IHtcclxuICAgICAgICAgICAgICAgICAgd2VlazogJ0RELU1NLXl5eXknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIHlBeGVzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgICAgbWluOiAwLFxyXG4gICAgICAgICAgICAgICAgcHJlY2lzaW9uOiAwLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGl0bGU6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIC8vIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiAxMixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAvLyBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zLCBjaGFydERhdGEgfTtcclxuICB9XHJcblxyXG4gIEdyb3VwZWRCYXJDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGRhdGEgPSB0aGlzLmdyb3VwT2JqZWN0QnlrZXkoZGF0YS5kYXRhKTtcclxuICAgIHRoaXMuaXNBcmFiaWMgPyBtb21lbnQubG9jYWxlKCdhci1zYScpIDogbW9tZW50LmxvY2FsZSgnZW4tdXMnKTtcclxuICAgIGNvbnN0IGNoYXJ0RGF0YSA9IGRhdGE7XHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAnYmFyJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgICAgb3V0bGFiZWxzOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBiYXJWYWx1ZVNwYWNpbmc6IDIwLFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeUF4ZXM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgICBtaW46IDAsXHJcbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IDAsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgICAgIGxhYmVsczoge1xyXG4gICAgICAgICAgICBib3hXaWR0aDogMTIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcnRsOiB0aGlzLmlzQXJhYmljID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHsgb3B0aW9ucywgY2hhcnREYXRhIH07XHJcbiAgfVxyXG5cclxuICBCYXJDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGNvbnN0IHByb3ZpZGVDb2xvcnMgPSBkYXRhLmNvbG9ycztcclxuICAgIGNvbnN0IHByZWZpeCA9IGRhdGEucHJlZml4O1xyXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGRhdGEudG90YWxJdGVtcztcclxuICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSBbXTtcclxuICAgIGxldCBkYXRhQXJyID0gW107XHJcbiAgICBsZXQgbGFiZWxzID0gW107XHJcbiAgICBkYXRhLmRhdGEuZGF0YS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBiYWNrZ3JvdW5kQ29sb3IucHVzaCgnIzJlNjJkZicpO1xyXG4gICAgICBkYXRhQXJyLnB1c2goaXRlbS5jb3VudCk7XHJcbiAgICB9KTtcclxuICAgIGxhYmVscyA9IGRhdGEuZGF0YS5kYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgcmV0dXJuIGAke2l0ZW0ubGFiZWx9YDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgY2hhcnREYXRhID0ge1xyXG4gICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgZGF0YTogZGF0YUFycixcclxuICAgICAgICAgIGJhclBlcmNlbnRhZ2U6IDAuNCxcclxuICAgICAgICAgIGJhclRoaWNrbmVzczogMjQsXHJcbiAgICAgICAgICBtYXhCYXJUaGlja25lc3M6IDMwLFxyXG4gICAgICAgICAgbWluQmFyTGVuZ3RoOiAyLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGxhYmVsczogbGFiZWxzLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAnYmFyJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgICAgb3V0bGFiZWxzOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBiYXJWYWx1ZVNwYWNpbmc6IDIwLFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeUF4ZXM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgICBtaW46IDAsXHJcbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IDAsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgLy8gbGFiZWxzOiB7XHJcbiAgICAgICAgICAvLyAgIGJveFdpZHRoOiAxMixcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICAvLyBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgb3V0bGFiZWxlZFBpZUNoYXJ0KGRhdGEpOiBDaGFydERhdGEge1xyXG4gICAgY29uc3QgcHJvdmlkZUNvbG9ycyA9IGRhdGEuY29sb3JzO1xyXG4gICAgY29uc3QgcHJlZml4ID0gZGF0YS5wcmVmaXg7XHJcbiAgICBjb25zdCB0b3RhbEl0ZW1zID0gZGF0YS50b3RhbEl0ZW1zO1xyXG4gICAgbGV0IGJhY2tncm91bmRDb2xvciA9IFtdO1xyXG4gICAgbGV0IGRhdGFBcnIgPSBbXTtcclxuICAgIGxldCBsYWJlbHMgPSBbXTtcclxuICAgIGRhdGEuZGF0YS5kYXRhLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGJhY2tncm91bmRDb2xvci5wdXNoKHByb3ZpZGVDb2xvcnNbaXRlbS5sYWJlbF0pO1xyXG4gICAgICBkYXRhQXJyLnB1c2goaXRlbS5jb3VudCk7XHJcbiAgICB9KTtcclxuICAgIGxhYmVscyA9IGRhdGEuZGF0YS5kYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgcmV0dXJuIGAke2l0ZW0ubGFiZWx9YDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgY2hhcnREYXRhID0ge1xyXG4gICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgZGF0YTogZGF0YUFycixcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBsYWJlbHM6IGxhYmVscyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ291dGxhYmVsZWRQaWUnLFxyXG4gICAgICBkYXRhOiBjaGFydERhdGEsXHJcblxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgICBwYWRkaW5nOiB7XHJcbiAgICAgICAgICAgIHRvcDogMzMsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgem9vbU91dFBlcmNlbnRhZ2U6IDU1LFxyXG4gICAgICAgIHBsdWdpbnM6IHtcclxuICAgICAgICAgIGxlZ2VuZDogZmFsc2UsXHJcbiAgICAgICAgICBvdXRsYWJlbHM6IHtcclxuICAgICAgICAgICAgbGluZVdpZHRoOiAwLjgsXHJcbiAgICAgICAgICAgIGxpbmVDb2xvcjogJyNiNGJhYzYnLFxyXG4gICAgICAgICAgICB0ZXh0OiAoY29udGV4dCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBpbmRleCA9IGNvbnRleHQuZGF0YUluZGV4O1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNvbnRleHQubGFiZWxzW2luZGV4XTtcclxuICAgICAgICAgICAgICBsZXQgbnVtID0gY29udGV4dC5wZXJjZW50ICogMTAwO1xyXG4gICAgICAgICAgICAgIGxldCB0ZXh0ID0gYCR7Xy50cnVuY2F0ZShsYWJlbCwge1xyXG4gICAgICAgICAgICAgICAgbGVuZ3RoOiAyNCxcclxuICAgICAgICAgICAgICB9KX0gJHtudW0udG9GaXhlZCgwKX0lYDtcclxuXHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRleHQ7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgICAgICBzdHJldGNoOiAyMCxcclxuICAgICAgICAgICAgZm9udDoge1xyXG4gICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBtaW5TaXplOiAxMixcclxuICAgICAgICAgICAgICBtYXhTaXplOiAxOCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgcGllQ2hhcnQoZGF0YSk6IENoYXJ0RGF0YSB7XHJcbiAgICBjb25zdCBwcm92aWRlQ29sb3JzID0gZGF0YS5jb2xvcnM7XHJcbiAgICBjb25zdCBwcmVmaXggPSBkYXRhLnByZWZpeDtcclxuICAgIGNvbnN0IHRvdGFsSXRlbXMgPSBkYXRhLnRvdGFsSXRlbXM7XHJcbiAgICBsZXQgYmFja2dyb3VuZENvbG9yID0gW107XHJcbiAgICBsZXQgZGF0YUFyciA9IFtdO1xyXG4gICAgbGV0IGxhYmVscyA9IFtdO1xyXG4gICAgZGF0YS5kYXRhLmRhdGEuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1tpdGVtLmxhYmVsXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChpdGVtLmNvdW50KTtcclxuICAgIH0pO1xyXG4gICAgbGFiZWxzID0gZGF0YS5kYXRhLmRhdGEubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICByZXR1cm4gYCR7aXRlbS5sYWJlbH1gO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSB7XHJcbiAgICAgIGRhdGFzZXRzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICBkYXRhOiBkYXRhQXJyLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGxhYmVsczogbGFiZWxzLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAncGllJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG5cclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgdGV4dDogcHJlZml4Lmxlbmd0aCA+IDAgPyBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCl9YCA6ICcnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgem9vbU91dFBlcmNlbnRhZ2U6IDU1LFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwbHVnaW5zOiB7XHJcbiAgICAgICAgICBvdXRsYWJlbHM6IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHsgb3B0aW9uczogb3B0aW9ucywgY2hhcnREYXRhOiBjaGFydERhdGEgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ3JvdXBPYmplY3RCeWtleSA9IChkYXRhKSA9PiB7XHJcbiAgICBsZXQgbmFtZUluZGljZXMgPSB7fTtcclxuICAgIGxldCBzdGF0dXNIYXNoID0ge307XHJcbiAgICBsZXQgY2hhcnREYXRhID0geyBsYWJlbHM6IFtdLCBkYXRhc2V0czogW10gfTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoIShpdGVtLmxhYmVsIGluIG5hbWVJbmRpY2VzKSkge1xyXG4gICAgICAgIG5hbWVJbmRpY2VzW2l0ZW0ubGFiZWxdID0gY2hhcnREYXRhLmxhYmVscy5wdXNoKGl0ZW0ubGFiZWwpIC0gMTtcclxuICAgICAgICBjaGFydERhdGEuZGF0YXNldHMuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgICAgYS5kYXRhLnB1c2goMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdGF0dXNIYXNoW2l0ZW0uc3RhdHVzXSkge1xyXG4gICAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdID0ge1xyXG4gICAgICAgICAgbGFiZWw6IGAke3RoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS5zdGF0dXMpfSAoJHtpdGVtLnRvdGFsSXRlbXN9KWAsXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdJbmNvbWluZycgJiYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMDBkY2E1JyxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgLi4uKGl0ZW0uc3RhdHVzID09PSAnT3V0Z29pbmcnICYmIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2ZiYjYyYycsXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGRhdGE6IGNoYXJ0RGF0YS5sYWJlbHMubWFwKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGJhclBlcmNlbnRhZ2U6IDAuNCxcclxuICAgICAgICAgIGJhclRoaWNrbmVzczogMjQsXHJcbiAgICAgICAgICBtYXhCYXJUaGlja25lc3M6IDMwLFxyXG4gICAgICAgICAgbWluQmFyTGVuZ3RoOiAyLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2hhcnREYXRhLmRhdGFzZXRzLnB1c2goc3RhdHVzSGFzaFtpdGVtLnN0YXR1c10pO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdLmRhdGFbbmFtZUluZGljZXNbaXRlbS5sYWJlbF1dID0gaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjaGFydERhdGE7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBncm91cE9iamVjdEJ5a2V5TGluZSA9IChkYXRhKSA9PiB7XHJcbiAgICBkYXRhLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiB7XHJcbiAgICAgIHJldHVybiBtb21lbnQudXRjKGxlZnQuaWQpLmRpZmYobW9tZW50LnV0YyhyaWdodC5pZCkpO1xyXG4gICAgfSk7XHJcbiAgICBsZXQgbmFtZUluZGljZXMgPSB7fTtcclxuICAgIGxldCBzdGF0dXNIYXNoID0ge307XHJcbiAgICBsZXQgY2hhcnREYXRhID0geyBsYWJlbHM6IFtdLCBkYXRhc2V0czogW10gfTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoIShpdGVtLmlkIGluIG5hbWVJbmRpY2VzKSkge1xyXG4gICAgICAgIG5hbWVJbmRpY2VzW2l0ZW0uaWRdID0gY2hhcnREYXRhLmxhYmVscy5wdXNoKGl0ZW0uaWQpIC0gMTtcclxuICAgICAgICBjaGFydERhdGEuZGF0YXNldHMuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgICAgYS5kYXRhLnB1c2goMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdGF0dXNIYXNoW2l0ZW0uc3RhdHVzXSkge1xyXG4gICAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdID0ge1xyXG4gICAgICAgICAgbGFiZWw6IGAke3RoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS5zdGF0dXMpfSAoJHtpdGVtLnRvdGFsSXRlbXN9KWAsXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdJbmNvbWluZycgJiYge1xyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJyMwMGRjYTUnLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdPdXRnb2luZycgJiYge1xyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJyNmYmI2MmMnLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBmYWxzZSxcclxuICAgICAgICAgIGxpbmVUZW5zaW9uOiAwLFxyXG4gICAgICAgICAgZGF0YTogY2hhcnREYXRhLmxhYmVscy5tYXAoKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2hhcnREYXRhLmRhdGFzZXRzLnB1c2goc3RhdHVzSGFzaFtpdGVtLnN0YXR1c10pO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdLmRhdGFbbmFtZUluZGljZXNbaXRlbS5pZF1dID0gaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjaGFydERhdGE7XHJcbiAgfTtcclxuICBcclxufVxyXG4iXX0=
552
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWNoYXJ0L3NlcnZpY2VzL2NoYXJ0LWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLE1BQU0sTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFTNUIsTUFBTSxPQUFPLGdCQUFnQjtJQTRGM0IsWUFDVSxTQUEyQixFQUMzQixXQUErQjtRQUQvQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUE3RnpDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QixXQUFNLEdBQUcsUUFBUSxDQUFDO1FBRWxCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFFakIsZ0JBQVcsR0FBRztZQUNwQjtnQkFDRSxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO3dCQUN4QyxzQkFBc0I7d0JBQ3RCLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO3dCQUUxQixnREFBZ0Q7d0JBQ2hELElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7d0JBQ3hELElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO3dCQUNsRCxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxD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LEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtpQkFDbkU7Z0JBQ0QsaUJBQWlCLEVBQUUsRUFBRTtnQkFDckIsTUFBTSxFQUFFO29CQUNOLE1BQU0sRUFBRTt3QkFDTixhQUFhLEVBQUUsSUFBSTt3QkFDbkIsUUFBUSxFQUFFLENBQUM7cUJBQ1o7b0JBQ0Qsb0JBQW9CO29CQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2lCQUNsQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFO3dCQUNULE9BQU8sRUFBRSxLQUFLO3FCQUNmO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3BELENBQUM7OzZHQTVnQlUsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC1lczYnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcblxyXG5pbnRlcmZhY2UgQ2hhcnREYXRhIHtcclxuICBjaGFydERhdGE6IHt9O1xyXG4gIG9wdGlvbnM6IHt9O1xyXG59XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFydERhdGFTZXJ2aWNlIHtcclxuICByZWZyZXNoRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBwcml2YXRlIHByZWZpeCA9ICdTVEFUUy4nO1xyXG4gIHByaXZhdGUgaXNBcmFiaWM6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBzaXplOiBudW1iZXIgPSA4O1xyXG4gIFxyXG4gIHByaXZhdGUgdG90YWxOdW1iZXIgPSBbXHJcbiAgICB7XHJcbiAgICAgIGJlZm9yZURyYXc6IChjaGFydCkgPT4ge1xyXG4gICAgICAgIGlmIChjaGFydC5jb25maWcub3B0aW9ucy5lbGVtZW50cy5jZW50ZXIpIHtcclxuICAgICAgICAgIC8vIEdldCBjdHggZnJvbSBzdHJpbmdcclxuICAgICAgICAgIHZhciBjdHggPSBjaGFydC5jaGFydC5jdHg7XHJcblxyXG4gICAgICAgICAgLy8gR2V0IG9wdGlvbnMgZnJvbSB0aGUgY2VudGVyIG9iamVjdCBpbiBvcHRpb25zXHJcbiAgICAgICAgICB2YXIgY2VudGVyQ29uZmlnID0gY2hhcnQuY29uZmlnLm9wdGlvbnMuZWxlbWVudHMuY2VudGVyO1xyXG4gICAgICAgICAgdmFyIGZvbnRTdHlsZSA9IGNlbnRlckNvbmZpZy5mb250U3R5bGUgfHwgJ0FyaWFsJztcclxuICAgICAgICAgIHZhciB0eHQgPSBjZW50ZXJDb25maWcudGV4dDtcclxuICAgICAgICAgIHZhciBjb2xvciA9IGNlbnRlckNvbmZpZy5jb2xvciB8fCAnIzAwMCc7XHJcbiAgICAgICAgICB2YXIgbWF4Rm9udFNpemUgPSBjZW50ZXJDb25maWcubWF4Rm9udFNpemUgfHwgNzU7XHJcbiAgICAgICAgICB2YXIgc2lkZVBhZGRpbmcgPSBjZW50ZXJDb25maWcuc2lkZVBhZGRpbmcgfHwgMjA7XHJcbiAgICAgICAgICB2YXIgc2lkZVBhZGRpbmdDYWxjdWxhdGVkID1cclxuICAgICAgICAgICAgKHNpZGVQYWRkaW5nIC8gMTAwKSAqIChjaGFydC5pbm5lclJhZGl1cyAqIDIpO1xyXG4gICAgICAgICAgLy8gU3RhcnQgd2l0aCBhIGJhc2UgZm9udCBvZiAzMHB4XHJcbiAgICAgICAgICBjdHguZm9udCA9ICczMHB4ICcgKyBmb250U3R5bGU7XHJcblxyXG4gICAgICAgICAgLy8gR2V0IHRoZSB3aWR0aCBvZiB0aGUgc3RyaW5nIGFuZCBhbHNvIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCBtaW51cyAxMCB0byBnaXZlIGl0IDVweCBzaWRlIHBhZGRpbmdcclxuICAgICAgICAgIHZhciBzdHJpbmdXaWR0aCA9IGN0eC5tZWFzdXJlVGV4dCh0eHQpLndpZHRoO1xyXG4gICAgICAgICAgdmFyIGVsZW1lbnRXaWR0aCA9IGNoYXJ0LmlubmVyUmFkaXVzICogMiAtIHNpZGVQYWRkaW5nQ2FsY3VsYXRlZDtcclxuXHJcbiAgICAgICAgICAvLyBGaW5kIG91dCBob3cgbXVjaCB0aGUgZm9udCBjYW4gZ3JvdyBpbiB3aWR0aC5cclxuICAgICAgICAgIHZhciB3aWR0aFJhdGlvID0gZWxlbWVudFdpZHRoIC8gc3RyaW5nV2lkdGg7XHJcbiAgICAgICAgICB2YXIgbmV3Rm9udFNpemUgPSBNYXRoLmZsb29yKDMwICogd2lkdGhSYXRpbyk7XHJcbiAgICAgICAgICB2YXIgZWxlbWVudEhlaWdodCA9IGNoYXJ0LmlubmVyUmFkaXVzICogMjtcclxuXHJcbiAgICAgICAgICAvLyBQaWNrIGEgbmV3IGZvbnQgc2l6ZSBzbyBpdCB3aWxsIG5vdCBiZSBsYXJnZXIgdGhhbiB0aGUgaGVpZ2h0IG9mIGxhYmVsLlxyXG4gICAgICAgICAgdmFyIGZvbnRTaXplVG9Vc2UgPSBNYXRoLm1pbihuZXdGb250U2l6ZSwgZWxlbWVudEhlaWdodCwgbWF4Rm9udFNpemUpO1xyXG4gICAgICAgICAgdmFyIG1pbkZvbnRTaXplID0gY2VudGVyQ29uZmlnLm1pbkZvbnRTaXplO1xyXG4gICAgICAgICAgdmFyIGxpbmVIZWlnaHQgPSBjZW50ZXJDb25maWcubGluZUhlaWdodCB8fCAyNTtcclxuICAgICAgICAgIHZhciB3cmFwVGV4dCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgIGlmIChtaW5Gb250U2l6ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIG1pbkZvbnRTaXplID0gMjA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKG1pbkZvbnRTaXplICYmIGZvbnRTaXplVG9Vc2UgPCBtaW5Gb250U2l6ZSkge1xyXG4gICAgICAgICAgICBmb250U2l6ZVRvVXNlID0gbWluRm9udFNpemU7XHJcbiAgICAgICAgICAgIHdyYXBUZXh0ID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyBTZXQgZm9udCBzZXR0aW5ncyB0byBkcmF3IGl0IGNvcnJlY3RseS5cclxuICAgICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcclxuICAgICAgICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcclxuICAgICAgICAgIHZhciBjZW50ZXJYID0gKGNoYXJ0LmNoYXJ0QXJlYS5sZWZ0ICsgY2hhcnQuY2hhcnRBcmVhLnJpZ2h0KSAvIDI7XHJcbiAgICAgICAgICB2YXIgY2VudGVyWSA9IChjaGFydC5jaGFydEFyZWEudG9wICsgY2hhcnQuY2hhcnRBcmVhLmJvdHRvbSkgLyAyO1xyXG4gICAgICAgICAgY3R4LmZvbnQgPSAnMTQnICsgJ3B4ICcgKyBmb250U3R5bGU7XHJcbiAgICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XHJcblxyXG4gICAgICAgICAgaWYgKCF3cmFwVGV4dCkge1xyXG4gICAgICAgICAgICBjdHguZmlsbFRleHQodHh0LCBjZW50ZXJYLCBjZW50ZXJZKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHZhciB3b3JkcyA9IHR4dC5zcGxpdCgnICcpO1xyXG4gICAgICAgICAgdmFyIGxpbmUgPSAnJztcclxuICAgICAgICAgIHZhciBsaW5lcyA9IFtdO1xyXG5cclxuICAgICAgICAgIC8vIEJyZWFrIHdvcmRzIHVwIGludG8gbXVsdGlwbGUgbGluZXMgaWYgbmVjZXNzYXJ5XHJcbiAgICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IHdvcmRzLmxlbmd0aDsgbisrKSB7XHJcbiAgICAgICAgICAgIHZhciB0ZXN0TGluZSA9IGxpbmUgKyB3b3Jkc1tuXSArICcgJztcclxuICAgICAgICAgICAgdmFyIG1ldHJpY3MgPSBjdHgubWVhc3VyZVRleHQodGVzdExpbmUpO1xyXG4gICAgICAgICAgICB2YXIgdGVzdFdpZHRoID0gbWV0cmljcy53aWR0aDtcclxuICAgICAgICAgICAgaWYgKHRlc3RXaWR0aCA+IGVsZW1lbnRXaWR0aCAmJiBuID4gMCkge1xyXG4gICAgICAgICAgICAgIGxpbmVzLnB1c2gobGluZSk7XHJcbiAgICAgICAgICAgICAgbGluZSA9IHdvcmRzW25dICsgJyAnO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGxpbmUgPSB0ZXN0TGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIE1vdmUgdGhlIGNlbnRlciB1cCBkZXBlbmRpbmcgb24gbGluZSBoZWlnaHQgYW5kIG51bWJlciBvZiBsaW5lc1xyXG4gICAgICAgICAgY2VudGVyWSAtPSAobGluZXMubGVuZ3RoIC8gMikgKiBsaW5lSGVpZ2h0O1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGluZXMubGVuZ3RoOyBuKyspIHtcclxuICAgICAgICAgICAgY3R4LmZpbGxUZXh0KGxpbmVzW25dLCBjZW50ZXJYLCBjZW50ZXJZKTtcclxuICAgICAgICAgICAgY2VudGVyWSArPSBsaW5lSGVpZ2h0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy9EcmF3IHRleHQgaW4gY2VudGVyXHJcbiAgICAgICAgICBjdHguZmlsbFRleHQobGluZSwgY2VudGVyWCwgY2VudGVyWSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICBdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChhcmFiaWMpID0+IHtcclxuICAgICAgYXJhYmljID8gKHRoaXMuaXNBcmFiaWMgPSBhcmFiaWMpIDogKHRoaXMuaXNBcmFiaWMgPSBhcmFiaWMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGRhdGEgZGF0YSBmZXRjaGVkIGZyb20gYmFjay1lbmRcclxuICAgKiBAcGFyYW0gdG90YWxJdGVtcyB0b3RhbEl0ZW1zIGZyb20gdGhlIGJhY2tlZG5cclxuICAgKiBAcGFyYW0gcHJlZml4IGZvciBUcmFuc2xhdGlvbnNcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIG11bHRpU2VyaWVzUGllQ2hhcnQoZGF0YSk6IENoYXJ0RGF0YSB7XHJcbiAgICBjb25zdCBwcm92aWRlQ29sb3JzID0gZGF0YS5jb2xvcnM7XHJcbiAgICBjb25zdCBwcmVmaXggPSBkYXRhLnByZWZpeDtcclxuICAgIGNvbnN0IHRvdGFsSXRlbXMgPSBkYXRhLnRvdGFsSXRlbXM7XHJcbiAgICBsZXQgZGF0YUFyciA9IFtdO1xyXG4gICAgbGV0IGxhYmVscyA9IFtdO1xyXG4gICAgLy9mb3IgYWdncmVnYXRpb25zXHJcbiAgICBsZXQgaXRlbUNvdW50OiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IG90aGVySXRlbXNDb3VudDogbnVtYmVyO1xyXG5cclxuICAgIGRhdGFBcnIgPSBkYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGNvbnN0IG51bWJlcnMgPSBkYXRhLmRhdGEubWFwKChpdGVtMSwgaW5kZXgxKSA9PlxyXG4gICAgICAgIGluZGV4ID09PSBpbmRleDEgPyBpdGVtLmNvdW50IDogMFxyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBjb2xvcnMgPSBkYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0xLCBpbmRleDEpID0+IHtcclxuICAgICAgICByZXR1cm4gcHJvdmlkZUNvbG9yc1tpdGVtMS5sYWJlbF07XHJcbiAgICAgIH0pO1xyXG4gICAgICBudW1iZXJzLnB1c2goZGF0YS50b3RhbEl0ZW1zIC0gaXRlbS5jb3VudCk7XHJcblxyXG4gICAgICBjb2xvcnMucHVzaCgnI2Y3ZjhmOScpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGRhdGE6IG51bWJlcnMsXHJcbiAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbEl0ZW1zLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICBsYWJlbHMgPSBkYXRhLmRhdGFcclxuICAgICAgLnNsaWNlKDAsIHRoaXMuc2l6ZSlcclxuICAgICAgLm1hcChcclxuICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArIGl0ZW0ubGFiZWwpfSAoJHtpdGVtLmNvdW50fSlgXHJcbiAgICAgICk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSB7XHJcbiAgICAgIGRhdGFzZXRzOiBkYXRhQXJyLFxyXG4gICAgICBsYWJlbHM6IGxhYmVscyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ2RvdWdobnV0JyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBwbHVnaW5zOiB0aGlzLnRvdGFsTnVtYmVyLFxyXG4gICAgICBzaG93Q291bnQ6IHRydWUsXHJcbiAgICAgIGNvdW50U2l6ZTogJzE4cHgnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICB0b29sdGlwczogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDMwLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHBvc2l0aW9uOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbGVtZW50czoge1xyXG4gICAgICAgICAgY2VudGVyOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IGAke1xyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXMgPj0gMTAwMFxyXG4gICAgICAgICAgICAgICAgPyBwYXJzZUZsb2F0KCh0b3RhbEl0ZW1zIC8gMTAwMCkudG9GaXhlZCgyKSkgKyAnSydcclxuICAgICAgICAgICAgICAgIDogdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgY29sb3I6ICcjNTk2OTczJywgLy8gRGVmYXVsdCBpcyAjMDAwMDAwXHJcbiAgICAgICAgICAgIGZvbnRTdHlsZTogJ0FyaWFsJywgLy8gRGVmYXVsdCBpcyBBcmlhbFxyXG4gICAgICAgICAgICBzaWRlUGFkZGluZzogMjAsIC8vIERlZmF1bHQgaXMgMjAgKGFzIGEgcGVyY2VudGFnZSlcclxuICAgICAgICAgICAgbWluRm9udFNpemU6IDIwLCAvLyBEZWZhdWx0IGlzIDIwIChpbiBweCksIHNldCB0byBmYWxzZSBhbmQgdGV4dCB3aWxsIG5vdCB3cmFwLlxyXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAyNSwgLy8gRGVmYXVsdCBpcyAyNSAoaW4gcHgpLCB1c2VkIGZvciB3aGVuIHRleHQgd3JhcHNcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgZG91Z2hudXRDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGNvbnN0IHByb3ZpZGVDb2xvcnMgPSBkYXRhLmNvbG9ycztcclxuICAgIGNvbnN0IHByZWZpeCA9IGRhdGEucHJlZml4O1xyXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGRhdGEuZGF0YS50b3RhbEl0ZW1zO1xyXG4gICAgbGV0IGJhY2tncm91bmRDb2xvciA9IFtdO1xyXG4gICAgbGV0IGRhdGFBcnIgPSBbXTtcclxuICAgIGxldCBsYWJlbHMgPSBbXTtcclxuICAgIC8vZm9yIGFnZ3JlZ2F0aW9uc1xyXG4gICAgbGV0IGl0ZW1Db3VudDogbnVtYmVyID0gMDtcclxuICAgIGxldCBvdGhlckl0ZW1zQ291bnQ6IG51bWJlcjtcclxuICAgIGRhdGEuZGF0YS5kYXRhLnNsaWNlKDAsIHRoaXMuc2l6ZSkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1tpdGVtLmxhYmVsXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChpdGVtLmNvdW50KTtcclxuICAgICAgaXRlbUNvdW50ID0gaXRlbUNvdW50ICsgaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG4gICAgbGFiZWxzID0gZGF0YS5kYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArIGl0ZW0ubGFiZWwpfSAoJHtpdGVtLmNvdW50fSlgO1xyXG4gICAgfSk7XHJcbiAgICAvL2FnZ3JlZ2F0ZSBvdGhlciBkYXRhXHJcbiAgICBvdGhlckl0ZW1zQ291bnQgPSB0b3RhbEl0ZW1zIC0gaXRlbUNvdW50O1xyXG4gICAgaWYgKG90aGVySXRlbXNDb3VudCA+IDApIHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1snb3RoZXInXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChvdGhlckl0ZW1zQ291bnQpO1xyXG4gICAgICBsYWJlbHMucHVzaChcclxuICAgICAgICBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArICdvdGhlcicpfSAoJHtvdGhlckl0ZW1zQ291bnR9KWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNoYXJ0RGF0YSA9IHtcclxuICAgICAgZGF0YXNldHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvcixcclxuICAgICAgICAgIGRhdGE6IGRhdGFBcnIsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgbGFiZWxzOiBsYWJlbHMsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgIHR5cGU6ICdkb3VnaG51dCcsXHJcbiAgICAgIGRhdGE6IGNoYXJ0RGF0YSxcclxuICAgICAgc2hvd0NvdW50OiB0cnVlLFxyXG4gICAgICBjb3VudFNpemU6ICcxOHB4JyxcclxuICAgICAgcGx1Z2luczogdGhpcy50b3RhbE51bWJlcixcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXHJcbiAgICAgICAgdG9vbHRpcHM6IHsgZW5hYmxlZDogdHJ1ZSB9LFxyXG4gICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDMwLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICBwb3NpdGlvbjogdGhpcy5pc0FyYWJpYyA/ICdyaWdodCcgOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbGVtZW50czoge1xyXG4gICAgICAgICAgY2VudGVyOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IGAke1xyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXMgPj0gMTAwMFxyXG4gICAgICAgICAgICAgICAgPyBwYXJzZUZsb2F0KCh0b3RhbEl0ZW1zIC8gMTAwMCkudG9GaXhlZCgyKSkgKyAnSydcclxuICAgICAgICAgICAgICAgIDogdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgY29sb3I6ICcjNTk2OTczJywgLy8gRGVmYXVsdCBpcyAjMDAwMDAwXHJcbiAgICAgICAgICAgIGZvbnRTdHlsZTogJ0FyaWFsJywgLy8gRGVmYXVsdCBpcyBBcmlhbFxyXG4gICAgICAgICAgICBzaWRlUGFkZGluZzogMjAsIC8vIERlZmF1bHQgaXMgMjAgKGFzIGEgcGVyY2VudGFnZSlcclxuICAgICAgICAgICAgbWluRm9udFNpemU6IDIwLCAvLyBEZWZhdWx0IGlzIDIwIChpbiBweCksIHNldCB0byBmYWxzZSBhbmQgdGV4dCB3aWxsIG5vdCB3cmFwLlxyXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAyNSwgLy8gRGVmYXVsdCBpcyAyNSAoaW4gcHgpLCB1c2VkIGZvciB3aGVuIHRleHQgd3JhcHNcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgbGluZUNoYXJ0KGRhdGEpOiBDaGFydERhdGEge1xyXG4gICAgZGF0YSA9IHRoaXMuZ3JvdXBPYmplY3RCeWtleUxpbmUoZGF0YS5kYXRhKTtcclxuICAgIGNvbnNvbGUubG9nKCdjaGFydCBkYXRhJywgZGF0YSk7XHJcbiAgICB0aGlzLmlzQXJhYmljID8gbW9tZW50LmxvY2FsZSgnYXItc2EnKSA6IG1vbWVudC5sb2NhbGUoJ2VuLXVzJyk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSBkYXRhO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ2xpbmUnLFxyXG4gICAgICBkYXRhOiBjaGFydERhdGEsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICBzY2FsZXM6IHtcclxuICAgICAgICAgIHhBeGVzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgICAgYXV0b1NraXA6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBtYXhUaWNrc0xpbWl0OiAxMixcclxuICAgICAgICAgICAgICAgIHNvdXJjZTogJ2xhYmVscycsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0eXBlOiAndGltZScsXHJcbiAgICAgICAgICAgICAgdGltZToge1xyXG4gICAgICAgICAgICAgICAgdW5pdDogJ3dlZWsnLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheUZvcm1hdHM6IHtcclxuICAgICAgICAgICAgICAgICAgd2VlazogJ0RELU1NLXl5eXknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIHlBeGVzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgICAgbWluOiAwLFxyXG4gICAgICAgICAgICAgICAgcHJlY2lzaW9uOiAwLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGl0bGU6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIC8vIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiAxMixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAvLyBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zLCBjaGFydERhdGEgfTtcclxuICB9XHJcblxyXG4gIEdyb3VwZWRCYXJDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGRhdGEgPSB0aGlzLmdyb3VwT2JqZWN0QnlrZXkoZGF0YS5kYXRhKTtcclxuICAgIHRoaXMuaXNBcmFiaWMgPyBtb21lbnQubG9jYWxlKCdhci1zYScpIDogbW9tZW50LmxvY2FsZSgnZW4tdXMnKTtcclxuICAgIGNvbnN0IGNoYXJ0RGF0YSA9IGRhdGE7XHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAnYmFyJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgICAgb3V0bGFiZWxzOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBiYXJWYWx1ZVNwYWNpbmc6IDIwLFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeUF4ZXM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgICBtaW46IDAsXHJcbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IDAsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgICAgIGxhYmVsczoge1xyXG4gICAgICAgICAgICBib3hXaWR0aDogMTIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcnRsOiB0aGlzLmlzQXJhYmljID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHsgb3B0aW9ucywgY2hhcnREYXRhIH07XHJcbiAgfVxyXG5cclxuICBCYXJDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGNvbnN0IHByb3ZpZGVDb2xvcnMgPSBkYXRhLmNvbG9ycztcclxuICAgIGNvbnN0IHByZWZpeCA9IGRhdGEucHJlZml4O1xyXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGRhdGEudG90YWxJdGVtcztcclxuICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSBbXTtcclxuICAgIGxldCBkYXRhQXJyID0gW107XHJcbiAgICBsZXQgbGFiZWxzID0gW107XHJcbiAgICBkYXRhLmRhdGEuZGF0YS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBiYWNrZ3JvdW5kQ29sb3IucHVzaCgnIzJlNjJkZicpO1xyXG4gICAgICBkYXRhQXJyLnB1c2goaXRlbS5jb3VudCk7XHJcbiAgICB9KTtcclxuICAgIGxhYmVscyA9IGRhdGEuZGF0YS5kYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgcmV0dXJuIGAke2l0ZW0ubGFiZWx9YDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgY2hhcnREYXRhID0ge1xyXG4gICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgZGF0YTogZGF0YUFycixcclxuICAgICAgICAgIGJhclBlcmNlbnRhZ2U6IDAuNCxcclxuICAgICAgICAgIGJhclRoaWNrbmVzczogMjQsXHJcbiAgICAgICAgICBtYXhCYXJUaGlja25lc3M6IDMwLFxyXG4gICAgICAgICAgbWluQmFyTGVuZ3RoOiAyLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGxhYmVsczogbGFiZWxzLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAnYmFyJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgICAgb3V0bGFiZWxzOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBiYXJWYWx1ZVNwYWNpbmc6IDIwLFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeUF4ZXM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgICBtaW46IDAsXHJcbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IDAsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgLy8gbGFiZWxzOiB7XHJcbiAgICAgICAgICAvLyAgIGJveFdpZHRoOiAxMixcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICAvLyBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgb3V0bGFiZWxlZFBpZUNoYXJ0KGRhdGEpOiBDaGFydERhdGEge1xyXG4gICAgY29uc3QgcHJvdmlkZUNvbG9ycyA9IGRhdGEuY29sb3JzO1xyXG4gICAgY29uc3QgcHJlZml4ID0gZGF0YS5wcmVmaXg7XHJcbiAgICBjb25zdCB0b3RhbEl0ZW1zID0gZGF0YS50b3RhbEl0ZW1zO1xyXG4gICAgbGV0IGJhY2tncm91bmRDb2xvciA9IFtdO1xyXG4gICAgbGV0IGRhdGFBcnIgPSBbXTtcclxuICAgIGxldCBsYWJlbHMgPSBbXTtcclxuICAgIGRhdGEuZGF0YS5kYXRhLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGJhY2tncm91bmRDb2xvci5wdXNoKHByb3ZpZGVDb2xvcnNbaXRlbS5sYWJlbF0pO1xyXG4gICAgICBkYXRhQXJyLnB1c2goaXRlbS5jb3VudCk7XHJcbiAgICB9KTtcclxuICAgIGxhYmVscyA9IGRhdGEuZGF0YS5kYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgcmV0dXJuIGAke2l0ZW0ubGFiZWx9YDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgY2hhcnREYXRhID0ge1xyXG4gICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgZGF0YTogZGF0YUFycixcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBsYWJlbHM6IGxhYmVscyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ291dGxhYmVsZWRQaWUnLFxyXG4gICAgICBkYXRhOiBjaGFydERhdGEsXHJcblxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgICBwYWRkaW5nOiB7XHJcbiAgICAgICAgICAgIHRvcDogMzMsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgem9vbU91dFBlcmNlbnRhZ2U6IDU1LFxyXG4gICAgICAgIHBsdWdpbnM6IHtcclxuICAgICAgICAgIGxlZ2VuZDogZmFsc2UsXHJcbiAgICAgICAgICBvdXRsYWJlbHM6IHtcclxuICAgICAgICAgICAgbGluZVdpZHRoOiAwLjgsXHJcbiAgICAgICAgICAgIGxpbmVDb2xvcjogJyNiNGJhYzYnLFxyXG4gICAgICAgICAgICB0ZXh0OiAoY29udGV4dCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBpbmRleCA9IGNvbnRleHQuZGF0YUluZGV4O1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNvbnRleHQubGFiZWxzW2luZGV4XTtcclxuICAgICAgICAgICAgICBsZXQgbnVtID0gY29udGV4dC5wZXJjZW50ICogMTAwO1xyXG4gICAgICAgICAgICAgIGxldCB0ZXh0ID0gYCR7Xy50cnVuY2F0ZShsYWJlbCwge1xyXG4gICAgICAgICAgICAgICAgbGVuZ3RoOiAyNCxcclxuICAgICAgICAgICAgICB9KX0gJHtudW0udG9GaXhlZCgwKX0lYDtcclxuXHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRleHQ7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgICAgICBzdHJldGNoOiAyMCxcclxuICAgICAgICAgICAgZm9udDoge1xyXG4gICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBtaW5TaXplOiAxMixcclxuICAgICAgICAgICAgICBtYXhTaXplOiAxOCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgcGllQ2hhcnQoZGF0YSk6IENoYXJ0RGF0YSB7XHJcbiAgICBjb25zdCBwcm92aWRlQ29sb3JzID0gZGF0YS5jb2xvcnM7XHJcbiAgICBjb25zdCBwcmVmaXggPSBkYXRhLnByZWZpeDtcclxuICAgIGNvbnN0IHRvdGFsSXRlbXMgPSBkYXRhLnRvdGFsSXRlbXM7XHJcbiAgICBsZXQgYmFja2dyb3VuZENvbG9yID0gW107XHJcbiAgICBsZXQgZGF0YUFyciA9IFtdO1xyXG4gICAgbGV0IGxhYmVscyA9IFtdO1xyXG4gICAgZGF0YS5kYXRhLmRhdGEuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1tpdGVtLmxhYmVsXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChpdGVtLmNvdW50KTtcclxuICAgIH0pO1xyXG4gICAgbGFiZWxzID0gZGF0YS5kYXRhLmRhdGEubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICByZXR1cm4gYCR7aXRlbS5sYWJlbH1gO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSB7XHJcbiAgICAgIGRhdGFzZXRzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICBkYXRhOiBkYXRhQXJyLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGxhYmVsczogbGFiZWxzLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAncGllJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG5cclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgdGV4dDogcHJlZml4Lmxlbmd0aCA+IDAgPyBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCl9YCA6ICcnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgem9vbU91dFBlcmNlbnRhZ2U6IDU1LFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwbHVnaW5zOiB7XHJcbiAgICAgICAgICBvdXRsYWJlbHM6IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHsgb3B0aW9uczogb3B0aW9ucywgY2hhcnREYXRhOiBjaGFydERhdGEgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ3JvdXBPYmplY3RCeWtleSA9IChkYXRhKSA9PiB7XHJcbiAgICBsZXQgbmFtZUluZGljZXMgPSB7fTtcclxuICAgIGxldCBzdGF0dXNIYXNoID0ge307XHJcbiAgICBsZXQgY2hhcnREYXRhID0geyBsYWJlbHM6IFtdLCBkYXRhc2V0czogW10gfTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoIShpdGVtLmxhYmVsIGluIG5hbWVJbmRpY2VzKSkge1xyXG4gICAgICAgIG5hbWVJbmRpY2VzW2l0ZW0ubGFiZWxdID0gY2hhcnREYXRhLmxhYmVscy5wdXNoKGl0ZW0ubGFiZWwpIC0gMTtcclxuICAgICAgICBjaGFydERhdGEuZGF0YXNldHMuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgICAgYS5kYXRhLnB1c2goMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdGF0dXNIYXNoW2l0ZW0uc3RhdHVzXSkge1xyXG4gICAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdID0ge1xyXG4gICAgICAgICAgbGFiZWw6IGAke3RoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS5zdGF0dXMpfSAoJHtpdGVtLnRvdGFsSXRlbXN9KWAsXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdJbmNvbWluZycgJiYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMDBkY2E1JyxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgLi4uKGl0ZW0uc3RhdHVzID09PSAnT3V0Z29pbmcnICYmIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2ZiYjYyYycsXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGRhdGE6IGNoYXJ0RGF0YS5sYWJlbHMubWFwKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGJhclBlcmNlbnRhZ2U6IDAuNCxcclxuICAgICAgICAgIGJhclRoaWNrbmVzczogMjQsXHJcbiAgICAgICAgICBtYXhCYXJUaGlja25lc3M6IDMwLFxyXG4gICAgICAgICAgbWluQmFyTGVuZ3RoOiAyLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2hhcnREYXRhLmRhdGFzZXRzLnB1c2goc3RhdHVzSGFzaFtpdGVtLnN0YXR1c10pO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdLmRhdGFbbmFtZUluZGljZXNbaXRlbS5sYWJlbF1dID0gaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjaGFydERhdGE7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBncm91cE9iamVjdEJ5a2V5TGluZSA9IChkYXRhKSA9PiB7XHJcbiAgICBkYXRhLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiB7XHJcbiAgICAgIHJldHVybiBtb21lbnQudXRjKGxlZnQuaWQpLmRpZmYobW9tZW50LnV0YyhyaWdodC5pZCkpO1xyXG4gICAgfSk7XHJcbiAgICBsZXQgbmFtZUluZGljZXMgPSB7fTtcclxuICAgIGxldCBzdGF0dXNIYXNoID0ge307XHJcbiAgICBsZXQgY2hhcnREYXRhID0geyBsYWJlbHM6IFtdLCBkYXRhc2V0czogW10gfTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoIShpdGVtLmlkIGluIG5hbWVJbmRpY2VzKSkge1xyXG4gICAgICAgIG5hbWVJbmRpY2VzW2l0ZW0uaWRdID0gY2hhcnREYXRhLmxhYmVscy5wdXNoKGl0ZW0uaWQpIC0gMTtcclxuICAgICAgICBjaGFydERhdGEuZGF0YXNldHMuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgICAgYS5kYXRhLnB1c2goMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdGF0dXNIYXNoW2l0ZW0uc3RhdHVzXSkge1xyXG4gICAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdID0ge1xyXG4gICAgICAgICAgbGFiZWw6IGAke3RoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS5zdGF0dXMpfSAoJHtpdGVtLnRvdGFsSXRlbXN9KWAsXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdJbmNvbWluZycgJiYge1xyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJyMwMGRjYTUnLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdPdXRnb2luZycgJiYge1xyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJyNmYmI2MmMnLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBmYWxzZSxcclxuICAgICAgICAgIGxpbmVUZW5zaW9uOiAwLFxyXG4gICAgICAgICAgZGF0YTogY2hhcnREYXRhLmxhYmVscy5tYXAoKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2hhcnREYXRhLmRhdGFzZXRzLnB1c2goc3RhdHVzSGFzaFtpdGVtLnN0YXR1c10pO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdLmRhdGFbbmFtZUluZGljZXNbaXRlbS5pZF1dID0gaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjaGFydERhdGE7XHJcbiAgfTtcclxuICBcclxufVxyXG4iXX0=
@@ -164,9 +164,9 @@ export class DynamicFieldsRendererComponent {
164
164
  }
165
165
  }
166
166
  }
167
- DynamicFieldsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
168
- DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <ng-container *permission=\"{name: field.permission, entity: field.formControlName}\">\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate}}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input class=\"field-style\" [formControlName]=\"field.formControlName\" \r\n placeholder=\" {{ field.placeholder | translate}}\"/>\r\n </div>\r\n \r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'date'\"> \r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n \r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'dynamic-vocabulary'\">\r\n <app-dynamic-form-vocabulary-item [label]=\"field.label\" [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\" placeholder=\"{{ field.placeholder | translate }}\" [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\" [closeOnSelect]=\"field.closeOnSelect\" [disabled]=\"field.disabled\" [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\" \r\n [formControlName]=\"field.formControlName\">\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n \r\n <!-- <div class=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n \r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'translated-vocabulary'\">\r\n <app-translated-vocabulary-select [label]=\"field.label\" [arbBindLabel]=\"field.arbBindLabel\" [engBindLabel]=\"field.engBindLabel\"\r\n [bindValue]=\"field.bindValue\" placeholder=\"{{ field.placeholder | translate }}\" [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\" [closeOnSelect]=\"field.closeOnSelect\" [hideSelectedItems]=\"field.hideSelectedItems\" [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\" [useFilter]=\"field.useFilter\" [filter]=\"field.filter === 'agencyName' ? agencyNameFilter : (field.filter === 'countryName' ? countryNameFilter : {})\">\r\n </app-translated-vocabulary-select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: [""], components: [{ type: i1.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i2.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i6.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, decorators: [{
167
+ DynamicFieldsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
168
+ DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <ng-container *permission=\"{name: field.permission, entity: field.formControlName}\">\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate}}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input class=\"field-style\" [formControlName]=\"field.formControlName\" \r\n placeholder=\" {{ field.placeholder | translate}}\"/>\r\n </div>\r\n \r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'date'\"> \r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n \r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'dynamic-vocabulary'\">\r\n <app-dynamic-form-vocabulary-item [label]=\"field.label\" [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\" placeholder=\"{{ field.placeholder | translate }}\" [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\" [closeOnSelect]=\"field.closeOnSelect\" [disabled]=\"field.disabled\" [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\" \r\n [formControlName]=\"field.formControlName\">\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n \r\n <!-- <div class=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n \r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'translated-vocabulary'\">\r\n <app-translated-vocabulary-select [label]=\"field.label\" [arbBindLabel]=\"field.arbBindLabel\" [engBindLabel]=\"field.engBindLabel\"\r\n [bindValue]=\"field.bindValue\" placeholder=\"{{ field.placeholder | translate }}\" [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\" [closeOnSelect]=\"field.closeOnSelect\" [hideSelectedItems]=\"field.hideSelectedItems\" [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\" [useFilter]=\"field.useFilter\" [filter]=\"field.filter === 'agencyName' ? agencyNameFilter : (field.filter === 'countryName' ? countryNameFilter : {})\">\r\n </app-translated-vocabulary-select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: [""], components: [{ type: i1.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i2.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i6.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererComponent, decorators: [{
170
170
  type: Component,
171
171
  args: [{
172
172
  selector: 'app-dynamic-fields-renderer',
@@ -185,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
185
185
  }], fields: [{
186
186
  type: Input
187
187
  }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUcsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVE3RSxNQUFNLE9BQU8sOEJBQThCO0lBb0p6QztRQWhKUyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsV0FBTSxHQUFHO1lBQ2hCO2dCQUNFLElBQUksRUFBRyxNQUFNO2dCQUNiLEtBQUssRUFBRyx5QkFBeUI7Z0JBQ2pDLGVBQWUsRUFBRyxTQUFTO2dCQUMzQixXQUFXLEVBQUcseUJBQXlCO2dCQUN2QyxRQUFRLEVBQUcsSUFBSTtnQkFDZixVQUFVLEVBQUcsZUFBZTthQUM3QjtZQUNEO2dCQUNFLElBQUksRUFBRyxNQUFNO2dCQUNiLEtBQUssRUFBRyx3QkFBd0I7Z0JBQ2hDLGVBQWUsRUFBRyxnQkFBZ0I7Z0JBQ2xDLFdBQVcsRUFBRyx3QkFBd0I7Z0JBQ3RDLFFBQVEsRUFBRyxLQUFLO2dCQUNoQixVQUFVLEVBQUcsZUFBZTthQUM3QjtZQUNEO2dCQUNFLElBQUksRUFBRyxNQUFNO2dC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QUFDLENBQUM7YUFDcEQ7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtnQkFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3hFO1NBQ0Y7SUFDSCxDQUFDOzs0SEE5SlUsOEJBQThCO2dIQUE5Qiw4QkFBOEIsMk1DUjNDLHl6SEF5RE07NEZEakRPLDhCQUE4QjtrQkFOMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxXQUFXLEVBQUUsMENBQTBDO29CQUN2RCxTQUFTLEVBQUUsQ0FBQywwQ0FBMEMsQ0FBQztvQkFDdkQsYUFBYSxFQUFHLGlCQUFpQixDQUFDLElBQUk7aUJBQ3ZDOzBFQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1maWVsZHMtcmVuZGVyZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uIDogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkc1JlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBmb3JtO1xyXG4gIEBJbnB1dCgpIGFnZW5jeU5hbWVGaWx0ZXI7XHJcbiAgQElucHV0KCkgY291bnRyeU5hbWVGaWx0ZXI7XHJcbiAgQElucHV0KCkgbW9kZSA9IFwiYWRkXCI7XHJcbiAgQElucHV0KCkgZmllbGRzID0gW1xyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RleHQnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRPQ1VNRU5UX1NVQkpFQ1RcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJzdWJqZWN0XCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJDUkVBVEUuRE9DVU1FTlRfU1VCSkVDVFwiLFxyXG4gICAgICByZXF1aXJlZCA6IHRydWUsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RleHQnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRPQ1VNRU5UX05VTUJFUlwiLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImRvY3VtZW50TnVtYmVyXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJDUkVBVEUuRE9DVU1FTlRfTlVNQkVSXCIsXHJcbiAgICAgIHJlcXVpcmVkIDogZmFsc2UsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZGF0ZScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuRE9DVU1FTlRfREFURVwiLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImdkb2N1bWVudERhdGVcIixcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICdkeW5hbWljLXZvY2FidWxhcnknLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLlNDUkVDWV9MRVZFTFwiLFxyXG4gICAgICBiaW5kTGFiZWwgOiAnbGFiZWwnLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZWQgOiBmYWxzZSxcclxuICAgICAgdm9jYWJ1bGFyeVR5cGUgOiAnVk9DX1NlY3JlY3lMZXZlbCcsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwic2VjcmVjeUxldmVsXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZHluYW1pYy12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5JTVBPUlRBTkNFX0xFVkVMXCIsXHJcbiAgICAgIGJpbmRMYWJlbCA6ICdsYWJlbCcsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiBmYWxzZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBkaXNhYmxlZCA6IGZhbHNlLFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NhYnVsYXJ5VHlwZSA6ICdWT0NfSW1wb3J0YW5jZScsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwiaW1wb3J0YW5jZUxldmVsXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZGVwYXJ0bWVudC1zZWxlY3RvcicsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuREVQQVJUTUVOVF9DT0RFXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwiZGVwYXJ0bWVudENvZGVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcInBsZWFzZSBzZWxlY3QgZGVwYXJ0bWVudFwiLFxyXG4gICAgICBwcF9kZXBhcnRtZW50TmVzdGVkVHJlZSA6IFwiUFBfT1NfRGVwYXJ0bWVudHNcIixcclxuICAgICAgcHBfZGVwYXJ0bWVudFRyZWUgOiBcIlBQX09TX0RlcGFydG1lbnRzXCIsXHJcbiAgICAgIGN1c3RvbVByZWZpeCA6IFwib3NkZXB0XCIsXHJcbiAgICAgIGN1c3RvbVBhcmVudFByb3BlcnR5IDogXCJvc2RlcGFydG1lbnRfcGFyZW50RGVwYXJ0bWVudENvZGVcIixcclxuICAgICAgdXNlQ3VzdG9tQWRkRWRpdEFjdGlvbiA6IHRydWUsXHJcbiAgICAgIHJlcXVpcmVkIDogZmFsc2UsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5BR0VOQ1lfQ0FURUdPUllfQ09ERVwiLFxyXG4gICAgICBhcmJCaW5kTGFiZWwgOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWwgOiBcImxhYmVsX2VuXCIsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiBmYWxzZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NidWxhcnlJZCA6ICdWT0NfQWdlbmN5Q2F0ZWdvcnknLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImFnZW5jeUNhdGVnb3J5Q29kZVwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICB1c2VGaWx0ZXI6IGZhbHNlLFxyXG4gICAgICBmaWx0ZXIgOiAnJyxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0cmFuc2xhdGVkLXZvY2FidWxhcnknLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkFHRU5DWV9OQU1FXCIsXHJcbiAgICAgIGFyYkJpbmRMYWJlbCA6ICdsYWJlbF9hcicsXHJcbiAgICAgIGVuZ0JpbmRMYWJlbCA6IFwibGFiZWxfZW5cIixcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IHRydWUsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0FnZW5jeScsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwiYWdlbmN5TmFtZVwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICB1c2VGaWx0ZXI6IHRydWUsXHJcbiAgICAgIGZpbHRlciA6ICdhZ2VuY3lOYW1lJyxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0cmFuc2xhdGVkLXZvY2FidWxhcnknLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkNPVU5UUllfQ0FURUdPUllfQ09ERVwiLFxyXG4gICAgICBhcmJCaW5kTGFiZWwgOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWwgOiBcImxhYmVsX2VuXCIsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiB0cnVlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIHZvY2J1bGFyeUlkIDogJ1ZPQ19Db3VudHJ5Q2F0ZWdvcnknLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImNvdW50cnlDYXRlZ29yeUNvZGVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiBmYWxzZSxcclxuICAgICAgZmlsdGVyIDogJycsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5DT1VOVFJZX05BTUVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogdHJ1ZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NidWxhcnlJZCA6ICdWT0NfQ291bnRyeScsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwiY291bnRyeU5hbWVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiB0cnVlLFxyXG4gICAgICBmaWx0ZXIgOiAnY291bnRyeU5hbWUnLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RleHQnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLlJFTUFSS1NcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJyZW1hcmtzXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJDUkVBVEUuUkVNQVJLU1wiLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9XHJcbiAgXTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuZmllbGRzLmxlbmd0aCAmJiB0aGlzLmZvcm0pIHtcclxuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gXCJhZGRcIikge1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoXCJzZWNyZWN5TGV2ZWxcIikucGF0Y2hWYWx1ZShcIk5vcm1hbFwiKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09IFwiZWRpdFwiKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmdldChcInNlY3JlY3lMZXZlbFwiKS5wYXRjaFZhbHVlKHRoaXMuZm9ybS52YWx1ZS5zZWNyZWN5TGV2ZWwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCJmb3JtXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVuZGVyZXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLWNvbnRhaW5lclwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHNcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcGVybWlzc2lvbj1cIntuYW1lOiBmaWVsZC5wZXJtaXNzaW9uLCBlbnRpdHk6IGZpZWxkLmZvcm1Db250cm9sTmFtZX1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ3RleHQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXJlZC01MDBcIiAqbmdJZj1cImZpZWxkLnJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmaWVsZC1zdHlsZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiIHt7IGZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlfX1cIi8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkYXRlJ1wiPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8Y3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDwvY3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ2R5bmFtaWMtdm9jYWJ1bGFyeSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0gW2xhYmVsXT1cImZpZWxkLmxhYmVsXCIgW2JpbmRMYWJlbF09XCJmaWVsZC5iaW5kTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtiaW5kVmFsdWVdPVwiZmllbGQuYmluZFZhbHVlXCIgcGxhY2Vob2xkZXI9XCJ7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiIFttdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiZmllbGQuc2VhcmNoYWJsZVwiIFtjbG9zZU9uU2VsZWN0XT1cImZpZWxkLmNsb3NlT25TZWxlY3RcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiZmllbGQuaGlkZVNlbGVjdGVkSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt2b2NhYnVsYXJ5VHlwZV09XCJmaWVsZC52b2NhYnVsYXJ5VHlwZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvYXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ2RlcGFydG1lbnQtc2VsZWN0b3InXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1keW5hbWljLWZvcm0tZGVwYXJ0bWVudFxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcF9kZXBhcnRtZW50TmVzdGVkVHJlZV09XCJmaWVsZC5wcF9kZXBhcnRtZW50TmVzdGVkVHJlZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BwX2RlcGFydG1lbnRUcmVlXT1cImZpZWxkLnBwX2RlcGFydG1lbnRUcmVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3VzdG9tUHJlZml4XT1cImZpZWxkLmN1c3RvbVByZWZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVBhcmVudFByb3BlcnR5XT1cImZpZWxkLmN1c3RvbVBhcmVudFByb3BlcnR5XCJcclxuICAgICAgICAgICAgICAgICAgICBbdXNlQ3VzdG9tQWRkRWRpdEFjdGlvbl09XCJmaWVsZC51c2VDdXN0b21BZGRFZGl0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0tZGVwYXJ0bWVudD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLXRyYW5zbGF0ZWQtdm9jYWJ1bGFyeS1zZWxlY3QgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCIgW2FyYkJpbmRMYWJlbF09XCJmaWVsZC5hcmJCaW5kTGFiZWxcIiBbZW5nQmluZExhYmVsXT1cImZpZWxkLmVuZ0JpbmRMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2JpbmRWYWx1ZV09XCJmaWVsZC5iaW5kVmFsdWVcIiBwbGFjZWhvbGRlcj1cInt7IGZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCIgW211bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2VhcmNoYWJsZV09XCJmaWVsZC5zZWFyY2hhYmxlXCIgW2Nsb3NlT25TZWxlY3RdPVwiZmllbGQuY2xvc2VPblNlbGVjdFwiIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJmaWVsZC5oaWRlU2VsZWN0ZWRJdGVtc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbdm9jYnVsYXJ5SWRdPVwiZmllbGQudm9jYnVsYXJ5SWRcIiBbdXNlRmlsdGVyXT1cImZpZWxkLnVzZUZpbHRlclwiIFtmaWx0ZXJdPVwiZmllbGQuZmlsdGVyID09PSAnYWdlbmN5TmFtZScgPyBhZ2VuY3lOYW1lRmlsdGVyIDogKGZpZWxkLmZpbHRlciA9PT0gJ2NvdW50cnlOYW1lJyA/IGNvdW50cnlOYW1lRmlsdGVyIDoge30pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hcHAtdHJhbnNsYXRlZC12b2NhYnVsYXJ5LXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUcsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVE3RSxNQUFNLE9BQU8sOEJBQThCO0lBb0p6QztRQWhKUyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsV0FBTSxHQUFHO1lBQ2hCO2dCQUNFLElBQUksRUFBRyxNQUFNO2dCQUNiLEtBQUssRUFBRyx5QkFBeUI7Z0JBQ2pDLGVBQWUsRUFBRyxTQUFTO2dCQUMzQixXQUFXLEVBQUcseUJBQXlCO2dCQUN2QyxRQUFRLEVBQUcsSUFBSTtnQkFDZixVQUFVLEVBQUcsZUFBZTthQUM3QjtZQUNEO2dCQUNFLElBQUksRUFBRyxNQUFNO2dCQUNiLEtBQUssRUFBRyx3QkFBd0I7Z0JBQ2hDLGVBQWUsRUFBRyxnQkFBZ0I7Z0JBQ2xDLFdBQVcsRUFBRyx3QkFBd0I7Z0JBQ3RDLFFBQVEsRUFBRyxLQUFLO2dCQUNoQixVQUFVLEVBQUcsZUFBZTthQUM3QjtZQUNEO2dCQUNFLElBQUksRUFBRyxNQUFNO2dC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QUFDLENBQUM7YUFDcEQ7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtnQkFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3hFO1NBQ0Y7SUFDSCxDQUFDOzsySEE5SlUsOEJBQThCOytHQUE5Qiw4QkFBOEIsMk1DUjNDLHl6SEF5RE07MkZEakRPLDhCQUE4QjtrQkFOMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxXQUFXLEVBQUUsMENBQTBDO29CQUN2RCxTQUFTLEVBQUUsQ0FBQywwQ0FBMEMsQ0FBQztvQkFDdkQsYUFBYSxFQUFHLGlCQUFpQixDQUFDLElBQUk7aUJBQ3ZDOzBFQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1maWVsZHMtcmVuZGVyZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uIDogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkc1JlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBmb3JtO1xyXG4gIEBJbnB1dCgpIGFnZW5jeU5hbWVGaWx0ZXI7XHJcbiAgQElucHV0KCkgY291bnRyeU5hbWVGaWx0ZXI7XHJcbiAgQElucHV0KCkgbW9kZSA9IFwiYWRkXCI7XHJcbiAgQElucHV0KCkgZmllbGRzID0gW1xyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RleHQnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRPQ1VNRU5UX1NVQkpFQ1RcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJzdWJqZWN0XCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJDUkVBVEUuRE9DVU1FTlRfU1VCSkVDVFwiLFxyXG4gICAgICByZXF1aXJlZCA6IHRydWUsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RleHQnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRPQ1VNRU5UX05VTUJFUlwiLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImRvY3VtZW50TnVtYmVyXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJDUkVBVEUuRE9DVU1FTlRfTlVNQkVSXCIsXHJcbiAgICAgIHJlcXVpcmVkIDogZmFsc2UsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZGF0ZScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuRE9DVU1FTlRfREFURVwiLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImdkb2N1bWVudERhdGVcIixcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICdkeW5hbWljLXZvY2FidWxhcnknLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLlNDUkVDWV9MRVZFTFwiLFxyXG4gICAgICBiaW5kTGFiZWwgOiAnbGFiZWwnLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZWQgOiBmYWxzZSxcclxuICAgICAgdm9jYWJ1bGFyeVR5cGUgOiAnVk9DX1NlY3JlY3lMZXZlbCcsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwic2VjcmVjeUxldmVsXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZHluYW1pYy12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5JTVBPUlRBTkNFX0xFVkVMXCIsXHJcbiAgICAgIGJpbmRMYWJlbCA6ICdsYWJlbCcsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiBmYWxzZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBkaXNhYmxlZCA6IGZhbHNlLFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NhYnVsYXJ5VHlwZSA6ICdWT0NfSW1wb3J0YW5jZScsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwiaW1wb3J0YW5jZUxldmVsXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZGVwYXJ0bWVudC1zZWxlY3RvcicsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuREVQQVJUTUVOVF9DT0RFXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwiZGVwYXJ0bWVudENvZGVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcInBsZWFzZSBzZWxlY3QgZGVwYXJ0bWVudFwiLFxyXG4gICAgICBwcF9kZXBhcnRtZW50TmVzdGVkVHJlZSA6IFwiUFBfT1NfRGVwYXJ0bWVudHNcIixcclxuICAgICAgcHBfZGVwYXJ0bWVudFRyZWUgOiBcIlBQX09TX0RlcGFydG1lbnRzXCIsXHJcbiAgICAgIGN1c3RvbVByZWZpeCA6IFwib3NkZXB0XCIsXHJcbiAgICAgIGN1c3RvbVBhcmVudFByb3BlcnR5IDogXCJvc2RlcGFydG1lbnRfcGFyZW50RGVwYXJ0bWVudENvZGVcIixcclxuICAgICAgdXNlQ3VzdG9tQWRkRWRpdEFjdGlvbiA6IHRydWUsXHJcbiAgICAgIHJlcXVpcmVkIDogZmFsc2UsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5BR0VOQ1lfQ0FURUdPUllfQ09ERVwiLFxyXG4gICAgICBhcmJCaW5kTGFiZWwgOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWwgOiBcImxhYmVsX2VuXCIsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiBmYWxzZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NidWxhcnlJZCA6ICdWT0NfQWdlbmN5Q2F0ZWdvcnknLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImFnZW5jeUNhdGVnb3J5Q29kZVwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICB1c2VGaWx0ZXI6IGZhbHNlLFxyXG4gICAgICBmaWx0ZXIgOiAnJyxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0cmFuc2xhdGVkLXZvY2FidWxhcnknLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkFHRU5DWV9OQU1FXCIsXHJcbiAgICAgIGFyYkJpbmRMYWJlbCA6ICdsYWJlbF9hcicsXHJcbiAgICAgIGVuZ0JpbmRMYWJlbCA6IFwibGFiZWxfZW5cIixcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IHRydWUsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0FnZW5jeScsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwiYWdlbmN5TmFtZVwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICB1c2VGaWx0ZXI6IHRydWUsXHJcbiAgICAgIGZpbHRlciA6ICdhZ2VuY3lOYW1lJyxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0cmFuc2xhdGVkLXZvY2FidWxhcnknLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkNPVU5UUllfQ0FURUdPUllfQ09ERVwiLFxyXG4gICAgICBhcmJCaW5kTGFiZWwgOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWwgOiBcImxhYmVsX2VuXCIsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiB0cnVlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIHZvY2J1bGFyeUlkIDogJ1ZPQ19Db3VudHJ5Q2F0ZWdvcnknLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImNvdW50cnlDYXRlZ29yeUNvZGVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiBmYWxzZSxcclxuICAgICAgZmlsdGVyIDogJycsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5DT1VOVFJZX05BTUVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogdHJ1ZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NidWxhcnlJZCA6ICdWT0NfQ291bnRyeScsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwiY291bnRyeU5hbWVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiB0cnVlLFxyXG4gICAgICBmaWx0ZXIgOiAnY291bnRyeU5hbWUnLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RleHQnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLlJFTUFSS1NcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJyZW1hcmtzXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJDUkVBVEUuUkVNQVJLU1wiLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9XHJcbiAgXTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuZmllbGRzLmxlbmd0aCAmJiB0aGlzLmZvcm0pIHtcclxuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gXCJhZGRcIikge1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoXCJzZWNyZWN5TGV2ZWxcIikucGF0Y2hWYWx1ZShcIk5vcm1hbFwiKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09IFwiZWRpdFwiKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmdldChcInNlY3JlY3lMZXZlbFwiKS5wYXRjaFZhbHVlKHRoaXMuZm9ybS52YWx1ZS5zZWNyZWN5TGV2ZWwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCJmb3JtXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVuZGVyZXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLWNvbnRhaW5lclwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHNcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcGVybWlzc2lvbj1cIntuYW1lOiBmaWVsZC5wZXJtaXNzaW9uLCBlbnRpdHk6IGZpZWxkLmZvcm1Db250cm9sTmFtZX1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ3RleHQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXJlZC01MDBcIiAqbmdJZj1cImZpZWxkLnJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmaWVsZC1zdHlsZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiIHt7IGZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlfX1cIi8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkYXRlJ1wiPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8Y3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDwvY3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ2R5bmFtaWMtdm9jYWJ1bGFyeSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0gW2xhYmVsXT1cImZpZWxkLmxhYmVsXCIgW2JpbmRMYWJlbF09XCJmaWVsZC5iaW5kTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtiaW5kVmFsdWVdPVwiZmllbGQuYmluZFZhbHVlXCIgcGxhY2Vob2xkZXI9XCJ7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiIFttdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiZmllbGQuc2VhcmNoYWJsZVwiIFtjbG9zZU9uU2VsZWN0XT1cImZpZWxkLmNsb3NlT25TZWxlY3RcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiZmllbGQuaGlkZVNlbGVjdGVkSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt2b2NhYnVsYXJ5VHlwZV09XCJmaWVsZC52b2NhYnVsYXJ5VHlwZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvYXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ2RlcGFydG1lbnQtc2VsZWN0b3InXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1keW5hbWljLWZvcm0tZGVwYXJ0bWVudFxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcF9kZXBhcnRtZW50TmVzdGVkVHJlZV09XCJmaWVsZC5wcF9kZXBhcnRtZW50TmVzdGVkVHJlZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BwX2RlcGFydG1lbnRUcmVlXT1cImZpZWxkLnBwX2RlcGFydG1lbnRUcmVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3VzdG9tUHJlZml4XT1cImZpZWxkLmN1c3RvbVByZWZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVBhcmVudFByb3BlcnR5XT1cImZpZWxkLmN1c3RvbVBhcmVudFByb3BlcnR5XCJcclxuICAgICAgICAgICAgICAgICAgICBbdXNlQ3VzdG9tQWRkRWRpdEFjdGlvbl09XCJmaWVsZC51c2VDdXN0b21BZGRFZGl0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0tZGVwYXJ0bWVudD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLXRyYW5zbGF0ZWQtdm9jYWJ1bGFyeS1zZWxlY3QgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCIgW2FyYkJpbmRMYWJlbF09XCJmaWVsZC5hcmJCaW5kTGFiZWxcIiBbZW5nQmluZExhYmVsXT1cImZpZWxkLmVuZ0JpbmRMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2JpbmRWYWx1ZV09XCJmaWVsZC5iaW5kVmFsdWVcIiBwbGFjZWhvbGRlcj1cInt7IGZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCIgW211bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2VhcmNoYWJsZV09XCJmaWVsZC5zZWFyY2hhYmxlXCIgW2Nsb3NlT25TZWxlY3RdPVwiZmllbGQuY2xvc2VPblNlbGVjdFwiIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJmaWVsZC5oaWRlU2VsZWN0ZWRJdGVtc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbdm9jYnVsYXJ5SWRdPVwiZmllbGQudm9jYnVsYXJ5SWRcIiBbdXNlRmlsdGVyXT1cImZpZWxkLnVzZUZpbHRlclwiIFtmaWx0ZXJdPVwiZmllbGQuZmlsdGVyID09PSAnYWdlbmN5TmFtZScgPyBhZ2VuY3lOYW1lRmlsdGVyIDogKGZpZWxkLmZpbHRlciA9PT0gJ2NvdW50cnlOYW1lJyA/IGNvdW50cnlOYW1lRmlsdGVyIDoge30pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hcHAtdHJhbnNsYXRlZC12b2NhYnVsYXJ5LXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -8,14 +8,14 @@ import { TranslateModule } from '@ngx-translate/core';
8
8
  import * as i0 from "@angular/core";
9
9
  export class DynamicFieldsRendererModule {
10
10
  }
11
- DynamicFieldsRendererModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- DynamicFieldsRendererModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererModule, declarations: [DynamicFieldsRendererComponent], imports: [CommonModule,
11
+ DynamicFieldsRendererModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ DynamicFieldsRendererModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererModule, declarations: [DynamicFieldsRendererComponent], imports: [CommonModule,
13
13
  DynamicFormModule,
14
14
  FormsModule,
15
15
  ReactiveFormsModule,
16
16
  DirectiveModule,
17
17
  TranslateModule], exports: [DynamicFieldsRendererComponent] });
18
- DynamicFieldsRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererModule, imports: [[
18
+ DynamicFieldsRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererModule, imports: [[
19
19
  CommonModule,
20
20
  DynamicFormModule,
21
21
  FormsModule,
@@ -23,7 +23,7 @@ DynamicFieldsRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0
23
23
  DirectiveModule,
24
24
  TranslateModule
25
25
  ]] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererModule, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  declarations: [DynamicFieldsRendererComponent],
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
40
40
  ]
41
41
  }]
42
42
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBa0J0RCxNQUFNLE9BQU8sMkJBQTJCOzt5SEFBM0IsMkJBQTJCOzBIQUEzQiwyQkFBMkIsaUJBYnZCLDhCQUE4QixhQUUzQyxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGVBQWUsYUFHZiw4QkFBOEI7MEhBR3JCLDJCQUEyQixZQVo3QjtZQUNQLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsZUFBZTtTQUNoQjs0RkFLVSwyQkFBMkI7a0JBZHZDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQzlDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFDO3dCQUNOLDhCQUE4QjtxQkFDL0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEeW5hbWljRmllbGRzUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtTW9kdWxlIH0gZnJvbSAnLi4vZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2RpcmVjdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtEeW5hbWljRmllbGRzUmVuZGVyZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIER5bmFtaWNGb3JtTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRGlyZWN0aXZlTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOltcclxuICAgIER5bmFtaWNGaWVsZHNSZW5kZXJlckNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZHNSZW5kZXJlck1vZHVsZSB7IH1cclxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBa0J0RCxNQUFNLE9BQU8sMkJBQTJCOzt3SEFBM0IsMkJBQTJCO3lIQUEzQiwyQkFBMkIsaUJBYnZCLDhCQUE4QixhQUUzQyxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGVBQWUsYUFHZiw4QkFBOEI7eUhBR3JCLDJCQUEyQixZQVo3QjtZQUNQLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsZUFBZTtTQUNoQjsyRkFLVSwyQkFBMkI7a0JBZHZDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQzlDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFDO3dCQUNOLDhCQUE4QjtxQkFDL0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEeW5hbWljRmllbGRzUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtTW9kdWxlIH0gZnJvbSAnLi4vZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2RpcmVjdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtEeW5hbWljRmllbGRzUmVuZGVyZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIER5bmFtaWNGb3JtTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRGlyZWN0aXZlTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOltcclxuICAgIER5bmFtaWNGaWVsZHNSZW5kZXJlckNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZHNSZW5kZXJlck1vZHVsZSB7IH1cclxuIl19
@@ -99,9 +99,9 @@ export class DynamicFilterComponent {
99
99
  this.translationSubscription ? this.translationSubscription.unsubscribe() : null;
100
100
  }
101
101
  }
102
- DynamicFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFilterComponent, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
103
- DynamicFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: { title: "title", filters: "filters", selections: "selections", id: "id", entityType: "entityType", prefix: "prefix", department: "department", componentType: "componentType", customPageProvider: "customPageProvider", config: "config" }, outputs: { onFilterSelected: "onFilterSelected" }, ngImport: i0, template: "<div class=\"aggregation-container\">\r\n <div class=\"search-title\">\r\n {{ prefix + \".\" + title | translate }}\r\n </div>\r\n <ng-container *ngIf=\"filters && componentType != 'colorsCodes'\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 5 || more\" class=\"search-checkbox\">\r\n <!-- <input\r\n [checked]=\"_selections.includes(group.key)\"\r\n type=\"checkbox\"\r\n (change)=\"onFilterSelect(group.key, $event.target.checked)\"\r\n /> -->\r\n <!-- <div class=\"mx-8\">\r\n <span [ngSwitch]=\"EntityType(group.fetchedKey)\">\r\n <span *ngSwitchCase=\"'directoryEntry'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key\r\n | translate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi>\r\n </div> -->\r\n <mat-checkbox\r\n [checked]=\"_selections.includes(group.key)\"\r\n (change)=\"onFilterSelect(group.key, $event.checked)\"\r\n >\r\n <span [ngSwitch]=\"componentType\" class=\"aggregation-label\">\r\n\r\n <span *ngSwitchCase=\"'custom-voc'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'vocabulary'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.key === 'system' ? ('SYSTEM_ADMIN' | translate) : (group.fetchedKey.properties.firstName + \" \" + group.fetchedKey.properties.lastName)\r\n }}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-pp'\">\r\n <lib-custom-pp-viewer [pageProvider]=\"customPageProvider\" [config]=\"config\" [group]=\"group\"></lib-custom-pp-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-document'\">\r\n <lib-custom-document-viewer [pageProvider]=\"customPageProvider\" [group]=\"group\"></lib-custom-document-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'department'\">\r\n <cts-department-viewer\r\n [noStyle]=\"true\"\r\n [value]=\"group.key\"\r\n >\r\n </cts-department-viewer>\r\n <!-- {{group.key}} -->\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-department'\">\r\n {{isArabic ? group.fetchedKey.properties[config.propertyAr] : group.fetchedKey.properties[config.propertyEn]}}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'string'\">\r\n <span>{{group.key}}</span>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi></mat-checkbox\r\n >\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"filters.length > 5\" class=\"more\">\r\n <button class=\"btn-more\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"filters && componentType == 'colorsCodes'\">\r\n <div class=\"flex flex-wrap colorsContainer\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 24 || more\" class=\"color-search-checkbox flex items-end justify-start\" [style.backgroundColor]=\"group.key\"\r\n matTooltip=\"{{'search.colorInOtherPhotos' | translate :{num:group.docCount} }}\" [matTooltipPosition]=\"'above'\" \r\n (click)=\"onFilterSelect(group.key, (_selections.includes(group.key)) ? false : true)\">\r\n <span class=\"checkIcon bi bi-check\" *ngIf=\"_selections.includes(group.key)\" [ngStyle]=\"{color: (isWhiteOrClosetToWhite(group.key)) ? 'black': 'white'}\"></span>\r\n </div>\r\n \r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"filters.length > 20\" class=\"more\">\r\n <button class=\"btn-more mt-1\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n\r\n \r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.mx-8{margin-left:8px;margin-right:8px}.aggregation-container{border-bottom:1px solid #b4bac6;padding-bottom:8px}.aggregation-container .search-title{margin-bottom:6px;margin-top:6px;border-bottom-width:2px;font-weight:700;--tw-text-opacity: 1;color:rgba(70,85,115,var(--tw-text-opacity))}.aggregation-container .search-checkbox{display:flex;align-items:center;margin-bottom:.5rem}.aggregation-container .colorsContainer{overflow:visible;width:max-content;max-width:252px;grid-gap:4px;gap:4px}.aggregation-container .color-search-checkbox{width:28px;height:28px;box-shadow:#00000059 3px 5px 10px;transition:all .2s ease-in-out;cursor:pointer;border-radius:10%/50%}.aggregation-container .color-search-checkbox .checkIcon{width:1rem;height:1rem;min-width:1rem;min-height:1rem;font-size:1rem;line-height:1rem;color:#fff}.aggregation-container .color-search-checkbox:hover{transform:scale(1.3)}.aggregation-container .mat-checkbox-ripple .mat-ripple-element,.aggregation-container .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.aggregation-container .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.aggregation-container mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.aggregation-container mat-checkbox .mat-checkbox-inner-container{transform:scale(1.1)}.aggregation-container .justify-items-center{justify-items:center}.aggregation-container .more{display:flex;justify-content:center}.aggregation-container .btn-more{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgba(217,220,226,var(--tw-border-opacity));background:none;border:none;margin:0;padding:0;color:#00f}.rtl mat-checkbox .mat-checkbox-inner-container{margin-right:0!important;margin-left:8px!important}\n"], components: [{ type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.CutomeVocViewerComponent, selector: "lib-cutome-voc-viewer", inputs: ["type", "group"] }, { type: i4.CustomPpViewerComponent, selector: "lib-custom-pp-viewer", inputs: ["pageProvider", "group", "config"] }, { type: i5.CustomDocumentViewerComponent, selector: "lib-custom-document-viewer", inputs: ["pageProvider", "group"] }, { type: i6.DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i9.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFilterComponent, decorators: [{
102
+ DynamicFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFilterComponent, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
103
+ DynamicFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: { title: "title", filters: "filters", selections: "selections", id: "id", entityType: "entityType", prefix: "prefix", department: "department", componentType: "componentType", customPageProvider: "customPageProvider", config: "config" }, outputs: { onFilterSelected: "onFilterSelected" }, ngImport: i0, template: "<div class=\"aggregation-container\">\r\n <div class=\"search-title\">\r\n {{ prefix + \".\" + title | translate }}\r\n </div>\r\n <ng-container *ngIf=\"filters && componentType != 'colorsCodes'\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 5 || more\" class=\"search-checkbox\">\r\n <!-- <input\r\n [checked]=\"_selections.includes(group.key)\"\r\n type=\"checkbox\"\r\n (change)=\"onFilterSelect(group.key, $event.target.checked)\"\r\n /> -->\r\n <!-- <div class=\"mx-8\">\r\n <span [ngSwitch]=\"EntityType(group.fetchedKey)\">\r\n <span *ngSwitchCase=\"'directoryEntry'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key\r\n | translate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi>\r\n </div> -->\r\n <mat-checkbox\r\n [checked]=\"_selections.includes(group.key)\"\r\n (change)=\"onFilterSelect(group.key, $event.checked)\"\r\n >\r\n <span [ngSwitch]=\"componentType\" class=\"aggregation-label\">\r\n\r\n <span *ngSwitchCase=\"'custom-voc'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'vocabulary'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.key === 'system' ? ('SYSTEM_ADMIN' | translate) : (group.fetchedKey.properties.firstName + \" \" + group.fetchedKey.properties.lastName)\r\n }}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-pp'\">\r\n <lib-custom-pp-viewer [pageProvider]=\"customPageProvider\" [config]=\"config\" [group]=\"group\"></lib-custom-pp-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-document'\">\r\n <lib-custom-document-viewer [pageProvider]=\"customPageProvider\" [group]=\"group\"></lib-custom-document-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'department'\">\r\n <cts-department-viewer\r\n [noStyle]=\"true\"\r\n [value]=\"group.key\"\r\n >\r\n </cts-department-viewer>\r\n <!-- {{group.key}} -->\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-department'\">\r\n {{isArabic ? group.fetchedKey.properties[config.propertyAr] : group.fetchedKey.properties[config.propertyEn]}}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'string'\">\r\n <span>{{group.key}}</span>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi></mat-checkbox\r\n >\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"filters.length > 5\" class=\"more\">\r\n <button class=\"btn-more\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"filters && componentType == 'colorsCodes'\">\r\n <div class=\"flex flex-wrap colorsContainer\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 24 || more\" class=\"color-search-checkbox flex items-end justify-start\" [style.backgroundColor]=\"group.key\"\r\n matTooltip=\"{{'search.colorInOtherPhotos' | translate :{num:group.docCount} }}\" [matTooltipPosition]=\"'above'\" \r\n (click)=\"onFilterSelect(group.key, (_selections.includes(group.key)) ? false : true)\">\r\n <span class=\"checkIcon bi bi-check\" *ngIf=\"_selections.includes(group.key)\" [ngStyle]=\"{color: (isWhiteOrClosetToWhite(group.key)) ? 'black': 'white'}\"></span>\r\n </div>\r\n \r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"filters.length > 20\" class=\"more\">\r\n <button class=\"btn-more mt-1\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n\r\n \r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.mx-8{margin-left:8px;margin-right:8px}.aggregation-container{border-bottom:1px solid #b4bac6;padding-bottom:8px}.aggregation-container .search-title{margin-bottom:6px;margin-top:6px;border-bottom-width:2px;font-weight:700;--tw-text-opacity: 1;color:rgba(70,85,115,var(--tw-text-opacity))}.aggregation-container .search-checkbox{display:flex;align-items:center;margin-bottom:.5rem}.aggregation-container .colorsContainer{overflow:visible;width:-webkit-max-content;width:max-content;max-width:252px;grid-gap:4px;gap:4px}.aggregation-container .color-search-checkbox{width:28px;height:28px;box-shadow:#00000059 3px 5px 10px;transition:all .2s ease-in-out;cursor:pointer;border-radius:10%/50%}.aggregation-container .color-search-checkbox .checkIcon{width:1rem;height:1rem;min-width:1rem;min-height:1rem;font-size:1rem;line-height:1rem;color:#fff}.aggregation-container .color-search-checkbox:hover{transform:scale(1.3)}.aggregation-container .mat-checkbox-ripple .mat-ripple-element,.aggregation-container .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.aggregation-container .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.aggregation-container mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.aggregation-container mat-checkbox .mat-checkbox-inner-container{transform:scale(1.1)}.aggregation-container .justify-items-center{justify-items:center}.aggregation-container .more{display:flex;justify-content:center}.aggregation-container .btn-more{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgba(217,220,226,var(--tw-border-opacity));background:none;border:none;margin:0;padding:0;color:#00f}.rtl mat-checkbox .mat-checkbox-inner-container{margin-right:0!important;margin-left:8px!important}\n"], components: [{ type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.CutomeVocViewerComponent, selector: "lib-cutome-voc-viewer", inputs: ["type", "group"] }, { type: i4.CustomPpViewerComponent, selector: "lib-custom-pp-viewer", inputs: ["pageProvider", "group", "config"] }, { type: i5.CustomDocumentViewerComponent, selector: "lib-custom-document-viewer", inputs: ["pageProvider", "group"] }, { type: i6.DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i9.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFilterComponent, decorators: [{
105
105
  type: Component,
106
106
  args: [{
107
107
  selector: 'cts-dynamic-filter',
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
134
134
  }], config: [{
135
135
  type: Input
136
136
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQUl2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFPSCxNQUFNLE9BQU8sc0JBQXNCO0lBaUNqQyxZQUFvQixrQkFBdUM7UUFBdkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFxQjtRQWhDM0QsNkJBQTZCO1FBQ25CLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEQsaUNBQWlDO1FBRWpDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFpQlgsa0NBQWtDO1FBRWxDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDbkIsa0JBQWEsR0FBRyxRQUFRLENBQUM7UUFHbEMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFFNkMsQ0FBQztJQXRCL0QsaUVBQWlFO0lBQ2pFLElBQ0ksVUFBVSxDQUFDLEdBQUc7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQW9CRCxRQUFRO1FBQ04sSUFBSSxD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LGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDO3lHQUdXLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFLUCxLQUFLO3NCQURKLEtBQUs7O1FBR04sb0JBQW9CO1FBQ3BCLE9BQU87c0JBRk4sS0FBSztnQkFLRixVQUFVO3NCQURiLEtBQUs7Z0JBTU4sRUFBRTtzQkFERCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBEeWFuYW1pYyBmaWx0ZXIgaXMgYSBjb21wb25lbnQgdGhhdCBsZXZlcmFnZXMgTnV4ZW8gRWxhc3RpYyBzZWFyY2ggYWdncmVnYXRpb24gYnVja2V0cyBkYXRhIHRvIGR5bmFtaWNhbGx5XHJcbiAqIGdlbmVyYXRlIGRhdGEgZmlsdGVyaW5nIGNoZWNrYm94IGdyb3VwcyAmIGVtaXRzIGNoZWNrYm94IHNlbGVjdGlvbiBmb3IgY29uc3VtcHRpb25cclxuICogQHRpdGxlXHJcbiAqIER5bmFtaWMgRmlsdGVyXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxjdHMtZHluYW1pYy1maWx0ZXJcclxuICogICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICogICBbZmlsdGVyc109XCJhZ2dyZWdhdGlvbkJ1Y2tldHNcIlxyXG4gKiAgIFtpZF09XCJhZ2dyZWdhdGlvbklkXCJcclxuICogICBbc2VsZWN0aW9uc109XCJhZ2dyZWdhdGlvblNlbGVjdGlvblwiXHJcbiAqICAgW3RpdGxlXT1cImFnZ3JlZ2F0aW9uRmllbGRcIlxyXG4gKiAgIFtwcmVmaXhdPVwiJ3NlYXJjaCdcIlxyXG4gKiAgIChvbkZpbHRlclNlbGVjdGVkKT1cIkZpbHRlclNlbGVjdGVkKCRldmVudClcIj5cclxuICogPC9jdHMtZHluYW1pYy1maWx0ZXI+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy1keW5hbWljLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKiogZW1pdHMgYXJyYXkgb2YgZmlsdGVycyAqL1xyXG4gIEBPdXRwdXQoKSBvbkZpbHRlclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHB1YmxpYyBfc2VsZWN0aW9ucztcclxuXHJcbiAgLyoqIHRpdGxlIG9mIHRoZSBmaWx0ZXJzIGdyb3VwICovXHJcbiAgQElucHV0KClcclxuICB0aXRsZSA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgLyoqIGZpbHRlcnMgZ3JvdXAgKi9cclxuICBmaWx0ZXJzO1xyXG4gIC8qKiBuZXcgZmlsdGVycyBjb21pbmcgZnJvbSB0aGUgYmFja2VuZCBiYXNlZCBvbiB0aGUgc2VsZWN0aW9uICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0aW9ucyh2YWwpIHtcclxuICAgIHRoaXMuX3NlbGVjdGlvbnMgPSB2YWw7XHJcbiAgfVxyXG4gIC8qKiBBZ2dyZWdhdGlvbiBJRCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgaWQ7XHJcbiAgQElucHV0KClcclxuICBlbnRpdHlUeXBlO1xyXG4gIC8qKiBzdGF0aWMgIHBhdGggZm9yIHRyYW5zbGF0aW9uIHBhc3NlZCBmcm9tIG91dCBzaWRlIGFjY29yZGluZyB0byBlYWNoIHBhZ2UgdHJhbnNsYXRpb24gcGF0aCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJlZml4O1xyXG4gIC8qKiBzcGVjaWFsIHR5cGUgZm9yIGRlcGFydG1lbnQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRlcGFydG1lbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb21wb25lbnRUeXBlID0gJ2RlZnVsdCc7XHJcbiAgQElucHV0KCkgY3VzdG9tUGFnZVByb3ZpZGVyIDtcclxuICBASW5wdXQoKSBjb25maWcgO1xyXG4gIG1vcmUgPSBmYWxzZTtcclxuICBpc0FyYWJpYyA9IGZhbHNlO1xyXG4gIHRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uIDogU3Vic2NyaXB0aW9uO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlIDogVHJhbnNsYXRpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYy5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5pc0FyYWJpYyA9IHJlcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvbkZpbHRlclNlbGVjdChjb21taXR0ZWVOYW1lLCBlKSB7XHJcbiAgICBpZiAoZSkge1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25zLnB1c2goY29tbWl0dGVlTmFtZSk7XHJcbiAgICAgIHRoaXMub25GaWx0ZXJTZWxlY3RlZC5lbWl0KHtcclxuICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgIFt0aGlzLmlkXTogSlNPTi5zdHJpbmdpZnkoWy4uLnRoaXMuX3NlbGVjdGlvbnNdKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHRoaXMuZW50aXR5VHlwZSxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25zID0gdGhpcy5fc2VsZWN0aW9ucy5maWx0ZXIoKGUpID0+IHtcclxuICAgICAgICByZXR1cm4gZSAhPSBjb21taXR0ZWVOYW1lO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5vbkZpbHRlclNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgW3RoaXMuaWRdOiBKU09OLnN0cmluZ2lmeShbLi4udGhpcy5fc2VsZWN0aW9uc10pLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdHlwZTogdGhpcy5lbnRpdHlUeXBlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEVudGl0eVR5cGUoZmV0Y2hlZEtleSkge1xyXG4gICAgaWYgKCF0aGlzLmRlcGFydG1lbnQpIHtcclxuICAgICAgY29uc3QgdHlwZU9iaiA9IHR5cGVvZiBmZXRjaGVkS2V5ID09PSAnb2JqZWN0JyAmJiBmZXRjaGVkS2V5ICE9PSBudWxsO1xyXG4gICAgICBpZiAodHlwZU9iaikge1xyXG4gICAgICAgIHJldHVybiBmZXRjaGVkS2V5WydlbnRpdHktdHlwZSddO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfWVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2RlcGFydG1lbnQnXHJcbiAgICB9XHJcbiAgfVxyXG4gIGlzV2hpdGVPckNsb3NldFRvV2hpdGUoY29sb3JDb2RlKSB7XHJcbiAgICAgIGxldCB3aGl0ZUxpbWl0ID0gMjAwOyBcclxuICAgICAgbGV0IHIgPSBwYXJzZUludChcIjB4XCIrY29sb3JDb2RlLnN1YnN0cmluZygxLDMpKTtcclxuICAgICAgbGV0IGcgPSBwYXJzZUludChcIjB4XCIrY29sb3JDb2RlLnN1YnN0cmluZygzLDUpKTtcclxuICAgICAgbGV0IGIgPSBwYXJzZUludChcIjB4XCIrY29sb3JDb2RlLnN1YnN0cmluZyg1LDcpKTtcclxuICAgICAgaWYociA8IHdoaXRlTGltaXQgfHwgYiA8IHdoaXRlTGltaXQgfHwgZyA8IHdoaXRlTGltaXQpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSBcclxuICAgICAgcmV0dXJuIHRydWU7ICAgIFxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpe1xyXG4gICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA/IHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhZ2dyZWdhdGlvbi1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLXRpdGxlXCI+XHJcbiAgICB7eyBwcmVmaXggKyBcIi5cIiArIHRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcnMgJiYgY29tcG9uZW50VHlwZSAhPSAnY29sb3JzQ29kZXMnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJzOyBpbmRleCBhcyBpXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpIDwgNSB8fCBtb3JlXCIgY2xhc3M9XCJzZWFyY2gtY2hlY2tib3hcIj5cclxuICAgICAgICA8IS0tIDxpbnB1dFxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiX3NlbGVjdGlvbnMuaW5jbHVkZXMoZ3JvdXAua2V5KVwiXHJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbHRlclNlbGVjdChncm91cC5rZXksICRldmVudC50YXJnZXQuY2hlY2tlZClcIlxyXG4gICAgICAgIC8+IC0tPlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm14LThcIj5cclxuICAgICAgICAgIDxzcGFuIFtuZ1N3aXRjaF09XCJFbnRpdHlUeXBlKGdyb3VwLmZldGNoZWRLZXkpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGlyZWN0b3J5RW50cnknXCI+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIFwidm9jYWJ1bGFyeS5cIiArIGdyb3VwLmZldGNoZWRLZXkuZGlyZWN0b3J5TmFtZSArIFwiLlwiICsgZ3JvdXAua2V5XHJcbiAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXInXCI+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5maXJzdE5hbWUgK1xyXG4gICAgICAgICAgICAgICAgICBcIiBcIiArXHJcbiAgICAgICAgICAgICAgICAgIGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5sYXN0TmFtZVxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgICB7eyBwcmVmaXggKyBcIi5cIiArIFwiYnVja2V0cy5cIiArIGdyb3VwLmtleSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8YmRpPih7eyBncm91cC5kb2NDb3VudCB9fSk8L2JkaT5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiX3NlbGVjdGlvbnMuaW5jbHVkZXMoZ3JvdXAua2V5KVwiXHJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uRmlsdGVyU2VsZWN0KGdyb3VwLmtleSwgJGV2ZW50LmNoZWNrZWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbbmdTd2l0Y2hdPVwiY29tcG9uZW50VHlwZVwiIGNsYXNzPVwiYWdncmVnYXRpb24tbGFiZWxcIj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY3VzdG9tLXZvYydcIj5cclxuICAgICAgICAgICAgICA8bGliLWN1dG9tZS12b2Mtdmlld2VyIFt0eXBlXT1cImNvbXBvbmVudFR5cGVcIiBbZ3JvdXBdPVwiZ3JvdXBcIj48L2xpYi1jdXRvbWUtdm9jLXZpZXdlcj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIid2b2NhYnVsYXJ5J1wiPlxyXG4gICAgICAgICAgICAgIDxsaWItY3V0b21lLXZvYy12aWV3ZXIgW3R5cGVdPVwiY29tcG9uZW50VHlwZVwiIFtncm91cF09XCJncm91cFwiPjwvbGliLWN1dG9tZS12b2Mtdmlld2VyPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXInXCI+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIGdyb3VwLmtleSA9PT0gJ3N5c3RlbScgPyAoJ1NZU1RFTV9BRE1JTicgfCB0cmFuc2xhdGUpIDogKGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5maXJzdE5hbWUgKyBcIiBcIiArIGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5sYXN0TmFtZSlcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2N1c3RvbS1wcCdcIj5cclxuICAgICAgICAgICAgICA8bGliLWN1c3RvbS1wcC12aWV3ZXIgW3BhZ2VQcm92aWRlcl09XCJjdXN0b21QYWdlUHJvdmlkZXJcIiBbY29uZmlnXT1cImNvbmZpZ1wiIFtncm91cF09XCJncm91cFwiPjwvbGliLWN1c3RvbS1wcC12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY3VzdG9tLWRvY3VtZW50J1wiPlxyXG4gICAgICAgICAgICAgIDxsaWItY3VzdG9tLWRvY3VtZW50LXZpZXdlciBbcGFnZVByb3ZpZGVyXT1cImN1c3RvbVBhZ2VQcm92aWRlclwiIFtncm91cF09XCJncm91cFwiPjwvbGliLWN1c3RvbS1kb2N1bWVudC12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGVwYXJ0bWVudCdcIj5cclxuICAgICAgICAgICAgICA8Y3RzLWRlcGFydG1lbnQtdmlld2VyXHJcbiAgICAgICAgICAgICAgW25vU3R5bGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImdyb3VwLmtleVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jdHMtZGVwYXJ0bWVudC12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwhLS0ge3tncm91cC5rZXl9fSAtLT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidjdXN0b20tZGVwYXJ0bWVudCdcIj5cclxuICAgICAgICAgICAgICB7e2lzQXJhYmljID8gZ3JvdXAuZmV0Y2hlZEtleS5wcm9wZXJ0aWVzW2NvbmZpZy5wcm9wZXJ0eUFyXSA6IGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllc1tjb25maWcucHJvcGVydHlFbl19fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3N0cmluZydcIj5cclxuICAgICAgICAgICAgICA8c3Bhbj57e2dyb3VwLmtleX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAge3sgcHJlZml4ICsgXCIuXCIgKyBcImJ1Y2tldHMuXCIgKyBncm91cC5rZXkgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPGJkaT4oe3sgZ3JvdXAuZG9jQ291bnQgfX0pPC9iZGk+PC9tYXQtY2hlY2tib3hcclxuICAgICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZmlsdGVycy5sZW5ndGggPiA1XCIgY2xhc3M9XCJtb3JlXCI+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tbW9yZVwiIChjbGljayk9XCJtb3JlID0gIW1vcmVcIj5cclxuICAgICAgICB7e1xyXG4gICAgICAgICAgbW9yZVxyXG4gICAgICAgICAgICA/IChwcmVmaXggKyBcIi5cIiArIFwidmlld2xlc3NcIiB8IHRyYW5zbGF0ZSlcclxuICAgICAgICAgICAgOiAocHJlZml4ICsgXCIuXCIgKyBcInZpZXdtb3JlXCIgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcnMgJiYgY29tcG9uZW50VHlwZSA9PSAnY29sb3JzQ29kZXMnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgY29sb3JzQ29udGFpbmVyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcnM7IGluZGV4IGFzIGlcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpIDwgMjQgfHwgbW9yZVwiIGNsYXNzPVwiY29sb3Itc2VhcmNoLWNoZWNrYm94IGZsZXggaXRlbXMtZW5kIGp1c3RpZnktc3RhcnRcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImdyb3VwLmtleVwiXHJcbiAgICAgICAgICBtYXRUb29sdGlwPVwie3snc2VhcmNoLmNvbG9ySW5PdGhlclBob3RvcycgfCB0cmFuc2xhdGUgOntudW06Z3JvdXAuZG9jQ291bnR9IH19XCIgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYWJvdmUnXCIgXHJcbiAgICAgICAgICAoY2xpY2spPVwib25GaWx0ZXJTZWxlY3QoZ3JvdXAua2V5LCAoX3NlbGVjdGlvbnMuaW5jbHVkZXMoZ3JvdXAua2V5KSkgPyBmYWxzZSA6IHRydWUpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tJY29uIGJpIGJpLWNoZWNrXCIgKm5nSWY9XCJfc2VsZWN0aW9ucy5pbmNsdWRlcyhncm91cC5rZXkpXCIgW25nU3R5bGVdPVwie2NvbG9yOiAoaXNXaGl0ZU9yQ2xvc2V0VG9XaGl0ZShncm91cC5rZXkpKSA/ICdibGFjayc6ICd3aGl0ZSd9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZmlsdGVycy5sZW5ndGggPiAyMFwiIGNsYXNzPVwibW9yZVwiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLW1vcmUgbXQtMVwiIChjbGljayk9XCJtb3JlID0gIW1vcmVcIj5cclxuICAgICAgICB7e1xyXG4gICAgICAgICAgbW9yZVxyXG4gICAgICAgICAgICA/IChwcmVmaXggKyBcIi5cIiArIFwidmlld2xlc3NcIiB8IHRyYW5zbGF0ZSlcclxuICAgICAgICAgICAgOiAocHJlZml4ICsgXCIuXCIgKyBcInZpZXdtb3JlXCIgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG5cclxuICBcclxuPC9kaXY+XHJcbiJdfQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQUl2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFPSCxNQUFNLE9BQU8sc0JBQXNCO0lBaUNqQyxZQUFvQixrQkFBdUM7UUFBdkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFxQjtRQWhDM0QsNkJBQTZCO1FBQ25CLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEQsaUNBQWlDO1FBRWpDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFpQlgsa0NBQWtDO1FBRWxDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDbkIsa0JBQWEsR0FBRyxRQUFRLENBQUM7UUFHbEMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFFNkMsQ0FBQztJQXRCL0QsaUVBQWlFO0lBQ2pFLElBQ0ksVUFBVSxDQUFDLEdBQUc7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQW9CRCxRQUFRO1FBQ04sSUFBSSxD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LGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDO3lHQUdXLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFLUCxLQUFLO3NCQURKLEtBQUs7O1FBR04sb0JBQW9CO1FBQ3BCLE9BQU87c0JBRk4sS0FBSztnQkFLRixVQUFVO3NCQURiLEtBQUs7Z0JBTU4sRUFBRTtzQkFERCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBEeWFuYW1pYyBmaWx0ZXIgaXMgYSBjb21wb25lbnQgdGhhdCBsZXZlcmFnZXMgTnV4ZW8gRWxhc3RpYyBzZWFyY2ggYWdncmVnYXRpb24gYnVja2V0cyBkYXRhIHRvIGR5bmFtaWNhbGx5XHJcbiAqIGdlbmVyYXRlIGRhdGEgZmlsdGVyaW5nIGNoZWNrYm94IGdyb3VwcyAmIGVtaXRzIGNoZWNrYm94IHNlbGVjdGlvbiBmb3IgY29uc3VtcHRpb25cclxuICogQHRpdGxlXHJcbiAqIER5bmFtaWMgRmlsdGVyXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxjdHMtZHluYW1pYy1maWx0ZXJcclxuICogICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICogICBbZmlsdGVyc109XCJhZ2dyZWdhdGlvbkJ1Y2tldHNcIlxyXG4gKiAgIFtpZF09XCJhZ2dyZWdhdGlvbklkXCJcclxuICogICBbc2VsZWN0aW9uc109XCJhZ2dyZWdhdGlvblNlbGVjdGlvblwiXHJcbiAqICAgW3RpdGxlXT1cImFnZ3JlZ2F0aW9uRmllbGRcIlxyXG4gKiAgIFtwcmVmaXhdPVwiJ3NlYXJjaCdcIlxyXG4gKiAgIChvbkZpbHRlclNlbGVjdGVkKT1cIkZpbHRlclNlbGVjdGVkKCRldmVudClcIj5cclxuICogPC9jdHMtZHluYW1pYy1maWx0ZXI+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy1keW5hbWljLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKiogZW1pdHMgYXJyYXkgb2YgZmlsdGVycyAqL1xyXG4gIEBPdXRwdXQoKSBvbkZpbHRlclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHB1YmxpYyBfc2VsZWN0aW9ucztcclxuXHJcbiAgLyoqIHRpdGxlIG9mIHRoZSBmaWx0ZXJzIGdyb3VwICovXHJcbiAgQElucHV0KClcclxuICB0aXRsZSA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgLyoqIGZpbHRlcnMgZ3JvdXAgKi9cclxuICBmaWx0ZXJzO1xyXG4gIC8qKiBuZXcgZmlsdGVycyBjb21pbmcgZnJvbSB0aGUgYmFja2VuZCBiYXNlZCBvbiB0aGUgc2VsZWN0aW9uICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0aW9ucyh2YWwpIHtcclxuICAgIHRoaXMuX3NlbGVjdGlvbnMgPSB2YWw7XHJcbiAgfVxyXG4gIC8qKiBBZ2dyZWdhdGlvbiBJRCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgaWQ7XHJcbiAgQElucHV0KClcclxuICBlbnRpdHlUeXBlO1xyXG4gIC8qKiBzdGF0aWMgIHBhdGggZm9yIHRyYW5zbGF0aW9uIHBhc3NlZCBmcm9tIG91dCBzaWRlIGFjY29yZGluZyB0byBlYWNoIHBhZ2UgdHJhbnNsYXRpb24gcGF0aCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJlZml4O1xyXG4gIC8qKiBzcGVjaWFsIHR5cGUgZm9yIGRlcGFydG1lbnQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRlcGFydG1lbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb21wb25lbnRUeXBlID0gJ2RlZnVsdCc7XHJcbiAgQElucHV0KCkgY3VzdG9tUGFnZVByb3ZpZGVyIDtcclxuICBASW5wdXQoKSBjb25maWcgO1xyXG4gIG1vcmUgPSBmYWxzZTtcclxuICBpc0FyYWJpYyA9IGZhbHNlO1xyXG4gIHRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uIDogU3Vic2NyaXB0aW9uO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlIDogVHJhbnNsYXRpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYy5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5pc0FyYWJpYyA9IHJlcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvbkZpbHRlclNlbGVjdChjb21taXR0ZWVOYW1lLCBlKSB7XHJcbiAgICBpZiAoZSkge1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25zLnB1c2goY29tbWl0dGVlTmFtZSk7XHJcbiAgICAgIHRoaXMub25GaWx0ZXJTZWxlY3RlZC5lbWl0KHtcclxuICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgIFt0aGlzLmlkXTogSlNPTi5zdHJpbmdpZnkoWy4uLnRoaXMuX3NlbGVjdGlvbnNdKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHRoaXMuZW50aXR5VHlwZSxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25zID0gdGhpcy5fc2VsZWN0aW9ucy5maWx0ZXIoKGUpID0+IHtcclxuICAgICAgICByZXR1cm4gZSAhPSBjb21taXR0ZWVOYW1lO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5vbkZpbHRlclNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgW3RoaXMuaWRdOiBKU09OLnN0cmluZ2lmeShbLi4udGhpcy5fc2VsZWN0aW9uc10pLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdHlwZTogdGhpcy5lbnRpdHlUeXBlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEVudGl0eVR5cGUoZmV0Y2hlZEtleSkge1xyXG4gICAgaWYgKCF0aGlzLmRlcGFydG1lbnQpIHtcclxuICAgICAgY29uc3QgdHlwZU9iaiA9IHR5cGVvZiBmZXRjaGVkS2V5ID09PSAnb2JqZWN0JyAmJiBmZXRjaGVkS2V5ICE9PSBudWxsO1xyXG4gICAgICBpZiAodHlwZU9iaikge1xyXG4gICAgICAgIHJldHVybiBmZXRjaGVkS2V5WydlbnRpdHktdHlwZSddO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfWVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2RlcGFydG1lbnQnXHJcbiAgICB9XHJcbiAgfVxyXG4gIGlzV2hpdGVPckNsb3NldFRvV2hpdGUoY29sb3JDb2RlKSB7XHJcbiAgICAgIGxldCB3aGl0ZUxpbWl0ID0gMjAwOyBcclxuICAgICAgbGV0IHIgPSBwYXJzZUludChcIjB4XCIrY29sb3JDb2RlLnN1YnN0cmluZygxLDMpKTtcclxuICAgICAgbGV0IGcgPSBwYXJzZUludChcIjB4XCIrY29sb3JDb2RlLnN1YnN0cmluZygzLDUpKTtcclxuICAgICAgbGV0IGIgPSBwYXJzZUludChcIjB4XCIrY29sb3JDb2RlLnN1YnN0cmluZyg1LDcpKTtcclxuICAgICAgaWYociA8IHdoaXRlTGltaXQgfHwgYiA8IHdoaXRlTGltaXQgfHwgZyA8IHdoaXRlTGltaXQpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSBcclxuICAgICAgcmV0dXJuIHRydWU7ICAgIFxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpe1xyXG4gICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA/IHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhZ2dyZWdhdGlvbi1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLXRpdGxlXCI+XHJcbiAgICB7eyBwcmVmaXggKyBcIi5cIiArIHRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcnMgJiYgY29tcG9uZW50VHlwZSAhPSAnY29sb3JzQ29kZXMnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJzOyBpbmRleCBhcyBpXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpIDwgNSB8fCBtb3JlXCIgY2xhc3M9XCJzZWFyY2gtY2hlY2tib3hcIj5cclxuICAgICAgICA8IS0tIDxpbnB1dFxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiX3NlbGVjdGlvbnMuaW5jbHVkZXMoZ3JvdXAua2V5KVwiXHJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbHRlclNlbGVjdChncm91cC5rZXksICRldmVudC50YXJnZXQuY2hlY2tlZClcIlxyXG4gICAgICAgIC8+IC0tPlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm14LThcIj5cclxuICAgICAgICAgIDxzcGFuIFtuZ1N3aXRjaF09XCJFbnRpdHlUeXBlKGdyb3VwLmZldGNoZWRLZXkpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGlyZWN0b3J5RW50cnknXCI+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIFwidm9jYWJ1bGFyeS5cIiArIGdyb3VwLmZldGNoZWRLZXkuZGlyZWN0b3J5TmFtZSArIFwiLlwiICsgZ3JvdXAua2V5XHJcbiAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXInXCI+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5maXJzdE5hbWUgK1xyXG4gICAgICAgICAgICAgICAgICBcIiBcIiArXHJcbiAgICAgICAgICAgICAgICAgIGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5sYXN0TmFtZVxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgICB7eyBwcmVmaXggKyBcIi5cIiArIFwiYnVja2V0cy5cIiArIGdyb3VwLmtleSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8YmRpPih7eyBncm91cC5kb2NDb3VudCB9fSk8L2JkaT5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiX3NlbGVjdGlvbnMuaW5jbHVkZXMoZ3JvdXAua2V5KVwiXHJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uRmlsdGVyU2VsZWN0KGdyb3VwLmtleSwgJGV2ZW50LmNoZWNrZWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbbmdTd2l0Y2hdPVwiY29tcG9uZW50VHlwZVwiIGNsYXNzPVwiYWdncmVnYXRpb24tbGFiZWxcIj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY3VzdG9tLXZvYydcIj5cclxuICAgICAgICAgICAgICA8bGliLWN1dG9tZS12b2Mtdmlld2VyIFt0eXBlXT1cImNvbXBvbmVudFR5cGVcIiBbZ3JvdXBdPVwiZ3JvdXBcIj48L2xpYi1jdXRvbWUtdm9jLXZpZXdlcj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIid2b2NhYnVsYXJ5J1wiPlxyXG4gICAgICAgICAgICAgIDxsaWItY3V0b21lLXZvYy12aWV3ZXIgW3R5cGVdPVwiY29tcG9uZW50VHlwZVwiIFtncm91cF09XCJncm91cFwiPjwvbGliLWN1dG9tZS12b2Mtdmlld2VyPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXInXCI+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIGdyb3VwLmtleSA9PT0gJ3N5c3RlbScgPyAoJ1NZU1RFTV9BRE1JTicgfCB0cmFuc2xhdGUpIDogKGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5maXJzdE5hbWUgKyBcIiBcIiArIGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5sYXN0TmFtZSlcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2N1c3RvbS1wcCdcIj5cclxuICAgICAgICAgICAgICA8bGliLWN1c3RvbS1wcC12aWV3ZXIgW3BhZ2VQcm92aWRlcl09XCJjdXN0b21QYWdlUHJvdmlkZXJcIiBbY29uZmlnXT1cImNvbmZpZ1wiIFtncm91cF09XCJncm91cFwiPjwvbGliLWN1c3RvbS1wcC12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY3VzdG9tLWRvY3VtZW50J1wiPlxyXG4gICAgICAgICAgICAgIDxsaWItY3VzdG9tLWRvY3VtZW50LXZpZXdlciBbcGFnZVByb3ZpZGVyXT1cImN1c3RvbVBhZ2VQcm92aWRlclwiIFtncm91cF09XCJncm91cFwiPjwvbGliLWN1c3RvbS1kb2N1bWVudC12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGVwYXJ0bWVudCdcIj5cclxuICAgICAgICAgICAgICA8Y3RzLWRlcGFydG1lbnQtdmlld2VyXHJcbiAgICAgICAgICAgICAgW25vU3R5bGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImdyb3VwLmtleVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jdHMtZGVwYXJ0bWVudC12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwhLS0ge3tncm91cC5rZXl9fSAtLT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidjdXN0b20tZGVwYXJ0bWVudCdcIj5cclxuICAgICAgICAgICAgICB7e2lzQXJhYmljID8gZ3JvdXAuZmV0Y2hlZEtleS5wcm9wZXJ0aWVzW2NvbmZpZy5wcm9wZXJ0eUFyXSA6IGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllc1tjb25maWcucHJvcGVydHlFbl19fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3N0cmluZydcIj5cclxuICAgICAgICAgICAgICA8c3Bhbj57e2dyb3VwLmtleX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAge3sgcHJlZml4ICsgXCIuXCIgKyBcImJ1Y2tldHMuXCIgKyBncm91cC5rZXkgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPGJkaT4oe3sgZ3JvdXAuZG9jQ291bnQgfX0pPC9iZGk+PC9tYXQtY2hlY2tib3hcclxuICAgICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZmlsdGVycy5sZW5ndGggPiA1XCIgY2xhc3M9XCJtb3JlXCI+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tbW9yZVwiIChjbGljayk9XCJtb3JlID0gIW1vcmVcIj5cclxuICAgICAgICB7e1xyXG4gICAgICAgICAgbW9yZVxyXG4gICAgICAgICAgICA/IChwcmVmaXggKyBcIi5cIiArIFwidmlld2xlc3NcIiB8IHRyYW5zbGF0ZSlcclxuICAgICAgICAgICAgOiAocHJlZml4ICsgXCIuXCIgKyBcInZpZXdtb3JlXCIgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcnMgJiYgY29tcG9uZW50VHlwZSA9PSAnY29sb3JzQ29kZXMnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgY29sb3JzQ29udGFpbmVyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcnM7IGluZGV4IGFzIGlcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpIDwgMjQgfHwgbW9yZVwiIGNsYXNzPVwiY29sb3Itc2VhcmNoLWNoZWNrYm94IGZsZXggaXRlbXMtZW5kIGp1c3RpZnktc3RhcnRcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImdyb3VwLmtleVwiXHJcbiAgICAgICAgICBtYXRUb29sdGlwPVwie3snc2VhcmNoLmNvbG9ySW5PdGhlclBob3RvcycgfCB0cmFuc2xhdGUgOntudW06Z3JvdXAuZG9jQ291bnR9IH19XCIgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYWJvdmUnXCIgXHJcbiAgICAgICAgICAoY2xpY2spPVwib25GaWx0ZXJTZWxlY3QoZ3JvdXAua2V5LCAoX3NlbGVjdGlvbnMuaW5jbHVkZXMoZ3JvdXAua2V5KSkgPyBmYWxzZSA6IHRydWUpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tJY29uIGJpIGJpLWNoZWNrXCIgKm5nSWY9XCJfc2VsZWN0aW9ucy5pbmNsdWRlcyhncm91cC5rZXkpXCIgW25nU3R5bGVdPVwie2NvbG9yOiAoaXNXaGl0ZU9yQ2xvc2V0VG9XaGl0ZShncm91cC5rZXkpKSA/ICdibGFjayc6ICd3aGl0ZSd9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZmlsdGVycy5sZW5ndGggPiAyMFwiIGNsYXNzPVwibW9yZVwiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLW1vcmUgbXQtMVwiIChjbGljayk9XCJtb3JlID0gIW1vcmVcIj5cclxuICAgICAgICB7e1xyXG4gICAgICAgICAgbW9yZVxyXG4gICAgICAgICAgICA/IChwcmVmaXggKyBcIi5cIiArIFwidmlld2xlc3NcIiB8IHRyYW5zbGF0ZSlcclxuICAgICAgICAgICAgOiAocHJlZml4ICsgXCIuXCIgKyBcInZpZXdtb3JlXCIgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG5cclxuICBcclxuPC9kaXY+XHJcbiJdfQ==