nuxeo-development-framework 4.3.1 → 4.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 (211) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +4348 -3030
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/charts/chart.const.js +3 -0
  4. package/esm2015/lib/components/charts/chart.token.js +3 -0
  5. package/esm2015/lib/components/charts/charts.module.js +19 -0
  6. package/esm2015/lib/components/charts/components/base-chart.component.js +44 -0
  7. package/esm2015/lib/components/charts/components/chart.component.js +135 -0
  8. package/esm2015/lib/components/charts/components/data-chart.component.js +169 -0
  9. package/esm2015/lib/components/charts/components/index.js +4 -0
  10. package/esm2015/lib/components/charts/defaults/bar.js +18 -0
  11. package/esm2015/lib/components/charts/defaults/doughnut.js +18 -0
  12. package/esm2015/lib/components/charts/defaults/index.js +5 -0
  13. package/esm2015/lib/components/charts/defaults/line.js +36 -0
  14. package/esm2015/lib/components/charts/defaults/pie.js +20 -0
  15. package/esm2015/lib/components/charts/index.js +10 -0
  16. package/esm2015/lib/components/charts/models/index.js +5 -0
  17. package/esm2015/lib/components/charts/models/options.js +2 -0
  18. package/esm2015/lib/components/charts/models/plugins-options.js +2 -0
  19. package/esm2015/lib/components/charts/models/response.js +2 -0
  20. package/esm2015/lib/components/charts/models/statistic-request-config.js +2 -0
  21. package/esm2015/lib/components/charts/plugins/doughnut-center-text.js +25 -0
  22. package/esm2015/lib/components/charts/plugins/doughnut-empty-state.js +34 -0
  23. package/esm2015/lib/components/charts/plugins/index.js +4 -0
  24. package/esm2015/lib/components/charts/plugins/legend-margin.js +16 -0
  25. package/esm2015/lib/components/charts/services/index.js +2 -0
  26. package/esm2015/lib/components/charts/services/statistic.service.js +75 -0
  27. package/esm2015/lib/components/charts/utility/colors.js +79 -0
  28. package/esm2015/lib/components/charts/utility/common.js +7 -0
  29. package/esm2015/lib/components/charts/utility/index.js +3 -0
  30. package/esm2015/lib/components/comments/comments.module.js +9 -5
  31. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +30 -23
  32. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +28 -34
  33. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +22 -22
  34. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +16 -18
  35. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +6 -6
  36. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +3 -2
  37. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +33 -29
  38. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +32 -24
  39. package/esm2015/lib/components/diagrams/components/connection-label.component.js +1 -1
  40. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +2 -3
  41. package/esm2015/lib/components/diagrams/editor/customize.js +11 -14
  42. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +21 -34
  43. package/esm2015/lib/components/diagrams/editor/path-plugin.js +11 -10
  44. package/esm2015/lib/components/diagrams/models/base-node.model.js +2 -1
  45. package/esm2015/lib/components/diagrams/models/connection.model.js +1 -1
  46. package/esm2015/lib/components/diagrams/types/common.type.js +1 -1
  47. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +1 -1
  48. package/esm2015/lib/components/diagrams/types/node-definition.js +1 -1
  49. package/esm2015/lib/components/diagrams/utilities/random.js +9 -3
  50. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +9 -11
  51. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +45 -40
  52. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +21 -17
  53. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +98 -92
  54. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +22 -10
  55. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +8 -4
  56. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +28 -29
  57. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +16 -3
  58. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +26 -18
  59. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +2 -2
  60. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +4 -2
  61. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +13 -10
  62. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +3 -3
  63. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +68 -29
  64. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +60 -42
  65. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +66 -36
  66. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +40 -13
  67. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +238 -200
  68. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +14 -12
  69. package/esm2015/lib/components/file-manger/components/delete/delete.component.js +49 -20
  70. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +45 -43
  71. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +63 -36
  72. package/esm2015/lib/components/file-manger/components/move/move.component.js +61 -31
  73. package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +81 -81
  74. package/esm2015/lib/components/file-manger/components/rename/rename.component.js +58 -30
  75. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +99 -66
  76. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +95 -75
  77. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +15 -11
  78. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +54 -23
  79. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +24 -24
  80. package/esm2015/lib/components/file-manger/file-manager.abstract.js +266 -264
  81. package/esm2015/lib/components/file-manger/file-manger.module.js +39 -35
  82. package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
  83. package/esm2015/lib/components/notifications/components/base-notifications.component.js +2 -16
  84. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +3 -3
  85. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +24 -4
  86. package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +3 -2
  87. package/esm2015/lib/components/notifications/models/notification-message.mode.js +1 -1
  88. package/esm2015/lib/components/notifications/models/notifications-list-options.js +1 -1
  89. package/esm2015/lib/components/notifications/services/notifications.service.js +23 -17
  90. package/esm2015/lib/components/notifications/services/socket.service.js +13 -5
  91. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +107 -90
  92. package/esm2015/lib/components/permissions/permissions/permissions.component.js +100 -57
  93. package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +36 -52
  94. package/esm2015/lib/components/permissions/permissions.module.js +23 -7
  95. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +1 -1
  96. package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +37 -0
  97. package/esm2015/lib/components/spell-checker-field/spell-checker-text-field/spell-checker-text-field.component.js +88 -0
  98. package/esm2015/lib/components/table/dynamic-component.js +59 -0
  99. package/esm2015/lib/components/table/page-sizes-list/page-sizes-list.component.js +38 -0
  100. package/esm2015/lib/components/table/table/table.component.js +39 -21
  101. package/esm2015/lib/components/table/table.module.js +22 -18
  102. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +11 -6
  103. package/esm2015/lib/core/services/callApi/call-api.service.js +23 -6
  104. package/esm2015/lib/shared/components/base/base-selector.component.js +1 -1
  105. package/esm2015/lib/shared/components/base/base.component.js +5 -5
  106. package/esm2015/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.js +1 -1
  107. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.js +8 -4
  108. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +11 -7
  109. package/esm2015/lib/shared/services/base/http-base.service.js +10 -19
  110. package/esm2015/lib/shared-services/dialog-mangment.service.js +66 -21
  111. package/esm2015/lib/shared-services/shared-docs.service.js +20 -26
  112. package/esm2015/public-api.js +8 -2
  113. package/fesm2015/nuxeo-development-framework.js +3547 -2279
  114. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  115. package/lib/components/charts/chart.const.d.ts +2 -0
  116. package/lib/components/charts/chart.token.d.ts +8 -0
  117. package/lib/components/charts/charts.module.d.ts +9 -0
  118. package/lib/components/charts/components/base-chart.component.d.ts +21 -0
  119. package/lib/components/charts/components/chart.component.d.ts +28 -0
  120. package/lib/components/charts/components/data-chart.component.d.ts +39 -0
  121. package/lib/components/charts/components/index.d.ts +3 -0
  122. package/lib/components/charts/defaults/bar.d.ts +2 -0
  123. package/lib/components/charts/defaults/doughnut.d.ts +2 -0
  124. package/lib/components/charts/defaults/index.d.ts +4 -0
  125. package/lib/components/charts/defaults/line.d.ts +2 -0
  126. package/lib/components/charts/defaults/pie.d.ts +2 -0
  127. package/lib/components/charts/index.d.ts +9 -0
  128. package/lib/components/charts/models/index.d.ts +4 -0
  129. package/lib/components/charts/models/options.d.ts +12 -0
  130. package/lib/components/charts/models/plugins-options.d.ts +18 -0
  131. package/lib/components/charts/models/response.d.ts +5 -0
  132. package/lib/components/charts/models/statistic-request-config.d.ts +30 -0
  133. package/lib/components/charts/plugins/doughnut-center-text.d.ts +2 -0
  134. package/lib/components/charts/plugins/doughnut-empty-state.d.ts +2 -0
  135. package/lib/components/charts/plugins/index.d.ts +3 -0
  136. package/lib/components/charts/plugins/legend-margin.d.ts +2 -0
  137. package/lib/components/charts/services/index.d.ts +1 -0
  138. package/lib/components/charts/services/statistic.service.d.ts +23 -0
  139. package/lib/components/charts/utility/colors.d.ts +11 -0
  140. package/lib/components/charts/utility/common.d.ts +4 -0
  141. package/lib/components/charts/utility/index.d.ts +2 -0
  142. package/lib/components/comments/comments.module.d.ts +2 -1
  143. package/lib/components/comments/components/comment-item/comment-item.component.d.ts +3 -1
  144. package/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.d.ts +8 -5
  145. package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +8 -8
  146. package/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.d.ts +5 -5
  147. package/lib/components/correspondence-relation/correspondence-relation.module.d.ts +3 -2
  148. package/lib/components/diagrams/editor/customize.d.ts +7 -7
  149. package/lib/components/diagrams/editor/overrides/connection-path.transformers.d.ts +2 -5
  150. package/lib/components/diagrams/models/base-node.model.d.ts +1 -1
  151. package/lib/components/diagrams/models/connection.model.d.ts +2 -1
  152. package/lib/components/diagrams/types/common.type.d.ts +4 -0
  153. package/lib/components/diagrams/types/diagram-config.type.d.ts +7 -7
  154. package/lib/components/diagrams/types/node-definition.d.ts +1 -0
  155. package/lib/components/diagrams/utilities/random.d.ts +1 -1
  156. package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +11 -10
  157. package/lib/components/dynamic-chart/dynamic-chart.module.d.ts +5 -6
  158. package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.d.ts +6 -2
  159. package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.d.ts +2 -1
  160. package/lib/components/dynamic-form/components/department-form/department-form.component.d.ts +4 -4
  161. package/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.d.ts +5 -1
  162. package/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.d.ts +3 -1
  163. package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +5 -1
  164. package/lib/components/dynamic-form/dynamic-form.module.d.ts +2 -1
  165. package/lib/components/dynamic-table/dynamic-table/dynamic-table.component.d.ts +29 -11
  166. package/lib/components/file-manger/components/add-to-collection/add-to-collection.component.d.ts +11 -5
  167. package/lib/components/file-manger/components/copy/copy.component.d.ts +11 -4
  168. package/lib/components/file-manger/components/create-directory/create-directory.component.d.ts +9 -4
  169. package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +13 -19
  170. package/lib/components/file-manger/components/creation-type/creation-type.component.d.ts +6 -4
  171. package/lib/components/file-manger/components/delete/delete.component.d.ts +11 -4
  172. package/lib/components/file-manger/components/folder-modal/folder-modal.component.d.ts +9 -11
  173. package/lib/components/file-manger/components/loan-request/loan-request.component.d.ts +11 -5
  174. package/lib/components/file-manger/components/move/move.component.d.ts +11 -4
  175. package/lib/components/file-manger/components/publish-dialog/publish-dialog.component.d.ts +12 -10
  176. package/lib/components/file-manger/components/rename/rename.component.d.ts +11 -5
  177. package/lib/components/file-manger/components/scan-modal/scan-modal.component.d.ts +9 -8
  178. package/lib/components/file-manger/components/share-dialog/share-dialog.component.d.ts +6 -7
  179. package/lib/components/file-manger/components/template-modal/template-modal.component.d.ts +4 -3
  180. package/lib/components/file-manger/components/transfer-doc/transfer-doc.component.d.ts +11 -4
  181. package/lib/components/file-manger/components/update-modal/update-modal.component.d.ts +9 -8
  182. package/lib/components/file-manger/file-manager.abstract.d.ts +24 -22
  183. package/lib/components/file-manger/file-manger.module.d.ts +2 -1
  184. package/lib/components/notifications/components/base-notifications.component.d.ts +2 -8
  185. package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +1 -1
  186. package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +4 -1
  187. package/lib/components/notifications/models/notification-message.mode.d.ts +1 -0
  188. package/lib/components/notifications/models/notifications-list-options.d.ts +4 -0
  189. package/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.d.ts +8 -6
  190. package/lib/components/permissions/permissions/permissions.component.d.ts +3 -1
  191. package/lib/components/permissions/permissions-template/permissions-template.component.d.ts +3 -3
  192. package/lib/components/permissions/permissions.module.d.ts +2 -1
  193. package/lib/components/spell-checker-field/spell-checker-field.module.d.ts +10 -0
  194. package/lib/components/spell-checker-field/spell-checker-text-field/spell-checker-text-field.component.d.ts +24 -0
  195. package/lib/components/table/dynamic-component.d.ts +20 -0
  196. package/lib/components/table/page-sizes-list/page-sizes-list.component.d.ts +15 -0
  197. package/lib/components/table/table/table.component.d.ts +15 -6
  198. package/lib/components/table/table.module.d.ts +14 -10
  199. package/lib/components/vocabulary/services/vocabulary-api.service.d.ts +2 -2
  200. package/lib/core/services/callApi/call-api.service.d.ts +8 -1
  201. package/lib/shared/components/base/base-selector.component.d.ts +4 -4
  202. package/lib/shared/components/base/base.component.d.ts +5 -5
  203. package/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.d.ts +2 -1
  204. package/lib/shared/components/nuxeo-dialog/nuxeo.dialog.d.ts +2 -1
  205. package/lib/shared/services/base/http-base.service.d.ts +3 -1
  206. package/lib/shared-services/dialog-mangment.service.d.ts +5 -1
  207. package/lib/shared-services/shared-docs.service.d.ts +3 -1
  208. package/package.json +3 -4
  209. package/public-api.d.ts +7 -1
  210. package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +0 -164
  211. package/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.d.ts +0 -33
