nuxeo-development-framework 3.4.6 → 3.4.7

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 (253) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1001 -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 +4 -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 +62 -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 +936 -843
  249. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  250. package/lib/components/latest-activity/components/single-activity/single-activity.component.d.ts +74 -0
  251. package/lib/components/pdf-tron/pdftron/pdftron.component.d.ts +6 -2
  252. package/lib/shared/components/no-data/no-data.component.d.ts +2 -1
  253. package/package.json +1 -1
@@ -218,9 +218,9 @@ export class SidepanelComponent {
218
218
  this.onDestroy$.complete();
219
219
  }
220
220
  }
221
- SidepanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SidepanelComponent, deps: [{ token: i1.DatePipe }, { token: i2.UserPreferencesService }, { token: i3.DialogMangmentService }, { token: i4.DynamicFormService }, { token: i5.DocumentsService }, { token: i6.TagsApiService }, { token: i7.TranslationService }, { token: i8.MatDialog }, { token: i9.SharedDocsService }], target: i0.ɵɵFactoryTarget.Component });
222
- SidepanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SidepanelComponent, selector: "app-sidepanel", inputs: { selectedItem: "selectedItem", menuOpen: "menuOpen", sourcePage: "sourcePage", allowAddAndBlock: "allowAddAndBlock" }, outputs: { onCloseSideMenu: "onCloseSideMenu" }, viewQueries: [{ propertyName: "detailsTemplate", first: true, predicate: ["detailsTemplate"], descendants: true, static: true }, { propertyName: "commentsTemplate", first: true, predicate: ["commentsTemplate"], descendants: true, static: true }, { propertyName: "activityTemplate", first: true, predicate: ["activityTemplate"], descendants: true, static: true }, { propertyName: "permissionsTemplate", first: true, predicate: ["permissionsTemplate"], descendants: true, static: true }, { propertyName: "filesTemplate", first: true, predicate: ["filesTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"side-menu-details\" SetRtl>\r\n <div class=\"h-full\" *ngIf=\"selectedItem && showDetails && !sideMenuLoading\">\r\n <div class=\"\">\r\n <div class=\"mb-3 px-5 py-1 w-100 flex border-b-2 items-center\">\r\n <!-- <title-with-icon class=\"-my-1.5\" [context]=\"selectedItem.entity\" [showTitle]=\"false\"></title-with-icon> -->\r\n <app-display-suitable-icon [data]=\"selectedItem\" [size]=\"'40px'\"></app-display-suitable-icon>\r\n\r\n <div class=\"justify-center flex flex-col flex-1 flex-grow-0 w-7/12\" *ngIf=\"!selectedItem.isDirectory\">\r\n <div class=\"text-base text-gray-500 font-bold truncate\"\r\n [title]=\"selectedItem.entity?.properties?.['file:content']?.['name']\"\r\n [alt]=\"selectedItem.entity?.properties?.['file:content']?.['name']\">\r\n {{selectedItem.entity?.properties?.['file:content']?.['name']}}\r\n </div>\r\n <div class=\"text-gray-500 text-sm\">\r\n {{((selectedItem.entity?.properties?.['file:content']?.['length']) / (1024 *\r\n 1024)).toFixed(2) }}\r\n MB\r\n </div>\r\n </div>\r\n <div class=\"\r\n d-flex\r\n items-center\r\n text-base text-gray-500\r\n font-bold\r\n \" *ngIf=\"selectedItem.isDirectory\">\r\n {{ selectedItem?.name }}\r\n </div>\r\n <ng-container *permission=\"{name: 'lockOwnerIfLocked', entity: selectedItem.entity}\">\r\n <mat-icon class=\"text-gray-500 cursor-pointer mx-3\"\r\n *permission=\"{name: 'canUpdate', entity: selectedItem.entity}\"\r\n matTooltip=\"{{ 'FOLDERS.UPDATE_DETAILS' | translate }}\"\r\n (click)=\"openUpdateFromSideMenu()\">edit</mat-icon>\r\n </ng-container>\r\n </div>\r\n <mat-icon class=\"close-icon text-gray-500\" (click)=\"closeDetailsMenu()\"\r\n [matTooltip]=\"'BUTTONS.CLOSE' | translate\">close</mat-icon>\r\n </div>\r\n <div class=\"dynamic-section\">\r\n <div class=\"mx-2 h-full\">\r\n <app-dynamic-tabs [tabs]=\"myTabs\"></app-dynamic-tabs>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"h-full font-bold d-flex justify-center items-center\" *ngIf=\"sideMenuLoading\">\r\n {{ \"loading\" | translate }}\r\n </div>\r\n</div>\r\n\r\n<!-- Comments -->\r\n<ng-template #commentsTemplate>\r\n <div class=\"overflow-auto h-full\">\r\n <app-comments-dashlet [correspondence]=\"sideMenuFileDetails\" [entityId]=\"selectedItem.entity.uid\"\r\n [showaddcomment]=\"true\" [row]=\"false\">\r\n </app-comments-dashlet>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- myLogFile -->\r\n<ng-template #activityTemplate>\r\n <!-- <cts-viewer-log [correspondence]=\"selectedItem.entity\"></cts-viewer-log> -->\r\n <div class=\"h-full mt-3\">\r\n <app-activities-log [documentId]=\"selectedItem.entity.uid\" [documentTitle]=\"selectedItem.entity.title\"\r\n [file]=\"sideMenuFileDetails\"></app-activities-log>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #permissionsTemplate>\r\n <div class=\"h-full overflow-auto px-2 mt-3\">\r\n <app-permissions [sourcePage]=\"sourcePage\"\r\n [allowAddAndBlock]=\"allowAddAndBlock\" [document]=\"sideMenuFileDetails\"\r\n [documentId]=\"selectedItem.entity.uid\"></app-permissions>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Files Tab -->\r\n<ng-template #filesTemplate>\r\n <div class=\"h-full overflow-auto px-2 mt-3\">\r\n <cts-versions [file]=\"selectedItem.entity\"></cts-versions>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Details -->\r\n<ng-template #detailsTemplate>\r\n <div class=\"pb-2 mt-3 h-full px-2 overflow-auto\">\r\n <div class=\"static-data\">\r\n <div class=\"mt-5\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.TITLE_ONLY\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"dc:title\"] }}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.DESCRIPTION_ONLY\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"dc:description\"] }}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.CREATED_AT\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{\r\n dynamicFormData[\"dc:created\"]\r\n | localizedDate: \"dd MMMM yyyy\":(isArabic? 'ar-AR' : 'en-US')\r\n }}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.LAST_MODIFIED\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{\r\n dynamicFormData[\"dc:modified\"]\r\n | localizedDate: \"dd MMMM yyyy\":(isArabic? 'ar-AR' : 'en-US')\r\n }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"super-document-fields\">\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:documentSubject\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DOCUMENT_SUBJECT\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:documentSubject\"] ? dynamicFormData[\"gdoc:documentSubject\"] : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:documentNumber\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DOCUMENT_NUMBER\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:documentNumber\"] ? dynamicFormData[\"gdoc:documentNumber\"] : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:documentReferenceNumber\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DOCUMENT_REF_NUMBER\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\" dir=\"ltr\">\r\n {{ dynamicFormData[\"gdoc:documentReferenceNumber\"] ?\r\n dynamicFormData[\"gdoc:documentReferenceNumber\"] : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:gDocumentDate\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DOCUMENT_DATE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:gDocumentDate\"] ? (dynamicFormData[\"gdoc:gDocumentDate\"] |\r\n localizedDate: \"dd MMMM yyyy\":(isArabic? 'ar-AR' : 'en-US')) : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='(selectedItem.entity.category && selectedItem.entity.category !== {})'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.CATEGORY\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ (selectedItem.entity.category && selectedItem.entity.category !== {}) ?\r\n (isArabic ? selectedItem.entity.category.arabicName : selectedItem.entity.category.englishName)\r\n : '--'}}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\"\r\n *ngIf='(selectedItem.entity.categoryType && selectedItem.entity.categoryType.arabicName)'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.CATEGORY_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ (selectedItem.entity.categoryType && selectedItem.entity.categoryType.arabicName) ?\r\n (isArabic ? selectedItem.entity.categoryType.arabicName :\r\n selectedItem.entity.categoryType.englishName)\r\n : '--'}}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf='(selectedItem.entity.mainTopic && selectedItem.entity.mainTopic.arabicName)'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.MAIN_TOPIC\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ (selectedItem.entity.mainTopic && selectedItem.entity.mainTopic.arabicName) ?\r\n (isArabic ? selectedItem.entity.mainTopic.arabicName :\r\n selectedItem.entity.mainTopic.englishName)\r\n : '--'}}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\"\r\n *ngIf='(selectedItem.entity.documentType && selectedItem.entity.documentType.arabicName)'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DOCUMENT_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ (selectedItem.entity.documentType && selectedItem.entity.documentType.arabicName) ?\r\n (isArabic ? selectedItem.entity.documentType.arabicName :\r\n selectedItem.entity.documentType.englishTitle)\r\n : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:secrecyLevel\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.SCRECY_LEVEL\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ 'vocabulary.VOC_SecrecyLevel.' + dynamicFormData[\"gdoc:secrecyLevel\"] | translate}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:importance\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.IMPORTANCE_LEVEL\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ 'vocabulary.VOC_Importance.' + dynamicFormData[\"gdoc:importance\"] | translate}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='selectedItem.entity.department'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DEPARTMENT_NAME\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ selectedItem.entity.department ?\r\n (isArabic ? selectedItem.entity.department.arabicName :\r\n selectedItem.entity.department.englishName)\r\n : '--'}}\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:departmentCode\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DEPARTMENT_CODE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:departmentCode\"] ? dynamicFormData[\"gdoc:departmentCode\"] : '--'}}\r\n </div>\r\n </div> -->\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:agencyCategoryCode\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.AGENCY_CATEGORY_CODE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:agencyCategoryCode\"] ?\r\n (isArabic ? dynamicFormData[\"gdoc:agencyCategoryCode\"]['properties']['label_ar']\r\n : dynamicFormData[\"gdoc:agencyCategoryCode\"]['properties']['label_en'])\r\n : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:agencyNameCode\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.AGENCY_NAME\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:agencyNameCode\"] ?\r\n (isArabic ? dynamicFormData[\"gdoc:agencyNameCode\"]['properties']['label_ar']\r\n : dynamicFormData[\"gdoc:agencyNameCode\"]['properties']['label_en'])\r\n : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:countryCategoryCode\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.COUNTRY_CATEGORY_CODE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:countryCategoryCode\"] ?\r\n (isArabic ? dynamicFormData[\"gdoc:countryCategoryCode\"]['properties']['label_ar']\r\n : dynamicFormData[\"gdoc:countryCategoryCode\"]['properties']['label_en'])\r\n : '--'}}\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:countryCode\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.COUNTRY_NAME\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:countryCode\"] ?\r\n (isArabic ? dynamicFormData[\"gdoc:countryCode\"]['properties']['label_ar']\r\n : dynamicFormData[\"gdoc:countryCode\"]['properties']['label_en'])\r\n : '--'}}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:remarks\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.REMARKS\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:remarks\"] ? dynamicFormData[\"gdoc:remarks\"] : '--'}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.BY\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm d-flex\">\r\n <div class=\"d-flex items-center bg-gray-100 rounded-xl\">\r\n <app-user [user]=\"dynamicFormData['dc:creator']\"></app-user>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"dynamicFormData['dc:contributors'].length > 0\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.CONTRUBITORS\" | translate }}\r\n </div>\r\n <div class=\"d-flex flex-wrap\">\r\n <div class=\"d-flex items-center bg-gray-100 rounded-xl mb-2\"\r\n *ngFor=\"let user of dynamicFormData['dc:contributors']\">\r\n <app-user [user]=\"user\"></app-user>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"sharedListUser.length > 0\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{\"share.shareWith\" | translate}}\r\n </div>\r\n <div class=\"d-flex flex-wrap\">\r\n <div class=\"d-flex items-center bg-gray-100 rounded-xl mb-2\" *ngFor=\"let user of sharedListUser\">\r\n <app-user [user]=\"user\"></app-user>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-5\" *ngIf=\"dynamicForm && dynamicFormData\">\r\n <app-multiple-dynamic-form-viewer [form]=\"dynamicForm\"\r\n [data]=\"dynamicFormData\"></app-multiple-dynamic-form-viewer>\r\n </div>\r\n <div class=\"tags-wrappers relative px-0 py-3\">\r\n <cts-correspondence-tags [correspondence]=\"sideMenuFileDetails\" [customClass]=\"'tags-dms-wrapper'\"\r\n [useParams]=\"true\" [addCustomApiName]=\"'Services.TagDocument'\"\r\n [deleteCustomApiName]=\"'Services.UntagDocument'\">\r\n </cts-correspondence-tags>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [""], components: [{ type: i10.DisplaySuitableIconComponent, selector: "app-display-suitable-icon", inputs: ["data", "size", "dataType", "archive"] }, { type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i12.DynamicTabsComponent, selector: "app-dynamic-tabs", inputs: ["tabs", "selectedIndex"] }, { type: i13.CommentsDashletComponent, selector: "app-comments-dashlet", inputs: ["entityId", "correspondence", "row", "showaddcomment", "showCommentActions"] }, { type: i14.ActivitiesLogComponent, selector: "app-activities-log", inputs: ["documentId", "file", "documentTitle"], outputs: ["success"] }, { type: i15.PermissionsComponent, selector: "app-permissions", inputs: ["documentId", "document", "allowAddAndBlock", "sourcePage"] }, { type: i16.VersionsComponent, selector: "cts-versions", inputs: ["selectedVersion", "file", "actions"], outputs: ["handleActions"] }, { type: i17.UserComponent, selector: "app-user", inputs: ["user", "type", "textColor"] }, { type: i18.MultipleDynamicFormViewerComponent, selector: "app-multiple-dynamic-form-viewer", inputs: ["form", "data"] }, { type: i19.CorrespondenceTagsComponent, selector: "cts-correspondence-tags", inputs: ["alwaysShowRemoveBtn", "correspondence", "customClass", "addCustomApiName", "deleteCustomApiName", "useParams", "accordionMode", "systemTags", "accordionOpen", "title", "multiple"] }], directives: [{ type: i20.SetRtlDirective, selector: "[SetRtl]" }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i21.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i22.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i23.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i24.TranslatePipe, "localizedDate": i25.LocalizedDatePipe }, encapsulation: i0.ViewEncapsulation.None });
223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SidepanelComponent, decorators: [{
221
+ SidepanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SidepanelComponent, deps: [{ token: i1.DatePipe }, { token: i2.UserPreferencesService }, { token: i3.DialogMangmentService }, { token: i4.DynamicFormService }, { token: i5.DocumentsService }, { token: i6.TagsApiService }, { token: i7.TranslationService }, { token: i8.MatDialog }, { token: i9.SharedDocsService }], target: i0.ɵɵFactoryTarget.Component });
222
+ SidepanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: SidepanelComponent, selector: "app-sidepanel", inputs: { selectedItem: "selectedItem", menuOpen: "menuOpen", sourcePage: "sourcePage", allowAddAndBlock: "allowAddAndBlock" }, outputs: { onCloseSideMenu: "onCloseSideMenu" }, viewQueries: [{ propertyName: "detailsTemplate", first: true, predicate: ["detailsTemplate"], descendants: true, static: true }, { propertyName: "commentsTemplate", first: true, predicate: ["commentsTemplate"], descendants: true, static: true }, { propertyName: "activityTemplate", first: true, predicate: ["activityTemplate"], descendants: true, static: true }, { propertyName: "permissionsTemplate", first: true, predicate: ["permissionsTemplate"], descendants: true, static: true }, { propertyName: "filesTemplate", first: true, predicate: ["filesTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"side-menu-details\" SetRtl>\r\n <div class=\"h-full\" *ngIf=\"selectedItem && showDetails && !sideMenuLoading\">\r\n <div class=\"\">\r\n <div class=\"mb-3 px-5 py-1 w-100 flex border-b-2 items-center\">\r\n <!-- <title-with-icon class=\"-my-1.5\" [context]=\"selectedItem.entity\" [showTitle]=\"false\"></title-with-icon> -->\r\n <app-display-suitable-icon [data]=\"selectedItem\" [size]=\"'40px'\"></app-display-suitable-icon>\r\n\r\n <div class=\"justify-center flex flex-col flex-1 flex-grow-0 w-7/12\" *ngIf=\"!selectedItem.isDirectory\">\r\n <div class=\"text-base text-gray-500 font-bold truncate\"\r\n [title]=\"selectedItem.entity?.properties?.['file:content']?.['name']\"\r\n [alt]=\"selectedItem.entity?.properties?.['file:content']?.['name']\">\r\n {{selectedItem.entity?.properties?.['file:content']?.['name']}}\r\n </div>\r\n <div class=\"text-gray-500 text-sm\">\r\n {{((selectedItem.entity?.properties?.['file:content']?.['length']) / (1024 *\r\n 1024)).toFixed(2) }}\r\n MB\r\n </div>\r\n </div>\r\n <div class=\"\r\n d-flex\r\n items-center\r\n text-base text-gray-500\r\n font-bold\r\n \" *ngIf=\"selectedItem.isDirectory\">\r\n {{ selectedItem?.name }}\r\n </div>\r\n <ng-container *permission=\"{name: 'lockOwnerIfLocked', entity: selectedItem.entity}\">\r\n <mat-icon class=\"text-gray-500 cursor-pointer mx-3\"\r\n *permission=\"{name: 'canUpdate', entity: selectedItem.entity}\"\r\n matTooltip=\"{{ 'FOLDERS.UPDATE_DETAILS' | translate }}\"\r\n (click)=\"openUpdateFromSideMenu()\">edit</mat-icon>\r\n </ng-container>\r\n </div>\r\n <mat-icon class=\"close-icon text-gray-500\" (click)=\"closeDetailsMenu()\"\r\n [matTooltip]=\"'BUTTONS.CLOSE' | translate\">close</mat-icon>\r\n </div>\r\n <div class=\"dynamic-section\">\r\n <div class=\"mx-2 h-full\">\r\n <app-dynamic-tabs [tabs]=\"myTabs\"></app-dynamic-tabs>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"h-full font-bold d-flex justify-center items-center\" *ngIf=\"sideMenuLoading\">\r\n {{ \"loading\" | translate }}\r\n </div>\r\n</div>\r\n\r\n<!-- Comments -->\r\n<ng-template #commentsTemplate>\r\n <div class=\"overflow-auto h-full\">\r\n <app-comments-dashlet [correspondence]=\"sideMenuFileDetails\" [entityId]=\"selectedItem.entity.uid\"\r\n [showaddcomment]=\"true\" [row]=\"false\">\r\n </app-comments-dashlet>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- myLogFile -->\r\n<ng-template #activityTemplate>\r\n <!-- <cts-viewer-log [correspondence]=\"selectedItem.entity\"></cts-viewer-log> -->\r\n <div class=\"h-full mt-3\">\r\n <app-activities-log [documentId]=\"selectedItem.entity.uid\" [documentTitle]=\"selectedItem.entity.title\"\r\n [file]=\"sideMenuFileDetails\"></app-activities-log>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #permissionsTemplate>\r\n <div class=\"h-full overflow-auto px-2 mt-3\">\r\n <app-permissions [sourcePage]=\"sourcePage\"\r\n [allowAddAndBlock]=\"allowAddAndBlock\" [document]=\"sideMenuFileDetails\"\r\n [documentId]=\"selectedItem.entity.uid\"></app-permissions>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Files Tab -->\r\n<ng-template #filesTemplate>\r\n <div class=\"h-full overflow-auto px-2 mt-3\">\r\n <cts-versions [file]=\"selectedItem.entity\"></cts-versions>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Details -->\r\n<ng-template #detailsTemplate>\r\n <div class=\"pb-2 mt-3 h-full px-2 overflow-auto\">\r\n <div class=\"static-data\">\r\n <div class=\"mt-5\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.TITLE_ONLY\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"dc:title\"] }}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.DESCRIPTION_ONLY\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"dc:description\"] }}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.CREATED_AT\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{\r\n dynamicFormData[\"dc:created\"]\r\n | localizedDate: \"dd MMMM yyyy\":(isArabic? 'ar-AR' : 'en-US')\r\n }}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.LAST_MODIFIED\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{\r\n dynamicFormData[\"dc:modified\"]\r\n | localizedDate: \"dd MMMM yyyy\":(isArabic? 'ar-AR' : 'en-US')\r\n }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"super-document-fields\">\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:documentSubject\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DOCUMENT_SUBJECT\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:documentSubject\"] ? dynamicFormData[\"gdoc:documentSubject\"] : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:documentNumber\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DOCUMENT_NUMBER\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:documentNumber\"] ? dynamicFormData[\"gdoc:documentNumber\"] : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:documentReferenceNumber\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DOCUMENT_REF_NUMBER\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\" dir=\"ltr\">\r\n {{ dynamicFormData[\"gdoc:documentReferenceNumber\"] ?\r\n dynamicFormData[\"gdoc:documentReferenceNumber\"] : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:gDocumentDate\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DOCUMENT_DATE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:gDocumentDate\"] ? (dynamicFormData[\"gdoc:gDocumentDate\"] |\r\n localizedDate: \"dd MMMM yyyy\":(isArabic? 'ar-AR' : 'en-US')) : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='(selectedItem.entity.category && selectedItem.entity.category !== {})'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.CATEGORY\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ (selectedItem.entity.category && selectedItem.entity.category !== {}) ?\r\n (isArabic ? selectedItem.entity.category.arabicName : selectedItem.entity.category.englishName)\r\n : '--'}}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\"\r\n *ngIf='(selectedItem.entity.categoryType && selectedItem.entity.categoryType.arabicName)'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.CATEGORY_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ (selectedItem.entity.categoryType && selectedItem.entity.categoryType.arabicName) ?\r\n (isArabic ? selectedItem.entity.categoryType.arabicName :\r\n selectedItem.entity.categoryType.englishName)\r\n : '--'}}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf='(selectedItem.entity.mainTopic && selectedItem.entity.mainTopic.arabicName)'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.MAIN_TOPIC\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ (selectedItem.entity.mainTopic && selectedItem.entity.mainTopic.arabicName) ?\r\n (isArabic ? selectedItem.entity.mainTopic.arabicName :\r\n selectedItem.entity.mainTopic.englishName)\r\n : '--'}}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\"\r\n *ngIf='(selectedItem.entity.documentType && selectedItem.entity.documentType.arabicName)'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DOCUMENT_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ (selectedItem.entity.documentType && selectedItem.entity.documentType.arabicName) ?\r\n (isArabic ? selectedItem.entity.documentType.arabicName :\r\n selectedItem.entity.documentType.englishTitle)\r\n : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:secrecyLevel\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.SCRECY_LEVEL\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ 'vocabulary.VOC_SecrecyLevel.' + dynamicFormData[\"gdoc:secrecyLevel\"] | translate}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:importance\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.IMPORTANCE_LEVEL\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ 'vocabulary.VOC_Importance.' + dynamicFormData[\"gdoc:importance\"] | translate}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='selectedItem.entity.department'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DEPARTMENT_NAME\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ selectedItem.entity.department ?\r\n (isArabic ? selectedItem.entity.department.arabicName :\r\n selectedItem.entity.department.englishName)\r\n : '--'}}\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:departmentCode\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.DEPARTMENT_CODE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:departmentCode\"] ? dynamicFormData[\"gdoc:departmentCode\"] : '--'}}\r\n </div>\r\n </div> -->\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:agencyCategoryCode\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.AGENCY_CATEGORY_CODE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:agencyCategoryCode\"] ?\r\n (isArabic ? dynamicFormData[\"gdoc:agencyCategoryCode\"]['properties']['label_ar']\r\n : dynamicFormData[\"gdoc:agencyCategoryCode\"]['properties']['label_en'])\r\n : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:agencyNameCode\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.AGENCY_NAME\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:agencyNameCode\"] ?\r\n (isArabic ? dynamicFormData[\"gdoc:agencyNameCode\"]['properties']['label_ar']\r\n : dynamicFormData[\"gdoc:agencyNameCode\"]['properties']['label_en'])\r\n : '--'}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:countryCategoryCode\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.COUNTRY_CATEGORY_CODE\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:countryCategoryCode\"] ?\r\n (isArabic ? dynamicFormData[\"gdoc:countryCategoryCode\"]['properties']['label_ar']\r\n : dynamicFormData[\"gdoc:countryCategoryCode\"]['properties']['label_en'])\r\n : '--'}}\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:countryCode\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.COUNTRY_NAME\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:countryCode\"] ?\r\n (isArabic ? dynamicFormData[\"gdoc:countryCode\"]['properties']['label_ar']\r\n : dynamicFormData[\"gdoc:countryCode\"]['properties']['label_en'])\r\n : '--'}}\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf='dynamicFormData[\"gdoc:remarks\"]'>\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"CREATE.REMARKS\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm\">\r\n {{ dynamicFormData[\"gdoc:remarks\"] ? dynamicFormData[\"gdoc:remarks\"] : '--'}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.BY\" | translate }}\r\n </div>\r\n <div class=\"text-gray-900 text-sm d-flex\">\r\n <div class=\"d-flex items-center bg-gray-100 rounded-xl\">\r\n <app-user [user]=\"dynamicFormData['dc:creator']\"></app-user>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"dynamicFormData['dc:contributors'].length > 0\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{ \"FOLDERS.CONTRUBITORS\" | translate }}\r\n </div>\r\n <div class=\"d-flex flex-wrap\">\r\n <div class=\"d-flex items-center bg-gray-100 rounded-xl mb-2\"\r\n *ngFor=\"let user of dynamicFormData['dc:contributors']\">\r\n <app-user [user]=\"user\"></app-user>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"sharedListUser.length > 0\">\r\n <div class=\"text-gray-500 font-bold text-base\">\r\n {{\"share.shareWith\" | translate}}\r\n </div>\r\n <div class=\"d-flex flex-wrap\">\r\n <div class=\"d-flex items-center bg-gray-100 rounded-xl mb-2\" *ngFor=\"let user of sharedListUser\">\r\n <app-user [user]=\"user\"></app-user>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-5\" *ngIf=\"dynamicForm && dynamicFormData\">\r\n <app-multiple-dynamic-form-viewer [form]=\"dynamicForm\"\r\n [data]=\"dynamicFormData\"></app-multiple-dynamic-form-viewer>\r\n </div>\r\n <div class=\"tags-wrappers relative px-0 py-3\">\r\n <cts-correspondence-tags [correspondence]=\"sideMenuFileDetails\" [customClass]=\"'tags-dms-wrapper'\"\r\n [useParams]=\"true\" [addCustomApiName]=\"'Services.TagDocument'\"\r\n [deleteCustomApiName]=\"'Services.UntagDocument'\">\r\n </cts-correspondence-tags>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [""], components: [{ type: i10.DisplaySuitableIconComponent, selector: "app-display-suitable-icon", inputs: ["data", "size", "dataType", "archive"] }, { type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i12.DynamicTabsComponent, selector: "app-dynamic-tabs", inputs: ["tabs", "selectedIndex"] }, { type: i13.CommentsDashletComponent, selector: "app-comments-dashlet", inputs: ["entityId", "correspondence", "row", "showaddcomment", "showCommentActions"] }, { type: i14.ActivitiesLogComponent, selector: "app-activities-log", inputs: ["documentId", "file", "documentTitle"], outputs: ["success"] }, { type: i15.PermissionsComponent, selector: "app-permissions", inputs: ["documentId", "document", "allowAddAndBlock", "sourcePage"] }, { type: i16.VersionsComponent, selector: "cts-versions", inputs: ["selectedVersion", "file", "actions"], outputs: ["handleActions"] }, { type: i17.UserComponent, selector: "app-user", inputs: ["user", "type", "textColor"] }, { type: i18.MultipleDynamicFormViewerComponent, selector: "app-multiple-dynamic-form-viewer", inputs: ["form", "data"] }, { type: i19.CorrespondenceTagsComponent, selector: "cts-correspondence-tags", inputs: ["alwaysShowRemoveBtn", "correspondence", "customClass", "addCustomApiName", "deleteCustomApiName", "useParams", "accordionMode", "systemTags", "accordionOpen", "title", "multiple"] }], directives: [{ type: i20.SetRtlDirective, selector: "[SetRtl]" }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i21.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i22.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i23.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i24.TranslatePipe, "localizedDate": i25.LocalizedDatePipe }, encapsulation: i0.ViewEncapsulation.None });
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SidepanelComponent, decorators: [{
224
224
  type: Component,
225
225
  args: [{
226
226
  selector: 'app-sidepanel',
@@ -254,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
254
254
  }], onCloseSideMenu: [{
255
255
  type: Output
256
256
  }] } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9zaWRlcGFuZWwvc2lkZXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9zaWRlcGFuZWwvc2lkZXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBOEIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZLLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSTlFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBMEIsTUFBTSx5REFBeUQsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV3ZILE1BQU0sT0FBTyxrQkFBa0I7SUFtQzdCLFlBQW1CLFFBQWtCLEVBQzNCLHFCQUE2QyxFQUM5QyxxQkFBNEMsRUFDM0Msa0JBQXNDLEVBQ3RDLGVBQWlDLEVBQ2pDLGNBQThCLEVBQzlCLGtCQUFzQyxFQUN0QyxNQUFpQixFQUNqQixNQUF5QjtRQVJoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQzNCLDBCQUFxQixHQUFyQixx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QjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHL0MsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUcvQyxtQkFBbUI7c0JBRGxCLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUdsRCxhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbkMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVwZGF0ZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vdXBkYXRlLW1vZGFsL3VwZGF0ZS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dNYW5nbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZGlhbG9nLW1hbmdtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTaGFyZWREb2NzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy9zaGFyZWQtZG9jcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICdmb3JtaW9qcyc7XHJcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlVmFsdWVzLCBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kb2N1bWVudHMvc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYWdzQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N0cy10YWdzL3NlcnZpY2VzL3RhZ3MtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2lkZXBhbmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZXBhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaWRlcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlcGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQgLCBPbkRlc3Ryb3l7XHJcbiAgQFZpZXdDaGlsZCgnZGV0YWlsc1RlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBkZXRhaWxzVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnY29tbWVudHNUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgY29tbWVudHNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdhY3Rpdml0eVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBhY3Rpdml0eVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ3Blcm1pc3Npb25zVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHBlcm1pc3Npb25zVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnZmlsZXNUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgZmlsZXNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW06IGFueTtcclxuICBASW5wdXQoKSBtZW51T3BlbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNvdXJjZVBhZ2UgPSAnZmlsZXMnO1xyXG4gIEBJbnB1dCgpIGFsbG93QWRkQW5kQmxvY2sgPSB0cnVlO1xyXG4gIHNpZGVNZW51TG9hZGluZyA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBvbkNsb3NlU2lkZU1lbnUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGR5bmFtaWNGb3JtOyAvLyBjb250YWluIGR5bmFtaWMgZm9ybVxyXG4gIGR5bmFtaWNGb3JtRGF0YTsgLy8gY29udGFpbiBhbGwgZmlsZSBkYXRhIGluY2x1ZGluZyBkeW5hbWljIGZvcm0gZGF0YVxyXG4gIHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuICBpc0FyYWJpYyA9IHRydWU7XHJcbiAgc2lkZU1lbnVGaWxlRGV0YWlsczsgLy8gaG9sZCBkYXRhIG9mIGRhY3VtZW50IHRvIGJlIHNob3duIGluIHNpZGUgbWVudSBkZXRhaWxzXHJcbiAgc2hvd0RldGFpbHMgPSBmYWxzZTtcclxuICBteVRhYnMgPSBbXTtcclxuICBtdWx0aVNlbGVjdGVka2V5czogc3RyaW5nW107XHJcbiAgbGFuZ3VhZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICB0YWdzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgc2hhcmVkU3ViOiBTdWJzY3JpcHRpb247XHJcbiAgc2hhcmVkRGF0YSA9IFtdO1xyXG4gIHNoYXJlZExpc3QgPSBbXTtcclxuICBzaGFyZWRMaXN0VXNlciA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVNlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nTWFuZ21lbnRTZXJ2aWNlOiBEaWFsb2dNYW5nbWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGR5bmFtaWNGb3JtU2VydmljZTogRHluYW1pY0Zvcm1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRhZ3NBcGlTZXJ2aWNlOiBUYWdzQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBzaGFyZWQ6IFNoYXJlZERvY3NTZXJ2aWNlLCkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1lbnVPcGVuKSB7XHJcbiAgICAgIHRoaXMub3BlblNpZGVNZW51RGV0YWlscygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm15VGFicyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnRGV0YWlscycsXHJcbiAgICAgICAgaWNvbjogJ3N1YnRpdGxlcycsXHJcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMuZGV0YWlsc1RlbXBsYXRlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdjb21tZW50cycsXHJcbiAgICAgICAgaWNvbjogJ3RleHRzbXMnLFxyXG4gICAgICAgIHRlbXBsYXRlOiB0aGlzLmNvbW1lbnRzVGVtcGxhdGUsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ3Blcm1pc3Npb25zJyxcclxuICAgICAgICBpY29uOiAnbG9jaycsXHJcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMucGVybWlzc2lvbnNUZW1wbGF0ZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnYWN0aXZpdHknLFxyXG4gICAgICAgIGljb246ICdsaXN0X2FsdCcsXHJcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMuYWN0aXZpdHlUZW1wbGF0ZSxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgICBpZiAodGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UpIHtcclxuICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2VcclxuICAgICAgICAuc2VsZWN0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSlcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChsb2NhbGUpID0+IHtcclxuICAgICAgICAgIHRoaXMucnRsRW5hYmxlZCA9IGxvY2FsZSA9PT0gJ2FyJyA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMudGFnc1N1YnNjcmlwdGlvbiA9IHRoaXMudGFnc0FwaVNlcnZpY2UuZ2V0VXBkYXRlZEZpbGUuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcclxuICAgICAgICAgIC5nZXREb2N1bWVudCh0aGlzLnNlbGVjdGVkSXRlbS5lbnRpdHkudWlkKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2lkZU1lbnVGaWxlRGV0YWlscyA9IHJlcztcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYyQuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0FyYWJpYyA9IHJlcztcclxuXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvcGVuVXBkYXRlRnJvbVNpZGVNZW51KCkge1xyXG4gICAgdGhpcy5jbG9zZURldGFpbHNNZW51KCk7XHJcbiAgICB0aGlzLm9wZW5VcGRhdGVNb2RhbCgpO1xyXG4gIH1cclxuXHJcbiAgb3BlblVwZGF0ZU1vZGFsKCkge1xyXG4gICAgdGhpcy5kaWFsb2cub3BlbihVcGRhdGVNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzQwJScsXHJcbiAgICAgIGhlaWdodDogJzcwJScsXHJcbiAgICAgIG1heFdpZHRoOiAnYXV0bycsXHJcbiAgICAgIHBhbmVsQ2xhc3M6ICd3YXRjaGVyLWRpYWxvZy1jb250YWluZXInLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgaWQ6IHRoaXMuc2VsZWN0ZWRJdGVtLmlkLFxyXG4gICAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWRJdGVtLmVudGl0eS50eXBlLFxyXG4gICAgICAgIGNvZGU6IHRoaXMuc2VsZWN0ZWRJdGVtLmVudGl0eS5wcm9wZXJ0aWVzWydnZG9jOmRvY3VtZW50VHlwZUNvZGUnXSA/IHRoaXMuc2VsZWN0ZWRJdGVtLmVudGl0eS5wcm9wZXJ0aWVzWydnZG9jOmRvY3VtZW50VHlwZUNvZGUnXSA6IHRoaXMuc2VsZWN0ZWRJdGVtLmVudGl0eS50eXBlLFxyXG4gICAgICAgIGlzRGlyZWN0b3J5OiB0aGlzLnNlbGVjdGVkSXRlbS5pc0RpcmVjdG9yeSxcclxuICAgICAgfSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tb3BlbiBmaWxlIHNpZGUgbWVudSBkZXRhaWxzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICBjdXN0b21lSGVhZGVyID1cclxuICAgICdsb2NrLGRjOmNyZWF0b3IsZGM6Y29udHJpYnV0b3JzLGdkb2M6Y291bnRyeUNhdGVnb3J5Q29kZSxnZG9jOmNvdW50cnlDb2RlLGdkb2M6YWdlbmN5TmFtZUNvZGUsZ2RvYzphZ2VuY3lDYXRlZ29yeUNvZGUnO1xyXG5cclxuICBvcGVuU2lkZU1lbnVEZXRhaWxzKCkge1xyXG4gICAgdGhpcy5zaWRlTWVudUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5zaWRlTWVudUZpbGVEZXRhaWxzID0ge307XHJcbiAgICB0aGlzLnNoYXJlZExpc3RVc2VyID0gW107XHJcbiAgICAvLyB0aGlzLnNob3dEZXRhaWxzID0gZmFsc2U7IC8vIGlmIGl0IHdhcyBvcGVuIGNsb3NlIGl0IHRoZW4gb3BlbiBpdCBhZ2FpbiB0byBhbGxvdyB0YWJzIHRvIGJlIHJlcmVuZHJlZFxyXG4gICAgdGhpcy5keW5hbWljRm9ybSA9IG51bGw7XHJcbiAgICAvLyBpZiAodGhpcy5zZWxlY3RlZEl0ZW0uaXNEaXJlY3RvcnkgPT09IGZhbHNlKSB7XHJcbiAgICB0aGlzLmR5bmFtaWNGb3JtU2VydmljZVxyXG4gICAgICAuZ2V0RHluYW1pY0Zvcm0odGhpcy5zZWxlY3RlZEl0ZW0uZW50aXR5LnByb3BlcnRpZXNbJ2dkb2M6ZG9jdW1lbnRUeXBlQ29kZSddID8gdGhpcy5zZWxlY3RlZEl0ZW0uZW50aXR5LnByb3BlcnRpZXNbJ2dkb2M6ZG9jdW1lbnRUeXBlQ29kZSddIDogdGhpcy5zZWxlY3RlZEl0ZW0uZW50aXR5LnR5cGUpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzWydjb21wb25lbnRzJ10gJiYgcmVzWydjb21wb25lbnRzJ10ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5keW5hbWljRm9ybSA9IHJlcztcclxuICAgICAgICAgIGxldCBwcmVmaXggPSByZXMucHJlZml4O1xyXG4gICAgICAgICAgVXRpbHMuZWFjaENvbXBvbmVudChyZXMuY29tcG9uZW50cywgKGNvbXApID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbXAudHlwZSA9PT0gJ3VzZXJTZWxlY3RvcicpIHtcclxuICAgICAgICAgICAgICAvLyB0aGlzLnVzZXJTZWxlY3RvcktleXMucHVzaChjb21wLmZpeGVkS2V5KTtcclxuICAgICAgICAgICAgICBsZXQgY29tcFByZWZpeCA9IHByZWZpeFtjb21wLmZpeGVkS2V5XVxyXG4gICAgICAgICAgICAgICAgPyBwcmVmaXhbY29tcC5maXhlZEtleV1cclxuICAgICAgICAgICAgICAgIDogJyc7XHJcbiAgICAgICAgICAgICAgaWYgKGNvbXBQcmVmaXgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tZUhlYWRlciA9XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tZUhlYWRlciArXHJcbiAgICAgICAgICAgICAgICAgICcsJyArXHJcbiAgICAgICAgICAgICAgICAgIGNvbXBQcmVmaXggK1xyXG4gICAgICAgICAgICAgICAgICAnOicgK1xyXG4gICAgICAgICAgICAgICAgICBjb21wLmZpeGVkS2V5O1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbWVIZWFkZXIgPVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbWVIZWFkZXIgKyAnLCcgKyBjb21wLmZpeGVkS2V5O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZVxyXG4gICAgICAgICAgLmdldERvY3VtZW50KHRoaXMuc2VsZWN0ZWRJdGVtLmVudGl0eS51aWQsIHtcclxuICAgICAgICAgICAgJ1gtTlhmZXRjaC1kb2N1bWVudCc6IHRoaXMuY3VzdG9tZUhlYWRlcixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zaWRlTWVudUZpbGVEZXRhaWxzID0gcmVzO1xyXG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNGb3JtRGF0YSA9IHJlcz8ucHJvcGVydGllcztcclxuICAgICAgICAgICAgdGhpcy5zaG93RGV0YWlscyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2lkZU1lbnVMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmdldFNoYXJlc0J5TWUoKTtcclxuXHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIC8vICAgICB0aGlzLnNpZGVNZW51RmlsZURldGFpbHMgPSB0aGlzLnNlbGVjdGVkSXRlbS5lbnRpdHlcclxuICAgIC8vICAgICB0aGlzLnNob3dEZXRhaWxzID0gdHJ1ZVxyXG4gICAgLy8gICB9LCAxMDAwKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIGNsb3NlRGV0YWlsc01lbnUoKSB7XHJcbiAgICB0aGlzLnNob3dEZXRhaWxzID0gZmFsc2U7XHJcbiAgICB0aGlzLnNpZGVNZW51TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5vbkNsb3NlU2lkZU1lbnUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gY2xvc2VEZXRhaWxzU2lkZU1lbnUoZXZlbnQpIHtcclxuICAvLyAgIGlmICghdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlKSB7XHJcbiAgLy8gICAgIGlmIChcclxuICAvLyAgICAgICBldmVudC5pZCAhPT0gJ3NlZV9kZXRhaWxzJyAmJlxyXG4gIC8vICAgICAgICF0aGlzLmNoZWNrRm9yQ2xhc3MoZXZlbnQuY2xhc3NOYW1lKVxyXG4gIC8vICAgICApIHtcclxuICAvLyAgICAgICB0aGlzLnNob3dEZXRhaWxzID0gZmFsc2U7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIGNoZWNrRm9yQ2xhc3MoY2xhc3NOYW1lKSB7XHJcbiAgICBsZXQgY2xhc3NlcyA9IFtcclxuICAgICAgJ2RldGFpbGVkLW1lbnUnLFxyXG4gICAgICAnbmctdGFnLWxhYmVsJyxcclxuICAgICAgJ25nLW9wdGlvbi1sYWJlbCcsXHJcbiAgICAgICduZy1zdGFyLWluc2VydGVkJyxcclxuICAgIF07XHJcbiAgICBsZXQgY2xhc3NGb3VuZGVkID0gZmFsc2U7XHJcbiAgICBjbGFzc2VzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKGl0ZW0pKSB7XHJcbiAgICAgICAgY2xhc3NGb3VuZGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY2xhc3NGb3VuZGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2hhcmVzQnlNZSgpIHtcclxuICAgIHRoaXMuc2hhcmVkU3ViID0gdGhpcy5zaGFyZWQuZ2V0U2hhcmVzQnlNZSh0aGlzLnNlbGVjdGVkSXRlbS5lbnRpdHkudWlkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5zaGFyZWRMaXN0VXNlciA9IHJlcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFnc1N1YnNjcmlwdGlvbiA/IHRoaXMudGFnc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpIDogbnVsbDtcclxuICAgIHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24gPyB0aGlzLmxhbmd1YWdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkgOiBudWxsO1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2lkZS1tZW51LWRldGFpbHNcIiBTZXRSdGw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW0gJiYgc2hvd0RldGFpbHMgJiYgIXNpZGVNZW51TG9hZGluZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgcHgtNSBweS0xIHctMTAwIGZsZXggYm9yZGVyLWItMiBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPHRpdGxlLXdpdGgtaWNvbiBjbGFzcz1cIi1teS0xLjVcIiBbY29udGV4dF09XCJzZWxlY3RlZEl0ZW0uZW50aXR5XCIgW3Nob3dUaXRsZV09XCJmYWxzZVwiPjwvdGl0bGUtd2l0aC1pY29uPiAtLT5cclxuICAgICAgICAgICAgICAgIDxhcHAtZGlzcGxheS1zdWl0YWJsZS1pY29uIFtkYXRhXT1cInNlbGVjdGVkSXRlbVwiIFtzaXplXT1cIic0MHB4J1wiPjwvYXBwLWRpc3BsYXktc3VpdGFibGUtaWNvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwianVzdGlmeS1jZW50ZXIgZmxleCBmbGV4LWNvbCAgIGZsZXgtMSBmbGV4LWdyb3ctMCB3LTcvMTJcIiAqbmdJZj1cIiFzZWxlY3RlZEl0ZW0uaXNEaXJlY3RvcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1iYXNlIHRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRydW5jYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInNlbGVjdGVkSXRlbS5lbnRpdHk/LnByb3BlcnRpZXM/LlsnZmlsZTpjb250ZW50J10/LlsnbmFtZSddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJzZWxlY3RlZEl0ZW0uZW50aXR5Py5wcm9wZXJ0aWVzPy5bJ2ZpbGU6Y29udGVudCddPy5bJ25hbWUnXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e3NlbGVjdGVkSXRlbS5lbnRpdHk/LnByb3BlcnRpZXM/LlsnZmlsZTpjb250ZW50J10/LlsnbmFtZSddfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7KChzZWxlY3RlZEl0ZW0uZW50aXR5Py5wcm9wZXJ0aWVzPy5bJ2ZpbGU6Y29udGVudCddPy5bJ2xlbmd0aCddKSAvICgxMDI0ICpcclxuICAgICAgICAgICAgICAgICAgICAgICAgMTAyNCkpLnRvRml4ZWQoMikgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgTUJcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgZC1mbGV4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy1jZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYmFzZSB0ZXh0LWdyYXktNTAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWJvbGRcclxuICAgICAgICAgICAgICAgICAgICAgXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW0uaXNEaXJlY3RvcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZEl0ZW0/Lm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcGVybWlzc2lvbj1cIntuYW1lOiAnbG9ja093bmVySWZMb2NrZWQnLCBlbnRpdHk6IHNlbGVjdGVkSXRlbS5lbnRpdHl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGV4dC1ncmF5LTUwMCBjdXJzb3ItcG9pbnRlciAgbXgtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpwZXJtaXNzaW9uPVwie25hbWU6ICdjYW5VcGRhdGUnLCBlbnRpdHk6IHNlbGVjdGVkSXRlbS5lbnRpdHl9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdGT0xERVJTLlVQREFURV9ERVRBSUxTJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuVXBkYXRlRnJvbVNpZGVNZW51KClcIj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY2xvc2UtaWNvbiB0ZXh0LWdyYXktNTAwXCIgKGNsaWNrKT1cImNsb3NlRGV0YWlsc01lbnUoKVwiXHJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInQlVUVE9OUy5DTE9TRScgfCB0cmFuc2xhdGVcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiBoLWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy10YWJzIFt0YWJzXT1cIm15VGFic1wiPjwvYXBwLWR5bmFtaWMtdGFicz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJoLWZ1bGwgZm9udC1ib2xkIGQtZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIiAqbmdJZj1cInNpZGVNZW51TG9hZGluZ1wiPlxyXG4gICAgICAgIHt7IFwibG9hZGluZ1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tIENvbW1lbnRzIC0tPlxyXG48bmctdGVtcGxhdGUgI2NvbW1lbnRzVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBoLWZ1bGxcIj5cclxuICAgICAgICA8YXBwLWNvbW1lbnRzLWRhc2hsZXQgW2NvcnJlc3BvbmRlbmNlXT1cInNpZGVNZW51RmlsZURldGFpbHNcIiBbZW50aXR5SWRdPVwic2VsZWN0ZWRJdGVtLmVudGl0eS51aWRcIlxyXG4gICAgICAgICAgICBbc2hvd2FkZGNvbW1lbnRdPVwidHJ1ZVwiIFtyb3ddPVwiZmFsc2VcIj5cclxuICAgICAgICA8L2FwcC1jb21tZW50cy1kYXNobGV0PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIG15TG9nRmlsZSAtLT5cclxuPG5nLXRlbXBsYXRlICNhY3Rpdml0eVRlbXBsYXRlPlxyXG4gICAgPCEtLSA8Y3RzLXZpZXdlci1sb2cgW2NvcnJlc3BvbmRlbmNlXT1cInNlbGVjdGVkSXRlbS5lbnRpdHlcIj48L2N0cy12aWV3ZXItbG9nPiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJoLWZ1bGwgbXQtM1wiPlxyXG4gICAgICAgIDxhcHAtYWN0aXZpdGllcy1sb2cgW2RvY3VtZW50SWRdPVwic2VsZWN0ZWRJdGVtLmVudGl0eS51aWRcIiBbZG9jdW1lbnRUaXRsZV09XCJzZWxlY3RlZEl0ZW0uZW50aXR5LnRpdGxlXCJcclxuICAgICAgICAgICAgW2ZpbGVdPVwic2lkZU1lbnVGaWxlRGV0YWlsc1wiPjwvYXBwLWFjdGl2aXRpZXMtbG9nPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3Blcm1pc3Npb25zVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsIG92ZXJmbG93LWF1dG8gcHgtMiBtdC0zXCI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucyBbc291cmNlUGFnZV09XCJzb3VyY2VQYWdlXCJcclxuICAgICAgICBbYWxsb3dBZGRBbmRCbG9ja109XCJhbGxvd0FkZEFuZEJsb2NrXCIgIFtkb2N1bWVudF09XCJzaWRlTWVudUZpbGVEZXRhaWxzXCJcclxuICAgICAgICAgICAgW2RvY3VtZW50SWRdPVwic2VsZWN0ZWRJdGVtLmVudGl0eS51aWRcIj48L2FwcC1wZXJtaXNzaW9ucz5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGaWxlcyBUYWIgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjZmlsZXNUZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJoLWZ1bGwgb3ZlcmZsb3ctYXV0byBweC0yIG10LTNcIj5cclxuICAgICAgICA8Y3RzLXZlcnNpb25zIFtmaWxlXT1cInNlbGVjdGVkSXRlbS5lbnRpdHlcIj48L2N0cy12ZXJzaW9ucz5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBEZXRhaWxzIC0tPlxyXG48bmctdGVtcGxhdGUgI2RldGFpbHNUZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJwYi0yIG10LTMgaC1mdWxsIHB4LTIgb3ZlcmZsb3ctYXV0b1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0aWMtZGF0YVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IFwiRk9MREVSUy5USVRMRV9PTkxZXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGR5bmFtaWNGb3JtRGF0YVtcImRjOnRpdGxlXCJdIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgXCJGT0xERVJTLkRFU0NSSVBUSU9OX09OTFlcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZHluYW1pY0Zvcm1EYXRhW1wiZGM6ZGVzY3JpcHRpb25cIl0gfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0ZXh0LWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBcIkZPTERFUlMuQ1JFQVRFRF9BVFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgIGR5bmFtaWNGb3JtRGF0YVtcImRjOmNyZWF0ZWRcIl1cclxuICAgICAgICAgICAgICAgICAgICB8IGxvY2FsaXplZERhdGU6IFwiZGQgTU1NTSB5eXl5XCI6KGlzQXJhYmljPyAnYXItQVInIDogJ2VuLVVTJylcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IFwiRk9MREVSUy5MQVNUX01PRElGSUVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgZHluYW1pY0Zvcm1EYXRhW1wiZGM6bW9kaWZpZWRcIl1cclxuICAgICAgICAgICAgICAgICAgICB8IGxvY2FsaXplZERhdGU6IFwiZGQgTU1NTSB5eXl5XCI6KGlzQXJhYmljPyAnYXItQVInIDogJ2VuLVVTJylcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cGVyLWRvY3VtZW50LWZpZWxkc1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpkb2N1bWVudFN1YmplY3RcIl0nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0ZXh0LWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJDUkVBVEUuRE9DVU1FTlRfU1VCSkVDVFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRvY3VtZW50U3ViamVjdFwiXSA/IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6ZG9jdW1lbnRTdWJqZWN0XCJdIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRvY3VtZW50TnVtYmVyXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkRPQ1VNRU5UX05VTUJFUlwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRvY3VtZW50TnVtYmVyXCJdID8gZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpkb2N1bWVudE51bWJlclwiXSA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpkb2N1bWVudFJlZmVyZW5jZU51bWJlclwiXSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5ET0NVTUVOVF9SRUZfTlVNQkVSXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCIgZGlyPVwibHRyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6ZG9jdW1lbnRSZWZlcmVuY2VOdW1iZXJcIl0gP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRvY3VtZW50UmVmZXJlbmNlTnVtYmVyXCJdIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOmdEb2N1bWVudERhdGVcIl0nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0ZXh0LWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJDUkVBVEUuRE9DVU1FTlRfREFURVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmdEb2N1bWVudERhdGVcIl0gPyAoZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpnRG9jdW1lbnREYXRlXCJdIHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxpemVkRGF0ZTogXCJkZCBNTU1NIHl5eXlcIjooaXNBcmFiaWM/ICdhci1BUicgOiAnZW4tVVMnKSkgOiAnLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9JyhzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5ICYmIHNlbGVjdGVkSXRlbS5lbnRpdHkuY2F0ZWdvcnkgIT09IHt9KSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5DQVRFR09SWVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAoc2VsZWN0ZWRJdGVtLmVudGl0eS5jYXRlZ29yeSAmJiBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5ICE9PSB7fSkgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAoaXNBcmFiaWMgPyBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5LmFyYWJpY05hbWUgOiBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5LmVuZ2xpc2hOYW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9JyhzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5VHlwZSAmJiBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5VHlwZS5hcmFiaWNOYW1lKSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5DQVRFR09SWV9UWVBFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IChzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5VHlwZSAmJiBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5VHlwZS5hcmFiaWNOYW1lKSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpc0FyYWJpYyA/IHNlbGVjdGVkSXRlbS5lbnRpdHkuY2F0ZWdvcnlUeXBlLmFyYWJpY05hbWUgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5VHlwZS5lbmdsaXNoTmFtZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nKHNlbGVjdGVkSXRlbS5lbnRpdHkubWFpblRvcGljICYmIHNlbGVjdGVkSXRlbS5lbnRpdHkubWFpblRvcGljLmFyYWJpY05hbWUpJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLk1BSU5fVE9QSUNcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgKHNlbGVjdGVkSXRlbS5lbnRpdHkubWFpblRvcGljICYmIHNlbGVjdGVkSXRlbS5lbnRpdHkubWFpblRvcGljLmFyYWJpY05hbWUpID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgKGlzQXJhYmljID8gc2VsZWN0ZWRJdGVtLmVudGl0eS5tYWluVG9waWMuYXJhYmljTmFtZSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbS5lbnRpdHkubWFpblRvcGljLmVuZ2xpc2hOYW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9JyhzZWxlY3RlZEl0ZW0uZW50aXR5LmRvY3VtZW50VHlwZSAmJiBzZWxlY3RlZEl0ZW0uZW50aXR5LmRvY3VtZW50VHlwZS5hcmFiaWNOYW1lKSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5ET0NVTUVOVF9UWVBFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IChzZWxlY3RlZEl0ZW0uZW50aXR5LmRvY3VtZW50VHlwZSAmJiBzZWxlY3RlZEl0ZW0uZW50aXR5LmRvY3VtZW50VHlwZS5hcmFiaWNOYW1lKSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpc0FyYWJpYyA/IHNlbGVjdGVkSXRlbS5lbnRpdHkuZG9jdW1lbnRUeXBlLmFyYWJpY05hbWUgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW0uZW50aXR5LmRvY3VtZW50VHlwZS5lbmdsaXNoVGl0bGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOnNlY3JlY3lMZXZlbFwiXSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5TQ1JFQ1lfTEVWRUxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3ZvY2FidWxhcnkuVk9DX1NlY3JlY3lMZXZlbC4nICsgZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpzZWNyZWN5TGV2ZWxcIl0gfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzppbXBvcnRhbmNlXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLklNUE9SVEFOQ0VfTEVWRUxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3ZvY2FidWxhcnkuVk9DX0ltcG9ydGFuY2UuJyArIGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6aW1wb3J0YW5jZVwiXSB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdzZWxlY3RlZEl0ZW0uZW50aXR5LmRlcGFydG1lbnQnPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0ZXh0LWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJDUkVBVEUuREVQQVJUTUVOVF9OQU1FXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlbGVjdGVkSXRlbS5lbnRpdHkuZGVwYXJ0bWVudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpc0FyYWJpYyA/IHNlbGVjdGVkSXRlbS5lbnRpdHkuZGVwYXJ0bWVudC5hcmFiaWNOYW1lIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtLmVudGl0eS5kZXBhcnRtZW50LmVuZ2xpc2hOYW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRlcGFydG1lbnRDb2RlXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkRFUEFSVE1FTlRfQ09ERVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRlcGFydG1lbnRDb2RlXCJdID8gZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpkZXBhcnRtZW50Q29kZVwiXSA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9J2R5bmFtaWNGb3JtRGF0YVtcImdkb2M6YWdlbmN5Q2F0ZWdvcnlDb2RlXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkFHRU5DWV9DQVRFR09SWV9DT0RFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6YWdlbmN5Q2F0ZWdvcnlDb2RlXCJdID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgKGlzQXJhYmljID8gZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzphZ2VuY3lDYXRlZ29yeUNvZGVcIl1bJ3Byb3BlcnRpZXMnXVsnbGFiZWxfYXInXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6YWdlbmN5Q2F0ZWdvcnlDb2RlXCJdWydwcm9wZXJ0aWVzJ11bJ2xhYmVsX2VuJ10pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOmFnZW5jeU5hbWVDb2RlXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkFHRU5DWV9OQU1FXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6YWdlbmN5TmFtZUNvZGVcIl0gP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAoaXNBcmFiaWMgPyBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmFnZW5jeU5hbWVDb2RlXCJdWydwcm9wZXJ0aWVzJ11bJ2xhYmVsX2FyJ11cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmFnZW5jeU5hbWVDb2RlXCJdWydwcm9wZXJ0aWVzJ11bJ2xhYmVsX2VuJ10pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOmNvdW50cnlDYXRlZ29yeUNvZGVcIl0nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0ZXh0LWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJDUkVBVEUuQ09VTlRSWV9DQVRFR09SWV9DT0RFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6Y291bnRyeUNhdGVnb3J5Q29kZVwiXSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpc0FyYWJpYyA/IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6Y291bnRyeUNhdGVnb3J5Q29kZVwiXVsncHJvcGVydGllcyddWydsYWJlbF9hciddXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpjb3VudHJ5Q2F0ZWdvcnlDb2RlXCJdWydwcm9wZXJ0aWVzJ11bJ2xhYmVsX2VuJ10pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy0tJ319XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpjb3VudHJ5Q29kZVwiXSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5DT1VOVFJZX05BTUVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpjb3VudHJ5Q29kZVwiXSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpc0FyYWJpYyA/IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6Y291bnRyeUNvZGVcIl1bJ3Byb3BlcnRpZXMnXVsnbGFiZWxfYXInXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6Y291bnRyeUNvZGVcIl1bJ3Byb3BlcnRpZXMnXVsnbGFiZWxfZW4nXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpyZW1hcmtzXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLlJFTUFSS1NcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpyZW1hcmtzXCJdID8gZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpyZW1hcmtzXCJdIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IFwiRk9MREVSUy5CWVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc20gZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBpdGVtcy1jZW50ZXIgYmctZ3JheS0xMDAgcm91bmRlZC14bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXVzZXIgW3VzZXJdPVwiZHluYW1pY0Zvcm1EYXRhWydkYzpjcmVhdG9yJ11cIj48L2FwcC11c2VyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPVwiZHluYW1pY0Zvcm1EYXRhWydkYzpjb250cmlidXRvcnMnXS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgXCJGT0xERVJTLkNPTlRSVUJJVE9SU1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBpdGVtcy1jZW50ZXIgYmctZ3JheS0xMDAgcm91bmRlZC14bCBtYi0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHVzZXIgb2YgZHluYW1pY0Zvcm1EYXRhWydkYzpjb250cmlidXRvcnMnXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXVzZXIgW3VzZXJdPVwidXNlclwiPjwvYXBwLXVzZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9XCJzaGFyZWRMaXN0VXNlci5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tcInNoYXJlLnNoYXJlV2l0aFwiIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGl0ZW1zLWNlbnRlciBiZy1ncmF5LTEwMCByb3VuZGVkLXhsIG1iLTJcIiAqbmdGb3I9XCJsZXQgdXNlciBvZiBzaGFyZWRMaXN0VXNlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXVzZXIgW3VzZXJdPVwidXNlclwiPjwvYXBwLXVzZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTVcIiAqbmdJZj1cImR5bmFtaWNGb3JtICYmIGR5bmFtaWNGb3JtRGF0YVwiPlxyXG4gICAgICAgICAgICA8YXBwLW11bHRpcGxlLWR5bmFtaWMtZm9ybS12aWV3ZXIgW2Zvcm1dPVwiZHluYW1pY0Zvcm1cIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwiZHluYW1pY0Zvcm1EYXRhXCI+PC9hcHAtbXVsdGlwbGUtZHluYW1pYy1mb3JtLXZpZXdlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy13cmFwcGVycyByZWxhdGl2ZSBweC0wIHB5LTNcIj5cclxuICAgICAgICAgICAgPGN0cy1jb3JyZXNwb25kZW5jZS10YWdzIFtjb3JyZXNwb25kZW5jZV09XCJzaWRlTWVudUZpbGVEZXRhaWxzXCIgW2N1c3RvbUNsYXNzXT1cIid0YWdzLWRtcy13cmFwcGVyJ1wiXHJcbiAgICAgICAgICAgICAgICBbdXNlUGFyYW1zXT1cInRydWVcIiBbYWRkQ3VzdG9tQXBpTmFtZV09XCInU2VydmljZXMuVGFnRG9jdW1lbnQnXCJcclxuICAgICAgICAgICAgICAgIFtkZWxldGVDdXN0b21BcGlOYW1lXT1cIidTZXJ2aWNlcy5VbnRhZ0RvY3VtZW50J1wiPlxyXG4gICAgICAgICAgICA8L2N0cy1jb3JyZXNwb25kZW5jZS10YWdzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+Il19
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9zaWRlcGFuZWwvc2lkZXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9zaWRlcGFuZWwvc2lkZXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBOEIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZLLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSTlFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBMEIsTUFBTSx5REFBeUQsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV3ZILE1BQU0sT0FBTyxrQkFBa0I7SUFtQzdCLFlBQW1CLFFBQWtCLEVBQzNCLHFCQUE2QyxFQUM5QyxxQkFBNEMsRUFDM0Msa0JBQXNDLEVBQ3RDLGVBQWlDLEVBQ2pDLGNBQThCLEVBQzlCLGtCQUFzQyxFQUN0QyxNQUFpQixFQUNqQixNQUF5QjtRQVJoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQzNCLDBCQUFxQixHQUFyQixx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QjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHL0MsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUcvQyxtQkFBbUI7c0JBRGxCLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUdsRCxhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbkMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVwZGF0ZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vdXBkYXRlLW1vZGFsL3VwZGF0ZS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dNYW5nbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZGlhbG9nLW1hbmdtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTaGFyZWREb2NzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy9zaGFyZWQtZG9jcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICdmb3JtaW9qcyc7XHJcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlVmFsdWVzLCBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kb2N1bWVudHMvc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYWdzQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N0cy10YWdzL3NlcnZpY2VzL3RhZ3MtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2lkZXBhbmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZXBhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaWRlcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlcGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQgLCBPbkRlc3Ryb3l7XHJcbiAgQFZpZXdDaGlsZCgnZGV0YWlsc1RlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBkZXRhaWxzVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnY29tbWVudHNUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgY29tbWVudHNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdhY3Rpdml0eVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBhY3Rpdml0eVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ3Blcm1pc3Npb25zVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHBlcm1pc3Npb25zVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnZmlsZXNUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgZmlsZXNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW06IGFueTtcclxuICBASW5wdXQoKSBtZW51T3BlbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNvdXJjZVBhZ2UgPSAnZmlsZXMnO1xyXG4gIEBJbnB1dCgpIGFsbG93QWRkQW5kQmxvY2sgPSB0cnVlO1xyXG4gIHNpZGVNZW51TG9hZGluZyA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBvbkNsb3NlU2lkZU1lbnUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGR5bmFtaWNGb3JtOyAvLyBjb250YWluIGR5bmFtaWMgZm9ybVxyXG4gIGR5bmFtaWNGb3JtRGF0YTsgLy8gY29udGFpbiBhbGwgZmlsZSBkYXRhIGluY2x1ZGluZyBkeW5hbWljIGZvcm0gZGF0YVxyXG4gIHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuICBpc0FyYWJpYyA9IHRydWU7XHJcbiAgc2lkZU1lbnVGaWxlRGV0YWlsczsgLy8gaG9sZCBkYXRhIG9mIGRhY3VtZW50IHRvIGJlIHNob3duIGluIHNpZGUgbWVudSBkZXRhaWxzXHJcbiAgc2hvd0RldGFpbHMgPSBmYWxzZTtcclxuICBteVRhYnMgPSBbXTtcclxuICBtdWx0aVNlbGVjdGVka2V5czogc3RyaW5nW107XHJcbiAgbGFuZ3VhZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICB0YWdzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgc2hhcmVkU3ViOiBTdWJzY3JpcHRpb247XHJcbiAgc2hhcmVkRGF0YSA9IFtdO1xyXG4gIHNoYXJlZExpc3QgPSBbXTtcclxuICBzaGFyZWRMaXN0VXNlciA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVNlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nTWFuZ21lbnRTZXJ2aWNlOiBEaWFsb2dNYW5nbWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGR5bmFtaWNGb3JtU2VydmljZTogRHluYW1pY0Zvcm1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRhZ3NBcGlTZXJ2aWNlOiBUYWdzQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBzaGFyZWQ6IFNoYXJlZERvY3NTZXJ2aWNlLCkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1lbnVPcGVuKSB7XHJcbiAgICAgIHRoaXMub3BlblNpZGVNZW51RGV0YWlscygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm15VGFicyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnRGV0YWlscycsXHJcbiAgICAgICAgaWNvbjogJ3N1YnRpdGxlcycsXHJcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMuZGV0YWlsc1RlbXBsYXRlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdjb21tZW50cycsXHJcbiAgICAgICAgaWNvbjogJ3RleHRzbXMnLFxyXG4gICAgICAgIHRlbXBsYXRlOiB0aGlzLmNvbW1lbnRzVGVtcGxhdGUsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ3Blcm1pc3Npb25zJyxcclxuICAgICAgICBpY29uOiAnbG9jaycsXHJcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMucGVybWlzc2lvbnNUZW1wbGF0ZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnYWN0aXZpdHknLFxyXG4gICAgICAgIGljb246ICdsaXN0X2FsdCcsXHJcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMuYWN0aXZpdHlUZW1wbGF0ZSxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgICBpZiAodGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UpIHtcclxuICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2VcclxuICAgICAgICAuc2VsZWN0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSlcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChsb2NhbGUpID0+IHtcclxuICAgICAgICAgIHRoaXMucnRsRW5hYmxlZCA9IGxvY2FsZSA9PT0gJ2FyJyA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMudGFnc1N1YnNjcmlwdGlvbiA9IHRoaXMudGFnc0FwaVNlcnZpY2UuZ2V0VXBkYXRlZEZpbGUuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcclxuICAgICAgICAgIC5nZXREb2N1bWVudCh0aGlzLnNlbGVjdGVkSXRlbS5lbnRpdHkudWlkKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2lkZU1lbnVGaWxlRGV0YWlscyA9IHJlcztcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYyQuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0FyYWJpYyA9IHJlcztcclxuXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvcGVuVXBkYXRlRnJvbVNpZGVNZW51KCkge1xyXG4gICAgdGhpcy5jbG9zZURldGFpbHNNZW51KCk7XHJcbiAgICB0aGlzLm9wZW5VcGRhdGVNb2RhbCgpO1xyXG4gIH1cclxuXHJcbiAgb3BlblVwZGF0ZU1vZGFsKCkge1xyXG4gICAgdGhpcy5kaWFsb2cub3BlbihVcGRhdGVNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzQwJScsXHJcbiAgICAgIGhlaWdodDogJzcwJScsXHJcbiAgICAgIG1heFdpZHRoOiAnYXV0bycsXHJcbiAgICAgIHBhbmVsQ2xhc3M6ICd3YXRjaGVyLWRpYWxvZy1jb250YWluZXInLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgaWQ6IHRoaXMuc2VsZWN0ZWRJdGVtLmlkLFxyXG4gICAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWRJdGVtLmVudGl0eS50eXBlLFxyXG4gICAgICAgIGNvZGU6IHRoaXMuc2VsZWN0ZWRJdGVtLmVudGl0eS5wcm9wZXJ0aWVzWydnZG9jOmRvY3VtZW50VHlwZUNvZGUnXSA/IHRoaXMuc2VsZWN0ZWRJdGVtLmVudGl0eS5wcm9wZXJ0aWVzWydnZG9jOmRvY3VtZW50VHlwZUNvZGUnXSA6IHRoaXMuc2VsZWN0ZWRJdGVtLmVudGl0eS50eXBlLFxyXG4gICAgICAgIGlzRGlyZWN0b3J5OiB0aGlzLnNlbGVjdGVkSXRlbS5pc0RpcmVjdG9yeSxcclxuICAgICAgfSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tb3BlbiBmaWxlIHNpZGUgbWVudSBkZXRhaWxzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICBjdXN0b21lSGVhZGVyID1cclxuICAgICdsb2NrLGRjOmNyZWF0b3IsZGM6Y29udHJpYnV0b3JzLGdkb2M6Y291bnRyeUNhdGVnb3J5Q29kZSxnZG9jOmNvdW50cnlDb2RlLGdkb2M6YWdlbmN5TmFtZUNvZGUsZ2RvYzphZ2VuY3lDYXRlZ29yeUNvZGUnO1xyXG5cclxuICBvcGVuU2lkZU1lbnVEZXRhaWxzKCkge1xyXG4gICAgdGhpcy5zaWRlTWVudUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5zaWRlTWVudUZpbGVEZXRhaWxzID0ge307XHJcbiAgICB0aGlzLnNoYXJlZExpc3RVc2VyID0gW107XHJcbiAgICAvLyB0aGlzLnNob3dEZXRhaWxzID0gZmFsc2U7IC8vIGlmIGl0IHdhcyBvcGVuIGNsb3NlIGl0IHRoZW4gb3BlbiBpdCBhZ2FpbiB0byBhbGxvdyB0YWJzIHRvIGJlIHJlcmVuZHJlZFxyXG4gICAgdGhpcy5keW5hbWljRm9ybSA9IG51bGw7XHJcbiAgICAvLyBpZiAodGhpcy5zZWxlY3RlZEl0ZW0uaXNEaXJlY3RvcnkgPT09IGZhbHNlKSB7XHJcbiAgICB0aGlzLmR5bmFtaWNGb3JtU2VydmljZVxyXG4gICAgICAuZ2V0RHluYW1pY0Zvcm0odGhpcy5zZWxlY3RlZEl0ZW0uZW50aXR5LnByb3BlcnRpZXNbJ2dkb2M6ZG9jdW1lbnRUeXBlQ29kZSddID8gdGhpcy5zZWxlY3RlZEl0ZW0uZW50aXR5LnByb3BlcnRpZXNbJ2dkb2M6ZG9jdW1lbnRUeXBlQ29kZSddIDogdGhpcy5zZWxlY3RlZEl0ZW0uZW50aXR5LnR5cGUpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzWydjb21wb25lbnRzJ10gJiYgcmVzWydjb21wb25lbnRzJ10ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5keW5hbWljRm9ybSA9IHJlcztcclxuICAgICAgICAgIGxldCBwcmVmaXggPSByZXMucHJlZml4O1xyXG4gICAgICAgICAgVXRpbHMuZWFjaENvbXBvbmVudChyZXMuY29tcG9uZW50cywgKGNvbXApID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbXAudHlwZSA9PT0gJ3VzZXJTZWxlY3RvcicpIHtcclxuICAgICAgICAgICAgICAvLyB0aGlzLnVzZXJTZWxlY3RvcktleXMucHVzaChjb21wLmZpeGVkS2V5KTtcclxuICAgICAgICAgICAgICBsZXQgY29tcFByZWZpeCA9IHByZWZpeFtjb21wLmZpeGVkS2V5XVxyXG4gICAgICAgICAgICAgICAgPyBwcmVmaXhbY29tcC5maXhlZEtleV1cclxuICAgICAgICAgICAgICAgIDogJyc7XHJcbiAgICAgICAgICAgICAgaWYgKGNvbXBQcmVmaXgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tZUhlYWRlciA9XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tZUhlYWRlciArXHJcbiAgICAgICAgICAgICAgICAgICcsJyArXHJcbiAgICAgICAgICAgICAgICAgIGNvbXBQcmVmaXggK1xyXG4gICAgICAgICAgICAgICAgICAnOicgK1xyXG4gICAgICAgICAgICAgICAgICBjb21wLmZpeGVkS2V5O1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbWVIZWFkZXIgPVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbWVIZWFkZXIgKyAnLCcgKyBjb21wLmZpeGVkS2V5O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZVxyXG4gICAgICAgICAgLmdldERvY3VtZW50KHRoaXMuc2VsZWN0ZWRJdGVtLmVudGl0eS51aWQsIHtcclxuICAgICAgICAgICAgJ1gtTlhmZXRjaC1kb2N1bWVudCc6IHRoaXMuY3VzdG9tZUhlYWRlcixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zaWRlTWVudUZpbGVEZXRhaWxzID0gcmVzO1xyXG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNGb3JtRGF0YSA9IHJlcz8ucHJvcGVydGllcztcclxuICAgICAgICAgICAgdGhpcy5zaG93RGV0YWlscyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2lkZU1lbnVMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmdldFNoYXJlc0J5TWUoKTtcclxuXHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIC8vICAgICB0aGlzLnNpZGVNZW51RmlsZURldGFpbHMgPSB0aGlzLnNlbGVjdGVkSXRlbS5lbnRpdHlcclxuICAgIC8vICAgICB0aGlzLnNob3dEZXRhaWxzID0gdHJ1ZVxyXG4gICAgLy8gICB9LCAxMDAwKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIGNsb3NlRGV0YWlsc01lbnUoKSB7XHJcbiAgICB0aGlzLnNob3dEZXRhaWxzID0gZmFsc2U7XHJcbiAgICB0aGlzLnNpZGVNZW51TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5vbkNsb3NlU2lkZU1lbnUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gY2xvc2VEZXRhaWxzU2lkZU1lbnUoZXZlbnQpIHtcclxuICAvLyAgIGlmICghdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlKSB7XHJcbiAgLy8gICAgIGlmIChcclxuICAvLyAgICAgICBldmVudC5pZCAhPT0gJ3NlZV9kZXRhaWxzJyAmJlxyXG4gIC8vICAgICAgICF0aGlzLmNoZWNrRm9yQ2xhc3MoZXZlbnQuY2xhc3NOYW1lKVxyXG4gIC8vICAgICApIHtcclxuICAvLyAgICAgICB0aGlzLnNob3dEZXRhaWxzID0gZmFsc2U7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIGNoZWNrRm9yQ2xhc3MoY2xhc3NOYW1lKSB7XHJcbiAgICBsZXQgY2xhc3NlcyA9IFtcclxuICAgICAgJ2RldGFpbGVkLW1lbnUnLFxyXG4gICAgICAnbmctdGFnLWxhYmVsJyxcclxuICAgICAgJ25nLW9wdGlvbi1sYWJlbCcsXHJcbiAgICAgICduZy1zdGFyLWluc2VydGVkJyxcclxuICAgIF07XHJcbiAgICBsZXQgY2xhc3NGb3VuZGVkID0gZmFsc2U7XHJcbiAgICBjbGFzc2VzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKGl0ZW0pKSB7XHJcbiAgICAgICAgY2xhc3NGb3VuZGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY2xhc3NGb3VuZGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2hhcmVzQnlNZSgpIHtcclxuICAgIHRoaXMuc2hhcmVkU3ViID0gdGhpcy5zaGFyZWQuZ2V0U2hhcmVzQnlNZSh0aGlzLnNlbGVjdGVkSXRlbS5lbnRpdHkudWlkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5zaGFyZWRMaXN0VXNlciA9IHJlcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFnc1N1YnNjcmlwdGlvbiA/IHRoaXMudGFnc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpIDogbnVsbDtcclxuICAgIHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24gPyB0aGlzLmxhbmd1YWdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkgOiBudWxsO1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2lkZS1tZW51LWRldGFpbHNcIiBTZXRSdGw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW0gJiYgc2hvd0RldGFpbHMgJiYgIXNpZGVNZW51TG9hZGluZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgcHgtNSBweS0xIHctMTAwIGZsZXggYm9yZGVyLWItMiBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPHRpdGxlLXdpdGgtaWNvbiBjbGFzcz1cIi1teS0xLjVcIiBbY29udGV4dF09XCJzZWxlY3RlZEl0ZW0uZW50aXR5XCIgW3Nob3dUaXRsZV09XCJmYWxzZVwiPjwvdGl0bGUtd2l0aC1pY29uPiAtLT5cclxuICAgICAgICAgICAgICAgIDxhcHAtZGlzcGxheS1zdWl0YWJsZS1pY29uIFtkYXRhXT1cInNlbGVjdGVkSXRlbVwiIFtzaXplXT1cIic0MHB4J1wiPjwvYXBwLWRpc3BsYXktc3VpdGFibGUtaWNvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwianVzdGlmeS1jZW50ZXIgZmxleCBmbGV4LWNvbCAgIGZsZXgtMSBmbGV4LWdyb3ctMCB3LTcvMTJcIiAqbmdJZj1cIiFzZWxlY3RlZEl0ZW0uaXNEaXJlY3RvcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1iYXNlIHRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRydW5jYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInNlbGVjdGVkSXRlbS5lbnRpdHk/LnByb3BlcnRpZXM/LlsnZmlsZTpjb250ZW50J10/LlsnbmFtZSddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJzZWxlY3RlZEl0ZW0uZW50aXR5Py5wcm9wZXJ0aWVzPy5bJ2ZpbGU6Y29udGVudCddPy5bJ25hbWUnXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e3NlbGVjdGVkSXRlbS5lbnRpdHk/LnByb3BlcnRpZXM/LlsnZmlsZTpjb250ZW50J10/LlsnbmFtZSddfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7KChzZWxlY3RlZEl0ZW0uZW50aXR5Py5wcm9wZXJ0aWVzPy5bJ2ZpbGU6Y29udGVudCddPy5bJ2xlbmd0aCddKSAvICgxMDI0ICpcclxuICAgICAgICAgICAgICAgICAgICAgICAgMTAyNCkpLnRvRml4ZWQoMikgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgTUJcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgZC1mbGV4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy1jZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYmFzZSB0ZXh0LWdyYXktNTAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWJvbGRcclxuICAgICAgICAgICAgICAgICAgICAgXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW0uaXNEaXJlY3RvcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZEl0ZW0/Lm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcGVybWlzc2lvbj1cIntuYW1lOiAnbG9ja093bmVySWZMb2NrZWQnLCBlbnRpdHk6IHNlbGVjdGVkSXRlbS5lbnRpdHl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGV4dC1ncmF5LTUwMCBjdXJzb3ItcG9pbnRlciAgbXgtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpwZXJtaXNzaW9uPVwie25hbWU6ICdjYW5VcGRhdGUnLCBlbnRpdHk6IHNlbGVjdGVkSXRlbS5lbnRpdHl9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdGT0xERVJTLlVQREFURV9ERVRBSUxTJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuVXBkYXRlRnJvbVNpZGVNZW51KClcIj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY2xvc2UtaWNvbiB0ZXh0LWdyYXktNTAwXCIgKGNsaWNrKT1cImNsb3NlRGV0YWlsc01lbnUoKVwiXHJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInQlVUVE9OUy5DTE9TRScgfCB0cmFuc2xhdGVcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiBoLWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy10YWJzIFt0YWJzXT1cIm15VGFic1wiPjwvYXBwLWR5bmFtaWMtdGFicz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJoLWZ1bGwgZm9udC1ib2xkIGQtZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIiAqbmdJZj1cInNpZGVNZW51TG9hZGluZ1wiPlxyXG4gICAgICAgIHt7IFwibG9hZGluZ1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tIENvbW1lbnRzIC0tPlxyXG48bmctdGVtcGxhdGUgI2NvbW1lbnRzVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBoLWZ1bGxcIj5cclxuICAgICAgICA8YXBwLWNvbW1lbnRzLWRhc2hsZXQgW2NvcnJlc3BvbmRlbmNlXT1cInNpZGVNZW51RmlsZURldGFpbHNcIiBbZW50aXR5SWRdPVwic2VsZWN0ZWRJdGVtLmVudGl0eS51aWRcIlxyXG4gICAgICAgICAgICBbc2hvd2FkZGNvbW1lbnRdPVwidHJ1ZVwiIFtyb3ddPVwiZmFsc2VcIj5cclxuICAgICAgICA8L2FwcC1jb21tZW50cy1kYXNobGV0PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIG15TG9nRmlsZSAtLT5cclxuPG5nLXRlbXBsYXRlICNhY3Rpdml0eVRlbXBsYXRlPlxyXG4gICAgPCEtLSA8Y3RzLXZpZXdlci1sb2cgW2NvcnJlc3BvbmRlbmNlXT1cInNlbGVjdGVkSXRlbS5lbnRpdHlcIj48L2N0cy12aWV3ZXItbG9nPiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJoLWZ1bGwgbXQtM1wiPlxyXG4gICAgICAgIDxhcHAtYWN0aXZpdGllcy1sb2cgW2RvY3VtZW50SWRdPVwic2VsZWN0ZWRJdGVtLmVudGl0eS51aWRcIiBbZG9jdW1lbnRUaXRsZV09XCJzZWxlY3RlZEl0ZW0uZW50aXR5LnRpdGxlXCJcclxuICAgICAgICAgICAgW2ZpbGVdPVwic2lkZU1lbnVGaWxlRGV0YWlsc1wiPjwvYXBwLWFjdGl2aXRpZXMtbG9nPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3Blcm1pc3Npb25zVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsIG92ZXJmbG93LWF1dG8gcHgtMiBtdC0zXCI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucyBbc291cmNlUGFnZV09XCJzb3VyY2VQYWdlXCJcclxuICAgICAgICBbYWxsb3dBZGRBbmRCbG9ja109XCJhbGxvd0FkZEFuZEJsb2NrXCIgIFtkb2N1bWVudF09XCJzaWRlTWVudUZpbGVEZXRhaWxzXCJcclxuICAgICAgICAgICAgW2RvY3VtZW50SWRdPVwic2VsZWN0ZWRJdGVtLmVudGl0eS51aWRcIj48L2FwcC1wZXJtaXNzaW9ucz5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGaWxlcyBUYWIgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjZmlsZXNUZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJoLWZ1bGwgb3ZlcmZsb3ctYXV0byBweC0yIG10LTNcIj5cclxuICAgICAgICA8Y3RzLXZlcnNpb25zIFtmaWxlXT1cInNlbGVjdGVkSXRlbS5lbnRpdHlcIj48L2N0cy12ZXJzaW9ucz5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBEZXRhaWxzIC0tPlxyXG48bmctdGVtcGxhdGUgI2RldGFpbHNUZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJwYi0yIG10LTMgaC1mdWxsIHB4LTIgb3ZlcmZsb3ctYXV0b1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0aWMtZGF0YVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IFwiRk9MREVSUy5USVRMRV9PTkxZXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGR5bmFtaWNGb3JtRGF0YVtcImRjOnRpdGxlXCJdIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgXCJGT0xERVJTLkRFU0NSSVBUSU9OX09OTFlcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZHluYW1pY0Zvcm1EYXRhW1wiZGM6ZGVzY3JpcHRpb25cIl0gfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0ZXh0LWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBcIkZPTERFUlMuQ1JFQVRFRF9BVFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgIGR5bmFtaWNGb3JtRGF0YVtcImRjOmNyZWF0ZWRcIl1cclxuICAgICAgICAgICAgICAgICAgICB8IGxvY2FsaXplZERhdGU6IFwiZGQgTU1NTSB5eXl5XCI6KGlzQXJhYmljPyAnYXItQVInIDogJ2VuLVVTJylcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IFwiRk9MREVSUy5MQVNUX01PRElGSUVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgZHluYW1pY0Zvcm1EYXRhW1wiZGM6bW9kaWZpZWRcIl1cclxuICAgICAgICAgICAgICAgICAgICB8IGxvY2FsaXplZERhdGU6IFwiZGQgTU1NTSB5eXl5XCI6KGlzQXJhYmljPyAnYXItQVInIDogJ2VuLVVTJylcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cGVyLWRvY3VtZW50LWZpZWxkc1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpkb2N1bWVudFN1YmplY3RcIl0nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0ZXh0LWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJDUkVBVEUuRE9DVU1FTlRfU1VCSkVDVFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRvY3VtZW50U3ViamVjdFwiXSA/IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6ZG9jdW1lbnRTdWJqZWN0XCJdIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRvY3VtZW50TnVtYmVyXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkRPQ1VNRU5UX05VTUJFUlwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRvY3VtZW50TnVtYmVyXCJdID8gZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpkb2N1bWVudE51bWJlclwiXSA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpkb2N1bWVudFJlZmVyZW5jZU51bWJlclwiXSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5ET0NVTUVOVF9SRUZfTlVNQkVSXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCIgZGlyPVwibHRyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6ZG9jdW1lbnRSZWZlcmVuY2VOdW1iZXJcIl0gP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRvY3VtZW50UmVmZXJlbmNlTnVtYmVyXCJdIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOmdEb2N1bWVudERhdGVcIl0nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0ZXh0LWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJDUkVBVEUuRE9DVU1FTlRfREFURVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmdEb2N1bWVudERhdGVcIl0gPyAoZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpnRG9jdW1lbnREYXRlXCJdIHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxpemVkRGF0ZTogXCJkZCBNTU1NIHl5eXlcIjooaXNBcmFiaWM/ICdhci1BUicgOiAnZW4tVVMnKSkgOiAnLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9JyhzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5ICYmIHNlbGVjdGVkSXRlbS5lbnRpdHkuY2F0ZWdvcnkgIT09IHt9KSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5DQVRFR09SWVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAoc2VsZWN0ZWRJdGVtLmVudGl0eS5jYXRlZ29yeSAmJiBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5ICE9PSB7fSkgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAoaXNBcmFiaWMgPyBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5LmFyYWJpY05hbWUgOiBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5LmVuZ2xpc2hOYW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9JyhzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5VHlwZSAmJiBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5VHlwZS5hcmFiaWNOYW1lKSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5DQVRFR09SWV9UWVBFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IChzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5VHlwZSAmJiBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5VHlwZS5hcmFiaWNOYW1lKSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpc0FyYWJpYyA/IHNlbGVjdGVkSXRlbS5lbnRpdHkuY2F0ZWdvcnlUeXBlLmFyYWJpY05hbWUgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW0uZW50aXR5LmNhdGVnb3J5VHlwZS5lbmdsaXNoTmFtZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nKHNlbGVjdGVkSXRlbS5lbnRpdHkubWFpblRvcGljICYmIHNlbGVjdGVkSXRlbS5lbnRpdHkubWFpblRvcGljLmFyYWJpY05hbWUpJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLk1BSU5fVE9QSUNcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgKHNlbGVjdGVkSXRlbS5lbnRpdHkubWFpblRvcGljICYmIHNlbGVjdGVkSXRlbS5lbnRpdHkubWFpblRvcGljLmFyYWJpY05hbWUpID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgKGlzQXJhYmljID8gc2VsZWN0ZWRJdGVtLmVudGl0eS5tYWluVG9waWMuYXJhYmljTmFtZSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbS5lbnRpdHkubWFpblRvcGljLmVuZ2xpc2hOYW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9JyhzZWxlY3RlZEl0ZW0uZW50aXR5LmRvY3VtZW50VHlwZSAmJiBzZWxlY3RlZEl0ZW0uZW50aXR5LmRvY3VtZW50VHlwZS5hcmFiaWNOYW1lKSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5ET0NVTUVOVF9UWVBFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IChzZWxlY3RlZEl0ZW0uZW50aXR5LmRvY3VtZW50VHlwZSAmJiBzZWxlY3RlZEl0ZW0uZW50aXR5LmRvY3VtZW50VHlwZS5hcmFiaWNOYW1lKSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpc0FyYWJpYyA/IHNlbGVjdGVkSXRlbS5lbnRpdHkuZG9jdW1lbnRUeXBlLmFyYWJpY05hbWUgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW0uZW50aXR5LmRvY3VtZW50VHlwZS5lbmdsaXNoVGl0bGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOnNlY3JlY3lMZXZlbFwiXSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5TQ1JFQ1lfTEVWRUxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3ZvY2FidWxhcnkuVk9DX1NlY3JlY3lMZXZlbC4nICsgZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpzZWNyZWN5TGV2ZWxcIl0gfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzppbXBvcnRhbmNlXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLklNUE9SVEFOQ0VfTEVWRUxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3ZvY2FidWxhcnkuVk9DX0ltcG9ydGFuY2UuJyArIGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6aW1wb3J0YW5jZVwiXSB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdzZWxlY3RlZEl0ZW0uZW50aXR5LmRlcGFydG1lbnQnPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0ZXh0LWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJDUkVBVEUuREVQQVJUTUVOVF9OQU1FXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlbGVjdGVkSXRlbS5lbnRpdHkuZGVwYXJ0bWVudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpc0FyYWJpYyA/IHNlbGVjdGVkSXRlbS5lbnRpdHkuZGVwYXJ0bWVudC5hcmFiaWNOYW1lIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtLmVudGl0eS5kZXBhcnRtZW50LmVuZ2xpc2hOYW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRlcGFydG1lbnRDb2RlXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkRFUEFSVE1FTlRfQ09ERVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmRlcGFydG1lbnRDb2RlXCJdID8gZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpkZXBhcnRtZW50Q29kZVwiXSA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9J2R5bmFtaWNGb3JtRGF0YVtcImdkb2M6YWdlbmN5Q2F0ZWdvcnlDb2RlXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkFHRU5DWV9DQVRFR09SWV9DT0RFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6YWdlbmN5Q2F0ZWdvcnlDb2RlXCJdID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgKGlzQXJhYmljID8gZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzphZ2VuY3lDYXRlZ29yeUNvZGVcIl1bJ3Byb3BlcnRpZXMnXVsnbGFiZWxfYXInXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6YWdlbmN5Q2F0ZWdvcnlDb2RlXCJdWydwcm9wZXJ0aWVzJ11bJ2xhYmVsX2VuJ10pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOmFnZW5jeU5hbWVDb2RlXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkFHRU5DWV9OQU1FXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6YWdlbmN5TmFtZUNvZGVcIl0gP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAoaXNBcmFiaWMgPyBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmFnZW5jeU5hbWVDb2RlXCJdWydwcm9wZXJ0aWVzJ11bJ2xhYmVsX2FyJ11cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBkeW5hbWljRm9ybURhdGFbXCJnZG9jOmFnZW5jeU5hbWVDb2RlXCJdWydwcm9wZXJ0aWVzJ11bJ2xhYmVsX2VuJ10pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPSdkeW5hbWljRm9ybURhdGFbXCJnZG9jOmNvdW50cnlDYXRlZ29yeUNvZGVcIl0nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0ZXh0LWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJDUkVBVEUuQ09VTlRSWV9DQVRFR09SWV9DT0RFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6Y291bnRyeUNhdGVnb3J5Q29kZVwiXSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpc0FyYWJpYyA/IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6Y291bnRyeUNhdGVnb3J5Q29kZVwiXVsncHJvcGVydGllcyddWydsYWJlbF9hciddXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpjb3VudHJ5Q2F0ZWdvcnlDb2RlXCJdWydwcm9wZXJ0aWVzJ11bJ2xhYmVsX2VuJ10pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJy0tJ319XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpjb3VudHJ5Q29kZVwiXSc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5DT1VOVFJZX05BTUVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpjb3VudHJ5Q29kZVwiXSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpc0FyYWJpYyA/IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6Y291bnRyeUNvZGVcIl1bJ3Byb3BlcnRpZXMnXVsnbGFiZWxfYXInXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGR5bmFtaWNGb3JtRGF0YVtcImdkb2M6Y291bnRyeUNvZGVcIl1bJ3Byb3BlcnRpZXMnXVsnbGFiZWxfZW4nXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj0nZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpyZW1hcmtzXCJdJz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLlJFTUFSS1NcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpyZW1hcmtzXCJdID8gZHluYW1pY0Zvcm1EYXRhW1wiZ2RvYzpyZW1hcmtzXCJdIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS01MDAgZm9udC1ib2xkIHRleHQtYmFzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IFwiRk9MREVSUy5CWVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtc20gZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBpdGVtcy1jZW50ZXIgYmctZ3JheS0xMDAgcm91bmRlZC14bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXVzZXIgW3VzZXJdPVwiZHluYW1pY0Zvcm1EYXRhWydkYzpjcmVhdG9yJ11cIj48L2FwcC11c2VyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPVwiZHluYW1pY0Zvcm1EYXRhWydkYzpjb250cmlidXRvcnMnXS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgXCJGT0xERVJTLkNPTlRSVUJJVE9SU1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBpdGVtcy1jZW50ZXIgYmctZ3JheS0xMDAgcm91bmRlZC14bCBtYi0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHVzZXIgb2YgZHluYW1pY0Zvcm1EYXRhWydkYzpjb250cmlidXRvcnMnXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXVzZXIgW3VzZXJdPVwidXNlclwiPjwvYXBwLXVzZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9XCJzaGFyZWRMaXN0VXNlci5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCBmb250LWJvbGQgdGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tcInNoYXJlLnNoYXJlV2l0aFwiIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGl0ZW1zLWNlbnRlciBiZy1ncmF5LTEwMCByb3VuZGVkLXhsIG1iLTJcIiAqbmdGb3I9XCJsZXQgdXNlciBvZiBzaGFyZWRMaXN0VXNlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXVzZXIgW3VzZXJdPVwidXNlclwiPjwvYXBwLXVzZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTVcIiAqbmdJZj1cImR5bmFtaWNGb3JtICYmIGR5bmFtaWNGb3JtRGF0YVwiPlxyXG4gICAgICAgICAgICA8YXBwLW11bHRpcGxlLWR5bmFtaWMtZm9ybS12aWV3ZXIgW2Zvcm1dPVwiZHluYW1pY0Zvcm1cIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwiZHluYW1pY0Zvcm1EYXRhXCI+PC9hcHAtbXVsdGlwbGUtZHluYW1pYy1mb3JtLXZpZXdlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy13cmFwcGVycyByZWxhdGl2ZSBweC0wIHB5LTNcIj5cclxuICAgICAgICAgICAgPGN0cy1jb3JyZXNwb25kZW5jZS10YWdzIFtjb3JyZXNwb25kZW5jZV09XCJzaWRlTWVudUZpbGVEZXRhaWxzXCIgW2N1c3RvbUNsYXNzXT1cIid0YWdzLWRtcy13cmFwcGVyJ1wiXHJcbiAgICAgICAgICAgICAgICBbdXNlUGFyYW1zXT1cInRydWVcIiBbYWRkQ3VzdG9tQXBpTmFtZV09XCInU2VydmljZXMuVGFnRG9jdW1lbnQnXCJcclxuICAgICAgICAgICAgICAgIFtkZWxldGVDdXN0b21BcGlOYW1lXT1cIidTZXJ2aWNlcy5VbnRhZ0RvY3VtZW50J1wiPlxyXG4gICAgICAgICAgICA8L2N0cy1jb3JyZXNwb25kZW5jZS10YWdzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -48,9 +48,9 @@ export class TemplateModalComponent {
48
48
  this.dialogRef.close(false);
49
49
  }
50
50
  }
51
- TemplateModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TemplateModalComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.UploadManagmentService }, { token: i2.MatDialogRef }, { token: i3.DialogMangmentService }, { token: i4.DynamicFormService }], target: i0.ɵɵFactoryTarget.Component });
52
- TemplateModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplateModalComponent, selector: "app-template-modal", ngImport: i0, template: "<div class=\"template-modal-wraper d-flex relative h-full\">\r\n <div class=\"modal-body-section d-flex w-full\">\r\n <!-- forms and properties -->\r\n <div class=\"forms-section w-1/2\">\r\n <div class=\"\">\r\n <div class=\"mb-5\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.FILE_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-base text-gray-900\">{{ fileType }}</div>\r\n </div>\r\n <div class=\"file-fields mt-3\">\r\n <form #fileForm=\"ngForm\">\r\n <div class=\"single-field mb-3\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.TITLE\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input\r\n class=\"\r\n h-10\r\n w-full\r\n bg-gray-100\r\n p-1\r\n border-2 border-gray-200\r\n rounded\r\n \"\r\n [(ngModel)]=\"selectedFile.title\"\r\n required\r\n name=\"title\"\r\n id=\"title\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.DESCRIPTION\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input\r\n class=\"\r\n h-10\r\n w-full\r\n bg-gray-100\r\n p-1\r\n border-2 border-gray-200\r\n rounded\r\n \"\r\n [(ngModel)]=\"selectedFile.description\"\r\n required\r\n name=\"description\"\r\n id=\"description\"\r\n />\r\n </div>\r\n </form>\r\n <!-- *ngIf=\"\" -->\r\n <div\r\n class=\"dynamic-part -mx-4\"\r\n *ngIf=\"selectedFile.dynamicForm && showRenderer\"\r\n >\r\n <app-dynamic-form\r\n [form]=\"selectedFile.dynamicForm\"\r\n [data]=\"temporaryDyanmicData\"\r\n (change)=\"ondynamicFormChange($event)\"\r\n ></app-dynamic-form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"template-side-menu w-1/2 d-flex justify-center items-center\"\r\n >\r\n <div class=\"text-gray-900 font-bold\">No Templates Yet</div>\r\n </div>\r\n </div>\r\n\r\n <!-- actions and buttons -->\r\n <div\r\n class=\"\r\n w-full\r\n d-flex\r\n justify-between\r\n scanner-actions-wrapper\r\n absolute\r\n bottom-0\r\n \"\r\n >\r\n <div class=\"flex\">\r\n <button\r\n class=\"\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-30\r\n h-10\r\n \"\r\n (click)=\"closeDialog()\"\r\n >\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n\r\n <!-- *ngIf=\"\r\n uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n uploadMangmentService.uploadedFilesStatus\r\n .numberOfUploadedFiles !== 0 ||\r\n addingProperties\r\n \" -->\r\n <!-- <button\r\n class=\"\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-30\r\n h-10\r\n mx-2\r\n \"\r\n (click)=\"minimizDialog()\"\r\n >\r\n {{ \"BUTTONS.MINIMIZED\" | translate }}\r\n </button> -->\r\n </div>\r\n\r\n <!-- -->\r\n <div class=\"d-flex\">\r\n <!-- <button\r\n *ngIf=\"\r\n (uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n selectedFile.file) &&\r\n !uploadMangmentService.addingPropertiesMode\r\n \"\r\n (click)=\"startAddingProperties()\"\r\n class=\"\r\n hover:text-white hover:bg-gray-900\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-36\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.ADD_PROPERTIES\" | translate }}\r\n </button> -->\r\n\r\n <!-- *ngIf=\"\r\n uploadMangmentService.addingPropertiesMode &&\r\n !uploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n \" -->\r\n <!-- <button\r\n \r\n (click)=\"createDocument()\"\r\n [disabled]=\"scannerUploadButton.disabled || !selectedFile.dynamicData.valid || fileForm.invalid\"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed': scannerUploadButton.disabled || !selectedFile.dynamicData.valid || fileForm.invalid\r\n }\"\r\n class=\"\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-white bg-gray-900\r\n rounded-3xl\r\n w-30\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.CREATE\" | translate }}\r\n </button> -->\r\n\r\n <!-- <button\r\n *ngIf=\"\r\n uploadMangmentService.addingPropertiesMode &&\r\n uploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n \"\r\n (click)=\"createWhenFinish()\"\r\n [disabled]=\"checkValidation()\"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed': checkValidation(),\r\n 'cursor-pointer hover:text-white hover:bg-gray-900':\r\n !checkValidation()\r\n }\"\r\n class=\"\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-40\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.CREATE_WHEN_FINSH\" | translate }}\r\n </button> -->\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".modal-body-section{height:calc(100% - 80px)}\n"], components: [{ type: i5.DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.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: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i8.TranslatePipe } });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TemplateModalComponent, decorators: [{
51
+ TemplateModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: TemplateModalComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.UploadManagmentService }, { token: i2.MatDialogRef }, { token: i3.DialogMangmentService }, { token: i4.DynamicFormService }], target: i0.ɵɵFactoryTarget.Component });
52
+ TemplateModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: TemplateModalComponent, selector: "app-template-modal", ngImport: i0, template: "<div class=\"template-modal-wraper d-flex relative h-full\">\r\n <div class=\"modal-body-section d-flex w-full\">\r\n <!-- forms and properties -->\r\n <div class=\"forms-section w-1/2\">\r\n <div class=\"\">\r\n <div class=\"mb-5\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.FILE_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-base text-gray-900\">{{ fileType }}</div>\r\n </div>\r\n <div class=\"file-fields mt-3\">\r\n <form #fileForm=\"ngForm\">\r\n <div class=\"single-field mb-3\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.TITLE\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input\r\n class=\"\r\n h-10\r\n w-full\r\n bg-gray-100\r\n p-1\r\n border-2 border-gray-200\r\n rounded\r\n \"\r\n [(ngModel)]=\"selectedFile.title\"\r\n required\r\n name=\"title\"\r\n id=\"title\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.DESCRIPTION\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input\r\n class=\"\r\n h-10\r\n w-full\r\n bg-gray-100\r\n p-1\r\n border-2 border-gray-200\r\n rounded\r\n \"\r\n [(ngModel)]=\"selectedFile.description\"\r\n required\r\n name=\"description\"\r\n id=\"description\"\r\n />\r\n </div>\r\n </form>\r\n <!-- *ngIf=\"\" -->\r\n <div\r\n class=\"dynamic-part -mx-4\"\r\n *ngIf=\"selectedFile.dynamicForm && showRenderer\"\r\n >\r\n <app-dynamic-form\r\n [form]=\"selectedFile.dynamicForm\"\r\n [data]=\"temporaryDyanmicData\"\r\n (change)=\"ondynamicFormChange($event)\"\r\n ></app-dynamic-form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"template-side-menu w-1/2 d-flex justify-center items-center\"\r\n >\r\n <div class=\"text-gray-900 font-bold\">No Templates Yet</div>\r\n </div>\r\n </div>\r\n\r\n <!-- actions and buttons -->\r\n <div\r\n class=\"\r\n w-full\r\n d-flex\r\n justify-between\r\n scanner-actions-wrapper\r\n absolute\r\n bottom-0\r\n \"\r\n >\r\n <div class=\"flex\">\r\n <button\r\n class=\"\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-30\r\n h-10\r\n \"\r\n (click)=\"closeDialog()\"\r\n >\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n\r\n <!-- *ngIf=\"\r\n uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n uploadMangmentService.uploadedFilesStatus\r\n .numberOfUploadedFiles !== 0 ||\r\n addingProperties\r\n \" -->\r\n <!-- <button\r\n class=\"\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-30\r\n h-10\r\n mx-2\r\n \"\r\n (click)=\"minimizDialog()\"\r\n >\r\n {{ \"BUTTONS.MINIMIZED\" | translate }}\r\n </button> -->\r\n </div>\r\n\r\n <!-- -->\r\n <div class=\"d-flex\">\r\n <!-- <button\r\n *ngIf=\"\r\n (uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n selectedFile.file) &&\r\n !uploadMangmentService.addingPropertiesMode\r\n \"\r\n (click)=\"startAddingProperties()\"\r\n class=\"\r\n hover:text-white hover:bg-gray-900\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-36\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.ADD_PROPERTIES\" | translate }}\r\n </button> -->\r\n\r\n <!-- *ngIf=\"\r\n uploadMangmentService.addingPropertiesMode &&\r\n !uploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n \" -->\r\n <!-- <button\r\n \r\n (click)=\"createDocument()\"\r\n [disabled]=\"scannerUploadButton.disabled || !selectedFile.dynamicData.valid || fileForm.invalid\"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed': scannerUploadButton.disabled || !selectedFile.dynamicData.valid || fileForm.invalid\r\n }\"\r\n class=\"\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-white bg-gray-900\r\n rounded-3xl\r\n w-30\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.CREATE\" | translate }}\r\n </button> -->\r\n\r\n <!-- <button\r\n *ngIf=\"\r\n uploadMangmentService.addingPropertiesMode &&\r\n uploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n \"\r\n (click)=\"createWhenFinish()\"\r\n [disabled]=\"checkValidation()\"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed': checkValidation(),\r\n 'cursor-pointer hover:text-white hover:bg-gray-900':\r\n !checkValidation()\r\n }\"\r\n class=\"\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-40\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.CREATE_WHEN_FINSH\" | translate }}\r\n </button> -->\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".modal-body-section{height:calc(100% - 80px)}\n"], components: [{ type: i5.DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.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: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i8.TranslatePipe } });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: TemplateModalComponent, decorators: [{
54
54
  type: Component,
