nuxeo-development-framework 1.3.1 → 1.3.2

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 (190) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +672 -671
  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/activity/activity/activity.component.js +4 -4
  19. package/esm2015/lib/components/activity/activity.module.js +5 -5
  20. package/esm2015/lib/components/avatar/avatar/avatar.component.js +4 -4
  21. package/esm2015/lib/components/avatar/avatar.module.js +5 -5
  22. package/esm2015/lib/components/card/card.component.js +4 -4
  23. package/esm2015/lib/components/card/card.module.js +5 -5
  24. package/esm2015/lib/components/comments/comments.module.js +5 -5
  25. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +13 -9
  26. package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +7 -4
  27. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +6 -4
  28. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +4 -4
  29. package/esm2015/lib/components/comments/services/comment-api.service.js +4 -4
  30. package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +4 -4
  31. package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +5 -5
  32. package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +4 -4
  33. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +4 -4
  34. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +4 -4
  35. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +4 -4
  36. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +4 -4
  37. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +4 -4
  38. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +5 -5
  39. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +4 -4
  40. package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +4 -4
  41. package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +4 -4
  42. package/esm2015/lib/components/create-entity/create-entity.module.js +5 -5
  43. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +4 -4
  44. package/esm2015/lib/components/cts-tags/cts-tags.module.js +5 -5
  45. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +4 -4
  46. package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +4 -4
  47. package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +5 -5
  48. package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +4 -4
  49. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +4 -4
  50. package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +4 -4
  51. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +4 -4
  52. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +4 -4
  53. package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +4 -4
  54. package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +4 -4
  55. package/esm2015/lib/components/documents/components/documents/documents.component.js +4 -4
  56. package/esm2015/lib/components/documents/documents.module.js +5 -5
  57. package/esm2015/lib/components/documents/services/document-templates.service.js +4 -4
  58. package/esm2015/lib/components/documents/services/documents.service.js +4 -4
  59. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +4 -4
  60. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +5 -5
  61. package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +4 -4
  62. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +4 -4
  63. package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +4 -4
  64. package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +5 -5
  65. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +4 -4
  66. package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +4 -4
  67. package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +4 -4
  68. package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +4 -4
  69. package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +4 -4
  70. package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +4 -4
  71. package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +4 -4
  72. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +4 -4
  73. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +4 -4
  74. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +4 -4
  75. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +4 -4
  76. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +4 -4
  77. package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +4 -4
  78. package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +4 -4
  79. package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +4 -4
  80. package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +4 -4
  81. package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +4 -4
  82. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +4 -4
  83. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +4 -4
  84. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +4 -4
  85. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +4 -4
  86. package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +4 -4
  87. package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +4 -4
  88. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +4 -4
  89. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +4 -4
  90. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +4 -4
  91. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +4 -4
  92. package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +4 -4
  93. package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +4 -4
  94. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +4 -4
  95. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +4 -4
  96. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +4 -4
  97. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +4 -4
  98. package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +4 -4
  99. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +5 -5
  100. package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +4 -4
  101. package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +4 -4
  102. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +4 -4
  103. package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +5 -5
  104. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +4 -4
  105. package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +5 -5
  106. package/esm2015/lib/components/dynamic-table/services/dynamic-table.service.js +4 -4
  107. package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +4 -4
  108. package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +4 -4
  109. package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +4 -4
  110. package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +4 -4
  111. package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +4 -4
  112. package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +4 -4
  113. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +4 -4
  114. package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +4 -4
  115. package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +5 -5
  116. package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +4 -4
  117. package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +4 -4
  118. package/esm2015/lib/components/filter/filter/filter.component.js +4 -4
  119. package/esm2015/lib/components/filter/filter.module.js +5 -5
  120. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +4 -4
  121. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +4 -4
  122. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +4 -4
  123. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +4 -4
  124. package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +5 -5
  125. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +4 -4
  126. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +4 -4
  127. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +4 -4
  128. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +4 -4
  129. package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +4 -4
  130. package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +4 -4
  131. package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +4 -4
  132. package/esm2015/lib/components/latest-activity/latest-activity.module.js +5 -5
  133. package/esm2015/lib/components/latest-activity/services/activity-log.service.js +4 -4
  134. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +4 -4
  135. package/esm2015/lib/components/notifications/components/notification-options/notification-options.component.js +4 -4
  136. package/esm2015/lib/components/notifications/components/notification-toast/notification-toast.component.js +4 -4
  137. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +4 -4
  138. package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +4 -4
  139. package/esm2015/lib/components/notifications/notifications.module.js +5 -5
  140. package/esm2015/lib/components/notifications/notifications.service.js +4 -4
  141. package/esm2015/lib/components/pagination/pagination/pagination.component.js +4 -4
  142. package/esm2015/lib/components/pagination/pagination.module.js +5 -5
  143. package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +5 -5
  144. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +4 -4
  145. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +4 -4
  146. package/esm2015/lib/components/select/select/select.component.js +4 -4
  147. package/esm2015/lib/components/select/select.module.js +5 -5
  148. package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +4 -4
  149. package/esm2015/lib/components/table/table/table.component.js +4 -4
  150. package/esm2015/lib/components/table/table.module.js +5 -5
  151. package/esm2015/lib/components/users-card/users-card.component.js +4 -4
  152. package/esm2015/lib/components/users-card/users-card.module.js +5 -5
  153. package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +4 -4
  154. package/esm2015/lib/components/viewer-log/viewer-log.module.js +5 -5
  155. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +4 -4
  156. package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +4 -4
  157. package/esm2015/lib/components/vocabulary/vocabulary.module.js +5 -5
  158. package/esm2015/lib/configuration/app-config.service.js +4 -4
  159. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +4 -4
  160. package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +4 -4
  161. package/esm2015/lib/directive/directive.module.js +5 -5
  162. package/esm2015/lib/directive/permissions/evaluators.service.js +4 -4
  163. package/esm2015/lib/directive/permissions/permissions.directive.js +4 -4
  164. package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +4 -4
  165. package/esm2015/lib/directive/rtl/set-rtl.directive.js +4 -4
  166. package/esm2015/lib/nuxeo-development-framework.component.js +4 -4
  167. package/esm2015/lib/nuxeo-development-framework.module.js +5 -5
  168. package/esm2015/lib/nuxeo-development-framework.service.js +4 -4
  169. package/esm2015/lib/pipes/file-size.pipe.js +4 -4
  170. package/esm2015/lib/pipes/hijri-date.pipe.js +4 -4
  171. package/esm2015/lib/pipes/localized-date.pipe.js +4 -4
  172. package/esm2015/lib/pipes/multi-value.pipe.js +4 -4
  173. package/esm2015/lib/pipes/pipes.module.js +5 -5
  174. package/esm2015/lib/pipes/secure-html.pipe.js +4 -4
  175. package/esm2015/lib/pipes/secure.pipe.js +4 -4
  176. package/esm2015/lib/pipes/time-ago.pipe.js +4 -4
  177. package/esm2015/lib/shared/components/button/button.component.js +4 -4
  178. package/esm2015/lib/shared/components/item-list/item-list.component.js +4 -4
  179. package/esm2015/lib/shared/components/no-data/no-data.component.js +4 -4
  180. package/esm2015/lib/shared/components/read-more/read-more.component.js +4 -4
  181. package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +4 -4
  182. package/esm2015/lib/shared/components/spinner/spinner.component.js +4 -4
  183. package/esm2015/lib/shared/components/user-card/user-card.component.js +4 -4
  184. package/esm2015/lib/shared/libraryShared.module.js +5 -5
  185. package/fesm2015/nuxeo-development-framework.js +601 -593
  186. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  187. package/lib/components/comments/components/comment-item/comment-item.component.d.ts +2 -1
  188. package/lib/components/comments/components/comments-dashlet/comments-dashlet.component.d.ts +2 -1
  189. package/lib/components/comments/components/comments-list/comments-list.component.d.ts +2 -1
  190. package/package.json +1 -1
@@ -150,9 +150,9 @@ export class DynamicFormSelectUserFilterComponent {
150
150
  this.ngSelectComponent.handleClearClick();
151
151
  }
152
152
  }