@@ -1,36 +1,57 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { DxFormComponent } from 'devextreme-angular';
3
+ import { NdfNuxeoDialog } from '../../../../shared/components/nuxeo-dialog/nuxeo.dialog';
4
+ import { BaseComponent } from '../../../../shared/components/base/base.component';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "../../../../shared-services/file-manager.service";
5
7
  import * as i2 from "../../../custom-toastr/services/custom-toastr.service";
6
- import * as i3 from "devextreme-angular";
7
- import * as i4 from "devextreme-angular/ui/nested";
8
- import * as i5 from "devextreme-angular/core";
8
+ import * as i3 from "../../../../shared/components/nuxeo-dialog/services/nuxeo-dialog.service";
9
+ import * as i4 from "devextreme-angular";
10
+ import * as i5 from "devextreme-angular/ui/nested";
9
11
  import * as i6 from "@angular/forms";
10
- import * as i7 from "@angular/common";
11
- import * as i8 from "@ngx-translate/core";
12
- export class CreateDirectoryComponent {
13
- constructor(fileManagerService, customToastrService) {
12
+ import * as i7 from "@ngx-translate/core";
13
+ export class CreateDirectoryComponent extends BaseComponent {
14
+ constructor(fileManagerService, customToastrService, nuxeoDialogService, injector) {
15
+ super(injector);
14
16
  this.fileManagerService = fileManagerService;
15
17
  this.customToastrService = customToastrService;
18
+ this.nuxeoDialogService = nuxeoDialogService;
16
19
  this.visibleChange = new EventEmitter();
17
20
  this.refresh = new EventEmitter();
18
21
  this.rtlEnabled = false;
19
22
  this.formData = {};
20
23
  this._visible = false;
21
- this.loading = false;
22
24
  }
23
25
  set visible(value) {
24
26
  if (this._visible === value) {
25
27
  return;
26
28
  }
29
+ if (value) {
30
+ this.openDialog();
31
+ }
27
32
  this._visible = value;
28
33
  this.visibleChange.emit(this._visible);
29
34
  }
30
35
  get visible() {
31
36
  return this._visible;
32
37
  }
33
- ngOnInit() {
38
+ ngOnInit() { }
39
+ openDialog() {
40
+ const options = {
41
+ component: NdfNuxeoDialog,
42
+ panelClass: 'popUpParent',
43
+ config: {
44
+ title: this.translateService.instant('CREATE.createFolder'),
45
+ contentTemplate: this.contentTemplate,
46
+ actionsTemplate: this.actionsTemplate
47
+ }
48
+ };
49
+ this.nuxeoDialogService
50
+ .open(options)
51
+ .afterClosed()
52
+ .subscribe((res) => {
53
+ this.visible = false;
54
+ });
34
55
  }
35
56
  onSubmit(e) {
36
57
  e.preventDefault();
@@ -65,8 +86,8 @@ export class CreateDirectoryComponent {
65
86
  });
66
87
  }
67
88
  }
68
- CreateDirectoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreateDirectoryComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }], target: i0.ɵɵFactoryTarget.Component });
69
- CreateDirectoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreateDirectoryComponent, selector: "app-create-directory", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem" }, outputs: { visibleChange: "visibleChange", refresh: "refresh" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }], ngImport: i0, template: "<dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" [width]=\"500\" [height]=\"230\" [dragEnabled]=\"false\"\r\n[closeOnOutsideClick]=\"true\" [(visible)]=\"visible\"\r\ntitle=\"{{ 'FILE_MANAGER.NEW_DIRECTORY' | translate }}\">\r\n<div *dxTemplate=\"let data of 'content'\">\r\n <form (submit)=\"onSubmit($event)\">\r\n <dx-form class=\"form-wrapper\" #form [formData]=\"formData\" [disabled]=\"loading\">\r\n <dxi-item dataField=\"title\" editorType=\"dxTextBox\">\r\n <dxo-label text=\"{{ 'CREATE.TITLE' | translate }}\"></dxo-label>\r\n <dxi-validation-rule type=\"required\" message=\"Title is required\"></dxi-validation-rule>\r\n </dxi-item>\r\n <dxi-item name=\"description\" editorType=\"dxTextBox\">\r\n <dxo-label text=\"{{ 'CREATE.DESCRIPTION' | translate }}\"></dxo-label>\r\n </dxi-item>\r\n <dxi-item itemType=\"button\">\r\n <dxo-button-options width=\"30%\" type=\"danger\" [useSubmitBehavior]=\"true\"\r\n [template]=\"'createTemplate'\">\r\n </dxo-button-options>\r\n </dxi-item>\r\n <ng-container *dxTemplate=\"let item of 'createTemplate'\">\r\n <span class=\"dx-button-text\">\r\n <ng-container *ngIf=\"loading; else notLoading\">\r\n <dx-load-indicator width=\"24px\" height=\"24px\" [visible]=\"true\"></dx-load-indicator>\r\n </ng-container>\r\n <ng-template #notLoading>{{\r\n \"FILE_MANAGER.CREATE\" | translate\r\n }}</ng-template>\r\n </span>\r\n </ng-container>\r\n </dx-form>\r\n </form>\r\n</div>\r\n</dx-popup>", styles: [""], components: [{ type: i3.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i3.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i4.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i4.DxoLabelComponent, selector: "dxo-label", inputs: ["connectorColor", "connectorWidth", "customizeText", "font", "format", "indent", "visible", "horizontalAlignment", "position", "text", "verticalAlignment", "alignment", "customizeHint", "displayMode", "indentFromAxis", "overlappingBehavior", "rotationAngle", "staggeringSpacing", "template", "textOverflow", "wordWrap", "argumentFormat", "backgroundColor", "border", "connector", "displayFormat", "horizontalOffset", "showForZeroValues", "verticalOffset", "hideFirstOrLast", "indentFromTick", "useRangeColors", "location", "showColon", "radialOffset", "topIndent", "shadow", "useNodeColors", "dataField", "enabled"] }, { type: i4.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }, { type: i4.DxoButtonOptionsComponent, selector: "dxo-button-options", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"] }], directives: [{ type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i8.TranslatePipe } });
89
+ CreateDirectoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreateDirectoryComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }, { token: i3.NuxeoDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
90
+ CreateDirectoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreateDirectoryComponent, selector: "app-create-directory", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem" }, outputs: { visibleChange: "visibleChange", refresh: "refresh" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\r\n\t<div>\r\n\t\t<form>\r\n\t\t\t<dx-form\r\n\t\t\t\tclass=\"form-wrapper\"\r\n\t\t\t\t#form\r\n\t\t\t\t[formData]=\"formData\"\r\n\t\t\t\t[disabled]=\"loading\"\r\n\t\t\t>\r\n\t\t\t\t<dxi-item dataField=\"title\" editorType=\"dxTextBox\">\r\n\t\t\t\t\t<dxo-label text=\"{{ 'CREATE.TITLE' | translate }}\"></dxo-label>\r\n\t\t\t\t\t<dxi-validation-rule\r\n\t\t\t\t\t\ttype=\"required\"\r\n\t\t\t\t\t\tmessage=\"Title is required\"\r\n\t\t\t\t\t></dxi-validation-rule>\r\n\t\t\t\t</dxi-item>\r\n\t\t\t\t<dxi-item name=\"description\" editorType=\"dxTextBox\">\r\n\t\t\t\t\t<dxo-label text=\"{{ 'CREATE.DESCRIPTION' | translate }}\"></dxo-label>\r\n\t\t\t\t</dxi-item>\r\n\t\t\t</dx-form>\r\n\t\t</form>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t<span\r\n\t\tclass=\"dx-button-text\"\r\n\t\t(click)=\"dialog.executeAction(onSubmit, [$event])\"\r\n\t>\r\n\t\t{{ 'FILE_MANAGER.CREATE' | translate }}\r\n\t</span>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i4.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i5.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i5.DxoLabelComponent, selector: "dxo-label", inputs: ["connectorColor", "connectorWidth", "customizeText", "font", "format", "indent", "visible", "horizontalAlignment", "position", "text", "verticalAlignment", "alignment", "customizeHint", "displayMode", "indentFromAxis", "overlappingBehavior", "rotationAngle", "staggeringSpacing", "template", "textOverflow", "wordWrap", "argumentFormat", "backgroundColor", "border", "connector", "displayFormat", "horizontalOffset", "showForZeroValues", "verticalOffset", "hideFirstOrLast", "indentFromTick", "useRangeColors", "location", "showColon", "radialOffset", "topIndent", "shadow", "useNodeColors", "dataField", "enabled"] }, { type: i5.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], pipes: { "translate": i7.TranslatePipe } });
70
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreateDirectoryComponent, decorators: [{
71
92
  type: Component,
72
93
  args: [{
@@ -74,9 +95,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
74
95
  templateUrl: './create-directory.component.html',
75
96
  styleUrls: ['./create-directory.component.scss']
76
97
  }]
77
- }], ctorParameters: function () { return [{ type: i1.FileManagerService }, { type: i2.CustomToastrService }]; }, propDecorators: { form: [{
98
+ }], ctorParameters: function () { return [{ type: i1.FileManagerService }, { type: i2.CustomToastrService }, { type: i3.NuxeoDialogService }, { type: i0.Injector }]; }, propDecorators: { form: [{
78
99
  type: ViewChild,
79
100
  args: [DxFormComponent, { static: false }]
101
+ }], contentTemplate: [{
102
+ type: ViewChild,
103
+ args: ['contentTemplate']
104
+ }], actionsTemplate: [{
105
+ type: ViewChild,
106
+ args: ['actionsTemplate']
80
107
  }], visible: [{
81
108
  type: Input
82
109
  }], visibleChange: [{
@@ -88,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
88
115
  }], selectedItem: [{
89
116
  type: Input
90
117
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRpcmVjdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtbWFuZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWRpcmVjdG9yeS9jcmVhdGUtZGlyZWN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jcmVhdGUtZGlyZWN0b3J5L2NyZWF0ZS1kaXJlY3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7O0FBUXJELE1BQU0sT0FBTyx3QkFBd0I7SUF5Qm5DLFlBQW9CLGtCQUF1QyxFQUNqRCxtQkFBeUM7UUFEL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFxQjtRQUNqRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO1FBWm5ELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVsQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBSW5CLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBRXVDLENBQUM7SUF4QnhELElBQ0ksT0FBTyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBZ0JELFFBQVE7SUFDUixDQUFDO0lBRUQsUUFBUSxDQUFDLENBQUM7UUFDUixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsOENBQThDO1FBQzlDLFdBQVc7UUFDWCx1Q0FBdUM7UUFDdkMsNEJBQTRCO1FBQzVCLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsa0JBQWtCO2FBQ2xCLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDakQsU0FBUyxDQUNOLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQiw2QkFBNkI7WUFDN0IseUJBQXlCO1lBQ3pCLHdEQUF3RDtZQUN4RCx5QkFBeUI7WUFDekIsa0RBQWtEO1lBQ2xELCtDQUErQztZQUMvQyxhQUFhO1lBQ2IsbUNBQW1DO1lBQ25DLDhCQUE4QjtZQUM5QixJQUFJO1lBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDekIsU0FBUyxFQUNULGlCQUFpQixFQUNqQiwwQkFBMEIsQ0FDN0IsQ0FBQztRQUNOLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDekIsT0FBTyxFQUNQLGVBQWUsRUFDZixnQ0FBZ0MsQ0FDbkMsQ0FBQztRQUNOLENBQUMsQ0FDSixDQUFDO0lBQ1YsQ0FBQzs7c0hBekVZLHdCQUF3QjswR0FBeEIsd0JBQXdCLDJQQUN4QixlQUFlLGdEQ1g1QixreERBK0JXOzRGRHJCRSx3QkFBd0I7a0JBTHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsV0FBVyxFQUFFLG1DQUFtQztvQkFDaEQsU0FBUyxFQUFFLENBQUMsbUNBQW1DLENBQUM7aUJBQ2pEOzJJQUVnRCxJQUFJO3NCQUFsRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRXpDLE9BQU87c0JBRFYsS0FBSztnQkFZTixhQUFhO3NCQURaLE1BQU07Z0JBR1AsT0FBTztzQkFETixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNyZWF0ZS1kaXJlY3RvcnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtZGlyZWN0b3J5LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZURpcmVjdG9yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChEeEZvcm1Db21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JtOiBEeEZvcm1Db21wb25lbnQ7XHJcbiAgQElucHV0KClcclxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5fdmlzaWJsZSA9PT0gdmFsdWUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy5fdmlzaWJsZSk7XHJcbiAgfVxyXG4gIGdldCB2aXNpYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XHJcbiAgfVxyXG4gIEBPdXRwdXQoKVxyXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICByZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KClcclxuICBydGxFbmFibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzZWxlY3RlZEl0ZW06IGFueTtcclxuXHJcbiAgZm9ybURhdGE6IGFueSA9IHt9O1xyXG4gIF92aXNpYmxlID0gZmFsc2U7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsZU1hbmFnZXJTZXJ2aWNlIDogRmlsZU1hbmFnZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjdXN0b21Ub2FzdHJTZXJ2aWNlIDogQ3VzdG9tVG9hc3RyU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoZSkge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIC8vIGxldCBkaXJlY3RvcnkgPSB0aGlzLmdldEN1cnJlbnREaXJlY3RvcnkoKTtcclxuICAgIC8vIGxldCBpZCA9XHJcbiAgICAvLyAgICAgZGlyZWN0b3J5LmRhdGFJdGVtID09PSB1bmRlZmluZWRcclxuICAgIC8vICAgICAgICAgPyB0aGlzLm1haW5Gb2xkZXJcclxuICAgIC8vICAgICAgICAgOiB0aGlzLmdldEN1cnJlbnRGb2xkZXJJZChkaXJlY3RvcnkpO1xyXG4gICAgdGhpcy5maWxlTWFuYWdlclNlcnZpY2VcclxuICAgICAgICAuY3JlYXRlRGlyZWN0b3J5KHRoaXMuZm9ybURhdGEsIHRoaXMuc2VsZWN0ZWRJdGVtKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAvLyBpZiAodGhpcy5pc0l0ZW1TZWxlY3RlZCkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCBzZWxlY3RlZEl0ZW0gPVxyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB0aGlzLmZpbGVNYW5hZ2VyLmluc3RhbmNlLmdldFNlbGVjdGVkSXRlbXMoKTtcclxuICAgICAgICAgICAgICAgIC8vICAgICB0aGlzLmN1cnJlbnRQYXRoID1cclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5zZWxlY3RlZE9iamVjdC5lbnRpdHkucGF0aC5zdWJzdHIoXHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLmZpbGVNYW5hZ2VyT2JqPy5wYXRoLmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGRpcmVjdG9yeSA9IHNlbGVjdGVkSXRlbVswXTtcclxuICAgICAgICAgICAgICAgIC8vICAgICBpZCA9IHRoaXMuc2VsZWN0ZWRJdGVtO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0uaW5zdGFuY2UucmVzZXRWYWx1ZXMoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgICAgICAgICAgICAnVE9BU1RFUi5TVUNDRVNTJyxcclxuICAgICAgICAgICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9DUkVBVEVEJ1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfQ1JFQVRFRF9FUlJPUidcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG59XHJcbn1cclxuIiwiPGR4LXBvcHVwIGNsYXNzPVwicG9wVXBQYXJlbnRcIiBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgW3dpZHRoXT1cIjUwMFwiIFtoZWlnaHRdPVwiMjMwXCIgW2RyYWdFbmFibGVkXT1cImZhbHNlXCJcclxuW2Nsb3NlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiIFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcbnRpdGxlPVwie3sgJ0ZJTEVfTUFOQUdFUi5ORVdfRElSRUNUT1JZJyB8IHRyYW5zbGF0ZSB9fVwiPlxyXG48ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGRhdGEgb2YgJ2NvbnRlbnQnXCI+XHJcbiAgICA8Zm9ybSAoc3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIj5cclxuICAgICAgICA8ZHgtZm9ybSBjbGFzcz1cImZvcm0td3JhcHBlclwiICNmb3JtIFtmb3JtRGF0YV09XCJmb3JtRGF0YVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgIDxkeGktaXRlbSBkYXRhRmllbGQ9XCJ0aXRsZVwiIGVkaXRvclR5cGU9XCJkeFRleHRCb3hcIj5cclxuICAgICAgICAgICAgICAgIDxkeG8tbGFiZWwgdGV4dD1cInt7ICdDUkVBVEUuVElUTEUnIHwgdHJhbnNsYXRlIH19XCI+PC9keG8tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZHhpLXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIiBtZXNzYWdlPVwiVGl0bGUgaXMgcmVxdWlyZWRcIj48L2R4aS12YWxpZGF0aW9uLXJ1bGU+XHJcbiAgICAgICAgICAgIDwvZHhpLWl0ZW0+XHJcbiAgICAgICAgICAgIDxkeGktaXRlbSBuYW1lPVwiZGVzY3JpcHRpb25cIiBlZGl0b3JUeXBlPVwiZHhUZXh0Qm94XCI+XHJcbiAgICAgICAgICAgICAgICA8ZHhvLWxhYmVsIHRleHQ9XCJ7eyAnQ1JFQVRFLkRFU0NSSVBUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiPjwvZHhvLWxhYmVsPlxyXG4gICAgICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgICAgICA8ZHhpLWl0ZW0gaXRlbVR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgICAgIDxkeG8tYnV0dG9uLW9wdGlvbnMgd2lkdGg9XCIzMCVcIiB0eXBlPVwiZGFuZ2VyXCIgW3VzZVN1Ym1pdEJlaGF2aW9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCInY3JlYXRlVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICA8L2R4by1idXR0b24tb3B0aW9ucz5cclxuICAgICAgICAgICAgPC9keGktaXRlbT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZHhUZW1wbGF0ZT1cImxldCBpdGVtIG9mICdjcmVhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHgtYnV0dG9uLXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZzsgZWxzZSBub3RMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1sb2FkLWluZGljYXRvciB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIyNHB4XCIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHgtbG9hZC1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RMb2FkaW5nPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiRklMRV9NQU5BR0VSLkNSRUFURVwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9keC1mb3JtPlxyXG4gICAgPC9mb3JtPlxyXG48L2Rpdj5cclxuPC9keC1wb3B1cD4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRpcmVjdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtbWFuZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWRpcmVjdG9yeS9jcmVhdGUtZGlyZWN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jcmVhdGUtZGlyZWN0b3J5L2NyZWF0ZS1kaXJlY3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUV6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7Ozs7OztBQU9sRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQTZCMUQsWUFDUyxrQkFBc0MsRUFDdEMsbUJBQXdDLEVBQ3pDLGtCQUFzQyxFQUM3QyxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFMUix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDekMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQWI5QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsWUFBTyxHQUFHLElBQUks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QUUsbUNBQW1DO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztpQkFDaEQ7bU1BRStDLElBQUk7c0JBQWxELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDZixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDRSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFFeEIsT0FBTztzQkFEVixLQUFLO2dCQWVOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxPQUFPO3NCQUROLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbmplY3RvcixcclxuXHRJbnB1dCxcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0LFxyXG5cdFRlbXBsYXRlUmVmLFxyXG5cdFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZmlsZS1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeEZvcm1Db21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgTmRmTnV4ZW9EaWFsb2cgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvbnV4ZW8uZGlhbG9nJztcclxuaW1wb3J0IHsgTnV4ZW9EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL3NlcnZpY2VzL251eGVvLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtY3JlYXRlLWRpcmVjdG9yeScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1kaXJlY3RvcnkuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2NyZWF0ZS1kaXJlY3RvcnkuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlRGlyZWN0b3J5Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0QFZpZXdDaGlsZChEeEZvcm1Db21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JtOiBEeEZvcm1Db21wb25lbnQ7XHJcblx0QFZpZXdDaGlsZCgnY29udGVudFRlbXBsYXRlJykgY29udGVudFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRAVmlld0NoaWxkKCdhY3Rpb25zVGVtcGxhdGUnKSBhY3Rpb25zVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdEBJbnB1dCgpXHJcblx0c2V0IHZpc2libGUodmFsdWU6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMuX3Zpc2libGUgPT09IHZhbHVlKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGlmICh2YWx1ZSkge1xyXG5cdFx0XHR0aGlzLm9wZW5EaWFsb2coKTtcclxuXHRcdH1cclxuXHRcdHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcclxuXHRcdHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Zpc2libGUpO1xyXG5cdH1cclxuXHRnZXQgdmlzaWJsZSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG5cdH1cclxuXHRAT3V0cHV0KClcclxuXHR2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QE91dHB1dCgpXHJcblx0cmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBJbnB1dCgpXHJcblx0cnRsRW5hYmxlZCA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpXHJcblx0c2VsZWN0ZWRJdGVtOiBhbnk7XHJcblxyXG5cdGZvcm1EYXRhOiBhbnkgPSB7fTtcclxuXHRfdmlzaWJsZSA9IGZhbHNlO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBmaWxlTWFuYWdlclNlcnZpY2U6IEZpbGVNYW5hZ2VyU2VydmljZSxcclxuXHRcdHByaXZhdGUgY3VzdG9tVG9hc3RyU2VydmljZTogQ3VzdG9tVG9hc3RyU2VydmljZSxcclxuXHRcdHB1YmxpYyBudXhlb0RpYWxvZ1NlcnZpY2U6IE51eGVvRGlhbG9nU2VydmljZSxcclxuXHRcdGluamVjdG9yOiBJbmplY3RvclxyXG5cdCkge1xyXG5cdFx0c3VwZXIoaW5qZWN0b3IpO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuXHRvcGVuRGlhbG9nKCk6IHZvaWQge1xyXG5cdFx0Y29uc3Qgb3B0aW9uczogRGlhbG9nT3B0aW9ucyA9IHtcclxuXHRcdFx0Y29tcG9uZW50OiBOZGZOdXhlb0RpYWxvZyxcclxuXHRcdFx0cGFuZWxDbGFzczogJ3BvcFVwUGFyZW50JyxcclxuXHRcdFx0Y29uZmlnOiB7XHJcblx0XHRcdFx0dGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdDUkVBVEUuY3JlYXRlRm9sZGVyJyksXHJcblx0XHRcdFx0Y29udGVudFRlbXBsYXRlOiB0aGlzLmNvbnRlbnRUZW1wbGF0ZSxcclxuXHRcdFx0XHRhY3Rpb25zVGVtcGxhdGU6IHRoaXMuYWN0aW9uc1RlbXBsYXRlXHJcblx0XHRcdH1cclxuXHRcdH07XHJcblx0XHR0aGlzLm51eGVvRGlhbG9nU2VydmljZVxyXG5cdFx0XHQub3BlbihvcHRpb25zKVxyXG5cdFx0XHQuYWZ0ZXJDbG9zZWQoKVxyXG5cdFx0XHQuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHR0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHRvblN1Ym1pdChlKSB7XHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0Ly8gbGV0IGRpcmVjdG9yeSA9IHRoaXMuZ2V0Q3VycmVudERpcmVjdG9yeSgpO1xyXG5cdFx0Ly8gbGV0IGlkID1cclxuXHRcdC8vICAgICBkaXJlY3RvcnkuZGF0YUl0ZW0gPT09IHVuZGVmaW5lZFxyXG5cdFx0Ly8gICAgICAgICA/IHRoaXMubWFpbkZvbGRlclxyXG5cdFx0Ly8gICAgICAgICA6IHRoaXMuZ2V0Q3VycmVudEZvbGRlcklkKGRpcmVjdG9yeSk7XHJcblx0XHR0aGlzLmZpbGVNYW5hZ2VyU2VydmljZVxyXG5cdFx0XHQuY3JlYXRlRGlyZWN0b3J5KHRoaXMuZm9ybURhdGEsIHRoaXMuc2VsZWN0ZWRJdGVtKVxyXG5cdFx0XHQuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy52aXNpYmxlID0gZmFsc2U7XHJcblx0XHRcdFx0XHQvLyBpZiAodGhpcy5pc0l0ZW1TZWxlY3RlZCkge1xyXG5cdFx0XHRcdFx0Ly8gICAgIGxldCBzZWxlY3RlZEl0ZW0gPVxyXG5cdFx0XHRcdFx0Ly8gICAgICAgICB0aGlzLmZpbGVNYW5hZ2VyLmluc3RhbmNlLmdldFNlbGVjdGVkSXRlbXMoKTtcclxuXHRcdFx0XHRcdC8vICAgICB0aGlzLmN1cnJlbnRQYXRoID1cclxuXHRcdFx0XHRcdC8vICAgICAgICAgdGhpcy5zZWxlY3RlZE9iamVjdC5lbnRpdHkucGF0aC5zdWJzdHIoXHJcblx0XHRcdFx0XHQvLyAgICAgICAgICAgICB0aGlzLmZpbGVNYW5hZ2VyT2JqPy5wYXRoLmxlbmd0aFxyXG5cdFx0XHRcdFx0Ly8gICAgICAgICApO1xyXG5cdFx0XHRcdFx0Ly8gICAgIGRpcmVjdG9yeSA9IHNlbGVjdGVkSXRlbVswXTtcclxuXHRcdFx0XHRcdC8vICAgICBpZCA9IHRoaXMuc2VsZWN0ZWRJdGVtO1xyXG5cdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0dGhpcy5yZWZyZXNoLm5leHQodHJ1ZSk7XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uaW5zdGFuY2UucmVzZXRWYWx1ZXMoKTtcclxuXHRcdFx0XHRcdHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHQnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdCdUT0FTVEVSLlNVQ0NFU1MnLFxyXG5cdFx0XHRcdFx0XHQnVE9BU1RFUi5ET0NVTUVOVF9DUkVBVEVEJ1xyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy52aXNpYmxlID0gdHJ1ZTtcclxuXHRcdFx0XHRcdHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHQnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0XHRcdCdUT0FTVEVSLkRPQ1VNRU5UX0NSRUFURURfRVJST1InXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHR9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+XHJcblx0PGRpdj5cclxuXHRcdDxmb3JtPlxyXG5cdFx0XHQ8ZHgtZm9ybVxyXG5cdFx0XHRcdGNsYXNzPVwiZm9ybS13cmFwcGVyXCJcclxuXHRcdFx0XHQjZm9ybVxyXG5cdFx0XHRcdFtmb3JtRGF0YV09XCJmb3JtRGF0YVwiXHJcblx0XHRcdFx0W2Rpc2FibGVkXT1cImxvYWRpbmdcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PGR4aS1pdGVtIGRhdGFGaWVsZD1cInRpdGxlXCIgZWRpdG9yVHlwZT1cImR4VGV4dEJveFwiPlxyXG5cdFx0XHRcdFx0PGR4by1sYWJlbCB0ZXh0PVwie3sgJ0NSRUFURS5USVRMRScgfCB0cmFuc2xhdGUgfX1cIj48L2R4by1sYWJlbD5cclxuXHRcdFx0XHRcdDxkeGktdmFsaWRhdGlvbi1ydWxlXHJcblx0XHRcdFx0XHRcdHR5cGU9XCJyZXF1aXJlZFwiXHJcblx0XHRcdFx0XHRcdG1lc3NhZ2U9XCJUaXRsZSBpcyByZXF1aXJlZFwiXHJcblx0XHRcdFx0XHQ+PC9keGktdmFsaWRhdGlvbi1ydWxlPlxyXG5cdFx0XHRcdDwvZHhpLWl0ZW0+XHJcblx0XHRcdFx0PGR4aS1pdGVtIG5hbWU9XCJkZXNjcmlwdGlvblwiIGVkaXRvclR5cGU9XCJkeFRleHRCb3hcIj5cclxuXHRcdFx0XHRcdDxkeG8tbGFiZWwgdGV4dD1cInt7ICdDUkVBVEUuREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlIH19XCI+PC9keG8tbGFiZWw+XHJcblx0XHRcdFx0PC9keGktaXRlbT5cclxuXHRcdFx0PC9keC1mb3JtPlxyXG5cdFx0PC9mb3JtPlxyXG5cdDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNhY3Rpb25zVGVtcGxhdGUgbGV0LWRpYWxvZz1cImRpYWxvZ1wiPlxyXG5cdDxzcGFuXHJcblx0XHRjbGFzcz1cImR4LWJ1dHRvbi10ZXh0XCJcclxuXHRcdChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihvblN1Ym1pdCwgWyRldmVudF0pXCJcclxuXHQ+XHJcblx0XHR7eyAnRklMRV9NQU5BR0VSLkNSRUFURScgfCB0cmFuc2xhdGUgfX1cclxuXHQ8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==