55
55
  args: [{
56
56
  selector: 'app-template-modal',
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
61
61
  type: Inject,
62
62
  args: [MAT_DIALOG_DATA]
63
63
  }] }, { type: i1.UploadManagmentService }, { type: i2.MatDialogRef }, { type: i3.DialogMangmentService }, { type: i4.DynamicFormService }]; } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9maWxlLW1hbmdlci9jb21wb25lbnRzL3RlbXBsYXRlLW1vZGFsL3RlbXBsYXRlLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90ZW1wbGF0ZS1tb2RhbC90ZW1wbGF0ZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7O0FBVXpFLE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLFlBQTRDLElBQUksRUFDekMscUJBQTZDLEVBQzdDLFNBQStDLEVBQy9DLHFCQUE0QyxFQUMzQyxrQkFBc0M7UUFKRixTQUFJLEdBQUosSUFBSSxDQUFBO1FBQ3pDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUFDN0MsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDL0MsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUMzQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBakI5QyxpQkFBWSxHQUFHO1lBQ2IsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsRUFBRTtZQUNmLFFBQVEsRUFBRSxFQUFFO1lBQ1osV0FBVyxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQztRQUNGLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztJQUt3QixDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1FBRXBELDJFQUEyRTtRQUN6RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsS0FBSztJQUNQLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxXQUFXO1FBQzdCLElBQUksV0FBVyxDQUFDLElBQUksRUFBRTtZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcscUJBQVEsV0FBVyxDQUFFLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlCLENBQUM7O29IQTFDVSxzQkFBc0Isa0JBZ0JiLGVBQWU7d0dBaEJ4QixzQkFBc0IsMERDWG5DLDAwUUFxTkE7NEZEMU1hLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztpQkFDL0M7OzBCQWlCYyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVXBsb2FkTWFuYWdtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91cGxvYWQtbWFuYWdtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dNYW5nbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZGlhbG9nLW1hbmdtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGVtcGxhdGUtbW9kYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVtcGxhdGUtbW9kYWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZmlsZVR5cGU7XHJcbiAgc291cmNlO1xyXG4gIHNlbGVjdGVkRmlsZSA9IHtcclxuICAgIHRpdGxlOiAnJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnJyxcclxuICAgIGZpbGVUeXBlOiAnJyxcclxuICAgIGR5bmFtaWNGb3JtOiAnJyxcclxuICAgIGR5bmFtaWNEYXRhOiB7XHJcbiAgICAgIHZhbGlkOiBmYWxzZSxcclxuICAgICAgZGF0YToge31cclxuICAgIH0sXHJcbiAgICBmaWxlOiAnJ1xyXG4gIH07XHJcbiAgc2hvd1JlbmRlcmVyID0gZmFsc2U7XHJcbiAgdGVtcG9yYXJ5RHlhbm1pY0RhdGEgPSB7fTtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGEsXHJcbiAgcHVibGljIHVwbG9hZE1hbmdtZW50U2VydmljZTogVXBsb2FkTWFuYWdtZW50U2VydmljZSxcclxuICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVNb2RhbENvbXBvbmVudD4sXHJcbiAgcHVibGljIGRpYWxvZ01hbmdtZW50U2VydmljZTogRGlhbG9nTWFuZ21lbnRTZXJ2aWNlLFxyXG4gIHByaXZhdGUgZHluYW1pY0Zvcm1TZXJ2aWNlOiBEeW5hbWljRm9ybVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVR5cGUgPSB0aGlzLmRpYWxvZ01hbmdtZW50U2VydmljZS5maWxlVHlwZTtcclxuICAgIHRoaXMuc291cmNlID0gdGhpcy5kaWFsb2dNYW5nbWVudFNlcnZpY2UuYWRkaW5nRnJvbTtcclxuXHJcbiAgICAvLyB0aGlzLmR5bmFtaWNGb3JtU2VydmljZS5nZXREeW5hbWljRm9ybSh0aGlzLmZpbGVUeXBlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbGUuZHluYW1pY0Zvcm0gPSB0aGlzLmRpYWxvZ01hbmdtZW50U2VydmljZS5zdG9yZWREeW5hbWljRm9ybTtcclxuICAgICAgdGhpcy5zaG93UmVuZGVyZXIgPSB0cnVlO1xyXG4gICAgLy8gfSlcclxuICB9XHJcblxyXG4gIG9uZHluYW1pY0Zvcm1DaGFuZ2UoZHluYW1pY0RhdGEpIHtcclxuICAgIGlmIChkeW5hbWljRGF0YS5kYXRhKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGR5bmFtaWNEYXRhLmRhdGEpXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlLmR5bmFtaWNEYXRhID0geyAuLi5keW5hbWljRGF0YSB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VEaWFsb2coKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XHJcblxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGVtcGxhdGUtbW9kYWwtd3JhcGVyIGQtZmxleCByZWxhdGl2ZSBoLWZ1bGxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5LXNlY3Rpb24gZC1mbGV4IHctZnVsbFwiPlxyXG4gICAgICAgIDwhLS0gZm9ybXMgYW5kIHByb3BlcnRpZXMgIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3Jtcy1zZWN0aW9uIHctMS8yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5GSUxFX1RZUEVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJhc2UgdGV4dC1ncmF5LTkwMFwiPnt7IGZpbGVUeXBlIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWZpZWxkcyBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZvcm0gI2ZpbGVGb3JtPVwibmdGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLlRJVExFXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LWZ1bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZ3JheS0xMDBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0xXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTIwMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRmlsZS50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LWZ1bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZ3JheS0xMDBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0xXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTIwMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRmlsZS5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKm5nSWY9XCJcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHluYW1pYy1wYXJ0IC1teC00XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZEZpbGUuZHluYW1pY0Zvcm0gJiYgc2hvd1JlbmRlcmVyXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJzZWxlY3RlZEZpbGUuZHluYW1pY0Zvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwidGVtcG9yYXJ5RHlhbm1pY0RhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbmR5bmFtaWNGb3JtQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9hcHAtZHluYW1pYy1mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZW1wbGF0ZS1zaWRlLW1lbnUgdy0xLzIgZC1mbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCBmb250LWJvbGRcIj5ObyBUZW1wbGF0ZXMgWWV0PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIGFjdGlvbnMgYW5kIGJ1dHRvbnMgIC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiXHJcbiAgICAgICAgICAgIHctZnVsbFxyXG4gICAgICAgICAgICBkLWZsZXhcclxuICAgICAgICAgICAganVzdGlmeS1iZXR3ZWVuXHJcbiAgICAgICAgICAgIHNjYW5uZXItYWN0aW9ucy13cmFwcGVyXHJcbiAgICAgICAgICAgIGFic29sdXRlXHJcbiAgICAgICAgICAgIGJvdHRvbS0wXHJcbiAgICAgICAgXCJcclxuICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvci1wb2ludGVyXHJcbiAgICAgICAgICAgICAgICAgICAgZmxleFxyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMtY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLTIgYm9yZGVyLWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHJvdW5kZWQtM3hsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC13aGl0ZVxyXG4gICAgICAgICAgICAgICAgICAgIHctMzBcclxuICAgICAgICAgICAgICAgICAgICBoLTEwXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBcIkJVVFRPTlMuQ0FOQ0VMXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8IS0tICpuZ0lmPVwiXHJcbiAgICAgICAgICAgIHVwbG9hZE1hbmdtZW50U2VydmljZS51cGxvYWRlZEZpbGVzU3RhdHVzXHJcbiAgICAgICAgICAgICAgICAudXBsb2FkSW5Qcm9ncmVzcyB8fFxyXG4gICAgICAgICAgICB1cGxvYWRNYW5nbWVudFNlcnZpY2UudXBsb2FkZWRGaWxlc1N0YXR1c1xyXG4gICAgICAgICAgICAgICAgLm51bWJlck9mVXBsb2FkZWRGaWxlcyAhPT0gMCB8fFxyXG4gICAgICAgICAgICBhZGRpbmdQcm9wZXJ0aWVzXHJcbiAgICAgICAgXCIgLS0+XHJcbiAgICAgICAgICAgIDwhLS0gPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3ItcG9pbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGZsZXhcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZ3JheS05MDBcclxuICAgICAgICAgICAgICAgICAgICByb3VuZGVkLTN4bFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtd2hpdGVcclxuICAgICAgICAgICAgICAgICAgICB3LTMwXHJcbiAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgICAgIG14LTJcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibWluaW1pekRpYWxvZygpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgXCJCVVRUT05TLk1JTklNSVpFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSAgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHVwbG9hZE1hbmdtZW50U2VydmljZS51cGxvYWRlZEZpbGVzU3RhdHVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC51cGxvYWRJblByb2dyZXNzIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkRmlsZS5maWxlKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICF1cGxvYWRNYW5nbWVudFNlcnZpY2UuYWRkaW5nUHJvcGVydGllc01vZGVcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RhcnRBZGRpbmdQcm9wZXJ0aWVzKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICBob3Zlcjp0ZXh0LXdoaXRlIGhvdmVyOmJnLWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yLXBvaW50ZXJcclxuICAgICAgICAgICAgICAgICAgICBmbGV4XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICBpdGVtcy1jZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItMiBib3JkZXItZ3JheS05MDBcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgcm91bmRlZC0zeGxcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXdoaXRlXHJcbiAgICAgICAgICAgICAgICAgICAgdy0zNlxyXG4gICAgICAgICAgICAgICAgICAgIGgtMTBcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IFwiQlVUVE9OUy5BRERfUFJPUEVSVElFU1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgICB1cGxvYWRNYW5nbWVudFNlcnZpY2UuYWRkaW5nUHJvcGVydGllc01vZGUgJiZcclxuICAgICAgICAgICAgICAgICAgICAhdXBsb2FkTWFuZ21lbnRTZXJ2aWNlLnVwbG9hZGVkRmlsZXNTdGF0dXMudXBsb2FkSW5Qcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgXCIgLS0+XHJcbiAgICAgICAgICAgIDwhLS0gPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlRG9jdW1lbnQoKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2Nhbm5lclVwbG9hZEJ1dHRvbi5kaXNhYmxlZCB8fCAhc2VsZWN0ZWRGaWxlLmR5bmFtaWNEYXRhLnZhbGlkIHx8IGZpbGVGb3JtLmludmFsaWRcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5LTMwIGN1cnNvci1ub3QtYWxsb3dlZCc6IHNjYW5uZXJVcGxvYWRCdXR0b24uZGlzYWJsZWQgfHwgIXNlbGVjdGVkRmlsZS5keW5hbWljRGF0YS52YWxpZCB8fCBmaWxlRm9ybS5pbnZhbGlkXHJcbiAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmxleFxyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMtY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLTIgYm9yZGVyLWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC13aGl0ZSBiZy1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHJvdW5kZWQtM3hsXHJcbiAgICAgICAgICAgICAgICAgICAgdy0zMFxyXG4gICAgICAgICAgICAgICAgICAgIGgtMTBcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IFwiQlVUVE9OUy5DUkVBVEVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkTWFuZ21lbnRTZXJ2aWNlLmFkZGluZ1Byb3BlcnRpZXNNb2RlICYmXHJcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkTWFuZ21lbnRTZXJ2aWNlLnVwbG9hZGVkRmlsZXNTdGF0dXMudXBsb2FkSW5Qcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjcmVhdGVXaGVuRmluaXNoKClcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNoZWNrVmFsaWRhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eS0zMCBjdXJzb3Itbm90LWFsbG93ZWQnOiBjaGVja1ZhbGlkYXRpb24oKSxcclxuICAgICAgICAgICAgICAgICAgICAnY3Vyc29yLXBvaW50ZXIgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy1ncmF5LTkwMCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICFjaGVja1ZhbGlkYXRpb24oKVxyXG4gICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGZsZXhcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZ3JheS05MDBcclxuICAgICAgICAgICAgICAgICAgICByb3VuZGVkLTN4bFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtd2hpdGVcclxuICAgICAgICAgICAgICAgICAgICB3LTQwXHJcbiAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgXCJCVVRUT05TLkNSRUFURV9XSEVOX0ZJTlNIXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9maWxlLW1hbmdlci9jb21wb25lbnRzL3RlbXBsYXRlLW1vZGFsL3RlbXBsYXRlLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90ZW1wbGF0ZS1tb2RhbC90ZW1wbGF0ZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7O0FBVXpFLE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLFlBQTRDLElBQUksRUFDekMscUJBQTZDLEVBQzdDLFNBQStDLEVBQy9DLHFCQUE0QyxFQUMzQyxrQkFBc0M7UUFKRixTQUFJLEdBQUosSUFBSSxDQUFBO1FBQ3pDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUFDN0MsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDL0MsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUMzQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBakI5QyxpQkFBWSxHQUFHO1lBQ2IsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsRUFBRTtZQUNmLFFBQVEsRUFBRSxFQUFFO1lBQ1osV0FBVyxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQztRQUNGLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztJQUt3QixDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1FBRXBELDJFQUEyRTtRQUN6RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsS0FBSztJQUNQLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxXQUFXO1FBQzdCLElBQUksV0FBVyxDQUFDLElBQUksRUFBRTtZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcscUJBQVEsV0FBVyxDQUFFLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlCLENBQUM7O21IQTFDVSxzQkFBc0Isa0JBZ0JiLGVBQWU7dUdBaEJ4QixzQkFBc0IsMERDWG5DLDAwUUFxTkE7MkZEMU1hLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztpQkFDL0M7OzBCQWlCYyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVXBsb2FkTWFuYWdtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91cGxvYWQtbWFuYWdtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dNYW5nbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZGlhbG9nLW1hbmdtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGVtcGxhdGUtbW9kYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVtcGxhdGUtbW9kYWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZmlsZVR5cGU7XHJcbiAgc291cmNlO1xyXG4gIHNlbGVjdGVkRmlsZSA9IHtcclxuICAgIHRpdGxlOiAnJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnJyxcclxuICAgIGZpbGVUeXBlOiAnJyxcclxuICAgIGR5bmFtaWNGb3JtOiAnJyxcclxuICAgIGR5bmFtaWNEYXRhOiB7XHJcbiAgICAgIHZhbGlkOiBmYWxzZSxcclxuICAgICAgZGF0YToge31cclxuICAgIH0sXHJcbiAgICBmaWxlOiAnJ1xyXG4gIH07XHJcbiAgc2hvd1JlbmRlcmVyID0gZmFsc2U7XHJcbiAgdGVtcG9yYXJ5RHlhbm1pY0RhdGEgPSB7fTtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGEsXHJcbiAgcHVibGljIHVwbG9hZE1hbmdtZW50U2VydmljZTogVXBsb2FkTWFuYWdtZW50U2VydmljZSxcclxuICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVNb2RhbENvbXBvbmVudD4sXHJcbiAgcHVibGljIGRpYWxvZ01hbmdtZW50U2VydmljZTogRGlhbG9nTWFuZ21lbnRTZXJ2aWNlLFxyXG4gIHByaXZhdGUgZHluYW1pY0Zvcm1TZXJ2aWNlOiBEeW5hbWljRm9ybVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVR5cGUgPSB0aGlzLmRpYWxvZ01hbmdtZW50U2VydmljZS5maWxlVHlwZTtcclxuICAgIHRoaXMuc291cmNlID0gdGhpcy5kaWFsb2dNYW5nbWVudFNlcnZpY2UuYWRkaW5nRnJvbTtcclxuXHJcbiAgICAvLyB0aGlzLmR5bmFtaWNGb3JtU2VydmljZS5nZXREeW5hbWljRm9ybSh0aGlzLmZpbGVUeXBlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbGUuZHluYW1pY0Zvcm0gPSB0aGlzLmRpYWxvZ01hbmdtZW50U2VydmljZS5zdG9yZWREeW5hbWljRm9ybTtcclxuICAgICAgdGhpcy5zaG93UmVuZGVyZXIgPSB0cnVlO1xyXG4gICAgLy8gfSlcclxuICB9XHJcblxyXG4gIG9uZHluYW1pY0Zvcm1DaGFuZ2UoZHluYW1pY0RhdGEpIHtcclxuICAgIGlmIChkeW5hbWljRGF0YS5kYXRhKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGR5bmFtaWNEYXRhLmRhdGEpXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlLmR5bmFtaWNEYXRhID0geyAuLi5keW5hbWljRGF0YSB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VEaWFsb2coKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XHJcblxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGVtcGxhdGUtbW9kYWwtd3JhcGVyIGQtZmxleCByZWxhdGl2ZSBoLWZ1bGxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5LXNlY3Rpb24gZC1mbGV4IHctZnVsbFwiPlxyXG4gICAgICAgIDwhLS0gZm9ybXMgYW5kIHByb3BlcnRpZXMgIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3Jtcy1zZWN0aW9uIHctMS8yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5GSUxFX1RZUEVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJhc2UgdGV4dC1ncmF5LTkwMFwiPnt7IGZpbGVUeXBlIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWZpZWxkcyBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZvcm0gI2ZpbGVGb3JtPVwibmdGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLlRJVExFXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LWZ1bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZ3JheS0xMDBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0xXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTIwMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRmlsZS50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LWZ1bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZ3JheS0xMDBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0xXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTIwMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRmlsZS5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKm5nSWY9XCJcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHluYW1pYy1wYXJ0IC1teC00XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZEZpbGUuZHluYW1pY0Zvcm0gJiYgc2hvd1JlbmRlcmVyXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJzZWxlY3RlZEZpbGUuZHluYW1pY0Zvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwidGVtcG9yYXJ5RHlhbm1pY0RhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbmR5bmFtaWNGb3JtQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9hcHAtZHluYW1pYy1mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZW1wbGF0ZS1zaWRlLW1lbnUgdy0xLzIgZC1mbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCBmb250LWJvbGRcIj5ObyBUZW1wbGF0ZXMgWWV0PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIGFjdGlvbnMgYW5kIGJ1dHRvbnMgIC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiXHJcbiAgICAgICAgICAgIHctZnVsbFxyXG4gICAgICAgICAgICBkLWZsZXhcclxuICAgICAgICAgICAganVzdGlmeS1iZXR3ZWVuXHJcbiAgICAgICAgICAgIHNjYW5uZXItYWN0aW9ucy13cmFwcGVyXHJcbiAgICAgICAgICAgIGFic29sdXRlXHJcbiAgICAgICAgICAgIGJvdHRvbS0wXHJcbiAgICAgICAgXCJcclxuICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvci1wb2ludGVyXHJcbiAgICAgICAgICAgICAgICAgICAgZmxleFxyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMtY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLTIgYm9yZGVyLWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHJvdW5kZWQtM3hsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC13aGl0ZVxyXG4gICAgICAgICAgICAgICAgICAgIHctMzBcclxuICAgICAgICAgICAgICAgICAgICBoLTEwXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBcIkJVVFRPTlMuQ0FOQ0VMXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8IS0tICpuZ0lmPVwiXHJcbiAgICAgICAgICAgIHVwbG9hZE1hbmdtZW50U2VydmljZS51cGxvYWRlZEZpbGVzU3RhdHVzXHJcbiAgICAgICAgICAgICAgICAudXBsb2FkSW5Qcm9ncmVzcyB8fFxyXG4gICAgICAgICAgICB1cGxvYWRNYW5nbWVudFNlcnZpY2UudXBsb2FkZWRGaWxlc1N0YXR1c1xyXG4gICAgICAgICAgICAgICAgLm51bWJlck9mVXBsb2FkZWRGaWxlcyAhPT0gMCB8fFxyXG4gICAgICAgICAgICBhZGRpbmdQcm9wZXJ0aWVzXHJcbiAgICAgICAgXCIgLS0+XHJcbiAgICAgICAgICAgIDwhLS0gPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3ItcG9pbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGZsZXhcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZ3JheS05MDBcclxuICAgICAgICAgICAgICAgICAgICByb3VuZGVkLTN4bFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtd2hpdGVcclxuICAgICAgICAgICAgICAgICAgICB3LTMwXHJcbiAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgICAgIG14LTJcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibWluaW1pekRpYWxvZygpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgXCJCVVRUT05TLk1JTklNSVpFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSAgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHVwbG9hZE1hbmdtZW50U2VydmljZS51cGxvYWRlZEZpbGVzU3RhdHVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC51cGxvYWRJblByb2dyZXNzIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkRmlsZS5maWxlKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICF1cGxvYWRNYW5nbWVudFNlcnZpY2UuYWRkaW5nUHJvcGVydGllc01vZGVcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RhcnRBZGRpbmdQcm9wZXJ0aWVzKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICBob3Zlcjp0ZXh0LXdoaXRlIGhvdmVyOmJnLWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yLXBvaW50ZXJcclxuICAgICAgICAgICAgICAgICAgICBmbGV4XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICBpdGVtcy1jZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItMiBib3JkZXItZ3JheS05MDBcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgcm91bmRlZC0zeGxcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXdoaXRlXHJcbiAgICAgICAgICAgICAgICAgICAgdy0zNlxyXG4gICAgICAgICAgICAgICAgICAgIGgtMTBcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IFwiQlVUVE9OUy5BRERfUFJPUEVSVElFU1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgICB1cGxvYWRNYW5nbWVudFNlcnZpY2UuYWRkaW5nUHJvcGVydGllc01vZGUgJiZcclxuICAgICAgICAgICAgICAgICAgICAhdXBsb2FkTWFuZ21lbnRTZXJ2aWNlLnVwbG9hZGVkRmlsZXNTdGF0dXMudXBsb2FkSW5Qcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgXCIgLS0+XHJcbiAgICAgICAgICAgIDwhLS0gPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlRG9jdW1lbnQoKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2Nhbm5lclVwbG9hZEJ1dHRvbi5kaXNhYmxlZCB8fCAhc2VsZWN0ZWRGaWxlLmR5bmFtaWNEYXRhLnZhbGlkIHx8IGZpbGVGb3JtLmludmFsaWRcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5LTMwIGN1cnNvci1ub3QtYWxsb3dlZCc6IHNjYW5uZXJVcGxvYWRCdXR0b24uZGlzYWJsZWQgfHwgIXNlbGVjdGVkRmlsZS5keW5hbWljRGF0YS52YWxpZCB8fCBmaWxlRm9ybS5pbnZhbGlkXHJcbiAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmxleFxyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMtY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLTIgYm9yZGVyLWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC13aGl0ZSBiZy1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHJvdW5kZWQtM3hsXHJcbiAgICAgICAgICAgICAgICAgICAgdy0zMFxyXG4gICAgICAgICAgICAgICAgICAgIGgtMTBcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IFwiQlVUVE9OUy5DUkVBVEVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkTWFuZ21lbnRTZXJ2aWNlLmFkZGluZ1Byb3BlcnRpZXNNb2RlICYmXHJcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkTWFuZ21lbnRTZXJ2aWNlLnVwbG9hZGVkRmlsZXNTdGF0dXMudXBsb2FkSW5Qcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjcmVhdGVXaGVuRmluaXNoKClcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNoZWNrVmFsaWRhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eS0zMCBjdXJzb3Itbm90LWFsbG93ZWQnOiBjaGVja1ZhbGlkYXRpb24oKSxcclxuICAgICAgICAgICAgICAgICAgICAnY3Vyc29yLXBvaW50ZXIgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy1ncmF5LTkwMCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICFjaGVja1ZhbGlkYXRpb24oKVxyXG4gICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGZsZXhcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZ3JheS05MDBcclxuICAgICAgICAgICAgICAgICAgICByb3VuZGVkLTN4bFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtd2hpdGVcclxuICAgICAgICAgICAgICAgICAgICB3LTQwXHJcbiAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgXCJCVVRUT05TLkNSRUFURV9XSEVOX0ZJTlNIXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -50,9 +50,9 @@ export class TransferDocComponent {
50
50
  this.visible = false;
51
51
  }