153
- DynamicFormSelectUserFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DynamicFormSelectUserFilterComponent, deps: [{ token: i1.UsersInDepartmentsApiService }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
154
- DynamicFormSelectUserFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DynamicFormSelectUserFilterComponent, selector: "cts-dynamic-form-select-user-filter", inputs: { deptTitle: "deptTitle", label: "label", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", preSelectedValues: "preSelectedValues", isAsync: "isAsync", attachSource: "attachSource", source$: "source$", hideLoaded: "hideLoaded", loading: "loading", disabled: "disabled", filter: "filter" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"user-select\" [ngClass]=\"{ 'multiple-wrapper': multiple }\" SetRtl>\r\n <ng-select\r\n #ngSelectComponent\r\n [items]=\"buffer\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"selection\"\r\n (change)=\"emitSelection($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div class=\"user-name\">\r\n {{ item?.properties?.firstName }} {{ item?.properties?.lastName }}\r\n </div>\r\n <div>\r\n <span\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div>\r\n {{ item?.properties?.firstName }} {{ item?.properties?.lastName }}\r\n </div>\r\n\r\n <div></div>\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container{background-color:#8f98aa1a!important;border:1px solid #ccc!important;border-radius:5px!important}.user-select .ng-select-container .ng-value-container{padding:5px 7px 0!important}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.multiple-wrapper .ng-select-container{overflow:visible!important}.multiple-wrapper .ng-select-container .ng-value-container{position:absolute;top:40px;width:100%}.multiple-wrapper .ng-select-container .ng-value-container .ng-placeholder{display:block;position:absolute;top:-26px!important}.multiple-wrapper .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper .ng-select-container .ng-value-container .ng-value .user-name{font-size:12px}.multiple-wrapper .ng-select-container .ng-clear-wrapper{display:none}.multiple-wrapper .ng-select-container .ng-arrow-wrapper{position:absolute;right:5px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-left:none!important;border-right:1px solid #b8dbff}.multiple-wrapper.rtl .ng-select-container .ng-arrow-wrapper{left:5px;right:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}\n"], components: [{ type: i4.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i5.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SetRtlDirective, selector: "[SetRtl]" }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.ɵh, selector: "[ng-label-tmp]" }, { type: i4.ɵf, selector: "[ng-option-tmp]" }, { type: i8.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DynamicFormSelectUserFilterComponent, decorators: [{
153
+ DynamicFormSelectUserFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormSelectUserFilterComponent, deps: [{ token: i1.UsersInDepartmentsApiService }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
154
+ DynamicFormSelectUserFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormSelectUserFilterComponent, selector: "cts-dynamic-form-select-user-filter", inputs: { deptTitle: "deptTitle", label: "label", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", preSelectedValues: "preSelectedValues", isAsync: "isAsync", attachSource: "attachSource", source$: "source$", hideLoaded: "hideLoaded", loading: "loading", disabled: "disabled", filter: "filter" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"user-select\" [ngClass]=\"{ 'multiple-wrapper': multiple }\" SetRtl>\r\n <ng-select\r\n #ngSelectComponent\r\n [items]=\"buffer\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"selection\"\r\n (change)=\"emitSelection($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div class=\"user-name\">\r\n {{ item?.properties?.firstName }} {{ item?.properties?.lastName }}\r\n </div>\r\n <div>\r\n <span\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div>\r\n {{ item?.properties?.firstName }} {{ item?.properties?.lastName }}\r\n </div>\r\n\r\n <div></div>\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container{background-color:#8f98aa1a!important;border:1px solid #ccc!important;border-radius:5px!important}.user-select .ng-select-container .ng-value-container{padding:5px 7px 0!important}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.multiple-wrapper .ng-select-container{overflow:visible!important}.multiple-wrapper .ng-select-container .ng-value-container{position:absolute;top:40px;width:100%}.multiple-wrapper .ng-select-container .ng-value-container .ng-placeholder{display:block;position:absolute;top:-26px!important}.multiple-wrapper .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper .ng-select-container .ng-value-container .ng-value .user-name{font-size:12px}.multiple-wrapper .ng-select-container .ng-clear-wrapper{display:none}.multiple-wrapper .ng-select-container .ng-arrow-wrapper{position:absolute;right:5px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-left:none!important;border-right:1px solid #b8dbff}.multiple-wrapper.rtl .ng-select-container .ng-arrow-wrapper{left:5px;right:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}\n"], components: [{ type: i4.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i5.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SetRtlDirective, selector: "[SetRtl]" }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.ɵh, selector: "[ng-label-tmp]" }, { type: i4.ɵf, selector: "[ng-option-tmp]" }, { type: i8.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormSelectUserFilterComponent, decorators: [{
156
156
  type: Component,
157
157
  args: [{
158
158
  selector: 'cts-dynamic-form-select-user-filter',
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
204
204
  }], onSelectItems: [{
205
205
  type: Output
206
206
  }] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXNlbGVjdC11c2VyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlci1maWx0ZXIvZHluYW1pYy1mb3JtLXNlbGVjdC11c2VyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlci1maWx0ZXIvZHluYW1pYy1mb3JtLXNlbGVjdC11c2VyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBRUosU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7OztBQVl2Qjs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sb0NBQW9DO0lBaUQvQyxZQUNVLGNBQTRDLEVBQzdDLFNBQTJCLEVBQ1AsT0FBa0I7UUFGckMsbUJBQWMsR0FBZCxjQUFjLENBQThCO1FBQzdDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQWhEL0MsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQU1ELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFF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Q0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBTZWxmLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5nQ29udHJvbCxcclxuICBGb3JtQ29udHJvbCxcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVzZXJzSW5EZXBhcnRtZW50c0FwaVNlcnZpY2UgfSBmcm9tICcuLi9keW5hbWljLWZvcm0tc2VsZWN0LXVzZXJzL3NlcnZpY2VzL3VzZXItYXBpLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICogVXNlciBzZWxlY3RvclxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZHluYW1pYy1mb3JtLXNlbGVjdC11c2VyLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlci1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlci1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1TZWxlY3RVc2VyRmlsdGVyQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbntcclxuICBAVmlld0NoaWxkKCduZ1NlbGVjdENvbXBvbmVudCcpIG5nU2VsZWN0Q29tcG9uZW50OiBOZ1NlbGVjdENvbXBvbmVudDtcclxuICBkYXRhID0gW107XHJcbiAgQElucHV0KCkgZGVwdFRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBiaW5kVmFsdWU7XHJcbiAgQElucHV0KCkgYmluZExhYmVsO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VhcmNoYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhpZGVTZWxlY3RlZEl0ZW1zID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHJlU2VsZWN0ZWRWYWx1ZXM7XHJcbiAgQElucHV0KCkgaXNBc3luYyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGF0dGFjaFNvdXJjZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNvdXJjZSQ6IE9ic2VydmFibGU8YW55PjtcclxuICBASW5wdXQoKSBoaWRlTG9hZGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmlsdGVyOiBzdHJpbmdbXTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3RJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBzZWxlY3Rpb247XHJcbiAgYnVmZmVyID0gW107XHJcbiAgYnVmZmVyU2l6ZSA9IDUwO1xyXG4gIG51bWJlck9mSXRlbXNGcm9tRW5kQmVmb3JlRmV0Y2hpbmdNb3JlID0gMTA7XHJcblxyXG4gIHByb3BhZ2F0ZUNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgdmFsaWRhdGVGbjogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHtcclxuICAgIC8qRW1wdHkqL1xyXG4gIH07XHJcbiAgcGFnZUluZGV4OiBudW1iZXIgPSAwO1xyXG4gIGlzTmV4dFBhZ2VBdmFpbGFibGU6IGJvb2xlYW47XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IGRpcnR5IHx8IHRvdWNoZWQgOiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHVzZXJBcGlTZXJ2aWNlOiBVc2Vyc0luRGVwYXJ0bWVudHNBcGlTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbWl0U2VsZWN0aW9uKGV2ZW50KSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGlvbik7XHJcbiAgICB0aGlzLm9uU2VsZWN0SXRlbXMuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvblNjcm9sbFRvRW5kKCkge1xyXG4gICAgdGhpcy5mZXRjaE1vcmUoKTtcclxuICAgIGlmICh0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUpIHtcclxuICAgICAgdGhpcy5nZXREZXBhcnRtZW50cygrK3RoaXMucGFnZUluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hNb3JlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IGxlbiA9IHRoaXMuYnVmZmVyLmxlbmd0aDtcclxuICAgIGNvbnN0IG1vcmUgPSB0aGlzLmRhdGEuc2xpY2UobGVuLCB0aGlzLmJ1ZmZlclNpemUgKyBsZW4pO1xyXG4gICAgdGhpcy5idWZmZXIgPSB0aGlzLmRhdGEuY29uY2F0KG1vcmUpO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG4gIHggPSBbJ2ltYWQxMicsICdyYXNoYSddO1xyXG4gIHkgPSAnaW1hZDEyJztcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBpc0ZpcnN0Q2hhbmdlID0gT2JqZWN0LnZhbHVlcyhjaGFuZ2VzKS5zb21lKChjKSA9PiBjLmlzRmlyc3RDaGFuZ2UoKSk7XHJcbiAgICBpZiAoIWlzRmlyc3RDaGFuZ2UpIHtcclxuICAgICAgdGhpcy5nZXREZXBhcnRtZW50cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmdldERlcGFydG1lbnRzKCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgLy8gdG8gbWFrZSBzZWxlY3QgcmVuZGVyIHNlbGVjdGVkIHZhbHVlcyB0byB3ZXJlIHNlbmQgZnJvbSBvdXQgc2lkZVxyXG4gICAgICAvL2RlbGF5IHRvIGFsbG93IG91dHNpZGUgdG8gZ2V0IGRhdGEgYW5kIHNlbmQgaXQgdG8gaGVyZVxyXG4gICAgICBpZiAodGhpcy5wcmVTZWxlY3RlZFZhbHVlcykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uID0gdGhpcy5wcmVTZWxlY3RlZFZhbHVlcztcclxuICAgICAgfVxyXG4gICAgfSwgMTAwMDApO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoYzogRm9ybUNvbnRyb2wpIHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlRm4oYyk7XHJcbiAgfVxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCB8fCAhdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIGdldERlcGFydG1lbnRzKHBhZ2UgPSAwKSB7XHJcbiAgICBpZiAodGhpcy5kZXB0VGl0bGUgPT09ICdhbGwnKSB7XHJcbiAgICAgIHRoaXMudXNlckFwaVNlcnZpY2VcclxuICAgICAgICAuZ2V0QWxsVXNlcnMoe1xyXG4gICAgICAgICAgY3VycmVudFBhZ2VJbmRleDogcGFnZSxcclxuICAgICAgICAgIHBhZ2VTaXplOiAyMCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGxldCBmaWx0ZXJEYXRhID0gZGF0YS5lbnRyaWVzLmZpbHRlcigodXNlcikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpbmNsdWRlZEluRmlsdGVyID0gdGhpcy5maWx0ZXIuaW5jbHVkZXModXNlci5pZCk7XHJcbiAgICAgICAgICAgIHJldHVybiAhaW5jbHVkZWRJbkZpbHRlcjtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdChmaWx0ZXJEYXRhKTtcclxuICAgICAgICAgIHRoaXMuaXNOZXh0UGFnZUF2YWlsYWJsZSA9IGRhdGEuaXNOZXh0UGFnZUF2YWlsYWJsZTtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyID0gKHRoaXMuZGF0YSB8fCBbXSkuc2xpY2UoMCwgdGhpcy5idWZmZXJTaXplKTtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy51c2VyQXBpU2VydmljZVxyXG4gICAgICAgIC5nZXRDdHNVc2Vycyh0aGlzLmRlcHRUaXRsZSwge1xyXG4gICAgICAgICAgY3VycmVudFBhZ2VJbmRleDogcGFnZSxcclxuICAgICAgICAgIHBhZ2VTaXplOiAyMCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5jb25jYXQoZGF0YS51c2Vycyk7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUgPSBkYXRhLmlzTmV4dFBhZ2VBdmFpbGFibGU7XHJcbiAgICAgICAgICB0aGlzLmJ1ZmZlciA9ICh0aGlzLmRhdGEgfHwgW10pLnNsaWNlKDAsIHRoaXMuYnVmZmVyU2l6ZSk7XHJcbiAgICAgICAgICB0aGlzLmJ1ZmZlci5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgaXRlbS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5oYW5kbGVDbGVhckNsaWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJzZWxlY3QtbGFiZWxcIlxyXG4gICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48ZGl2IGNsYXNzPVwidXNlci1zZWxlY3RcIiBbbmdDbGFzc109XCJ7ICdtdWx0aXBsZS13cmFwcGVyJzogbXVsdGlwbGUgfVwiIFNldFJ0bD5cclxuICA8bmctc2VsZWN0XHJcbiAgICAjbmdTZWxlY3RDb21wb25lbnRcclxuICAgIFtpdGVtc109XCJidWZmZXJcIlxyXG4gICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxyXG4gICAgW2JpbmRWYWx1ZV09XCJiaW5kVmFsdWVcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICAgIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxyXG4gICAgW2hpZGVTZWxlY3RlZF09XCJoaWRlU2VsZWN0ZWRJdGVtc1wiXHJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAgIChzY3JvbGxUb0VuZCk9XCJvblNjcm9sbFRvRW5kKClcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0aW9uXCJcclxuICAgIChjaGFuZ2UpPVwiZW1pdFNlbGVjdGlvbigkZXZlbnQpXCJcclxuICA+XHJcbiAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCI+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgc3R5bGU9XCJcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgY29sdW1uLWdhcDogNHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDMwcHg7IGhlaWdodDogMzBweFwiPlxyXG4gICAgICAgICAgPGN0cy1hdmF0YXIgW3VzZXJdPVwiaXRlbVwiPjwvY3RzLWF2YXRhcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1uYW1lXCI+XHJcbiAgICAgICAgICB7eyBpdGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgfX0ge3sgaXRlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJuZy12YWx1ZS1pY29uIHJpZ2h0XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKGl0ZW0pXCJcclxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgPsOXPC9zcGFuXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgc3R5bGU9XCJcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgY29sdW1uLWdhcDogNHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDMwcHg7IGhlaWdodDogMzBweFwiPlxyXG4gICAgICAgICAgPGN0cy1hdmF0YXIgW3VzZXJdPVwiaXRlbVwiPjwvY3RzLWF2YXRhcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAge3sgaXRlbT8ucHJvcGVydGllcz8uZmlyc3ROYW1lIH19IHt7IGl0ZW0/LnByb3BlcnRpZXM/Lmxhc3ROYW1lIH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXY+PC9kaXY+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9uZy1zZWxlY3Q+XHJcbjwvZGl2PlxyXG48bWF0LWVycm9yXHJcbiAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVycm9yLSdcIlxyXG4gIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAqbmdJZj1cImhhc0Vycm9ycygpXCJcclxuPlxyXG4gIDx1bD5cclxuICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgIHt7IFwiVkFMSURBVE9SUy5SRVFVSVJFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvbWF0LWVycm9yPlxyXG4iXX0=
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXNlbGVjdC11c2VyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlci1maWx0ZXIvZHluYW1pYy1mb3JtLXNlbGVjdC11c2VyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlci1maWx0ZXIvZHluYW1pYy1mb3JtLXNlbGVjdC11c2VyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBRUosU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7OztBQVl2Qjs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sb0NBQW9DO0lBaUQvQyxZQUNVLGNBQTRDLEVBQzdDLFNBQTJCLEVBQ1AsT0FBa0I7UUFGckMsbUJBQWMsR0FBZCxjQUFjLENBQThCO1FBQzdDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQWhEL0MsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQU1ELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFF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Q0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBTZWxmLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5nQ29udHJvbCxcclxuICBGb3JtQ29udHJvbCxcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVzZXJzSW5EZXBhcnRtZW50c0FwaVNlcnZpY2UgfSBmcm9tICcuLi9keW5hbWljLWZvcm0tc2VsZWN0LXVzZXJzL3NlcnZpY2VzL3VzZXItYXBpLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICogVXNlciBzZWxlY3RvclxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZHluYW1pYy1mb3JtLXNlbGVjdC11c2VyLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlci1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlci1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1TZWxlY3RVc2VyRmlsdGVyQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbntcclxuICBAVmlld0NoaWxkKCduZ1NlbGVjdENvbXBvbmVudCcpIG5nU2VsZWN0Q29tcG9uZW50OiBOZ1NlbGVjdENvbXBvbmVudDtcclxuICBkYXRhID0gW107XHJcbiAgQElucHV0KCkgZGVwdFRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBiaW5kVmFsdWU7XHJcbiAgQElucHV0KCkgYmluZExhYmVsO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VhcmNoYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhpZGVTZWxlY3RlZEl0ZW1zID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHJlU2VsZWN0ZWRWYWx1ZXM7XHJcbiAgQElucHV0KCkgaXNBc3luYyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGF0dGFjaFNvdXJjZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNvdXJjZSQ6IE9ic2VydmFibGU8YW55PjtcclxuICBASW5wdXQoKSBoaWRlTG9hZGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmlsdGVyOiBzdHJpbmdbXTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3RJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBzZWxlY3Rpb247XHJcbiAgYnVmZmVyID0gW107XHJcbiAgYnVmZmVyU2l6ZSA9IDUwO1xyXG4gIG51bWJlck9mSXRlbXNGcm9tRW5kQmVmb3JlRmV0Y2hpbmdNb3JlID0gMTA7XHJcblxyXG4gIHByb3BhZ2F0ZUNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgdmFsaWRhdGVGbjogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHtcclxuICAgIC8qRW1wdHkqL1xyXG4gIH07XHJcbiAgcGFnZUluZGV4OiBudW1iZXIgPSAwO1xyXG4gIGlzTmV4dFBhZ2VBdmFpbGFibGU6IGJvb2xlYW47XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IGRpcnR5IHx8IHRvdWNoZWQgOiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHVzZXJBcGlTZXJ2aWNlOiBVc2Vyc0luRGVwYXJ0bWVudHNBcGlTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbWl0U2VsZWN0aW9uKGV2ZW50KSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGlvbik7XHJcbiAgICB0aGlzLm9uU2VsZWN0SXRlbXMuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvblNjcm9sbFRvRW5kKCkge1xyXG4gICAgdGhpcy5mZXRjaE1vcmUoKTtcclxuICAgIGlmICh0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUpIHtcclxuICAgICAgdGhpcy5nZXREZXBhcnRtZW50cygrK3RoaXMucGFnZUluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hNb3JlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IGxlbiA9IHRoaXMuYnVmZmVyLmxlbmd0aDtcclxuICAgIGNvbnN0IG1vcmUgPSB0aGlzLmRhdGEuc2xpY2UobGVuLCB0aGlzLmJ1ZmZlclNpemUgKyBsZW4pO1xyXG4gICAgdGhpcy5idWZmZXIgPSB0aGlzLmRhdGEuY29uY2F0KG1vcmUpO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG4gIHggPSBbJ2ltYWQxMicsICdyYXNoYSddO1xyXG4gIHkgPSAnaW1hZDEyJztcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBpc0ZpcnN0Q2hhbmdlID0gT2JqZWN0LnZhbHVlcyhjaGFuZ2VzKS5zb21lKChjKSA9PiBjLmlzRmlyc3RDaGFuZ2UoKSk7XHJcbiAgICBpZiAoIWlzRmlyc3RDaGFuZ2UpIHtcclxuICAgICAgdGhpcy5nZXREZXBhcnRtZW50cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmdldERlcGFydG1lbnRzKCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgLy8gdG8gbWFrZSBzZWxlY3QgcmVuZGVyIHNlbGVjdGVkIHZhbHVlcyB0byB3ZXJlIHNlbmQgZnJvbSBvdXQgc2lkZVxyXG4gICAgICAvL2RlbGF5IHRvIGFsbG93IG91dHNpZGUgdG8gZ2V0IGRhdGEgYW5kIHNlbmQgaXQgdG8gaGVyZVxyXG4gICAgICBpZiAodGhpcy5wcmVTZWxlY3RlZFZhbHVlcykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uID0gdGhpcy5wcmVTZWxlY3RlZFZhbHVlcztcclxuICAgICAgfVxyXG4gICAgfSwgMTAwMDApO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoYzogRm9ybUNvbnRyb2wpIHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlRm4oYyk7XHJcbiAgfVxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCB8fCAhdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIGdldERlcGFydG1lbnRzKHBhZ2UgPSAwKSB7XHJcbiAgICBpZiAodGhpcy5kZXB0VGl0bGUgPT09ICdhbGwnKSB7XHJcbiAgICAgIHRoaXMudXNlckFwaVNlcnZpY2VcclxuICAgICAgICAuZ2V0QWxsVXNlcnMoe1xyXG4gICAgICAgICAgY3VycmVudFBhZ2VJbmRleDogcGFnZSxcclxuICAgICAgICAgIHBhZ2VTaXplOiAyMCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGxldCBmaWx0ZXJEYXRhID0gZGF0YS5lbnRyaWVzLmZpbHRlcigodXNlcikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpbmNsdWRlZEluRmlsdGVyID0gdGhpcy5maWx0ZXIuaW5jbHVkZXModXNlci5pZCk7XHJcbiAgICAgICAgICAgIHJldHVybiAhaW5jbHVkZWRJbkZpbHRlcjtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdChmaWx0ZXJEYXRhKTtcclxuICAgICAgICAgIHRoaXMuaXNOZXh0UGFnZUF2YWlsYWJsZSA9IGRhdGEuaXNOZXh0UGFnZUF2YWlsYWJsZTtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyID0gKHRoaXMuZGF0YSB8fCBbXSkuc2xpY2UoMCwgdGhpcy5idWZmZXJTaXplKTtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy51c2VyQXBpU2VydmljZVxyXG4gICAgICAgIC5nZXRDdHNVc2Vycyh0aGlzLmRlcHRUaXRsZSwge1xyXG4gICAgICAgICAgY3VycmVudFBhZ2VJbmRleDogcGFnZSxcclxuICAgICAgICAgIHBhZ2VTaXplOiAyMCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5jb25jYXQoZGF0YS51c2Vycyk7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dFBhZ2VBdmFpbGFibGUgPSBkYXRhLmlzTmV4dFBhZ2VBdmFpbGFibGU7XHJcbiAgICAgICAgICB0aGlzLmJ1ZmZlciA9ICh0aGlzLmRhdGEgfHwgW10pLnNsaWNlKDAsIHRoaXMuYnVmZmVyU2l6ZSk7XHJcbiAgICAgICAgICB0aGlzLmJ1ZmZlci5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgaXRlbS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5oYW5kbGVDbGVhckNsaWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJzZWxlY3QtbGFiZWxcIlxyXG4gICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48ZGl2IGNsYXNzPVwidXNlci1zZWxlY3RcIiBbbmdDbGFzc109XCJ7ICdtdWx0aXBsZS13cmFwcGVyJzogbXVsdGlwbGUgfVwiIFNldFJ0bD5cclxuICA8bmctc2VsZWN0XHJcbiAgICAjbmdTZWxlY3RDb21wb25lbnRcclxuICAgIFtpdGVtc109XCJidWZmZXJcIlxyXG4gICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxyXG4gICAgW2JpbmRWYWx1ZV09XCJiaW5kVmFsdWVcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICAgIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxyXG4gICAgW2hpZGVTZWxlY3RlZF09XCJoaWRlU2VsZWN0ZWRJdGVtc1wiXHJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAgIChzY3JvbGxUb0VuZCk9XCJvblNjcm9sbFRvRW5kKClcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0aW9uXCJcclxuICAgIChjaGFuZ2UpPVwiZW1pdFNlbGVjdGlvbigkZXZlbnQpXCJcclxuICA+XHJcbiAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCI+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgc3R5bGU9XCJcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgY29sdW1uLWdhcDogNHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDMwcHg7IGhlaWdodDogMzBweFwiPlxyXG4gICAgICAgICAgPGN0cy1hdmF0YXIgW3VzZXJdPVwiaXRlbVwiPjwvY3RzLWF2YXRhcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1uYW1lXCI+XHJcbiAgICAgICAgICB7eyBpdGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgfX0ge3sgaXRlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJuZy12YWx1ZS1pY29uIHJpZ2h0XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKGl0ZW0pXCJcclxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgPsOXPC9zcGFuXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgc3R5bGU9XCJcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgY29sdW1uLWdhcDogNHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDMwcHg7IGhlaWdodDogMzBweFwiPlxyXG4gICAgICAgICAgPGN0cy1hdmF0YXIgW3VzZXJdPVwiaXRlbVwiPjwvY3RzLWF2YXRhcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAge3sgaXRlbT8ucHJvcGVydGllcz8uZmlyc3ROYW1lIH19IHt7IGl0ZW0/LnByb3BlcnRpZXM/Lmxhc3ROYW1lIH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXY+PC9kaXY+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9uZy1zZWxlY3Q+XHJcbjwvZGl2PlxyXG48bWF0LWVycm9yXHJcbiAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVycm9yLSdcIlxyXG4gIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAqbmdJZj1cImhhc0Vycm9ycygpXCJcclxuPlxyXG4gIDx1bD5cclxuICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgIHt7IFwiVkFMSURBVE9SUy5SRVFVSVJFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvbWF0LWVycm9yPlxyXG4iXX0=
@@ -252,15 +252,15 @@ export class DynamicFormSelectUsersComponent {
252
252
  this.userNameInput$.unsubscribe();
253
253
  }
254
254
  }
255
- DynamicFormSelectUsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DynamicFormSelectUsersComponent, deps: [{ token: i1.UsersInDepartmentsApiService }, { token: i2.TranslateService }, { token: i3.TranslationService }, { token: i4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
256
- DynamicFormSelectUsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DynamicFormSelectUsersComponent, selector: "cts-dynamic-form-select-users", inputs: { deptTitle: "deptTitle", label: "label", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", preSelectedValues: "preSelectedValues", usePreSelectedValue: "usePreSelectedValue", disabled: "disabled", filter: "filter" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"user-select\" [ngClass]=\"{ 'multiple-wrapper': multiple }\" SetRtl>\r\n <ng-select\r\n #ngSelectComponent\r\n [items]=\"buffer\"\r\n [bindLabel]=\"bindLabel\"\r\n [placeholder]=\"\r\n multiple && (selection && selection.length > 0) ? selectionstrg : placeholder\r\n \"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n [disabled]=\"disabled\"\r\n [typeahead]=\"userNameInput$\"\r\n [compareWith]=\"compareFn\"\r\n [(ngModel)]=\"selection\"\r\n (change)=\"emitSelection($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div class=\"user-name\">\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : item?.properties?.firstName + \" \" +item?.properties?.lastName }}\r\n\r\n\r\n </div>\r\n <div>\r\n <span\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template\r\n ng-option-tmp\r\n let-item=\"item\"\r\n let-item$=\"item$\"\r\n let-index=\"index\"\r\n >\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <mat-checkbox\r\n *ngIf=\"multiple\"\r\n id=\"item-{{ index }}\"\r\n [ngModel]=\"item$.selected\"\r\n (click)=\"(false)\"\r\n ></mat-checkbox>\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div>\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : item?.properties?.firstName + \" \" +item?.properties?.lastName }}\r\n </div>\r\n\r\n <div></div>\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important}.user-select .ng-select-container .ng-value-container{padding:5px 7px 0!important}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.user-select .mat-checkbox-ripple .mat-ripple-element,.user-select .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.user-select .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.user-select mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.multiple-wrapper .ng-select-container{overflow:visible!important}.multiple-wrapper .ng-select-container.ng-has-value{margin-bottom:65px}.multiple-wrapper .ng-select-container .ng-value-container{position:absolute;top:40px;width:100%;max-height:65px;overflow-y:auto}.multiple-wrapper .ng-select-container .ng-value-container .ng-placeholder{display:block;position:absolute;top:-26px!important}.multiple-wrapper .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper .ng-select-container .ng-value-container .ng-value .user-name{font-size:12px}.multiple-wrapper .ng-select-container .ng-value-container .ng-input{position:absolute;top:-35px!important}.multiple-wrapper .ng-select-container .ng-clear-wrapper{display:none}.multiple-wrapper .ng-select-container .ng-arrow-wrapper{position:absolute;right:5px}.multiple-wrapper .ng-select-filtered .ng-value-container .ng-placeholder{display:none!important}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-left:none!important;border-right:1px solid #b8dbff}.multiple-wrapper.rtl .ng-select-container .ng-arrow-wrapper{left:5px;right:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}\n"], components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i6.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }, { type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.SetRtlDirective, selector: "[SetRtl]" }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i10.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
255
+ DynamicFormSelectUsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormSelectUsersComponent, deps: [{ token: i1.UsersInDepartmentsApiService }, { token: i2.TranslateService }, { token: i3.TranslationService }, { token: i4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
256
+ DynamicFormSelectUsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormSelectUsersComponent, selector: "cts-dynamic-form-select-users", inputs: { deptTitle: "deptTitle", label: "label", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", preSelectedValues: "preSelectedValues", usePreSelectedValue: "usePreSelectedValue", disabled: "disabled", filter: "filter" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"user-select\" [ngClass]=\"{ 'multiple-wrapper': multiple }\" SetRtl>\r\n <ng-select\r\n #ngSelectComponent\r\n [items]=\"buffer\"\r\n [bindLabel]=\"bindLabel\"\r\n [placeholder]=\"\r\n multiple && (selection && selection.length > 0) ? selectionstrg : placeholder\r\n \"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n [disabled]=\"disabled\"\r\n [typeahead]=\"userNameInput$\"\r\n [compareWith]=\"compareFn\"\r\n [(ngModel)]=\"selection\"\r\n (change)=\"emitSelection($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div class=\"user-name\">\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : item?.properties?.firstName + \" \" +item?.properties?.lastName }}\r\n\r\n\r\n </div>\r\n <div>\r\n <span\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template\r\n ng-option-tmp\r\n let-item=\"item\"\r\n let-item$=\"item$\"\r\n let-index=\"index\"\r\n >\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <mat-checkbox\r\n *ngIf=\"multiple\"\r\n id=\"item-{{ index }}\"\r\n [ngModel]=\"item$.selected\"\r\n (click)=\"(false)\"\r\n ></mat-checkbox>\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div>\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : item?.properties?.firstName + \" \" +item?.properties?.lastName }}\r\n </div>\r\n\r\n <div></div>\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important}.user-select .ng-select-container .ng-value-container{padding:5px 7px 0!important}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.user-select .mat-checkbox-ripple .mat-ripple-element,.user-select .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.user-select .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.user-select mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.multiple-wrapper .ng-select-container{overflow:visible!important}.multiple-wrapper .ng-select-container.ng-has-value{margin-bottom:65px}.multiple-wrapper .ng-select-container .ng-value-container{position:absolute;top:40px;width:100%;max-height:65px;overflow-y:auto}.multiple-wrapper .ng-select-container .ng-value-container .ng-placeholder{display:block;position:absolute;top:-26px!important}.multiple-wrapper .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper .ng-select-container .ng-value-container .ng-value .user-name{font-size:12px}.multiple-wrapper .ng-select-container .ng-value-container .ng-input{position:absolute;top:-35px!important}.multiple-wrapper .ng-select-container .ng-clear-wrapper{display:none}.multiple-wrapper .ng-select-container .ng-arrow-wrapper{position:absolute;right:5px}.multiple-wrapper .ng-select-filtered .ng-value-container .ng-placeholder{display:none!important}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-left:none!important;border-right:1px solid #b8dbff}.multiple-wrapper.rtl .ng-select-container .ng-arrow-wrapper{left:5px;right:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}\n"], components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i6.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }, { type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.SetRtlDirective, selector: "[SetRtl]" }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i10.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
257
257
  __decorate([
258
258
  Cacheable({
259
259
  maxCacheCount: 1000,
260
260
  maxAge: 5 * minute,
261
261
  })
262
262
  ], DynamicFormSelectUsersComponent.prototype, "getUsersSuggestions", null);
263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DynamicFormSelectUsersComponent, decorators: [{
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormSelectUsersComponent, decorators: [{
264
264
  type: Component,
265
265
  args: [{
266
266
  selector: 'cts-dynamic-form-select-users',
@@ -304,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
304
304
  }], onSelectItems: [{
305
305
  type: Output
306
306
  }], getUsersSuggestions: [] } });
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMvZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMvZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUVKLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFTdkIsT0FBTyxFQUFrQixPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUVMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7OztBQUN6Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQztBQU9yQixNQUFNLE9BQU8sK0JBQStCO0lBZ0UxQyxZQUNVLGNBQTRDLEVBQzdDLFNBQTJCLEVBQzFCLFdBQStCLEVBQ1os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QUFhLEVBQUUsSUFBSTtRQUNuQixNQUFNLEVBQUUsQ0FBQyxHQUFHLE1BQU07S0FDbkIsQ0FBQzswRUFHRDs0RkF0UFUsK0JBQStCO2tCQU4zQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFdBQVcsRUFBRSw0Q0FBNEM7b0JBQ3pELFNBQVMsRUFBRSxDQUFDLDRDQUE0QyxDQUFDO29CQUN6RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXFFSSxJQUFJOzswQkFBSSxRQUFROzRDQWpFYSxpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQU1yQixTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQWlOUCxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgU2VsZixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBjYXRjaEVycm9yLFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBzd2l0Y2hNYXAsXHJcbiAgdGFwLFxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlcnNJbkRlcGFydG1lbnRzQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXNlci1hcGkuc2VydmljZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlIH0gZnJvbSAndHMtY2FjaGVhYmxlJztcclxuLyoqXHJcbiAqIFVzZXJzIGRyb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCB1c2VycyBBUEksXHJcbiAqIHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVXNlcnMgZHJvcGRvd25cclxuICogQGV4YW1wbGVcclxuICogPGN0cy1keW5hbWljLWZvcm0tc2VsZWN0LXVzZXJzXHJcbiAqICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250cm9sTmFtZVwiXHJcbiAqICAgICBbYmluZFZhbHVlXT1cImJpbmRUb1Byb3BlcnR5XCJcclxuICogICAgIFtiaW5kTGFiZWxdPVwiJ2JpbmRUb0xhYmVsJ1wiXHJcbiAqICAgICBbc2VhcmNoYWJsZV09XCJ0cnVlXCJcclxuICogICAgIFtsYWJlbF09XCInUEFUSC5UTy5UUkFOU0xBVElPTidcIlxyXG4gKiAgICAgW2RlcHRUaXRsZV09XCInYWxsJ1wiXHJcbiAqICAgPjwvY3RzLWR5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnM+XHJcbiAqL1xyXG5jb25zdCBtaW51dGUgPSA2MDAwMDtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZHluYW1pYy1mb3JtLXNlbGVjdC11c2VycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1TZWxlY3RVc2Vyc0NvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbntcclxuICBAVmlld0NoaWxkKCduZ1NlbGVjdENvbXBvbmVudCcpIG5nU2VsZWN0Q29tcG9uZW50OiBOZ1NlbGVjdENvbXBvbmVudDtcclxuICBzZWxlY3Rpb25zdHJnOiBzdHJpbmc7XHJcbiAgZGF0YSA9IFtdO1xyXG4gIGFsbFVzZXJzOiBib29sZWFuO1xyXG4gIHVzZXJOYW1lSW5wdXQkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIC8qKiBmaWx0ZXIgdXNlcnMgYnkgZGVwYXJ0bWVudCAoZGVwYXJ0bWVudE5hbWUgfCBhbGwpICovXHJcbiAgQElucHV0KCkgZGVwdFRpdGxlOiBzdHJpbmc7XHJcbiAgLyoqIEZpZWxkIExhYmVsICovXHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICAvKiogQmluZCB2YWx1ZSB0byBvYmplY3QgcHJvcGVydHkgKi9cclxuICBASW5wdXQoKSBiaW5kVmFsdWU7XHJcbiAgLyoqIEJpbmQgbGFiZWwgdG8gb2JqZWN0IHByb3BlcnR5ICovXHJcbiAgQElucHV0KCkgYmluZExhYmVsO1xyXG4gIC8qKiBQbGFjZWhvbGRlciB0ZXh0ICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI7XHJcbiAgLyoqIENhbiBzZWxlY3QgbXVsdGlwbGUgKi9cclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIC8qKiBpcyBkcm9wZG93biBzZWFyY2hhYmxlICovXHJcbiAgQElucHV0KCkgc2VhcmNoYWJsZSA9IGZhbHNlO1xyXG4gIC8qKiBzaG91bGQgY2xvc2UgZHJvcGRvd24gb24gdmFsdWUgc2VsZWN0aW9uICovXHJcbiAgQElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XHJcbiAgLyoqIHNob3VsZCBoaWRlIHNlbGVjdGVkIGl0ZW1zICovXHJcbiAgQElucHV0KCkgaGlkZVNlbGVjdGVkSXRlbXMgPSBmYWxzZTtcclxuICAvKiogUHJlIFNlbGVjdGVkIHZhbHVlcyAqL1xyXG4gIEBJbnB1dCgpIHByZVNlbGVjdGVkVmFsdWVzO1xyXG4gIC8qKiBmbGFnZSB0byB1c2UgcHJlc2VsZWN0ZWQgdmFsdWVzIG9yIG5vdCAqL1xyXG4gIEBJbnB1dCgpIHVzZVByZVNlbGVjdGVkVmFsdWUgPSBmYWxzZTtcclxuICAvKiogaXMgRGlzYWJsZWQgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIC8qKiBMaXN0IG9mIHVzZXJuYW1lcyB0aGF0IHNob3VsZCBiZSBleGx1ZGVkICAqL1xyXG4gIEBJbnB1dCgpIGZpbHRlcjogc3RyaW5nW10gPSBbXTtcclxuICAvKiogZXZlbnQgZW1pdHRlZCB3aGVuIGl0ZW0gaXMgc2VsZWN0ZWQgKi9cclxuICBAT3V0cHV0KCkgb25TZWxlY3RJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgc2VsZWN0aW9uO1xyXG4gIGJ1ZmZlciA9IFtdO1xyXG4gIGJ1ZmZlclNpemUgPSAxMDAwO1xyXG4gIG51bWJlck9mSXRlbXNGcm9tRW5kQmVmb3JlRmV0Y2hpbmdNb3JlID0gMTA7XHJcbiAgc3VmZml4O1xyXG5cclxuICBwcm9wYWdhdGVDaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIHZhbGlkYXRlRm46IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICBwdWJsaWMgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7XHJcbiAgICAvKkVtcHR5Ki9cclxuICB9O1xyXG4gIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcclxuICBpc05leHRQYWdlQXZhaWxhYmxlOiBib29sZWFuO1xyXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBkaXJ0eSwgdG91Y2hlZCB9ID0gdGhpcy5jb250cm9sO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyBkaXJ0eSB8fCB0b3VjaGVkIDogZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB1c2VyQXBpU2VydmljZTogVXNlcnNJbkRlcGFydG1lbnRzQXBpU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBjb250cm9sOiBOZ0NvbnRyb2xcclxuICApIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZW1pdFNlbGVjdGlvbihldmVudCkge1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3Rpb25zdHJnID0gYCR7dGhpcy5zZWxlY3Rpb24ubGVuZ3RofSAke3RoaXMuc3VmZml4fWA7XHJcbiAgICB9XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGlvbik7XHJcbiAgICB0aGlzLm9uU2VsZWN0SXRlbXMuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvblNjcm9sbFRvRW5kKCkge1xyXG4gICAgdGhpcy5mZXRjaE1vcmUoKTtcclxuICAgICsrdGhpcy5wYWdlSW5kZXg7XHJcbiAgICBpZiAodGhpcy5pc05leHRQYWdlQXZhaWxhYmxlICYmIHRoaXMuYWxsVXNlcnMpIHtcclxuICAgICAgdGhpcy5nZXREZXBhcnRtZW50cyh0aGlzLnBhZ2VJbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZldGNoTW9yZSgpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCBsZW4gPSB0aGlzLmJ1ZmZlci5sZW5ndGg7XHJcbiAgICBjb25zdCBtb3JlID0gdGhpcy5kYXRhLnNsaWNlKGxlbiwgdGhpcy5idWZmZXJTaXplICsgbGVuKTtcclxuICAgIHRoaXMuYnVmZmVyID0gdGhpcy5kYXRhLmNvbmNhdChtb3JlKTtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5kZXB0VGl0bGUgJiYgIWNoYW5nZXMuZGVwdFRpdGxlPy5maXJzdENoYW5nZSkge1xyXG4gICAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgICAgdGhpcy5idWZmZXIgPSBbXTtcclxuICAgICAgdGhpcy5nZXREZXBhcnRtZW50cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFsbFVzZXJzID0gdGhpcy5kZXB0VGl0bGUgPT09ICdhbGwnID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3Rpb24gPSB0aGlzLm11bHRpcGxlID8gW10gOiB1bmRlZmluZWQ7XHJcbiAgICBpZiAodGhpcy5hbGxVc2Vycykge1xyXG4gICAgICB0aGlzLmxvYWRVc2VycygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXREZXBhcnRtZW50cygpO1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyKSA9PiB7XHJcbiAgICAgIGFyXHJcbiAgICAgICAgPyAodGhpcy5zdWZmaXggPSAn2YXYs9iq2K7Yr9mFINiq2YUg2KXYrtiq2YrYp9ix2YcnKVxyXG4gICAgICAgIDogKHRoaXMuc3VmZml4ID0gJ1VzZXJzIFNlbGVjdGVkJyk7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25zdHJnID0gYCR7dGhpcy5zZWxlY3Rpb24ubGVuZ3RofSAke3RoaXMuc3VmZml4fWA7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVwYXJ0bWVudHMocGFnZSA9IDApIHtcclxuICAgIGlmICh0aGlzLmRlcHRUaXRsZSkge1xyXG4gICAgICBpZiAodGhpcy5hbGxVc2Vycykge1xyXG4gICAgICAgIHRoaXMuZ2V0QWxsVXNlcnMocGFnZSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBsZXQgbmV3RGF0YSA9IHRoaXMuY29uc3RydWN0VXNlckFycmF5KGRhdGEuZW50cmllcywgJ2lkJyk7XHJcbiAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuY29uY2F0KG5ld0RhdGEpO1xyXG4gICAgICAgICAgdGhpcy5pc05leHRQYWdlQXZhaWxhYmxlID0gZGF0YS5pc05leHRQYWdlQXZhaWxhYmxlO1xyXG4gICAgICAgICAgdGhpcy5idWZmZXIgPSAodGhpcy5kYXRhIHx8IFtdKS5zbGljZSgwLCB0aGlzLmJ1ZmZlclNpemUpO1xyXG4gICAgICAgICAgdGhpcy5idWZmZXIubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsgLy8gZm9yIGxvYWRpbmcgc3Bpbm5lclxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ2V0Q3RzVXNlcnModGhpcy5kZXB0VGl0bGUpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgbGV0IG5ld0RhdGEgPSB0aGlzLmNvbnN0cnVjdFVzZXJBcnJheShcclxuICAgICAgICAgICAgZGF0YS51c2VycyxcclxuICAgICAgICAgICAgJ3Byb3BlcnRpZXMudXNlcm5hbWUnXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdChuZXdEYXRhKTtcclxuICAgICAgICAgIHRoaXMuaXNOZXh0UGFnZUF2YWlsYWJsZSA9IGRhdGEuaXNOZXh0UGFnZUF2YWlsYWJsZTtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyID0gKHRoaXMuZGF0YSB8fCBbXSkuc2xpY2UoMCwgdGhpcy5idWZmZXJTaXplKTtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIGdldEFsbFVzZXJzKHBhZ2UgPSAwKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJBcGlTZXJ2aWNlLmdldEFsbFVzZXJzKHtcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogcGFnZSxcclxuICAgICAgcGFnZVNpemU6IDIwLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRVc2VycygpIHtcclxuICAgIHRoaXMudXNlck5hbWVJbnB1dCRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXHJcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICB0YXAoKCkgPT4gKHRoaXMubG9hZGluZyA9IHRydWUpKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKHRlcm0pID0+IHtcclxuICAgICAgICAgIGlmICh0ZXJtICYmIHRlcm0ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFVzZXJzU3VnZ2VzdGlvbnModGVybSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxVc2VycygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZGF0YS5lbnRyaWVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBsZXQgbmV3RGF0YSA9IHRoaXMuY29uc3RydWN0VXNlckFycmF5KGRhdGEuZW50cmllcywgJ2lkJyk7XHJcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyID0gKG5ld0RhdGEgfHwgW10pLnNsaWNlKDAsIHRoaXMuYnVmZmVyU2l6ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXh0UGFnZUF2YWlsYWJsZSA9IGRhdGEuaXNOZXh0UGFnZUF2YWlsYWJsZTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmJ1ZmZlciA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5idWZmZXIgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIFxyXG4gIHdyaXRlVmFsdWUodmFsdWUpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IHZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uc3RyZyA9IGAke3RoaXMuc2VsZWN0aW9uLmxlbmd0aH0gJHt0aGlzLnN1ZmZpeH1gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wYXJlRm4oaXRlbSwgc2VsZWN0ZWQpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiaXRlbSAxXCIsIGl0ZW0pO1xyXG4gICAgY29uc29sZS5sb2coXCJJdGVtIDJcIiwgc2VsZWN0ZWQpO1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQgPT09IHNlbGVjdGVkLmlkO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbikge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVGbihjKTtcclxuICB9XHJcbiAgaXNSZXF1aXJlZCgpIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sIHx8ICF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG4gICAgcmV0dXJuIHZhbGlkYXRvciAmJiB2YWxpZGF0b3IucmVxdWlyZWQ7XHJcbiAgfVxyXG4gIGhhc0Vycm9ycygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNob3dFcnJvcjtcclxuICB9XHJcblxyXG4gIC8vIEBDYWNoZWFibGUoe1xyXG4gIC8vICAgbWF4Q2FjaGVDb3VudDogMTAwMCxcclxuICAvLyAgIG1heEFnZTogMjAwMDAsXHJcbiAgLy8gfSlcclxuXHJcbiAgZ2V0Q3RzVXNlcnMoZGVwdFRpdGxlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJBcGlTZXJ2aWNlLmdldEN0c1VzZXJzKGRlcHRUaXRsZSk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIG1heENhY2hlQ291bnQ6IDEwMDAsXHJcbiAgICBtYXhBZ2U6IDUgKiBtaW51dGUsXHJcbiAgfSlcclxuICBnZXRVc2Vyc1N1Z2dlc3Rpb25zKHRlcm0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlckFwaVNlcnZpY2UuZ2V0VXNlcnNTdWdnZXN0aW9ucyh0ZXJtKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0VXNlckFycmF5KGRhdGEsIGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGxldCBDb25zdHJ1Y3RlZERhdGE6IGFueVtdO1xyXG4gICAgQ29uc3RydWN0ZWREYXRhID0gdGhpcy5pbnNlcnRGVWxsTmFtZShkYXRhKTtcclxuICAgIENvbnN0cnVjdGVkRGF0YSA9IHRoaXMuZmlsdGVyVXNlcnMoZGF0YSwgZmlsdGVyVmFsdWUpO1xyXG4gICAgcmV0dXJuIENvbnN0cnVjdGVkRGF0YTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5zZXJ0RlVsbE5hbWUoZGF0YSkge1xyXG4gICAgcmV0dXJuIGRhdGEubWFwKCh1c2VyKSA9PiB7XHJcbiAgICAgIHVzZXIuZnVsbE5hbWUgPSBgJHt1c2VyLnByb3BlcnRpZXM/LmZpcnN0TmFtZX0gJHt1c2VyLnByb3BlcnRpZXM/Lmxhc3ROYW1lfWA7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBmaWx0ZXJVc2VycyhkYXRhLCBwYXRoOiBzdHJpbmcpIHtcclxuICAgIGxldCBmaWx0ZXJEYXRhID0gZGF0YS5maWx0ZXIoKHVzZXIpID0+IHtcclxuICAgICAgY29uc3QgaW5jbHVkZWRJbkZpbHRlciA9XHJcbiAgICAgICAgdGhpcy5maWx0ZXIuaW5jbHVkZXMoXy5nZXQodXNlciwgcGF0aCkpIHx8XHJcbiAgICAgICAgXy5nZXQodXNlciwgcGF0aCkgPT09ICdBZG1pbmlzdHJhdG9yJztcclxuICAgICAgcmV0dXJuICFpbmNsdWRlZEluRmlsdGVyO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZmlsdGVyRGF0YTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5oYW5kbGVDbGVhckNsaWNrKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VyTmFtZUlucHV0JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic2VsZWN0LWxhYmVsXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG0tMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPGRpdiBjbGFzcz1cInVzZXItc2VsZWN0XCIgW25nQ2xhc3NdPVwieyAnbXVsdGlwbGUtd3JhcHBlcic6IG11bHRpcGxlIH1cIiBTZXRSdGw+XHJcbiAgPG5nLXNlbGVjdFxyXG4gICAgI25nU2VsZWN0Q29tcG9uZW50XHJcbiAgICBbaXRlbXNdPVwiYnVmZmVyXCJcclxuICAgIFtiaW5kTGFiZWxdPVwiYmluZExhYmVsXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJcclxuICAgICAgbXVsdGlwbGUgJiYgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24ubGVuZ3RoID4gMCkgPyBzZWxlY3Rpb25zdHJnIDogcGxhY2Vob2xkZXJcclxuICAgIFwiXHJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXHJcbiAgICBbY2xvc2VPblNlbGVjdF09XCJjbG9zZU9uU2VsZWN0XCJcclxuICAgIFtoaWRlU2VsZWN0ZWRdPVwiaGlkZVNlbGVjdGVkSXRlbXNcIlxyXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICAoc2Nyb2xsVG9FbmQpPVwib25TY3JvbGxUb0VuZCgpXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbdHlwZWFoZWFkXT1cInVzZXJOYW1lSW5wdXQkXCJcclxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxyXG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3Rpb25cIlxyXG4gICAgKGNoYW5nZSk9XCJlbWl0U2VsZWN0aW9uKCRldmVudClcIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBzdHlsZT1cIlxyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBjb2x1bW4tZ2FwOiA0cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4XCI+XHJcbiAgICAgICAgICA8Y3RzLWF2YXRhciBbdXNlcl09XCJpdGVtXCI+PC9jdHMtYXZhdGFyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLW5hbWVcIj5cclxuICAgICAgICAgIHt7IGl0ZW0/LmlkID09PSAnc3lzdGVtJyA/ICgnU1lTVEVNX0FETUlOJyB8IHRyYW5zbGF0ZSkgOiBpdGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgKyBcIiBcIiAraXRlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUgfX1cclxuXHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cIm5nLXZhbHVlLWljb24gcmlnaHRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoaXRlbSlcIlxyXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICA+w5c8L3NwYW5cclxuICAgICAgICAgID5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGVcclxuICAgICAgbmctb3B0aW9uLXRtcFxyXG4gICAgICBsZXQtaXRlbT1cIml0ZW1cIlxyXG4gICAgICBsZXQtaXRlbSQ9XCJpdGVtJFwiXHJcbiAgICAgIGxldC1pbmRleD1cImluZGV4XCJcclxuICAgID5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBzdHlsZT1cIlxyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBjb2x1bW4tZ2FwOiA0cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3hcclxuICAgICAgICAgICpuZ0lmPVwibXVsdGlwbGVcIlxyXG4gICAgICAgICAgaWQ9XCJpdGVtLXt7IGluZGV4IH19XCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cIml0ZW0kLnNlbGVjdGVkXCJcclxuICAgICAgICAgIChjbGljayk9XCIoZmFsc2UpXCJcclxuICAgICAgICA+PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHhcIj5cclxuICAgICAgICAgIDxjdHMtYXZhdGFyIFt1c2VyXT1cIml0ZW1cIj48L2N0cy1hdmF0YXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIHt7IGl0ZW0/LmlkID09PSAnc3lzdGVtJyA/ICgnU1lTVEVNX0FETUlOJyB8IHRyYW5zbGF0ZSkgOiBpdGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgKyBcIiBcIiAraXRlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdj48L2Rpdj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLXNlbGVjdD5cclxuPC9kaXY+XHJcbjxtYXQtZXJyb3JcclxuICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4+XHJcbiAgPHVsPlxyXG4gICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuPC9tYXQtZXJyb3I+XHJcbiJdfQ==
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMvZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMvZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUVKLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFTdkIsT0FBTyxFQUFrQixPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUVMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7OztBQUN6Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQztBQU9yQixNQUFNLE9BQU8sK0JBQStCO0lBZ0UxQyxZQUNVLGNBQTRDLEVBQzdDLFNBQTJCLEVBQzFCLFdBQStCLEVBQ1os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QUFhLEVBQUUsSUFBSTtRQUNuQixNQUFNLEVBQUUsQ0FBQyxHQUFHLE1BQU07S0FDbkIsQ0FBQzswRUFHRDsyRkF0UFUsK0JBQStCO2tCQU4zQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFdBQVcsRUFBRSw0Q0FBNEM7b0JBQ3pELFNBQVMsRUFBRSxDQUFDLDRDQUE0QyxDQUFDO29CQUN6RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXFFSSxJQUFJOzswQkFBSSxRQUFROzRDQWpFYSxpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQU1yQixTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQWlOUCxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgU2VsZixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBjYXRjaEVycm9yLFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBzd2l0Y2hNYXAsXHJcbiAgdGFwLFxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlcnNJbkRlcGFydG1lbnRzQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXNlci1hcGkuc2VydmljZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlIH0gZnJvbSAndHMtY2FjaGVhYmxlJztcclxuLyoqXHJcbiAqIFVzZXJzIGRyb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCB1c2VycyBBUEksXHJcbiAqIHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVXNlcnMgZHJvcGRvd25cclxuICogQGV4YW1wbGVcclxuICogPGN0cy1keW5hbWljLWZvcm0tc2VsZWN0LXVzZXJzXHJcbiAqICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250cm9sTmFtZVwiXHJcbiAqICAgICBbYmluZFZhbHVlXT1cImJpbmRUb1Byb3BlcnR5XCJcclxuICogICAgIFtiaW5kTGFiZWxdPVwiJ2JpbmRUb0xhYmVsJ1wiXHJcbiAqICAgICBbc2VhcmNoYWJsZV09XCJ0cnVlXCJcclxuICogICAgIFtsYWJlbF09XCInUEFUSC5UTy5UUkFOU0xBVElPTidcIlxyXG4gKiAgICAgW2RlcHRUaXRsZV09XCInYWxsJ1wiXHJcbiAqICAgPjwvY3RzLWR5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnM+XHJcbiAqL1xyXG5jb25zdCBtaW51dGUgPSA2MDAwMDtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZHluYW1pYy1mb3JtLXNlbGVjdC11c2VycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1TZWxlY3RVc2Vyc0NvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbntcclxuICBAVmlld0NoaWxkKCduZ1NlbGVjdENvbXBvbmVudCcpIG5nU2VsZWN0Q29tcG9uZW50OiBOZ1NlbGVjdENvbXBvbmVudDtcclxuICBzZWxlY3Rpb25zdHJnOiBzdHJpbmc7XHJcbiAgZGF0YSA9IFtdO1xyXG4gIGFsbFVzZXJzOiBib29sZWFuO1xyXG4gIHVzZXJOYW1lSW5wdXQkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIC8qKiBmaWx0ZXIgdXNlcnMgYnkgZGVwYXJ0bWVudCAoZGVwYXJ0bWVudE5hbWUgfCBhbGwpICovXHJcbiAgQElucHV0KCkgZGVwdFRpdGxlOiBzdHJpbmc7XHJcbiAgLyoqIEZpZWxkIExhYmVsICovXHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICAvKiogQmluZCB2YWx1ZSB0byBvYmplY3QgcHJvcGVydHkgKi9cclxuICBASW5wdXQoKSBiaW5kVmFsdWU7XHJcbiAgLyoqIEJpbmQgbGFiZWwgdG8gb2JqZWN0IHByb3BlcnR5ICovXHJcbiAgQElucHV0KCkgYmluZExhYmVsO1xyXG4gIC8qKiBQbGFjZWhvbGRlciB0ZXh0ICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI7XHJcbiAgLyoqIENhbiBzZWxlY3QgbXVsdGlwbGUgKi9cclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIC8qKiBpcyBkcm9wZG93biBzZWFyY2hhYmxlICovXHJcbiAgQElucHV0KCkgc2VhcmNoYWJsZSA9IGZhbHNlO1xyXG4gIC8qKiBzaG91bGQgY2xvc2UgZHJvcGRvd24gb24gdmFsdWUgc2VsZWN0aW9uICovXHJcbiAgQElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XHJcbiAgLyoqIHNob3VsZCBoaWRlIHNlbGVjdGVkIGl0ZW1zICovXHJcbiAgQElucHV0KCkgaGlkZVNlbGVjdGVkSXRlbXMgPSBmYWxzZTtcclxuICAvKiogUHJlIFNlbGVjdGVkIHZhbHVlcyAqL1xyXG4gIEBJbnB1dCgpIHByZVNlbGVjdGVkVmFsdWVzO1xyXG4gIC8qKiBmbGFnZSB0byB1c2UgcHJlc2VsZWN0ZWQgdmFsdWVzIG9yIG5vdCAqL1xyXG4gIEBJbnB1dCgpIHVzZVByZVNlbGVjdGVkVmFsdWUgPSBmYWxzZTtcclxuICAvKiogaXMgRGlzYWJsZWQgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIC8qKiBMaXN0IG9mIHVzZXJuYW1lcyB0aGF0IHNob3VsZCBiZSBleGx1ZGVkICAqL1xyXG4gIEBJbnB1dCgpIGZpbHRlcjogc3RyaW5nW10gPSBbXTtcclxuICAvKiogZXZlbnQgZW1pdHRlZCB3aGVuIGl0ZW0gaXMgc2VsZWN0ZWQgKi9cclxuICBAT3V0cHV0KCkgb25TZWxlY3RJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgc2VsZWN0aW9uO1xyXG4gIGJ1ZmZlciA9IFtdO1xyXG4gIGJ1ZmZlclNpemUgPSAxMDAwO1xyXG4gIG51bWJlck9mSXRlbXNGcm9tRW5kQmVmb3JlRmV0Y2hpbmdNb3JlID0gMTA7XHJcbiAgc3VmZml4O1xyXG5cclxuICBwcm9wYWdhdGVDaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIHZhbGlkYXRlRm46IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICBwdWJsaWMgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7XHJcbiAgICAvKkVtcHR5Ki9cclxuICB9O1xyXG4gIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcclxuICBpc05leHRQYWdlQXZhaWxhYmxlOiBib29sZWFuO1xyXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBkaXJ0eSwgdG91Y2hlZCB9ID0gdGhpcy5jb250cm9sO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyBkaXJ0eSB8fCB0b3VjaGVkIDogZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB1c2VyQXBpU2VydmljZTogVXNlcnNJbkRlcGFydG1lbnRzQXBpU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBjb250cm9sOiBOZ0NvbnRyb2xcclxuICApIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZW1pdFNlbGVjdGlvbihldmVudCkge1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3Rpb25zdHJnID0gYCR7dGhpcy5zZWxlY3Rpb24ubGVuZ3RofSAke3RoaXMuc3VmZml4fWA7XHJcbiAgICB9XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGlvbik7XHJcbiAgICB0aGlzLm9uU2VsZWN0SXRlbXMuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvblNjcm9sbFRvRW5kKCkge1xyXG4gICAgdGhpcy5mZXRjaE1vcmUoKTtcclxuICAgICsrdGhpcy5wYWdlSW5kZXg7XHJcbiAgICBpZiAodGhpcy5pc05leHRQYWdlQXZhaWxhYmxlICYmIHRoaXMuYWxsVXNlcnMpIHtcclxuICAgICAgdGhpcy5nZXREZXBhcnRtZW50cyh0aGlzLnBhZ2VJbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZldGNoTW9yZSgpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCBsZW4gPSB0aGlzLmJ1ZmZlci5sZW5ndGg7XHJcbiAgICBjb25zdCBtb3JlID0gdGhpcy5kYXRhLnNsaWNlKGxlbiwgdGhpcy5idWZmZXJTaXplICsgbGVuKTtcclxuICAgIHRoaXMuYnVmZmVyID0gdGhpcy5kYXRhLmNvbmNhdChtb3JlKTtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5kZXB0VGl0bGUgJiYgIWNoYW5nZXMuZGVwdFRpdGxlPy5maXJzdENoYW5nZSkge1xyXG4gICAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgICAgdGhpcy5idWZmZXIgPSBbXTtcclxuICAgICAgdGhpcy5nZXREZXBhcnRtZW50cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFsbFVzZXJzID0gdGhpcy5kZXB0VGl0bGUgPT09ICdhbGwnID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3Rpb24gPSB0aGlzLm11bHRpcGxlID8gW10gOiB1bmRlZmluZWQ7XHJcbiAgICBpZiAodGhpcy5hbGxVc2Vycykge1xyXG4gICAgICB0aGlzLmxvYWRVc2VycygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXREZXBhcnRtZW50cygpO1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyKSA9PiB7XHJcbiAgICAgIGFyXHJcbiAgICAgICAgPyAodGhpcy5zdWZmaXggPSAn2YXYs9iq2K7Yr9mFINiq2YUg2KXYrtiq2YrYp9ix2YcnKVxyXG4gICAgICAgIDogKHRoaXMuc3VmZml4ID0gJ1VzZXJzIFNlbGVjdGVkJyk7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25zdHJnID0gYCR7dGhpcy5zZWxlY3Rpb24ubGVuZ3RofSAke3RoaXMuc3VmZml4fWA7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVwYXJ0bWVudHMocGFnZSA9IDApIHtcclxuICAgIGlmICh0aGlzLmRlcHRUaXRsZSkge1xyXG4gICAgICBpZiAodGhpcy5hbGxVc2Vycykge1xyXG4gICAgICAgIHRoaXMuZ2V0QWxsVXNlcnMocGFnZSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBsZXQgbmV3RGF0YSA9IHRoaXMuY29uc3RydWN0VXNlckFycmF5KGRhdGEuZW50cmllcywgJ2lkJyk7XHJcbiAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuY29uY2F0KG5ld0RhdGEpO1xyXG4gICAgICAgICAgdGhpcy5pc05leHRQYWdlQXZhaWxhYmxlID0gZGF0YS5pc05leHRQYWdlQXZhaWxhYmxlO1xyXG4gICAgICAgICAgdGhpcy5idWZmZXIgPSAodGhpcy5kYXRhIHx8IFtdKS5zbGljZSgwLCB0aGlzLmJ1ZmZlclNpemUpO1xyXG4gICAgICAgICAgdGhpcy5idWZmZXIubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsgLy8gZm9yIGxvYWRpbmcgc3Bpbm5lclxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ2V0Q3RzVXNlcnModGhpcy5kZXB0VGl0bGUpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgbGV0IG5ld0RhdGEgPSB0aGlzLmNvbnN0cnVjdFVzZXJBcnJheShcclxuICAgICAgICAgICAgZGF0YS51c2VycyxcclxuICAgICAgICAgICAgJ3Byb3BlcnRpZXMudXNlcm5hbWUnXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdChuZXdEYXRhKTtcclxuICAgICAgICAgIHRoaXMuaXNOZXh0UGFnZUF2YWlsYWJsZSA9IGRhdGEuaXNOZXh0UGFnZUF2YWlsYWJsZTtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyID0gKHRoaXMuZGF0YSB8fCBbXSkuc2xpY2UoMCwgdGhpcy5idWZmZXJTaXplKTtcclxuICAgICAgICAgIHRoaXMuYnVmZmVyLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIGdldEFsbFVzZXJzKHBhZ2UgPSAwKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJBcGlTZXJ2aWNlLmdldEFsbFVzZXJzKHtcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogcGFnZSxcclxuICAgICAgcGFnZVNpemU6IDIwLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRVc2VycygpIHtcclxuICAgIHRoaXMudXNlck5hbWVJbnB1dCRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXHJcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICB0YXAoKCkgPT4gKHRoaXMubG9hZGluZyA9IHRydWUpKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKHRlcm0pID0+IHtcclxuICAgICAgICAgIGlmICh0ZXJtICYmIHRlcm0ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFVzZXJzU3VnZ2VzdGlvbnModGVybSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxVc2VycygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZGF0YS5lbnRyaWVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBsZXQgbmV3RGF0YSA9IHRoaXMuY29uc3RydWN0VXNlckFycmF5KGRhdGEuZW50cmllcywgJ2lkJyk7XHJcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyID0gKG5ld0RhdGEgfHwgW10pLnNsaWNlKDAsIHRoaXMuYnVmZmVyU2l6ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXh0UGFnZUF2YWlsYWJsZSA9IGRhdGEuaXNOZXh0UGFnZUF2YWlsYWJsZTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmJ1ZmZlciA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5idWZmZXIgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIFxyXG4gIHdyaXRlVmFsdWUodmFsdWUpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IHZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uc3RyZyA9IGAke3RoaXMuc2VsZWN0aW9uLmxlbmd0aH0gJHt0aGlzLnN1ZmZpeH1gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wYXJlRm4oaXRlbSwgc2VsZWN0ZWQpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiaXRlbSAxXCIsIGl0ZW0pO1xyXG4gICAgY29uc29sZS5sb2coXCJJdGVtIDJcIiwgc2VsZWN0ZWQpO1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQgPT09IHNlbGVjdGVkLmlkO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbikge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVGbihjKTtcclxuICB9XHJcbiAgaXNSZXF1aXJlZCgpIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sIHx8ICF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG4gICAgcmV0dXJuIHZhbGlkYXRvciAmJiB2YWxpZGF0b3IucmVxdWlyZWQ7XHJcbiAgfVxyXG4gIGhhc0Vycm9ycygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNob3dFcnJvcjtcclxuICB9XHJcblxyXG4gIC8vIEBDYWNoZWFibGUoe1xyXG4gIC8vICAgbWF4Q2FjaGVDb3VudDogMTAwMCxcclxuICAvLyAgIG1heEFnZTogMjAwMDAsXHJcbiAgLy8gfSlcclxuXHJcbiAgZ2V0Q3RzVXNlcnMoZGVwdFRpdGxlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJBcGlTZXJ2aWNlLmdldEN0c1VzZXJzKGRlcHRUaXRsZSk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIG1heENhY2hlQ291bnQ6IDEwMDAsXHJcbiAgICBtYXhBZ2U6IDUgKiBtaW51dGUsXHJcbiAgfSlcclxuICBnZXRVc2Vyc1N1Z2dlc3Rpb25zKHRlcm0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlckFwaVNlcnZpY2UuZ2V0VXNlcnNTdWdnZXN0aW9ucyh0ZXJtKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0VXNlckFycmF5KGRhdGEsIGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGxldCBDb25zdHJ1Y3RlZERhdGE6IGFueVtdO1xyXG4gICAgQ29uc3RydWN0ZWREYXRhID0gdGhpcy5pbnNlcnRGVWxsTmFtZShkYXRhKTtcclxuICAgIENvbnN0cnVjdGVkRGF0YSA9IHRoaXMuZmlsdGVyVXNlcnMoZGF0YSwgZmlsdGVyVmFsdWUpO1xyXG4gICAgcmV0dXJuIENvbnN0cnVjdGVkRGF0YTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5zZXJ0RlVsbE5hbWUoZGF0YSkge1xyXG4gICAgcmV0dXJuIGRhdGEubWFwKCh1c2VyKSA9PiB7XHJcbiAgICAgIHVzZXIuZnVsbE5hbWUgPSBgJHt1c2VyLnByb3BlcnRpZXM/LmZpcnN0TmFtZX0gJHt1c2VyLnByb3BlcnRpZXM/Lmxhc3ROYW1lfWA7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBmaWx0ZXJVc2VycyhkYXRhLCBwYXRoOiBzdHJpbmcpIHtcclxuICAgIGxldCBmaWx0ZXJEYXRhID0gZGF0YS5maWx0ZXIoKHVzZXIpID0+IHtcclxuICAgICAgY29uc3QgaW5jbHVkZWRJbkZpbHRlciA9XHJcbiAgICAgICAgdGhpcy5maWx0ZXIuaW5jbHVkZXMoXy5nZXQodXNlciwgcGF0aCkpIHx8XHJcbiAgICAgICAgXy5nZXQodXNlciwgcGF0aCkgPT09ICdBZG1pbmlzdHJhdG9yJztcclxuICAgICAgcmV0dXJuICFpbmNsdWRlZEluRmlsdGVyO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZmlsdGVyRGF0YTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5oYW5kbGVDbGVhckNsaWNrKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VyTmFtZUlucHV0JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic2VsZWN0LWxhYmVsXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG0tMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPGRpdiBjbGFzcz1cInVzZXItc2VsZWN0XCIgW25nQ2xhc3NdPVwieyAnbXVsdGlwbGUtd3JhcHBlcic6IG11bHRpcGxlIH1cIiBTZXRSdGw+XHJcbiAgPG5nLXNlbGVjdFxyXG4gICAgI25nU2VsZWN0Q29tcG9uZW50XHJcbiAgICBbaXRlbXNdPVwiYnVmZmVyXCJcclxuICAgIFtiaW5kTGFiZWxdPVwiYmluZExhYmVsXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJcclxuICAgICAgbXVsdGlwbGUgJiYgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24ubGVuZ3RoID4gMCkgPyBzZWxlY3Rpb25zdHJnIDogcGxhY2Vob2xkZXJcclxuICAgIFwiXHJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXHJcbiAgICBbY2xvc2VPblNlbGVjdF09XCJjbG9zZU9uU2VsZWN0XCJcclxuICAgIFtoaWRlU2VsZWN0ZWRdPVwiaGlkZVNlbGVjdGVkSXRlbXNcIlxyXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICAoc2Nyb2xsVG9FbmQpPVwib25TY3JvbGxUb0VuZCgpXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbdHlwZWFoZWFkXT1cInVzZXJOYW1lSW5wdXQkXCJcclxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxyXG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3Rpb25cIlxyXG4gICAgKGNoYW5nZSk9XCJlbWl0U2VsZWN0aW9uKCRldmVudClcIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBzdHlsZT1cIlxyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBjb2x1bW4tZ2FwOiA0cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4XCI+XHJcbiAgICAgICAgICA8Y3RzLWF2YXRhciBbdXNlcl09XCJpdGVtXCI+PC9jdHMtYXZhdGFyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLW5hbWVcIj5cclxuICAgICAgICAgIHt7IGl0ZW0/LmlkID09PSAnc3lzdGVtJyA/ICgnU1lTVEVNX0FETUlOJyB8IHRyYW5zbGF0ZSkgOiBpdGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgKyBcIiBcIiAraXRlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUgfX1cclxuXHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cIm5nLXZhbHVlLWljb24gcmlnaHRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoaXRlbSlcIlxyXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICA+w5c8L3NwYW5cclxuICAgICAgICAgID5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGVcclxuICAgICAgbmctb3B0aW9uLXRtcFxyXG4gICAgICBsZXQtaXRlbT1cIml0ZW1cIlxyXG4gICAgICBsZXQtaXRlbSQ9XCJpdGVtJFwiXHJcbiAgICAgIGxldC1pbmRleD1cImluZGV4XCJcclxuICAgID5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBzdHlsZT1cIlxyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBjb2x1bW4tZ2FwOiA0cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3hcclxuICAgICAgICAgICpuZ0lmPVwibXVsdGlwbGVcIlxyXG4gICAgICAgICAgaWQ9XCJpdGVtLXt7IGluZGV4IH19XCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cIml0ZW0kLnNlbGVjdGVkXCJcclxuICAgICAgICAgIChjbGljayk9XCIoZmFsc2UpXCJcclxuICAgICAgICA+PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHhcIj5cclxuICAgICAgICAgIDxjdHMtYXZhdGFyIFt1c2VyXT1cIml0ZW1cIj48L2N0cy1hdmF0YXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIHt7IGl0ZW0/LmlkID09PSAnc3lzdGVtJyA/ICgnU1lTVEVNX0FETUlOJyB8IHRyYW5zbGF0ZSkgOiBpdGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgKyBcIiBcIiAraXRlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdj48L2Rpdj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLXNlbGVjdD5cclxuPC9kaXY+XHJcbjxtYXQtZXJyb3JcclxuICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4+XHJcbiAgPHVsPlxyXG4gICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuPC9tYXQtZXJyb3I+XHJcbiJdfQ==
@@ -33,12 +33,12 @@ export class UsersInDepartmentsApiService {
33
33
  }));
34
34
  }
35
35
  }
36
- UsersInDepartmentsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UsersInDepartmentsApiService, deps: [{ token: i1.NuxeoService }], target: i0.ɵɵFactoryTarget.Injectable });
37
- UsersInDepartmentsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UsersInDepartmentsApiService, providedIn: 'root' });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UsersInDepartmentsApiService, decorators: [{
36
+ UsersInDepartmentsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: UsersInDepartmentsApiService, deps: [{ token: i1.NuxeoService }], target: i0.ɵɵFactoryTarget.Injectable });
37
+ UsersInDepartmentsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: UsersInDepartmentsApiService, providedIn: 'root' });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: UsersInDepartmentsApiService, decorators: [{
39
39
  type: Injectable,
40
40
  args: [{
41
41
  providedIn: 'root',
42
42
  }]
43
43
  }], ctorParameters: function () { return [{ type: i1.NuxeoService }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy9zZXJ2aWNlcy91c2VyLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUk1QyxjQUFjO0FBSWQsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFDbEQsV0FBVyxDQUFDLE1BQU0sR0FBRyxFQUFFO1FBQ3JCLE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVzthQUMxQixPQUFPLENBQUMsYUFBYSxDQUFDO2FBQ3RCLFdBQVcsaUJBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSyxNQUFNLEVBQUc7YUFDbEMsR0FBRyxFQUFFLENBQ1QsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELG1CQUFtQixDQUFDLFFBQWdCLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDL0MsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO2FBQzFCLE9BQU8sQ0FBQyxhQUFhLENBQUM7YUFDdEIsV0FBVyxpQkFBRyxDQUFDLEVBQUUsUUFBUSxJQUFLLE1BQU0sRUFBRzthQUN2QyxHQUFHLEVBQUUsQ0FDVCxDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0QsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUNoQyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsT0FBTyxDQUFDLHNDQUFzQyxTQUFTLEVBQUUsQ0FBQzthQUMxRCxXQUFXLGlCQUFHLENBQUMsRUFBRSxHQUFHLElBQUssTUFBTSxFQUFHO2FBQ2xDLEdBQUcsRUFBRSxDQUNULENBQUMsSUFBSSxDQUNKLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OzBIQXJDVSw0QkFBNEI7OEhBQTVCLDRCQUE0QixjQUYzQixNQUFNOzRGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuXHJcblxyXG4vKiogQGlnbm9yZSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlcnNJbkRlcGFydG1lbnRzQXBpU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZSkge31cclxuICBnZXRBbGxVc2VycyhwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVxdWVzdCgndXNlci9zZWFyY2gnKVxyXG4gICAgICAgIC5xdWVyeVBhcmFtcyh7IHE6ICcqJywgLi4ucGFyYW1zIH0pXHJcbiAgICAgICAgLmdldCgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldFVzZXJzU3VnZ2VzdGlvbnModXNlcm5hbWU6IHN0cmluZywgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcXVlc3QoJ3VzZXIvc2VhcmNoJylcclxuICAgICAgICAucXVlcnlQYXJhbXMoeyBxOiB1c2VybmFtZSwgLi4ucGFyYW1zIH0pXHJcbiAgICAgICAgLmdldCgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldEN0c1VzZXJzKGRlcHRUaXRsZSwgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcXVlc3QoYGdyb3VwLW1lbWJlcnMvYWxsLW1lbWJlcnMvY3RzX3JvbGVfJHtkZXB0VGl0bGV9YClcclxuICAgICAgICAucXVlcnlQYXJhbXMoeyBxOiAnKicsIC4uLnBhcmFtcyB9KVxyXG4gICAgICAgIC5nZXQoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4vLyAucmVxdWVzdChgY3RzX3JvbGVfJHtkZXB0VGl0bGV9YClcclxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXNlbGVjdC11c2Vycy9zZXJ2aWNlcy91c2VyLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUk1QyxjQUFjO0FBSWQsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFDbEQsV0FBVyxDQUFDLE1BQU0sR0FBRyxFQUFFO1FBQ3JCLE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVzthQUMxQixPQUFPLENBQUMsYUFBYSxDQUFDO2FBQ3RCLFdBQVcsaUJBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSyxNQUFNLEVBQUc7YUFDbEMsR0FBRyxFQUFFLENBQ1QsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELG1CQUFtQixDQUFDLFFBQWdCLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDL0MsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO2FBQzFCLE9BQU8sQ0FBQyxhQUFhLENBQUM7YUFDdEIsV0FBVyxpQkFBRyxDQUFDLEVBQUUsUUFBUSxJQUFLLE1BQU0sRUFBRzthQUN2QyxHQUFHLEVBQUUsQ0FDVCxDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0QsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUNoQyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsT0FBTyxDQUFDLHNDQUFzQyxTQUFTLEVBQUUsQ0FBQzthQUMxRCxXQUFXLGlCQUFHLENBQUMsRUFBRSxHQUFHLElBQUssTUFBTSxFQUFHO2FBQ2xDLEdBQUcsRUFBRSxDQUNULENBQUMsSUFBSSxDQUNKLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O3lIQXJDVSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQUYzQixNQUFNOzJGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuXHJcblxyXG4vKiogQGlnbm9yZSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlcnNJbkRlcGFydG1lbnRzQXBpU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZSkge31cclxuICBnZXRBbGxVc2VycyhwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVxdWVzdCgndXNlci9zZWFyY2gnKVxyXG4gICAgICAgIC5xdWVyeVBhcmFtcyh7IHE6ICcqJywgLi4ucGFyYW1zIH0pXHJcbiAgICAgICAgLmdldCgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldFVzZXJzU3VnZ2VzdGlvbnModXNlcm5hbWU6IHN0cmluZywgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcXVlc3QoJ3VzZXIvc2VhcmNoJylcclxuICAgICAgICAucXVlcnlQYXJhbXMoeyBxOiB1c2VybmFtZSwgLi4ucGFyYW1zIH0pXHJcbiAgICAgICAgLmdldCgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldEN0c1VzZXJzKGRlcHRUaXRsZSwgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcXVlc3QoYGdyb3VwLW1lbWJlcnMvYWxsLW1lbWJlcnMvY3RzX3JvbGVfJHtkZXB0VGl0bGV9YClcclxuICAgICAgICAucXVlcnlQYXJhbXMoeyBxOiAnKicsIC4uLnBhcmFtcyB9KVxyXG4gICAgICAgIC5nZXQoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4vLyAucmVxdWVzdChgY3RzX3JvbGVfJHtkZXB0VGl0bGV9YClcclxuIl19