52
52
  }
53
- TransferDocComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TransferDocComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.FileManagerService }, { token: i3.CustomToastrService }], target: i0.ɵɵFactoryTarget.Component });
54
- TransferDocComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TransferDocComponent, selector: "app-transfer-doc", inputs: { visible: "visible", rtlEnabled: "rtlEnabled" }, outputs: { visibleChange: "visibleChange", refresh: "refresh" }, ngImport: i0, template: "<dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" id=\"photo-popup\" [width]=\"510\" [height]=\"180\"\r\n[(visible)]=\"visible\" [closeOnOutsideClick]=\"true\">\r\n<div *dxTemplate=\"let data of 'content'\">\r\n <div class=\"d-flex px-8 mb-5 -mt-8 h-20\">\r\n <img class=\"w-14 h-14\" src=\"assets/images/thumbnails/warning.png\" />\r\n <div class=\"px-3 mt-3\">\r\n <span class=\"text-xl font-medium\">{{ 'confirmDialog.confirm' | translate }}</span>\r\n <div class=\"\r\n text-lg text-secondary text-base\r\n mt-2\r\n sub-title\r\n \">\r\n {{ 'confirmDialog.Transfer_Item' | translate }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"conf-actions d-flex justify-end items-center px-6\">\r\n <button class=\"mx-2 submission-button w-1/3\" (click)=\"transferDocument()\">\r\n {{ \"BUTTONS.TRANSFER\" | translate }}\r\n </button>\r\n <button class=\"mx-2 cancelation-button w-1/3\" (click)=\"cancel()\">\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n</dx-popup>", styles: [""], components: [{ type: i4.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }], directives: [{ type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }], pipes: { "translate": i6.TranslatePipe } });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TransferDocComponent, decorators: [{
53
+ TransferDocComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: TransferDocComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.FileManagerService }, { token: i3.CustomToastrService }], target: i0.ɵɵFactoryTarget.Component });
54
+ TransferDocComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: TransferDocComponent, selector: "app-transfer-doc", inputs: { visible: "visible", rtlEnabled: "rtlEnabled" }, outputs: { visibleChange: "visibleChange", refresh: "refresh" }, ngImport: i0, template: "<dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" id=\"photo-popup\" [width]=\"510\" [height]=\"180\"\r\n[(visible)]=\"visible\" [closeOnOutsideClick]=\"true\">\r\n<div *dxTemplate=\"let data of 'content'\">\r\n <div class=\"d-flex px-8 mb-5 -mt-8 h-20\">\r\n <img class=\"w-14 h-14\" src=\"assets/images/thumbnails/warning.png\" />\r\n <div class=\"px-3 mt-3\">\r\n <span class=\"text-xl font-medium\">{{ 'confirmDialog.confirm' | translate }}</span>\r\n <div class=\"\r\n text-lg text-secondary text-base\r\n mt-2\r\n sub-title\r\n \">\r\n {{ 'confirmDialog.Transfer_Item' | translate }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"conf-actions d-flex justify-end items-center px-6\">\r\n <button class=\"mx-2 submission-button w-1/3\" (click)=\"transferDocument()\">\r\n {{ \"BUTTONS.TRANSFER\" | translate }}\r\n </button>\r\n <button class=\"mx-2 cancelation-button w-1/3\" (click)=\"cancel()\">\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n</dx-popup>", styles: [""], components: [{ type: i4.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }], directives: [{ type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }], pipes: { "translate": i6.TranslatePipe } });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: TransferDocComponent, decorators: [{
56
56
  type: Component,
57
57
  args: [{
58
58
  selector: 'app-transfer-doc',
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
68
68
  }], rtlEnabled: [{
69
69
  type: Input
70
70
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItZG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90cmFuc2Zlci1kb2MvdHJhbnNmZXItZG9jLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90cmFuc2Zlci1kb2MvdHJhbnNmZXItZG9jLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBVzFGLE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CLFlBQW9CLEtBQXNCLEVBQ2hDLGlCQUFzQyxFQUN0QyxtQkFBeUM7UUFGL0IsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFDaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQUN0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO1FBWG5ELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVsQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUtYLENBQUM7SUF4QlAsSUFDSSxPQUFPLENBQUMsS0FBVTtRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFnQkQsUUFBUTtJQUNSLENBQUM7SUFHRCxnQkFBZ0I7UUFDZCxJQUFJLHNCQUFzQixHQUFHO1lBQ3pCLFNBQVMsRUFBRTtnQkFDUCx5QkFBeUIsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQy9ELGtCQUFrQixFQUFFLHNDQUFzQzthQUM3RDtTQUNKLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsdURBQXVELEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLENBQ25JLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3pCLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsNkJBQTZCLENBQ2hDLENBQUM7UUFDTixDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3pCLE9BQU8sRUFDUCxlQUFlLEVBQ2YsbUNBQW1DLENBQ3RDLENBQUM7UUFDTixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQzs7a0hBN0RZLG9CQUFvQjtzR0FBcEIsb0JBQW9CLG1MQ1hqQyw2ckNBeUJXOzRGRGRFLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxTQUFTLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztpQkFDN0M7d0tBR0ssT0FBTztzQkFEVixLQUFLO2dCQVlOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxPQUFPO3NCQUROLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRyYW5zZmVyLWRvYycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RyYW5zZmVyLWRvYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJhbnNmZXItZG9jLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyRG9jQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLl92aXNpYmxlID09PSB2YWx1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XHJcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl92aXNpYmxlKTtcclxuICB9XHJcbiAgZ2V0IHZpc2libGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuICB9XHJcbiAgQE91dHB1dCgpXHJcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKVxyXG4gIHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuICAvLyBASW5wdXQoKVxyXG4gIC8vIHJvb3RGb2xkZXI6IGFueTtcclxuICBfdmlzaWJsZSA9IGZhbHNlO1xyXG4gIGN1cnJlbnRJdGVtO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGUgOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgZmlsZU1hbmdlclNlcnZpY2UgOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGN1c3RvbVRvYXN0clNlcnZpY2UgOiBDdXN0b21Ub2FzdHJTZXJ2aWNlXHJcbiAgICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG5cclxuICB0cmFuc2ZlckRvY3VtZW50KCkge1xyXG4gICAgbGV0IHRyYW5zZmVyUmVxdWVzdENvbnRleHQgPSB7XHJcbiAgICAgICAgXCJSZXF1ZXN0XCI6IHtcclxuICAgICAgICAgICAgXCJ0cmFuc2ZlcnJlcXVlc3Q6cmVjb3Jkc1wiOiBbdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5pZF0sXHJcbiAgICAgICAgICAgIFwiRGVwOmRlcGFydG1lbnRJZFwiOiBcIjk4MDFhZGRlLWExYTAtNDRiNy1iNGI5LTc3MjgzMjI3MDcxZlwiXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuZmlsZU1hbmdlclNlcnZpY2UuQ3JlYXRlVHJhbnNmZXJSZXF1ZXN0KFwiL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvUGh5c2ljYWxBcmNoaXZpbmcvUmVxdWVzdHNcIiwgdHJhbnNmZXJSZXF1ZXN0Q29udGV4dCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaC5uZXh0KCk7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICAgJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgICAgICAgJ1RPQVNURVIuU1VDQ0VTUycsXHJcbiAgICAgICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9UUkFOU0ZFUkVEJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9UUkFOU0ZFUkVEX0VSUk9SJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICk7XHJcbn1cclxuXHJcbmNhbmNlbCgpIHtcclxuICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxufVxyXG59XHJcbiIsIjxkeC1wb3B1cCBjbGFzcz1cInBvcFVwUGFyZW50XCIgW3J0bEVuYWJsZWRdPVwicnRsRW5hYmxlZFwiIGlkPVwicGhvdG8tcG9wdXBcIiBbd2lkdGhdPVwiNTEwXCIgW2hlaWdodF09XCIxODBcIlxyXG5bKHZpc2libGUpXT1cInZpc2libGVcIiBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCI+XHJcbjxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggcHgtOCBtYi01IC1tdC04IGgtMjBcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwidy0xNCBoLTE0XCIgc3JjPVwiYXNzZXRzL2ltYWdlcy90aHVtYm5haWxzL3dhcm5pbmcucG5nXCIgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMyBtdC0zXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC14bCBmb250LW1lZGl1bVwiPnt7ICAnY29uZmlybURpYWxvZy5jb25maXJtJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtbGcgdGV4dC1zZWNvbmRhcnkgdGV4dC1iYXNlXHJcbiAgICAgICAgICAgICAgICAgICAgbXQtMlxyXG4gICAgICAgICAgICAgICAgICAgIHN1Yi10aXRsZVxyXG4gICAgICAgICAgICAgICAgXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnY29uZmlybURpYWxvZy5UcmFuc2Zlcl9JdGVtJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbmYtYWN0aW9ucyBkLWZsZXgganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIHB4LTZcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibXgtMiBzdWJtaXNzaW9uLWJ1dHRvbiB3LTEvM1wiIChjbGljayk9XCJ0cmFuc2ZlckRvY3VtZW50KClcIj5cclxuICAgICAgICAgICAge3sgXCJCVVRUT05TLlRSQU5TRkVSXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibXgtMiBjYW5jZWxhdGlvbi1idXR0b24gdy0xLzNcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgICAgICAge3sgXCJCVVRUT05TLkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZHgtcG9wdXA+Il19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItZG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90cmFuc2Zlci1kb2MvdHJhbnNmZXItZG9jLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90cmFuc2Zlci1kb2MvdHJhbnNmZXItZG9jLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBVzFGLE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CLFlBQW9CLEtBQXNCLEVBQ2hDLGlCQUFzQyxFQUN0QyxtQkFBeUM7UUFGL0IsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFDaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQUN0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO1FBWG5ELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVsQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUtYLENBQUM7SUF4QlAsSUFDSSxPQUFPLENBQUMsS0FBVTtRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFnQkQsUUFBUTtJQUNSLENBQUM7SUFHRCxnQkFBZ0I7UUFDZCxJQUFJLHNCQUFzQixHQUFHO1lBQ3pCLFNBQVMsRUFBRTtnQkFDUCx5QkFBeUIsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQy9ELGtCQUFrQixFQUFFLHNDQUFzQzthQUM3RDtTQUNKLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsdURBQXVELEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLENBQ25JLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3pCLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsNkJBQTZCLENBQ2hDLENBQUM7UUFDTixDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3pCLE9BQU8sRUFDUCxlQUFlLEVBQ2YsbUNBQW1DLENBQ3RDLENBQUM7UUFDTixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQzs7aUhBN0RZLG9CQUFvQjtxR0FBcEIsb0JBQW9CLG1MQ1hqQyw2ckNBeUJXOzJGRGRFLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxTQUFTLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztpQkFDN0M7d0tBR0ssT0FBTztzQkFEVixLQUFLO2dCQVlOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxPQUFPO3NCQUROLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRyYW5zZmVyLWRvYycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RyYW5zZmVyLWRvYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJhbnNmZXItZG9jLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyRG9jQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLl92aXNpYmxlID09PSB2YWx1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XHJcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl92aXNpYmxlKTtcclxuICB9XHJcbiAgZ2V0IHZpc2libGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuICB9XHJcbiAgQE91dHB1dCgpXHJcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKVxyXG4gIHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuICAvLyBASW5wdXQoKVxyXG4gIC8vIHJvb3RGb2xkZXI6IGFueTtcclxuICBfdmlzaWJsZSA9IGZhbHNlO1xyXG4gIGN1cnJlbnRJdGVtO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGUgOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgZmlsZU1hbmdlclNlcnZpY2UgOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGN1c3RvbVRvYXN0clNlcnZpY2UgOiBDdXN0b21Ub2FzdHJTZXJ2aWNlXHJcbiAgICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG5cclxuICB0cmFuc2ZlckRvY3VtZW50KCkge1xyXG4gICAgbGV0IHRyYW5zZmVyUmVxdWVzdENvbnRleHQgPSB7XHJcbiAgICAgICAgXCJSZXF1ZXN0XCI6IHtcclxuICAgICAgICAgICAgXCJ0cmFuc2ZlcnJlcXVlc3Q6cmVjb3Jkc1wiOiBbdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5pZF0sXHJcbiAgICAgICAgICAgIFwiRGVwOmRlcGFydG1lbnRJZFwiOiBcIjk4MDFhZGRlLWExYTAtNDRiNy1iNGI5LTc3MjgzMjI3MDcxZlwiXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuZmlsZU1hbmdlclNlcnZpY2UuQ3JlYXRlVHJhbnNmZXJSZXF1ZXN0KFwiL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvUGh5c2ljYWxBcmNoaXZpbmcvUmVxdWVzdHNcIiwgdHJhbnNmZXJSZXF1ZXN0Q29udGV4dCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaC5uZXh0KCk7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICAgJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgICAgICAgJ1RPQVNURVIuU1VDQ0VTUycsXHJcbiAgICAgICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9UUkFOU0ZFUkVEJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9UUkFOU0ZFUkVEX0VSUk9SJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICk7XHJcbn1cclxuXHJcbmNhbmNlbCgpIHtcclxuICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxufVxyXG59XHJcbiIsIjxkeC1wb3B1cCBjbGFzcz1cInBvcFVwUGFyZW50XCIgW3J0bEVuYWJsZWRdPVwicnRsRW5hYmxlZFwiIGlkPVwicGhvdG8tcG9wdXBcIiBbd2lkdGhdPVwiNTEwXCIgW2hlaWdodF09XCIxODBcIlxyXG5bKHZpc2libGUpXT1cInZpc2libGVcIiBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCI+XHJcbjxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggcHgtOCBtYi01IC1tdC04IGgtMjBcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwidy0xNCBoLTE0XCIgc3JjPVwiYXNzZXRzL2ltYWdlcy90aHVtYm5haWxzL3dhcm5pbmcucG5nXCIgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMyBtdC0zXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC14bCBmb250LW1lZGl1bVwiPnt7ICAnY29uZmlybURpYWxvZy5jb25maXJtJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtbGcgdGV4dC1zZWNvbmRhcnkgdGV4dC1iYXNlXHJcbiAgICAgICAgICAgICAgICAgICAgbXQtMlxyXG4gICAgICAgICAgICAgICAgICAgIHN1Yi10aXRsZVxyXG4gICAgICAgICAgICAgICAgXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnY29uZmlybURpYWxvZy5UcmFuc2Zlcl9JdGVtJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbmYtYWN0aW9ucyBkLWZsZXgganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIHB4LTZcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibXgtMiBzdWJtaXNzaW9uLWJ1dHRvbiB3LTEvM1wiIChjbGljayk9XCJ0cmFuc2ZlckRvY3VtZW50KClcIj5cclxuICAgICAgICAgICAge3sgXCJCVVRUT05TLlRSQU5TRkVSXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibXgtMiBjYW5jZWxhdGlvbi1idXR0b24gdy0xLzNcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgICAgICAge3sgXCJCVVRUT05TLkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZHgtcG9wdXA+Il19