nuxeo-development-framework 3.8.1 → 3.8.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 (197) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1265 -1768
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +2 -2
  4. package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +2 -2
  5. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +2 -2
  6. package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +2 -2
  7. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +1 -1
  8. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +2 -2
  9. package/esm2015/lib/components/comments/services/comment-api.service.js +3 -3
  10. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +3 -3
  11. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +2 -2
  12. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +2 -2
  13. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +3 -3
  14. package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +3 -3
  15. package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +2 -2
  16. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +2 -2
  17. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +2 -2
  18. package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +6 -6
  19. package/esm2015/lib/components/custom-toastr/interfaces/toast-type.interface.js +1 -1
  20. package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +23 -11
  21. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +2 -2
  22. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +2 -2
  23. package/esm2015/lib/components/documents/services/document-templates.service.js +3 -3
  24. package/esm2015/lib/components/documents/services/documents.service.js +3 -3
  25. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +2 -2
  26. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +2 -2
  27. package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +2 -2
  28. package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +2 -2
  29. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +3 -3
  30. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +2 -2
  31. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +2 -2
  32. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +5 -5
  33. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +3 -3
  34. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +2 -2
  35. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +2 -2
  36. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +2 -2
  37. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +4 -4
  38. package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +2 -2
  39. package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +2 -2
  40. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +2 -2
  41. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +3 -3
  42. package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +3 -3
  43. package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +3 -3
  44. package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +2 -2
  45. package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +2 -2
  46. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +2 -2
  47. package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +2 -2
  48. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +4 -4
  49. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +2 -2
  50. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +4 -4
  51. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +5 -5
  52. package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +4 -4
  53. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +3 -3
  54. package/esm2015/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.js +78 -0
  55. package/esm2015/lib/components/file-manger/file-manager.abstract.js +459 -301
  56. package/esm2015/lib/components/file-manger/file-manger.module.js +10 -5
  57. package/esm2015/lib/components/file-manger/models/file-manager-config.model.js +7 -0
  58. package/esm2015/lib/components/file-manger/models/index.js +4 -0
  59. package/esm2015/lib/components/file-manger/models/pagination-payload.mode.js +2 -0
  60. package/esm2015/lib/components/file-manger/models/pagination-response.model.js +6 -0
  61. package/esm2015/lib/components/latest-activity/services/activity-log.service.js +3 -3
  62. package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +2 -2
  63. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +2 -2
  64. package/esm2015/lib/components/notifications/components/notification-toast/notification-toast.component.js +3 -3
  65. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +2 -2
  66. package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +2 -2
  67. package/esm2015/lib/components/notifications/notifications.service.js +5 -5
  68. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +3 -3
  69. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +2 -2
  70. package/esm2015/lib/components/permissions/permission.service.js +2 -2
  71. package/esm2015/lib/components/permissions/permissions/permissions.component.js +3 -3
  72. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +2 -2
  73. package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +2 -2
  74. package/esm2015/lib/components/table/table/table.component.js +3 -3
  75. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +2 -2
  76. package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +2 -2
  77. package/esm2015/lib/core/adapters/adapter.service.js +1 -1
  78. package/esm2015/lib/core/core.module.js +1 -1
  79. package/esm2015/lib/core/env/env-manager.js +1 -1
  80. package/esm2015/lib/core/env/index.js +1 -1
  81. package/esm2015/lib/core/services/callApi/call-api.service.js +1 -1
  82. package/esm2015/lib/core/services/extension/action.extensions.js +1 -1
  83. package/esm2015/lib/core/services/extension/component-register.service.js +1 -1
  84. package/esm2015/lib/core/services/extension/extenion-utils.js +1 -1
  85. package/esm2015/lib/core/services/extension/extension-element.js +1 -1
  86. package/esm2015/lib/core/services/extension/extension-loader.service.js +1 -1
  87. package/esm2015/lib/core/services/extension/extension.service.js +1 -1
  88. package/esm2015/lib/core/services/initialization/initialization.service.js +1 -1
  89. package/esm2015/lib/core/utilities/moment-date-adapter.js +1 -1
  90. package/esm2015/lib/core/utilities/utility.service.js +1 -1
  91. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +2 -2
  92. package/esm2015/lib/directive/permissions/evaluators.service.js +2 -2
  93. package/esm2015/lib/directive/permissions/permissions.directive.js +2 -2
  94. package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +2 -2
  95. package/esm2015/lib/directive/rtl/set-rtl.directive.js +2 -2
  96. package/esm2015/lib/shared-services/dynamic-form.service.js +2 -2
  97. package/esm2015/lib/shared-services/file-manager.service.js +456 -222
  98. package/esm2015/lib/shared-services/global-admin.service.js +1 -1
  99. package/esm2015/lib/shared-services/mainfolder.service.js +3 -3
  100. package/esm2015/lib/shared-services/publishing-document.service.js +3 -3
  101. package/esm2015/lib/shared-services/recently-viewed.service.js +3 -3
  102. package/esm2015/lib/shared-services/shared-docs.service.js +3 -3
  103. package/esm2015/lib/shared-services/upload-file.service.js +2 -2
  104. package/esm2015/lib/shared-services/upload-managment.service.js +2 -2
  105. package/esm2015/lib/shared-services/user.service.js +3 -3
  106. package/esm2015/public-api.js +23 -21
  107. package/fesm2015/nuxeo-development-framework.js +1247 -1688
  108. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  109. package/lib/components/activities-log/activities-log/activities-log.service.d.ts +1 -1
  110. package/lib/components/attachment-item/attachment-item/attachment-item.component.d.ts +1 -1
  111. package/lib/components/comments/components/comment-item/comment-item.component.d.ts +1 -1
  112. package/lib/components/comments/components/comments-dashlet/comments-dashlet.component.d.ts +1 -1
  113. package/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.d.ts +1 -1
  114. package/lib/components/comments/services/comment-api.service.d.ts +2 -2
  115. package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +2 -2
  116. package/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.d.ts +1 -1
  117. package/lib/components/correspondence-relation/components/versions/versions.component.d.ts +1 -1
  118. package/lib/components/correspondence-relation/services/correspondence-realation.service.d.ts +2 -2
  119. package/lib/components/correspondence-relation/services/viewer-files.service.d.ts +2 -2
  120. package/lib/components/create-entity/create-entity/create-entity.component.d.ts +1 -1
  121. package/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.d.ts +1 -1
  122. package/lib/components/cts-tags/services/tags-api.service.d.ts +1 -1
  123. package/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.d.ts +1 -1
  124. package/lib/components/custom-toastr/interfaces/toast-type.interface.d.ts +1 -1
  125. package/lib/components/custom-toastr/services/custom-toastr.service.d.ts +8 -4
  126. package/lib/components/documents/components/attachments-list/attachments-list.component.d.ts +1 -1
  127. package/lib/components/documents/components/document-list/documents-list.component.d.ts +1 -1
  128. package/lib/components/documents/services/document-templates.service.d.ts +2 -2
  129. package/lib/components/documents/services/documents.service.d.ts +2 -2
  130. package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +1 -1
  131. package/lib/components/dynamic-chart/services/chart-data.service.d.ts +1 -1
  132. package/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.d.ts +1 -1
  133. package/lib/components/dynamic-form/components/dynamic-form/form-builder.service.d.ts +1 -1
  134. package/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.d.ts +1 -1
  135. package/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.d.ts +1 -1
  136. package/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.d.ts +1 -1
  137. package/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.d.ts +4 -4
  138. package/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.d.ts +2 -2
  139. package/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.d.ts +1 -1
  140. package/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.d.ts +1 -1
  141. package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.d.ts +1 -1
  142. package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +3 -3
  143. package/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.d.ts +1 -1
  144. package/lib/components/dynamic-form/services/dynamic-form-update.service.d.ts +1 -1
  145. package/lib/components/dynamic-search/dynamic-search/dynamic-search.component.d.ts +1 -1
  146. package/lib/components/dynamic-table/dynamic-table/dynamic-table.component.d.ts +2 -2
  147. package/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.d.ts +2 -2
  148. package/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.d.ts +2 -2
  149. package/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.d.ts +1 -1
  150. package/lib/components/dynamic-view/date-viewer/date-viewer.component.d.ts +1 -1
  151. package/lib/components/dynamic-view/department-viewer/department-viewer.component.d.ts +1 -1
  152. package/lib/components/file-manger/components/clipboard/clipboard.component.d.ts +1 -1
  153. package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +3 -3
  154. package/lib/components/file-manger/components/folder-modal/folder-modal.component.d.ts +1 -1
  155. package/lib/components/file-manger/components/scan-modal/scan-modal.component.d.ts +3 -3
  156. package/lib/components/file-manger/components/share-dialog/share-dialog.component.d.ts +3 -3
  157. package/lib/components/file-manger/components/sidepanel/sidepanel.component.d.ts +2 -2
  158. package/lib/components/file-manger/components/update-modal/update-modal.component.d.ts +2 -2
  159. package/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.d.ts +12 -0
  160. package/lib/components/file-manger/file-manager.abstract.d.ts +20 -8
  161. package/lib/components/file-manger/file-manger.module.d.ts +37 -36
  162. package/lib/components/file-manger/models/file-manager-config.model.d.ts +8 -0
  163. package/lib/components/file-manger/models/index.d.ts +3 -0
  164. package/lib/components/file-manger/models/pagination-payload.mode.d.ts +3 -0
  165. package/lib/components/file-manger/models/pagination-response.model.d.ts +30 -0
  166. package/lib/components/latest-activity/services/activity-log.service.d.ts +2 -2
  167. package/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.d.ts +1 -1
  168. package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +1 -1
  169. package/lib/components/notifications/components/notification-toast/notification-toast.component.d.ts +1 -1
  170. package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +1 -1
  171. package/lib/components/notifications/components/notifications-list/notifications-list.component.d.ts +1 -1
  172. package/lib/components/notifications/notifications.service.d.ts +4 -4
  173. package/lib/components/pdf-tron/pdftron/pdftron.component.d.ts +2 -2
  174. package/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.d.ts +1 -1
  175. package/lib/components/permissions/permission.service.d.ts +1 -1
  176. package/lib/components/permissions/permissions/permissions.component.d.ts +2 -2
  177. package/lib/components/select-users-by-department/select-users-by-departments/department-management.service.d.ts +1 -1
  178. package/lib/components/table/dynamic-column/dynamic-column.component.d.ts +1 -1
  179. package/lib/components/table/table/table.component.d.ts +2 -2
  180. package/lib/components/vocabulary/services/vocabulary-api.service.d.ts +1 -1
  181. package/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.d.ts +1 -1
  182. package/lib/directive/app-has-role/app-has-role.directive.d.ts +1 -1
  183. package/lib/directive/permissions/evaluators.service.d.ts +1 -1
  184. package/lib/directive/permissions/permissions.directive.d.ts +1 -1
  185. package/lib/directive/rtl/set-dir-rtl.directive.d.ts +1 -1
  186. package/lib/directive/rtl/set-rtl.directive.d.ts +1 -1
  187. package/lib/shared-services/dynamic-form.service.d.ts +1 -1
  188. package/lib/shared-services/file-manager.service.d.ts +27 -19
  189. package/lib/shared-services/mainfolder.service.d.ts +2 -2
  190. package/lib/shared-services/publishing-document.service.d.ts +2 -2
  191. package/lib/shared-services/recently-viewed.service.d.ts +2 -2
  192. package/lib/shared-services/shared-docs.service.d.ts +2 -2
  193. package/lib/shared-services/upload-file.service.d.ts +1 -1
  194. package/lib/shared-services/upload-managment.service.d.ts +1 -1
  195. package/lib/shared-services/user.service.d.ts +2 -2
  196. package/package.json +1 -1
  197. package/public-api.d.ts +22 -20
@@ -6,7 +6,7 @@ import * as i1 from "@angular/material/dialog";
6
6
  import * as i2 from "../permission.service";
7
7
  import * as i3 from "../../custom-toastr/services/custom-toastr.service";
8
8
  import * as i4 from "@angular/forms";
9
- import * as i5 from "../../../Core/services/translation/translation.service";
9
+ import * as i5 from "../../../core/services/translation/translation.service";
10
10
  import * as i6 from "@ng-select/ng-select";
11
11
  import * as i7 from "../../avatar/avatar/avatar.component";
12
12
  import * as i8 from "@angular/material/progress-spinner";
@@ -175,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
175
175
  type: Inject,
176
176
  args: [MAT_DIALOG_DATA]
177
177
  }] }]; } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBZ0MsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFlLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBY3pFLE1BQU0sT0FBTyw2QkFBNkI7SUFpQnhDLFlBQ1UsU0FBc0QsRUFDdkQsaUJBQW9DLEVBQ25DLGFBQWtDLEVBQ2xDLEVBQWUsRUFDZixTQUE2QixFQUNaLElBQUk7UUFMckIsY0FBUyxHQUFULFNBQVMsQ0FBNkM7UUFDdkQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGNBQVMsR0FBVCxTQUFTLENBQW9CO1FBckJ2QyxXQUFNLEdBQUMsRUFBRSxDQUFDO1FBQ1YsT0FBRSxHQUFHLElBQUksQ0FBQztRQUNWLGNBQVMsR0FBRSxXQUFXLENBQUM7UUFD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QUM7b0JBQ3RELGFBQWEsRUFBQyxpQkFBaUIsQ0FBQyxJQUFJO2lCQUNyQzs7MEJBd0JJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtcGVybWlzc2lvbnMtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246Vmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcmlnaHRzPVtdO1xyXG4gIGlkID0gbnVsbDtcclxuICB0aW1lRnJhbWU9ICdQZXJtYW5lbnQnO1xyXG4gIG5ld1Blcm1pc3Npb24gPSB7fVxyXG4gIHN0YXRlID0gbnVsbDtcclxuICBhY2xJZCA9IG51bGw7XHJcbiAgdXNlcm5hbWUgPSBudWxsO1xyXG4gIGVkaXRhYmxlUmlnaHQ7Ly90byBwYXNzIFJpZ2h0cyB0byBkaWFsb2cgaWYgd2UgYXJlIGluIHVwZGF0ZSBtb2RlXHJcbiAgZWRpdGFibGVCZWdpbjsvL3RvIHBhc3MgYmVnaW5EYXRlIHRvIGRpYWxvZyBpZiB3ZSBhcmUgaW4gdXBkYXRlIG1vZGVcclxuICBlZGl0YWJsZUVuZDsvL3RvIHBhc3MgZW5kRGF0ZSB0byBkaWFsb2cgaWYgd2UgYXJlIGluIHVwZGF0ZSBtb2RlXHJcbiAgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcGVybWlzc2lvbkZvcm06IEZvcm1Hcm91cDtcclxuICBjcmVhdGluZyA9IGZhbHNlO1xyXG4gIHVwZGF0aW5nID0gZmFsc2U7XHJcbiAgY3JlYXRlQW5kQWRkID0gZmFsc2U7XHJcbiAgcmVmcmVzaFVzZXJzID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFkZFBlcm1pc3Npb25zRGlhbG9nQ29tcG9uZW50PixcclxuICAgIHB1YmxpYyBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvc3RlclNlcnZpY2U6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgZGF0YSkge1xyXG4gICAgdGhpcy5pZCA9IGRhdGEuaWQ7XHJcbiAgICBkYXRhLnJpZ2h0cy5tYXAoZSA9PiB7XHJcbiAgICAgIGlmIChbXHJcbiAgICAgICAgXCJDb25zdW1lclwiLFxyXG4gICAgICAgIFwiRWRpdG9yXCIsXHJcbiAgICAgICAgXCJDb250cmlidXRvclwiLFxyXG4gICAgICAgIFwiQ29sbGFib3JhdG9yXCIsXHJcbiAgICAgICAgXCJDb29yZGluYXRvclwiLFxyXG4gICAgICAgIFwiRG9jdW1lbnRDb250cm9sbGVyXCJcclxuICAgICAgXS5pbmNsdWRlcyhlKSkge1xyXG4gICAgICAgIHRoaXMucmlnaHRzLnB1c2goeyBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgcmlnaHRzLiR7ZX1gKSwgdmFsdWU6IGUgfSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHRoaXMuc3RhdGUgPSBkYXRhLnN0YXRlIHx8IG51bGw7XHJcbiAgICB0aGlzLmFjbElkID0gZGF0YS5hY2xJZCB8fCBudWxsO1xyXG4gICAgdGhpcy51c2VybmFtZSA9IGRhdGEudXNlcm5hbWUgfHwgbnVsbDtcclxuICAgIHRoaXMuZWRpdGFibGVSaWdodCA9IGRhdGEuZWRpdGFibGVSaWdodCB8fCBudWxsO1xyXG4gICAgdGhpcy5lZGl0YWJsZUJlZ2luID0gZGF0YS5lZGl0YWJsZUJlZ2luIHx8IG51bGw7XHJcbiAgICB0aGlzLmVkaXRhYmxlRW5kID0gZGF0YS5lZGl0YWJsZUVuZCB8fCBudWxsO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25Gb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGJlZ2luOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGVuZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBwZXJtaXNzaW9uOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICB1c2VyczogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIH0sIHsgdmFsaWRhdG9yOiB0aGlzLmNoZWNrRGF0ZXMgfSk7XHJcbiAgICAvLyh0aGlzLmVkaXRhYmxlQmVnaW4gPT0gbnVsbCAmJiB0aGlzLmVkaXRhYmxlRW5kID09IG51bGwpID8gdGhpcy50aW1lRnJhbWUgPSAnUGVybWFuZW50JyA6IHRoaXMudGltZUZyYW1lID0gJ0RhdGUtQmFzZWQnXHJcblxyXG4gIH1cclxuICBjaGVja0RhdGVzKGdyb3VwOiBGb3JtR3JvdXApIHtcclxuICAgIGlmIChncm91cC5jb250cm9scy5lbmQudmFsdWUgPCBncm91cC5jb250cm9scy5iZWdpbi52YWx1ZSkge1xyXG4gICAgICByZXR1cm4geyBub3RWYWxpZDogdHJ1ZSB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgY3JlYXRlYW5kQWRkQW5vdGhlcihwZXJtaXNzaW9uRm9ybSwgbmV3UGVybWlzc2lvbjogYW55KSB7XHJcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9uRm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIGFsZXJ0KHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJwZXJtaXNzaW9uLkZJTExfUkVRVUlSRURfRklFTERcIikpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNyZWF0ZUFuZEFkZCA9IHRydWU7XHJcbiAgICAgIHRoaXMubmV3UGVybWlzc2lvbiA9IHtcclxuICAgICAgICAuLi5uZXdQZXJtaXNzaW9uLFxyXG4gICAgICAgIHBlcm1pc3Npb246IG5ld1Blcm1pc3Npb24ucGVybWlzc2lvbixcclxuICAgICAgICB1c2VyczogbmV3UGVybWlzc2lvbi51c2VycyxcclxuICAgICAgICBhY2w6IFwibG9jYWxcIixcclxuICAgICAgICBibG9ja0luaGVyaXRhbmNlOiB0cnVlLFxyXG4gICAgICAgIG5vdGlmeTogdHJ1ZSxcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbdGhpcy5wZXJtaXNzaW9uU2VydmljZS5hZGROZXdMb2NhbFBlcm1pc3Npb25zKHRoaXMuaWQsIHRoaXMubmV3UGVybWlzc2lvbikuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgdGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coJ3N1Y2Nlc3MnLCAnVE9BU1RFUi5TVUNDRVNTJywgXCJUT0FTVEVSLkFERF9QRVJNSVNTSU9OX1NVQ0NFU1NcIik7XHJcbiAgICAgICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmNyZWF0ZUFuZEFkZEFub3RoZXIuZW1pdCgpO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoVXNlckFycmF5KG5ld1Blcm1pc3Npb24udXNlcnMpO1xyXG4gICAgICAgICAgdGhpcy5wZXJtaXNzaW9uRm9ybS5yZXNldCgpO1xyXG4gICAgICAgICAgdGhpcy50aW1lRnJhbWUgPSAnUGVybWFuZW50JztcclxuICAgICAgICAgIHRoaXMuY3JlYXRlQW5kQWRkID1mYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVBbmRBZGQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdygnZXJyb3InLCAnVE9BU1RFUi5FUlJPUicsIFwiVE9BU1RFUi5BRERfUEVSTUlTU0lPTl9GQUlMXCIpXHJcbiAgICAgIH0pXSlcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHJlZnJlc2hVc2VyQXJyYXkodXNlcnMpIHtcclxuICAgIHRoaXMucmVmcmVzaFVzZXJzID0gdHJ1ZTtcclxuICAgIGxldCB0ZW1wQXJyPSBbXTtcclxuICAgIHRlbXBBcnIucHVzaCguLi50aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2Vycyk7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IFtdO1xyXG4gICAgICB1c2Vycy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgIHRlbXBBcnIuZm9yRWFjaCgodXNlcixpbmRleCkgPT4ge1xyXG4gICAgICAgICAgaWYodXNlci5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSBlbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRlbXBBcnIuc3BsaWNlKGluZGV4LDEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IHRlbXBBcnI7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5yZWZyZXNoVXNlcnMgPSBmYWxzZTtcclxuICAgIH0sIDIwMCk7XHJcbiAgfVxyXG4gIGNyZWF0ZShuZXdQZXJtaXNzaW9uOiBhbnkpIHtcclxuICAgIC8qXHJcbiAgICBuZXdQZXJtaXNzaW9uID0ge1xyXG4gICAgICBiZWdpbjpudWxsLFxyXG4gICAgICBlbmQ6bnVsbCxcclxuICAgICAgcGVybWlzc2lvbjogUmVhZCxSZWFkV3JpdGUuLi4uZXRjLFxyXG4gICAgICB1c2VyczpbXCJmbV91c2VyXCJdLi4uLmV0Y1xyXG4gICAgfVxyXG4gICAgKi9cclxuICBpZiAodGhpcy5wZXJtaXNzaW9uRm9ybS5pbnZhbGlkKSB7XHJcbiAgICBhbGVydCh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwicGVybWlzc2lvbi5GSUxMX1JFUVVJUkVEX0ZJRUxEXCIpKVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuY3JlYXRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLm5ld1Blcm1pc3Npb24gPSB7XHJcbiAgICAgICAgLi4ubmV3UGVybWlzc2lvbixcclxuICAgICAgICBwZXJtaXNzaW9uOiBuZXdQZXJtaXNzaW9uLnBlcm1pc3Npb24sXHJcbiAgICAgICAgY29tbWVudDogXCJcIixcclxuICAgICAgICBlbWFpbDogbnVsbCxcclxuICAgICAgICBub3RpZnk6IHRydWUsXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zJC5jb25jYXQoW3RoaXMucGVybWlzc2lvblNlcnZpY2UuYWRkTmV3TG9jYWxQZXJtaXNzaW9ucyh0aGlzLmlkLCB0aGlzLm5ld1Blcm1pc3Npb24pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5BRERfUEVSTUlTU0lPTl9TVUNDRVNTXCIpO1xyXG4gICAgICAgICAgdGhpcy5jYW5jZWwodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgIHRoaXMuY3JlYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdygnZXJyb3InLCAnVE9BU1RFUi5FUlJPUicsIFwiVE9BU1RFUi5BRERfUEVSTUlTU0lPTl9GQUlMXCIpXHJcbiAgICAgIH1cclxuICAgICAgKV0pXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZWRpdChuZXdQZXJtaXNzaW9uOiBhbnkpIHtcclxuICAgIHRoaXMucGVybWlzc2lvbkZvcm0uZ2V0KCd1c2VycycpLnNldFZhbHVlKFt0aGlzLnVzZXJuYW1lXSlcclxuICAgIGlmKHRoaXMudGltZUZyYW1lID09ICdQZXJtYW5lbnQnKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0YWJsZUJlZ2luID0gdGhpcy5lZGl0YWJsZUVuZCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9uRm9ybS5pbnZhbGlkKSB7IFxyXG4gICAgICBhbGVydCh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwicGVybWlzc2lvbi5GSUxMX1JFUVVJUkVEX0ZJRUxEXCIpKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy51cGRhdGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMubmV3UGVybWlzc2lvbiA9IHtcclxuICAgICAgICAuLi5uZXdQZXJtaXNzaW9uLFxyXG4gICAgICAgIHBlcm1pc3Npb246IG5ld1Blcm1pc3Npb24ucGVybWlzc2lvbixcclxuICAgICAgICBiZWdpbjp0aGlzLmVkaXRhYmxlQmVnaW4sXHJcbiAgICAgICAgZW5kOnRoaXMuZWRpdGFibGVFbmQsXHJcbiAgICAgICAgY29tbWVudDogXCJcIixcclxuICAgICAgICBlbWFpbDogbnVsbCxcclxuICAgICAgICBub3RpZnk6IGZhbHNlLFxyXG4gICAgICAgIHVzZXJuYW1lOiB0aGlzLnVzZXJuYW1lLnByb3BlcnRpZXMudXNlcm5hbWUsXHJcbiAgICAgICAgaWQ6IHRoaXMuYWNsSWRcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbdGhpcy5wZXJtaXNzaW9uU2VydmljZS5lZGl0TG9jYWxQZXJtaXNzaW9ucyh0aGlzLmlkLCB0aGlzLm5ld1Blcm1pc3Npb24pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5FRElUX1BFUk1JU1NJT05fU1VDQ0VTU1wiKTtcclxuICAgICAgICAgIHRoaXMuY2FuY2VsKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coJ2Vycm9yJywgJ1RPQVNURVIuRVJST1InLCBcIlRPQVNURVIuRURJVF9QRVJNSVNTSU9OX0ZBSUxcIilcclxuICAgICAgfVxyXG4gICAgICApXSlcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgY2FuY2VsKHJlc3VsdCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5mb3JFYWNoKGUgPT4gZS51bnN1YnNjcmliZSgpKVxyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cInBlcm1pc3Npb25Gb3JtXCIgY2xhc3M9XCJoLWZ1bGxcIiBTZXRSdGw+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtZnVsbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFkZC1wZXJtc2lvbi13cmFwcGVyXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LWxnXCIgKm5nSWY9XCJzdGF0ZSA9PSAndXBkYXRlJ1wiPlxyXG4gICAgICAgIHt7IFwicGVybWlzc2lvbi5lZGl0X3Blcm1pc3Npb25cIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LWxnXCIgKm5nSWY9XCJzdGF0ZSAhPT0gJ3VwZGF0ZSdcIj5cclxuICAgICAgICB7eyBcInBlcm1pc3Npb24uYWRkX25ld19wZXJtaXNzaW9uXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gIFxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1zZWxlY3QgbXQtNVwiICpuZ0lmPVwic3RhdGUgIT0gJ3VwZGF0ZSdcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkIG1iLTBcIj5cclxuICAgICAgICAgIHt7ICdwZXJtaXNzaW9uLnVzZXJuYW1lJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICA8c3BhbiAgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8bmctc2VsZWN0IFxyXG4gICAgICAgICAgW2l0ZW1zXT1cInBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2Vyc1wiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3Blcm1pc3Npb24ucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCJcclxuICAgICAgICAgIFtsb2FkaW5nXT1cInJlZnJlc2hVc2Vyc1wiXHJcbiAgICAgICAgICBiaW5kTGFiZWw9XCJkaXNwbGF5TGFiZWxcIlxyXG4gICAgICAgICAgYmluZFZhbHVlPVwicHJvcGVydGllcy51c2VybmFtZVwiXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2Vyc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1ub3Rmb3VuZC10bXAgbGV0LXNlYXJjaFRlcm09XCJzZWFyY2hUZXJtXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctb3B0aW9uIGRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAge3sncGVybWlzc2lvbi5uZ1NlbGVjdF9yZXN1bHROb3RGb3VuZCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtZnVsbFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0wIHctOCBoLTggcm91bmRlZC1mdWxsIG92ZXJmbG93LWhpZGRlblwiID5cclxuICAgICAgICAgICAgICAgICAgPGN0cy1hdmF0YXIgW3VzZXJdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGZpcnN0TmFtZTogaXRlbS5wcm9wZXJ0aWVzLmZpcnN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgIGxhc3ROYW1lOiBpdGVtLnByb3BlcnRpZXMubGFzdE5hbWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9jdHMtYXZhdGFyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCAgcHQtMCBweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7aXRlbS5kaXNwbGF5TGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLnByb3BlcnRpZXMuZW1haWx9fS17e2l0ZW0ucHJvcGVydGllcy51c2VybmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLXNlbGVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIHJpZ2h0cy1zZWxlY3RcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkIG1iLTBcIj5cclxuICAgICAgICAgIHt7IFwicGVybWlzc2lvbi5SaWdodHNcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8bmctc2VsZWN0IFxyXG4gICAgICAgICAgW2l0ZW1zXT1cInJpZ2h0c1wiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3Blcm1pc3Npb24ucmlnaHRzUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcclxuICAgICAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBlcm1pc3Npb25cIiBcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdGFibGVSaWdodFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvbmctc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgPCEtLTxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IG10LTVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1iYXNlIGZvbnQtYm9sZFwiPlxyXG4gICAgICAgICAge3sgXCJwZXJtaXNzaW9uLnRpbWVmcmFtZVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj46PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJteC0yXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGNsYXNzPVwiZm9ybS1yYWRpb1wiIG5hbWU9XCJyYWRpb1wiIHZhbHVlPVwiUGVybWFuZW50XCIgW2NoZWNrZWRdPVwidGltZUZyYW1lID09ICdQZXJtYW5lbnQnXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwidGltZUZyYW1lID0gJ1Blcm1hbmVudCdcIiAvPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTIgbXQtMSB0ZXh0LWdyYXktOTAwIHRleHQtc20gZm9udC1ib2xkXCI+e3tcclxuICAgICAgICAgICAgICBcInBlcm1pc3Npb24ucGVybWFuZW50XCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBydGw+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGNsYXNzPVwiZm9ybS1yYWRpb1wiIG5hbWU9XCJyYWRpb1wiIHZhbHVlPVwiRGF0ZS1CYXNlZFwiIFtjaGVja2VkXT1cInRpbWVGcmFtZSA9PSAnRGF0ZS1CYXNlZCdcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0aW1lRnJhbWUgPSAnRGF0ZS1CYXNlZCdcIiAvPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTIgbXQtMSB0ZXh0LWdyYXktOTAwIHRleHQtc20gZm9udC1ib2xkXCI+e3tcclxuICAgICAgICAgICAgICBcInBlcm1pc3Npb24uRGF0ZV9iYXNlZFwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbXQtMlwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMCBtYi0wXCI+e3sgXCJwZXJtaXNzaW9uLmZyb21cIiB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgPGN0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0gXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJiZWdpblwiIFxyXG4gICAgICAgICAgW2lzRGlzYWJsZWRdPVwidGltZUZyYW1lID09ICdQZXJtYW5lbnQnXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdGFibGVCZWdpblwiPlxyXG4gICAgICAgIDwvY3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbT5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkIHRleHQtZ3JheS05MDAgbWItMFwiPnt7IFwicGVybWlzc2lvbi50b1wiIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICA8Y3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbSBcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuZFwiIFxyXG4gICAgICAgICAgW2lzRGlzYWJsZWRdPVwidGltZUZyYW1lID09ICdQZXJtYW5lbnQnXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdGFibGVFbmRcIj5cclxuICAgICAgICA8L2N0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInBlcm1pc3Npb25Gb3JtPy5lcnJvcnM/Lm5vdFZhbGlkXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMCB0ZXh0LWJhc2UgLW10LTMgXCI+e3tcclxuICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmVuZFN0YXJ0RXJyb3JcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+LS0+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gbXQtNSBmbGV4LXdyYXBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJzdGF0ZSAhPSAndXBkYXRlJ1wiIFtkaXNhYmxlZF09XCJjcmVhdGVBbmRBZGRcIiBjbGFzcz1cInN1Ym1pc3Npb24tYnV0dG9uXCJcclxuICAgICAgICAgIChjbGljayk9XCJjcmVhdGUocGVybWlzc2lvbkZvcm0udmFsdWUpXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFjcmVhdGluZztlbHNlIGxvYWRlclwiPnt7IFwicGVybWlzc2lvbi5jcmVhdGVcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwic3VibWlzc2lvbi1idXR0b25cIiAoY2xpY2spPVwiZWRpdChwZXJtaXNzaW9uRm9ybS52YWx1ZSlcIiAqbmdJZj1cInN0YXRlID09ICd1cGRhdGUnXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiF1cGRhdGluZztlbHNlIGxvYWRlclwiPnt7IFwicGVybWlzc2lvbi51cGRhdGVcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic3RhdGUgIT0gJ3VwZGF0ZSdcIiBjbGFzcz1cInN1Ym1pc3Npb24tYnV0dG9uIHctNDRcIiAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVhbmRBZGRBbm90aGVyKHBlcm1pc3Npb25Gb3JtLCBwZXJtaXNzaW9uRm9ybS52YWx1ZSlcclxuICAgICAgICAgICAgICAgICAgXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFjcmVhdGVBbmRBZGQ7ZWxzZSBsb2FkZXJcIj57eyBcInBlcm1pc3Npb24uY3JlYXRlQW5kQWRkXCIgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWxhdGlvbi1idXR0b24gbWItM1wiIChjbGljayk9XCJjYW5jZWwoZmFsc2UpXCI+XHJcbiAgICAgICAgICB7eyBcIkJVVFRPTlMuQ2FuY2VsXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsb2FkZXI+XHJcbiAgPG1hdC1zcGlubmVyIFt2YWx1ZV09XCI5MFwiIFtzdHJva2VXaWR0aF09XCIzXCIgb3ZlcmxheT1cInRydWVcIiBbZGlhbWV0ZXJdPVwiMjVcIiBjb2xvcj1cIndhcm5cIj5cclxuICA8L21hdC1zcGlubmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBZ0MsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFlLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBY3pFLE1BQU0sT0FBTyw2QkFBNkI7SUFpQnhDLFlBQ1UsU0FBc0QsRUFDdkQsaUJBQW9DLEVBQ25DLGFBQWtDLEVBQ2xDLEVBQWUsRUFDZixTQUE2QixFQUNaLElBQUk7UUFMckIsY0FBUyxHQUFULFNBQVMsQ0FBNkM7UUFDdkQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGNBQVMsR0FBVCxTQUFTLENBQW9CO1FBckJ2QyxXQUFNLEdBQUMsRUFBRSxDQUFDO1FBQ1YsT0FBRSxHQUFHLElBQUksQ0FBQztRQUNWLGNBQVMsR0FBRSxXQUFXLENBQUM7UUFDdkIsa0JBQWEsR0FBRyxFQUFFLENBQUE7UUFDbEIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBSWhCLG1CQUFjLEdBQW1CLEVBQUUsQ0FBQztRQUVwQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFRbkIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xCLElBQUk7Z0JBQ0YsVUFBVTtnQkFDVixRQUFRO2dCQUNSLGFBQWE7Z0JBQ2IsY0FBYztnQkFDZCxhQUFhO2dCQUNiLG9CQUFvQjthQUNyQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7YUFDN0U7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQztRQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDO0lBQzlDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNsQyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQzVCLEdBQUcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDMUIsVUFBVSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNoRCxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLHlIQUF5SDtJQUUzSCxDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQWdCO1FBQ3pCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFBO1NBQzFCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsY0FBYyxFQUFFLGFBQWtCO1FBQ3BELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQTtTQUNoRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsbUNBQ2IsYUFBYSxLQUNoQixVQUFVLEVBQUUsYUFBYSxDQUFDLFVBQVUsRUFDcEMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQzFCLEdBQUcsRUFBRSxPQUFPLEVBQ1osZ0JBQWdCLEVBQUUsSUFBSSxFQUN0QixNQUFNLEVBQUUsSUFBSSxHQUNiLENBQUE7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3JILElBQUksR0FBRyxFQUFFO3dCQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO3dCQUN4RixJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ2xELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO3dCQUM3QixJQUFJLENBQUMsWUFBWSxHQUFFLEtBQUssQ0FBQztxQkFDMUI7Z0JBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO29CQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLDZCQUE2QixDQUFDLENBQUE7Z0JBQ2xGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNMO0lBRUgsQ0FBQztJQUNELGdCQUFnQixDQUFDLEtBQUs7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxPQUFPLEdBQUUsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFDLEtBQUssRUFBRSxFQUFFO2dCQUM3QixJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtvQkFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQ3hCO1lBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO1FBQ2pELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBQ0QsTUFBTSxDQUFDLGFBQWtCO1FBQ3ZCOzs7Ozs7O1VBT0U7UUFDSixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQy9CLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUE7U0FDOUQ7YUFDSTtZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLG1DQUNiLGFBQWEsS0FDaEIsVUFBVSxFQUFFLGFBQWEsQ0FBQyxVQUFVLEVBQ3BDLE9BQU8sRUFBRSxFQUFFLEVBQ1gsS0FBSyxFQUFFLElBQUksRUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiLENBQUE7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3JILElBQUksR0FBRyxFQUFFO3dCQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO3dCQUN4RixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNuQjtnQkFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsNkJBQTZCLENBQUMsQ0FBQTtnQkFDbEYsQ0FBQyxDQUNBLENBQUMsQ0FBQyxDQUFBO1NBQ0o7SUFFSCxDQUFDO0lBRUQsSUFBSSxDQUFDLGFBQWtCO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQzFELElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxXQUFXLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUNoRDtRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQTtTQUNoRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsbUNBQ2IsYUFBYSxLQUNoQixVQUFVLEVBQUUsYUFBYSxDQUFDLFVBQVUsRUFDcEMsS0FBSyxFQUFDLElBQUksQ0FBQyxhQUFhLEVBQ3hCLEdBQUcsRUFBQyxJQUFJLENBQUMsV0FBVyxFQUNwQixPQUFPLEVBQUUsRUFBRSxFQUNYLEtBQUssRUFBRSxJQUFJLEVBQ1gsTUFBTSxFQUFFLEtBQUssRUFDYixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUMzQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FDZixDQUFBO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNuSCxJQUFJLEdBQUcsRUFBRTt3QkFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsaUNBQWlDLENBQUMsQ0FBQzt3QkFDekYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDbkI7Z0JBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO29CQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLDhCQUE4QixDQUFDLENBQUE7Z0JBQ25GLENBQUMsQ0FDQSxDQUFDLENBQUMsQ0FBQTtTQUNKO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELENBQUM7OzJIQXJMVSw2QkFBNkIsK0tBdUI5QixlQUFlOytHQXZCZCw2QkFBNkIsa0VDaEIxQyxpcU1BMklBOzRGRDNIYSw2QkFBNkI7a0JBTnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsV0FBVyxFQUFFLHlDQUF5QztvQkFDdEQsU0FBUyxFQUFFLENBQUMseUNBQXlDLENBQUM7b0JBQ3RELGFBQWEsRUFBQyxpQkFBaUIsQ0FBQyxJQUFJO2lCQUNyQzs7MEJBd0JJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtcGVybWlzc2lvbnMtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246Vmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcmlnaHRzPVtdO1xyXG4gIGlkID0gbnVsbDtcclxuICB0aW1lRnJhbWU9ICdQZXJtYW5lbnQnO1xyXG4gIG5ld1Blcm1pc3Npb24gPSB7fVxyXG4gIHN0YXRlID0gbnVsbDtcclxuICBhY2xJZCA9IG51bGw7XHJcbiAgdXNlcm5hbWUgPSBudWxsO1xyXG4gIGVkaXRhYmxlUmlnaHQ7Ly90byBwYXNzIFJpZ2h0cyB0byBkaWFsb2cgaWYgd2UgYXJlIGluIHVwZGF0ZSBtb2RlXHJcbiAgZWRpdGFibGVCZWdpbjsvL3RvIHBhc3MgYmVnaW5EYXRlIHRvIGRpYWxvZyBpZiB3ZSBhcmUgaW4gdXBkYXRlIG1vZGVcclxuICBlZGl0YWJsZUVuZDsvL3RvIHBhc3MgZW5kRGF0ZSB0byBkaWFsb2cgaWYgd2UgYXJlIGluIHVwZGF0ZSBtb2RlXHJcbiAgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcGVybWlzc2lvbkZvcm06IEZvcm1Hcm91cDtcclxuICBjcmVhdGluZyA9IGZhbHNlO1xyXG4gIHVwZGF0aW5nID0gZmFsc2U7XHJcbiAgY3JlYXRlQW5kQWRkID0gZmFsc2U7XHJcbiAgcmVmcmVzaFVzZXJzID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFkZFBlcm1pc3Npb25zRGlhbG9nQ29tcG9uZW50PixcclxuICAgIHB1YmxpYyBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvc3RlclNlcnZpY2U6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgZGF0YSkge1xyXG4gICAgdGhpcy5pZCA9IGRhdGEuaWQ7XHJcbiAgICBkYXRhLnJpZ2h0cy5tYXAoZSA9PiB7XHJcbiAgICAgIGlmIChbXHJcbiAgICAgICAgXCJDb25zdW1lclwiLFxyXG4gICAgICAgIFwiRWRpdG9yXCIsXHJcbiAgICAgICAgXCJDb250cmlidXRvclwiLFxyXG4gICAgICAgIFwiQ29sbGFib3JhdG9yXCIsXHJcbiAgICAgICAgXCJDb29yZGluYXRvclwiLFxyXG4gICAgICAgIFwiRG9jdW1lbnRDb250cm9sbGVyXCJcclxuICAgICAgXS5pbmNsdWRlcyhlKSkge1xyXG4gICAgICAgIHRoaXMucmlnaHRzLnB1c2goeyBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgcmlnaHRzLiR7ZX1gKSwgdmFsdWU6IGUgfSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHRoaXMuc3RhdGUgPSBkYXRhLnN0YXRlIHx8IG51bGw7XHJcbiAgICB0aGlzLmFjbElkID0gZGF0YS5hY2xJZCB8fCBudWxsO1xyXG4gICAgdGhpcy51c2VybmFtZSA9IGRhdGEudXNlcm5hbWUgfHwgbnVsbDtcclxuICAgIHRoaXMuZWRpdGFibGVSaWdodCA9IGRhdGEuZWRpdGFibGVSaWdodCB8fCBudWxsO1xyXG4gICAgdGhpcy5lZGl0YWJsZUJlZ2luID0gZGF0YS5lZGl0YWJsZUJlZ2luIHx8IG51bGw7XHJcbiAgICB0aGlzLmVkaXRhYmxlRW5kID0gZGF0YS5lZGl0YWJsZUVuZCB8fCBudWxsO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25Gb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGJlZ2luOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGVuZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBwZXJtaXNzaW9uOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICB1c2VyczogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIH0sIHsgdmFsaWRhdG9yOiB0aGlzLmNoZWNrRGF0ZXMgfSk7XHJcbiAgICAvLyh0aGlzLmVkaXRhYmxlQmVnaW4gPT0gbnVsbCAmJiB0aGlzLmVkaXRhYmxlRW5kID09IG51bGwpID8gdGhpcy50aW1lRnJhbWUgPSAnUGVybWFuZW50JyA6IHRoaXMudGltZUZyYW1lID0gJ0RhdGUtQmFzZWQnXHJcblxyXG4gIH1cclxuICBjaGVja0RhdGVzKGdyb3VwOiBGb3JtR3JvdXApIHtcclxuICAgIGlmIChncm91cC5jb250cm9scy5lbmQudmFsdWUgPCBncm91cC5jb250cm9scy5iZWdpbi52YWx1ZSkge1xyXG4gICAgICByZXR1cm4geyBub3RWYWxpZDogdHJ1ZSB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgY3JlYXRlYW5kQWRkQW5vdGhlcihwZXJtaXNzaW9uRm9ybSwgbmV3UGVybWlzc2lvbjogYW55KSB7XHJcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9uRm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIGFsZXJ0KHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJwZXJtaXNzaW9uLkZJTExfUkVRVUlSRURfRklFTERcIikpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNyZWF0ZUFuZEFkZCA9IHRydWU7XHJcbiAgICAgIHRoaXMubmV3UGVybWlzc2lvbiA9IHtcclxuICAgICAgICAuLi5uZXdQZXJtaXNzaW9uLFxyXG4gICAgICAgIHBlcm1pc3Npb246IG5ld1Blcm1pc3Npb24ucGVybWlzc2lvbixcclxuICAgICAgICB1c2VyczogbmV3UGVybWlzc2lvbi51c2VycyxcclxuICAgICAgICBhY2w6IFwibG9jYWxcIixcclxuICAgICAgICBibG9ja0luaGVyaXRhbmNlOiB0cnVlLFxyXG4gICAgICAgIG5vdGlmeTogdHJ1ZSxcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbdGhpcy5wZXJtaXNzaW9uU2VydmljZS5hZGROZXdMb2NhbFBlcm1pc3Npb25zKHRoaXMuaWQsIHRoaXMubmV3UGVybWlzc2lvbikuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgdGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coJ3N1Y2Nlc3MnLCAnVE9BU1RFUi5TVUNDRVNTJywgXCJUT0FTVEVSLkFERF9QRVJNSVNTSU9OX1NVQ0NFU1NcIik7XHJcbiAgICAgICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmNyZWF0ZUFuZEFkZEFub3RoZXIuZW1pdCgpO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoVXNlckFycmF5KG5ld1Blcm1pc3Npb24udXNlcnMpO1xyXG4gICAgICAgICAgdGhpcy5wZXJtaXNzaW9uRm9ybS5yZXNldCgpO1xyXG4gICAgICAgICAgdGhpcy50aW1lRnJhbWUgPSAnUGVybWFuZW50JztcclxuICAgICAgICAgIHRoaXMuY3JlYXRlQW5kQWRkID1mYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVBbmRBZGQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdygnZXJyb3InLCAnVE9BU1RFUi5FUlJPUicsIFwiVE9BU1RFUi5BRERfUEVSTUlTU0lPTl9GQUlMXCIpXHJcbiAgICAgIH0pXSlcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHJlZnJlc2hVc2VyQXJyYXkodXNlcnMpIHtcclxuICAgIHRoaXMucmVmcmVzaFVzZXJzID0gdHJ1ZTtcclxuICAgIGxldCB0ZW1wQXJyPSBbXTtcclxuICAgIHRlbXBBcnIucHVzaCguLi50aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2Vycyk7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IFtdO1xyXG4gICAgICB1c2Vycy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgIHRlbXBBcnIuZm9yRWFjaCgodXNlcixpbmRleCkgPT4ge1xyXG4gICAgICAgICAgaWYodXNlci5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSBlbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRlbXBBcnIuc3BsaWNlKGluZGV4LDEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IHRlbXBBcnI7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5yZWZyZXNoVXNlcnMgPSBmYWxzZTtcclxuICAgIH0sIDIwMCk7XHJcbiAgfVxyXG4gIGNyZWF0ZShuZXdQZXJtaXNzaW9uOiBhbnkpIHtcclxuICAgIC8qXHJcbiAgICBuZXdQZXJtaXNzaW9uID0ge1xyXG4gICAgICBiZWdpbjpudWxsLFxyXG4gICAgICBlbmQ6bnVsbCxcclxuICAgICAgcGVybWlzc2lvbjogUmVhZCxSZWFkV3JpdGUuLi4uZXRjLFxyXG4gICAgICB1c2VyczpbXCJmbV91c2VyXCJdLi4uLmV0Y1xyXG4gICAgfVxyXG4gICAgKi9cclxuICBpZiAodGhpcy5wZXJtaXNzaW9uRm9ybS5pbnZhbGlkKSB7XHJcbiAgICBhbGVydCh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwicGVybWlzc2lvbi5GSUxMX1JFUVVJUkVEX0ZJRUxEXCIpKVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuY3JlYXRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLm5ld1Blcm1pc3Npb24gPSB7XHJcbiAgICAgICAgLi4ubmV3UGVybWlzc2lvbixcclxuICAgICAgICBwZXJtaXNzaW9uOiBuZXdQZXJtaXNzaW9uLnBlcm1pc3Npb24sXHJcbiAgICAgICAgY29tbWVudDogXCJcIixcclxuICAgICAgICBlbWFpbDogbnVsbCxcclxuICAgICAgICBub3RpZnk6IHRydWUsXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zJC5jb25jYXQoW3RoaXMucGVybWlzc2lvblNlcnZpY2UuYWRkTmV3TG9jYWxQZXJtaXNzaW9ucyh0aGlzLmlkLCB0aGlzLm5ld1Blcm1pc3Npb24pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5BRERfUEVSTUlTU0lPTl9TVUNDRVNTXCIpO1xyXG4gICAgICAgICAgdGhpcy5jYW5jZWwodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgIHRoaXMuY3JlYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdygnZXJyb3InLCAnVE9BU1RFUi5FUlJPUicsIFwiVE9BU1RFUi5BRERfUEVSTUlTU0lPTl9GQUlMXCIpXHJcbiAgICAgIH1cclxuICAgICAgKV0pXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZWRpdChuZXdQZXJtaXNzaW9uOiBhbnkpIHtcclxuICAgIHRoaXMucGVybWlzc2lvbkZvcm0uZ2V0KCd1c2VycycpLnNldFZhbHVlKFt0aGlzLnVzZXJuYW1lXSlcclxuICAgIGlmKHRoaXMudGltZUZyYW1lID09ICdQZXJtYW5lbnQnKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0YWJsZUJlZ2luID0gdGhpcy5lZGl0YWJsZUVuZCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9uRm9ybS5pbnZhbGlkKSB7IFxyXG4gICAgICBhbGVydCh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwicGVybWlzc2lvbi5GSUxMX1JFUVVJUkVEX0ZJRUxEXCIpKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy51cGRhdGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMubmV3UGVybWlzc2lvbiA9IHtcclxuICAgICAgICAuLi5uZXdQZXJtaXNzaW9uLFxyXG4gICAgICAgIHBlcm1pc3Npb246IG5ld1Blcm1pc3Npb24ucGVybWlzc2lvbixcclxuICAgICAgICBiZWdpbjp0aGlzLmVkaXRhYmxlQmVnaW4sXHJcbiAgICAgICAgZW5kOnRoaXMuZWRpdGFibGVFbmQsXHJcbiAgICAgICAgY29tbWVudDogXCJcIixcclxuICAgICAgICBlbWFpbDogbnVsbCxcclxuICAgICAgICBub3RpZnk6IGZhbHNlLFxyXG4gICAgICAgIHVzZXJuYW1lOiB0aGlzLnVzZXJuYW1lLnByb3BlcnRpZXMudXNlcm5hbWUsXHJcbiAgICAgICAgaWQ6IHRoaXMuYWNsSWRcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbdGhpcy5wZXJtaXNzaW9uU2VydmljZS5lZGl0TG9jYWxQZXJtaXNzaW9ucyh0aGlzLmlkLCB0aGlzLm5ld1Blcm1pc3Npb24pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5FRElUX1BFUk1JU1NJT05fU1VDQ0VTU1wiKTtcclxuICAgICAgICAgIHRoaXMuY2FuY2VsKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coJ2Vycm9yJywgJ1RPQVNURVIuRVJST1InLCBcIlRPQVNURVIuRURJVF9QRVJNSVNTSU9OX0ZBSUxcIilcclxuICAgICAgfVxyXG4gICAgICApXSlcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgY2FuY2VsKHJlc3VsdCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5mb3JFYWNoKGUgPT4gZS51bnN1YnNjcmliZSgpKVxyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cInBlcm1pc3Npb25Gb3JtXCIgY2xhc3M9XCJoLWZ1bGxcIiBTZXRSdGw+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtZnVsbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFkZC1wZXJtc2lvbi13cmFwcGVyXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LWxnXCIgKm5nSWY9XCJzdGF0ZSA9PSAndXBkYXRlJ1wiPlxyXG4gICAgICAgIHt7IFwicGVybWlzc2lvbi5lZGl0X3Blcm1pc3Npb25cIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LWxnXCIgKm5nSWY9XCJzdGF0ZSAhPT0gJ3VwZGF0ZSdcIj5cclxuICAgICAgICB7eyBcInBlcm1pc3Npb24uYWRkX25ld19wZXJtaXNzaW9uXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gIFxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1zZWxlY3QgbXQtNVwiICpuZ0lmPVwic3RhdGUgIT0gJ3VwZGF0ZSdcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkIG1iLTBcIj5cclxuICAgICAgICAgIHt7ICdwZXJtaXNzaW9uLnVzZXJuYW1lJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICA8c3BhbiAgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8bmctc2VsZWN0IFxyXG4gICAgICAgICAgW2l0ZW1zXT1cInBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2Vyc1wiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3Blcm1pc3Npb24ucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCJcclxuICAgICAgICAgIFtsb2FkaW5nXT1cInJlZnJlc2hVc2Vyc1wiXHJcbiAgICAgICAgICBiaW5kTGFiZWw9XCJkaXNwbGF5TGFiZWxcIlxyXG4gICAgICAgICAgYmluZFZhbHVlPVwicHJvcGVydGllcy51c2VybmFtZVwiXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2Vyc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1ub3Rmb3VuZC10bXAgbGV0LXNlYXJjaFRlcm09XCJzZWFyY2hUZXJtXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctb3B0aW9uIGRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAge3sncGVybWlzc2lvbi5uZ1NlbGVjdF9yZXN1bHROb3RGb3VuZCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtZnVsbFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0wIHctOCBoLTggcm91bmRlZC1mdWxsIG92ZXJmbG93LWhpZGRlblwiID5cclxuICAgICAgICAgICAgICAgICAgPGN0cy1hdmF0YXIgW3VzZXJdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGZpcnN0TmFtZTogaXRlbS5wcm9wZXJ0aWVzLmZpcnN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgIGxhc3ROYW1lOiBpdGVtLnByb3BlcnRpZXMubGFzdE5hbWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9jdHMtYXZhdGFyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCAgcHQtMCBweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7aXRlbS5kaXNwbGF5TGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLnByb3BlcnRpZXMuZW1haWx9fS17e2l0ZW0ucHJvcGVydGllcy51c2VybmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLXNlbGVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIHJpZ2h0cy1zZWxlY3RcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkIG1iLTBcIj5cclxuICAgICAgICAgIHt7IFwicGVybWlzc2lvbi5SaWdodHNcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8bmctc2VsZWN0IFxyXG4gICAgICAgICAgW2l0ZW1zXT1cInJpZ2h0c1wiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3Blcm1pc3Npb24ucmlnaHRzUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcclxuICAgICAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBlcm1pc3Npb25cIiBcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdGFibGVSaWdodFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvbmctc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgPCEtLTxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IG10LTVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1iYXNlIGZvbnQtYm9sZFwiPlxyXG4gICAgICAgICAge3sgXCJwZXJtaXNzaW9uLnRpbWVmcmFtZVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj46PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJteC0yXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGNsYXNzPVwiZm9ybS1yYWRpb1wiIG5hbWU9XCJyYWRpb1wiIHZhbHVlPVwiUGVybWFuZW50XCIgW2NoZWNrZWRdPVwidGltZUZyYW1lID09ICdQZXJtYW5lbnQnXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwidGltZUZyYW1lID0gJ1Blcm1hbmVudCdcIiAvPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTIgbXQtMSB0ZXh0LWdyYXktOTAwIHRleHQtc20gZm9udC1ib2xkXCI+e3tcclxuICAgICAgICAgICAgICBcInBlcm1pc3Npb24ucGVybWFuZW50XCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBydGw+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGNsYXNzPVwiZm9ybS1yYWRpb1wiIG5hbWU9XCJyYWRpb1wiIHZhbHVlPVwiRGF0ZS1CYXNlZFwiIFtjaGVja2VkXT1cInRpbWVGcmFtZSA9PSAnRGF0ZS1CYXNlZCdcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0aW1lRnJhbWUgPSAnRGF0ZS1CYXNlZCdcIiAvPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTIgbXQtMSB0ZXh0LWdyYXktOTAwIHRleHQtc20gZm9udC1ib2xkXCI+e3tcclxuICAgICAgICAgICAgICBcInBlcm1pc3Npb24uRGF0ZV9iYXNlZFwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbXQtMlwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMCBtYi0wXCI+e3sgXCJwZXJtaXNzaW9uLmZyb21cIiB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgPGN0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0gXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJiZWdpblwiIFxyXG4gICAgICAgICAgW2lzRGlzYWJsZWRdPVwidGltZUZyYW1lID09ICdQZXJtYW5lbnQnXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdGFibGVCZWdpblwiPlxyXG4gICAgICAgIDwvY3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbT5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkIHRleHQtZ3JheS05MDAgbWItMFwiPnt7IFwicGVybWlzc2lvbi50b1wiIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICA8Y3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbSBcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuZFwiIFxyXG4gICAgICAgICAgW2lzRGlzYWJsZWRdPVwidGltZUZyYW1lID09ICdQZXJtYW5lbnQnXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdGFibGVFbmRcIj5cclxuICAgICAgICA8L2N0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInBlcm1pc3Npb25Gb3JtPy5lcnJvcnM/Lm5vdFZhbGlkXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMCB0ZXh0LWJhc2UgLW10LTMgXCI+e3tcclxuICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmVuZFN0YXJ0RXJyb3JcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+LS0+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gbXQtNSBmbGV4LXdyYXBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJzdGF0ZSAhPSAndXBkYXRlJ1wiIFtkaXNhYmxlZF09XCJjcmVhdGVBbmRBZGRcIiBjbGFzcz1cInN1Ym1pc3Npb24tYnV0dG9uXCJcclxuICAgICAgICAgIChjbGljayk9XCJjcmVhdGUocGVybWlzc2lvbkZvcm0udmFsdWUpXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFjcmVhdGluZztlbHNlIGxvYWRlclwiPnt7IFwicGVybWlzc2lvbi5jcmVhdGVcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwic3VibWlzc2lvbi1idXR0b25cIiAoY2xpY2spPVwiZWRpdChwZXJtaXNzaW9uRm9ybS52YWx1ZSlcIiAqbmdJZj1cInN0YXRlID09ICd1cGRhdGUnXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiF1cGRhdGluZztlbHNlIGxvYWRlclwiPnt7IFwicGVybWlzc2lvbi51cGRhdGVcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic3RhdGUgIT0gJ3VwZGF0ZSdcIiBjbGFzcz1cInN1Ym1pc3Npb24tYnV0dG9uIHctNDRcIiAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVhbmRBZGRBbm90aGVyKHBlcm1pc3Npb25Gb3JtLCBwZXJtaXNzaW9uRm9ybS52YWx1ZSlcclxuICAgICAgICAgICAgICAgICAgXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFjcmVhdGVBbmRBZGQ7ZWxzZSBsb2FkZXJcIj57eyBcInBlcm1pc3Npb24uY3JlYXRlQW5kQWRkXCIgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWxhdGlvbi1idXR0b24gbWItM1wiIChjbGljayk9XCJjYW5jZWwoZmFsc2UpXCI+XHJcbiAgICAgICAgICB7eyBcIkJVVFRPTlMuQ2FuY2VsXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsb2FkZXI+XHJcbiAgPG1hdC1zcGlubmVyIFt2YWx1ZV09XCI5MFwiIFtzdHJva2VXaWR0aF09XCIzXCIgb3ZlcmxheT1cInRydWVcIiBbZGlhbWV0ZXJdPVwiMjVcIiBjb2xvcj1cIndhcm5cIj5cclxuICA8L21hdC1zcGlubmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -2,7 +2,7 @@ import { Injectable, EventEmitter, Inject } from '@angular/core';
2
2
  import { from } from 'rxjs';
3
3
  import { catchError } from 'rxjs/operators';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../../Core/services/nuxeo/nuxeo.service";
5
+ import * as i1 from "../../core/services/nuxeo/nuxeo.service";
6
6
  export class PermissionService {
7
7
  constructor(nuxeoService, environment) {
8
8
  this.nuxeoService = nuxeoService;
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
115
115
  type: Inject,
116
116
  args: ['environment']
117
117
  }] }]; } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNNUMsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUFvQixZQUEwQixFQUFrQyxXQUFXO1FBQXZFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQWtDLGdCQUFXLEdBQVgsV0FBVyxDQUFBO1FBSDNGLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3NELENBQUM7SUFFaEcseUJBQXlCLENBQUMsR0FBUTtRQUNoQyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsT0FBTyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7YUFDckIsV0FBVyxDQUFDO1lBQ1gsWUFBWSxFQUFFLDJCQUEyQjtZQUN6QyxPQUFPLEVBQUUsVUFBVTtZQUNuQixNQUFNLEVBQUUsZUFBZTtTQUN4QixDQUFDO2FBQ0QsR0FBRyxDQUFDO1lBQ0gsT0FBTyxFQUFFO2dCQUNQLG9CQUFvQixFQUFFLDJDQUEyQztnQkFDakUsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsUUFBUSxFQUFFLCtDQUErQzthQUMxRDtTQUNGLENBQUMsQ0FDTCxDQUFDLElBQUksQ0FDSixVQUFV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R0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRTtTQUNyRSxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLE1BQU0sQ0FBQztZQUNOLEVBQUUsRUFBQyxLQUFLO1NBQ1QsQ0FBQzthQUNELE9BQU8sQ0FBQyxFQUFFLENBQUM7YUFDWCxPQUFPLEVBQUUsQ0FFYixDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUNsQyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsT0FBTyxDQUFDLHNDQUFzQyxTQUFTLEVBQUUsQ0FBQzthQUMxRCxXQUFXLGlCQUFHLENBQUMsRUFBRSxHQUFHLElBQUssTUFBTSxFQUFHO2FBQ2xDLEdBQUcsRUFBRSxDQUNULENBQUMsSUFBSSxDQUNKLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OytHQTVJVSxpQkFBaUIsOENBSTZCLGFBQWE7bUhBSjNELGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUttRCxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uL0NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uU2VydmljZSB7XHJcbiAgZGlzYWJsZUNsaWNrT3V0U2lkZSA9IGZhbHNlO1xyXG4gIGRlcGFydG1lbnRVc2VycyA9IFtdO1xyXG4gIGNyZWF0ZUFuZEFkZEFub3RoZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZSAsIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudCkgeyB9XHJcblxyXG4gIGdldFBlcm1pc3Npb25zRm9yRG9jdW1lbnQodWlkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcXVlc3QoYC9pZC8ke3VpZH1gKVxyXG4gICAgICAgIC5xdWVyeVBhcmFtcyh7XHJcbiAgICAgICAgICBcImZldGNoLWFjbHNcIjogJ3VzZXJuYW1lLGNyZWF0b3IsZXh0ZW5kZWQnLFxyXG4gICAgICAgICAgXCJkZXB0aFwiOiAnY2hpbGRyZW4nLFxyXG4gICAgICAgICAgXCJ0aW1lXCI6ICcxNjM1MjQ5MTI5MjY4J1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmdldCh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiBcImFjbHMsIHBlcm1pc3Npb25zLCB1c2VyVmlzaWJsZVBlcm1pc3Npb25zXCIsXHJcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgICAgXCJhY2NlcHRcIjogXCJ0ZXh0L3BsYWluLGFwcGxpY2F0aW9uL2pzb24sIGFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKHVpZDogYW55KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdEb2N1bWVudC5CbG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZScsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHVpZClcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIGFjbDogXCJsb2NhbFwiLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe30pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG5cclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UodWlkOiBhbnkpIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oJ0RvY3VtZW50LlVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dCh1aWQpXHJcbiAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICBhY2w6IFwibG9jYWxcIixcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhZGROZXdMb2NhbFBlcm1pc3Npb25zKHVpZCxmb3JtRGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdEb2N1bWVudC5BZGRQZXJtaXNzaW9uJywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodWlkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgLi4uZm9ybURhdGFcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBlZGl0TG9jYWxQZXJtaXNzaW9ucyh1aWQsZm9ybURhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbignRG9jdW1lbnQuUmVwbGFjZVBlcm1pc3Npb24nLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dCh1aWQpXHJcbiAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICAuLi5mb3JtRGF0YVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe30pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG5cclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUxvY2FsUGVybWlzc2lvbnModWlkLHBhcmFtKSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdEb2N1bWVudC5SZW1vdmVQZXJtaXNzaW9uJywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodWlkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgaWQ6cGFyYW1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXREZXBNZW1iZXJzKGRlcHRUaXRsZSwgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcXVlc3QoYGdyb3VwLW1lbWJlcnMvYWxsLW1lbWJlcnMvZG1zX3VzZXJfJHtkZXB0VGl0bGV9YClcclxuICAgICAgICAucXVlcnlQYXJhbXMoeyBxOiAnKicsIC4uLnBhcmFtcyB9KVxyXG4gICAgICAgIC5nZXQoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNNUMsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUFvQixZQUEwQixFQUFrQyxXQUFXO1FBQXZFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQWtDLGdCQUFXLEdBQVgsV0FBVyxDQUFBO1FBSDNGLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3NELENBQUM7SUFFaEcseUJBQXlCLENBQUMsR0FBUTtRQUNoQyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsT0FBTyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7YUFDckIsV0FBVyxDQUFDO1lBQ1gsWUFBWSxFQUFFLDJCQUEyQjtZQUN6QyxPQUFPLEVBQUUsVUFBVTtZQUNuQixNQUFNLEVBQUUsZUFBZTtTQUN4QixDQUFDO2FBQ0QsR0FBRyxDQUFDO1lBQ0gsT0FBTyxFQUFFO2dCQUNQLG9CQUFvQixFQUFFLDJDQUEyQztnQkFDakUsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsUUFBUSxFQUFFLCtDQUErQzthQUMxRDtTQUNGLENBQUMsQ0FDTCxDQUFDLElBQUksQ0FDSixVQUFV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R0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRTtTQUNyRSxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLE1BQU0sQ0FBQztZQUNOLEVBQUUsRUFBQyxLQUFLO1NBQ1QsQ0FBQzthQUNELE9BQU8sQ0FBQyxFQUFFLENBQUM7YUFDWCxPQUFPLEVBQUUsQ0FFYixDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUNsQyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsT0FBTyxDQUFDLHNDQUFzQyxTQUFTLEVBQUUsQ0FBQzthQUMxRCxXQUFXLGlCQUFHLENBQUMsRUFBRSxHQUFHLElBQUssTUFBTSxFQUFHO2FBQ2xDLEdBQUcsRUFBRSxDQUNULENBQUMsSUFBSSxDQUNKLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OytHQTVJVSxpQkFBaUIsOENBSTZCLGFBQWE7bUhBSjNELGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUttRCxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uU2VydmljZSB7XHJcbiAgZGlzYWJsZUNsaWNrT3V0U2lkZSA9IGZhbHNlO1xyXG4gIGRlcGFydG1lbnRVc2VycyA9IFtdO1xyXG4gIGNyZWF0ZUFuZEFkZEFub3RoZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZSAsIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudCkgeyB9XHJcblxyXG4gIGdldFBlcm1pc3Npb25zRm9yRG9jdW1lbnQodWlkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcXVlc3QoYC9pZC8ke3VpZH1gKVxyXG4gICAgICAgIC5xdWVyeVBhcmFtcyh7XHJcbiAgICAgICAgICBcImZldGNoLWFjbHNcIjogJ3VzZXJuYW1lLGNyZWF0b3IsZXh0ZW5kZWQnLFxyXG4gICAgICAgICAgXCJkZXB0aFwiOiAnY2hpbGRyZW4nLFxyXG4gICAgICAgICAgXCJ0aW1lXCI6ICcxNjM1MjQ5MTI5MjY4J1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmdldCh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiBcImFjbHMsIHBlcm1pc3Npb25zLCB1c2VyVmlzaWJsZVBlcm1pc3Npb25zXCIsXHJcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgICAgXCJhY2NlcHRcIjogXCJ0ZXh0L3BsYWluLGFwcGxpY2F0aW9uL2pzb24sIGFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKHVpZDogYW55KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdEb2N1bWVudC5CbG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZScsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHVpZClcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIGFjbDogXCJsb2NhbFwiLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe30pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG5cclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UodWlkOiBhbnkpIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oJ0RvY3VtZW50LlVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dCh1aWQpXHJcbiAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICBhY2w6IFwibG9jYWxcIixcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhZGROZXdMb2NhbFBlcm1pc3Npb25zKHVpZCxmb3JtRGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdEb2N1bWVudC5BZGRQZXJtaXNzaW9uJywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodWlkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgLi4uZm9ybURhdGFcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBlZGl0TG9jYWxQZXJtaXNzaW9ucyh1aWQsZm9ybURhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbignRG9jdW1lbnQuUmVwbGFjZVBlcm1pc3Npb24nLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dCh1aWQpXHJcbiAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICAuLi5mb3JtRGF0YVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe30pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG5cclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUxvY2FsUGVybWlzc2lvbnModWlkLHBhcmFtKSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdEb2N1bWVudC5SZW1vdmVQZXJtaXNzaW9uJywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodWlkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgaWQ6cGFyYW1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXREZXBNZW1iZXJzKGRlcHRUaXRsZSwgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcXVlc3QoYGdyb3VwLW1lbWJlcnMvYWxsLW1lbWJlcnMvZG1zX3VzZXJfJHtkZXB0VGl0bGV9YClcclxuICAgICAgICAucXVlcnlQYXJhbXMoeyBxOiAnKicsIC4uLnBhcmFtcyB9KVxyXG4gICAgICAgIC5nZXQoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -5,8 +5,8 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "../permission.service";
6
6
  import * as i2 from "@angular/material/dialog";
7
7
  import * as i3 from "../../custom-toastr/services/custom-toastr.service";
8
- import * as i4 from "../../../Core/services/translation/translation.service";
9
- import * as i5 from "../../../Core/services/nuxeo/nuxeo.service";
8
+ import * as i4 from "../../../core/services/translation/translation.service";
9
+ import * as i5 from "../../../core/services/nuxeo/nuxeo.service";
10
10
  import * as i6 from "../../../shared-services/user.service";
11
11
  import * as i7 from "../../../directive/permissions/evaluators.service";
12
12
  import * as i8 from "@angular/material/divider";
@@ -232,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
232
232
  }], sourcePage: [{
233
233
  type: Input
234
234
  }] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJdEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVczRyxNQUFNLE9BQU8sb0JBQW9CO0lBc0IvQixZQUFvQixpQkFBb0MsRUFDOUMsb0JBQStCLEVBQy9CLGFBQWtDLEVBQ2xDLGdCQUFvQyxFQUNwQyxZQUEwQixFQUMxQixRQUFxQixFQUNyQixnQkFBb0M7UUFOMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUM5Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVc7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBbkI5QyxlQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ2YsbUJBQWMsR0FBbUIsRUFBRSxDQUFDO1FBRXBDLHFCQUFn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LENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUNuRCxDQUFDOztrSEFwTlUsb0JBQW9CO3NHQUFwQixvQkFBb0IsbUxDaEJqQyx1MExBaUlBOzRGRGpIYSxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDO3dSQUlDLFVBQVU7c0JBRFQsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFdmFsdWF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9wZXJtaXNzaW9ucy9ldmFsdWF0b3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGVybWlzc2lvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGVybWlzc2lvbnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcGVybWlzc2lvbnNUeXBlOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBkb2N1bWVudElkO1xyXG4gIEBJbnB1dCgpXHJcbiAgZG9jdW1lbnQ7XHJcbiAgQElucHV0KClcclxuICBhbGxvd0FkZEFuZEJsb2NrXHJcbiAgQElucHV0KClcclxuICBzb3VyY2VQYWdlID0gJydcclxuICBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICB1c2VyVmlzaWJsZVBlcm1pc3Npb25zOiBhbnk7XHJcbiAgbG9jYWxQZXJtaXNzaW9ucyA9IFtdO1xyXG4gIGluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcbiAgZGVwYXJ0bWVudFBlcm1pc3Npb25zID0gW107XHJcbiAgc2hhcmVQZXJtaXNzaW9ucyA9IFtdO1xyXG4gIHdvcmtmbG93UGVybWlzc2lvbnMgPSBbXTtcclxuICBzdGF0dXM9bnVsbDsvL3RvIGtub3cgaW5oZXJpdGVkIFBlcm1pc3Npb25zIGlmIGJsb2NrIG9yIG5vdFxyXG4gIGFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPWZhbHNlO1xyXG4gIGJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGFsbERlcGFydG1lbnRVc2VycyA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhZGRQZXJtaXNzaW9uc0RpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSB0b3N0ZXJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyU2VydjogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGV2YWx1YXRvclNlcnZpY2UgOiBFdmFsdWF0b3JzU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbXHJcbiAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuY3JlYXRlQW5kQWRkQW5vdGhlci5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmdldFBlcm1pc3Npb25zKCk7XHJcbiAgICAgIH0pXHJcbiAgICBdKTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNoZWNrSWZVc2VyQ2FuRG9BY3Rpb25zT25QZXJtaXNzaW9ucygpO1xyXG4gICAgdGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG4gICAgKHRoaXMuaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoID4gMCkgPyB0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJyA6IHRoaXMuc3RhdHVzID0gJ2Jsb2NrJztcclxuICB9XHJcblxyXG4gIGFkZFBlcm1pc3Npb25MYWJlbChhcnIscGVybWlzc2lvbkFycikge1xyXG4gICAgYXJyLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgIGlmKCF0aGlzLmlzSXRlbUNvbnRhaW5BZG1pbmlzdHJhdG9yR3JvdXAoZWxlbWVudCkpe1xyXG4gICAgICAgIGVsZW1lbnQucGVybWlzc2lvbkxhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYHJpZ2h0cy4ke2VsZW1lbnQucGVybWlzc2lvbn1gKVxyXG4gICAgICAgIHBlcm1pc3Npb25BcnIucHVzaChlbGVtZW50KVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzSXRlbUNvbnRhaW5BZG1pbmlzdHJhdG9yR3JvdXAoZWxlbWVudCl7XHJcbiAgICBsZXQgaXNBZG1pbmlzdHJhdG9yID0gZmFsc2U7XHJcbiAgICBpZihlbGVtZW50LmdyYW50ZWQgPT09IGZhbHNlKXtcclxuICAgICAgaXNBZG1pbmlzdHJhdG9yID0gdHJ1ZTtcclxuICAgIH1lbHNlIGlmIChlbGVtZW50LnVzZXJuYW1lICYmIGVsZW1lbnQudXNlcm5hbWVbJ2VudGl0eS10eXBlJ10gPT09ICdncm91cCcgJiYgZWxlbWVudC51c2VybmFtZS5ncm91cG5hbWUgPT09ICdhZG1pbmlzdHJhdG9ycycpe1xyXG4gICAgICBpc0FkbWluaXN0cmF0b3IgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmKGVsZW1lbnQudXNlcm5hbWUudXNlckdyb3Vwcyl7XHJcbiAgICAgICAgZWxlbWVudC51c2VybmFtZS51c2VyR3JvdXBzLm1hcChncm91cCA9PiB7XHJcbiAgICAgICAgICBpZihncm91cC5uYW1lID09PSAnYWRtaW5pc3RyYXRvcnMnKXtcclxuICAgICAgICAgICAgaXNBZG1pbmlzdHJhdG9yID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzQWRtaW5pc3RyYXRvcjtcclxuICB9XHJcblxyXG4gIGdldFBlcm1pc3Npb25zKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5jb25jYXQoW3RoaXMucGVybWlzc2lvblNlcnZpY2UuZ2V0UGVybWlzc2lvbnNGb3JEb2N1bWVudCh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnBlcm1pc3Npb25zVHlwZSA9IHJlcy5jb250ZXh0UGFyYW1ldGVycy5hY2xzO1xyXG4gICAgICB0aGlzLnVzZXJWaXNpYmxlUGVybWlzc2lvbnMgPSByZXMuY29udGV4dFBhcmFtZXRlcnMudXNlclZpc2libGVQZXJtaXNzaW9ucztcclxuICAgICAgZm9yIChsZXQgcCBvZiB0aGlzLnBlcm1pc3Npb25zVHlwZSkge1xyXG4gICAgICAgIGlmIChwLm5hbWUgPT0gJ2xvY2FsJykge1xyXG4gICAgICAgICAgdGhpcy5sb2NhbFBlcm1pc3Npb25zID0gW107XHJcbiAgICAgICAgICB0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsdGhpcy5sb2NhbFBlcm1pc3Npb25zKTtcclxuICAgICAgICAgIHRoaXMubG9jYWxQZXJtaXNzaW9ucyA9IHRoaXMubG9jYWxQZXJtaXNzaW9ucy5tYXAoZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LmNyZWF0b3IgPT09IG51bGwgfHwgZWxlbWVudC5jcmVhdG9yID09PSAnc3lzdGVtJyB8fCBlbGVtZW50LmNyZWF0b3I/LnByb3BlcnRpZXM/LnVzZXJuYW1lICE9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy51c2VybmFtZSlcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGVsZW1lbnRbJ2N1cnJlbnRVc2VySXNQZXJtaXNzaW9uT3duZXInXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGVsZW1lbnRbJ2N1cnJlbnRVc2VySXNQZXJtaXNzaW9uT3duZXInXSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lID09ICdpbmhlcml0ZWQnKSB7XHJcbiAgICAgICAgICB0aGlzLmluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcbiAgICAgICAgICB0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsdGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucylcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lLmluY2x1ZGVzKCdkZXB0U3BhY2UnKSkge1xyXG4gICAgICAgICAgdGhpcy5kZXBhcnRtZW50UGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLmRlcGFydG1lbnRQZXJtaXNzaW9ucylcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lLmluY2x1ZGVzKCdzaGFyZScpKSB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlUGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLnNoYXJlUGVybWlzc2lvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHAubmFtZS5pbmNsdWRlcygncm91dGluZycpKSB7XHJcbiAgICAgICAgICB0aGlzLndvcmtmbG93UGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLndvcmtmbG93UGVybWlzc2lvbnMpXHJcbiAgICAgICAgfSAgICBcclxuICAgICAgfVxyXG4gICAgICAodGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT0gMCkgPyB0aGlzLnN0YXR1cyA9ICdibG9jaycgOiB0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJzsgIFxyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sZXJyID0+IHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICApXSk7XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKCkge1xyXG4gICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IHRydWU7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbdGhpcy5wZXJtaXNzaW9uU2VydmljZS5ibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG4gICAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5QRVJNSVNTSU9OX0JMT0NLX1NVQ0NFU1NcIik7XHJcbiAgICAgICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzID0gXCJ1bmJsb2NrXCI7XHJcbiAgICAgICAgdGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdlcnJvcicsICdUT0FTVEVSLkVSUk9SJywgJ1RPQVNURVIuUEVSTUlTU0lPTl9CTE9DS19GQUlMJyk7XHJcbiAgICB9XHJcbiAgICApXSlcclxuICB9XHJcblxyXG4gIHVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UoKSB7XHJcbiAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gdHJ1ZTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuY29uY2F0KFt0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UodGhpcy5kb2N1bWVudElkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKHJlcykgeyAgIFxyXG4gICAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbnMoKTtcclxuICAgICAgICB0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdygnc3VjY2VzcycsICdUT0FTVEVSLlNVQ0NFU1MnLCBcIlRPQVNURVIuUEVSTUlTU0lPTl9VTkJMT0NLX1NVQ0NFU1NcIik7XHJcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBcImJsb2NrXCI7XHJcbiAgICAgICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdlcnJvcicsICdUT0FTVEVSLkVSUk9SJywgJ1RPQVNURVIuUEVSTUlTU0lPTl9VTkJMT0NLX0ZBSUwnKTtcclxuICAgIH0pXSlcclxuICB9XHJcblxyXG4gIGFkZE5ld0xvY2FsUGVybWlzc2lvbnMoKSB7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IFsuLi50aGlzLmFsbERlcGFydG1lbnRVc2Vyc107XHJcbiAgICB0aGlzLmxvY2FsUGVybWlzc2lvbnMuZm9yRWFjaChwZXJtID0+IHtcclxuICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMuZm9yRWFjaCgodXNlciwgaW5kZXgpID0+IHtcclxuICAgICAgICBpZiAocGVybS51c2VybmFtZS5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSB1c2VyLnByb3BlcnRpZXMudXNlcm5hbWVcclxuICAgICAgICAgICYmIHBlcm0uY3JlYXRvci5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudXNlcm5hbWUpIHtcclxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzLnNwbGljZShpbmRleCwgMSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBkaWFsb2dDb25maWcuZGlzYWJsZUNsb3NlID0gZmFsc2U7XHJcbiAgICBkaWFsb2dDb25maWcuYXV0b0ZvY3VzID0gdHJ1ZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xyXG4gICAgICBpZDogdGhpcy5kb2N1bWVudElkLFxyXG4gICAgICByaWdodHM6IHRoaXMudXNlclZpc2libGVQZXJtaXNzaW9uc1xyXG4gICAgfTtcclxuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICczNSUnO1xyXG4gICAgZGlhbG9nQ29uZmlnLmhlaWdodCA9ICc3MCUnO1xyXG4gICAgLy8gYmVmb3Igb3BlbmluZyBtb2RhbCB3ZSBkaWFibGUgY2xpY2tvdXQgc2lkZSBlZmZlY3QgdG8gcHJldmVudCBkZXRhaWxzIHNpZGUgbWVudSBmcm9tIGNsb3Npbmcgd2hlbiBjbGlja2luZyBpbiB0aGUgbW9kYWxcclxuICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGlzYWJsZUNsaWNrT3V0U2lkZSA9IHRydWU7XHJcbiAgICBsZXQgZGlhbG9mUmVmID0gdGhpcy5hZGRQZXJtaXNzaW9uc0RpYWxvZy5vcGVuKFxyXG4gICAgICBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCwgXHJcbiAgICAgIGRpYWxvZ0NvbmZpZyk7XHJcbiAgICBkaWFsb2ZSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgLy8gcmV0dXJuIGNsaWNrIG91dHNpZGUgZWZmZWN0IHRvIHdvcmsgdG8gY2xvc2Ugc2lkZSBtZW51IHdoZW4gY2xpY2tpbmcgb3V0IHNpZGUgaXRcclxuICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcbiAgICAgIGlmKHJlcykge1xyXG4gICAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbnMoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBjaGVja0lmVXNlckNhbkRvQWN0aW9uc09uUGVybWlzc2lvbnMoKSB7XHJcbiAgICB0aGlzLmV2YWx1YXRvclNlcnZpY2UuZXZhbHVhdGVSdWxlKCdpc01hbmFnZVBlcm1pc3Npb25FbmFibGVkJykudGhlbihpc0VuYWJsZWQgPT4ge1xyXG4gICAgICBpZiAoaXNFbmFibGVkKSB7XHJcbiAgICAgICB0aGlzLmV2YWx1YXRvclNlcnZpY2UuZXZhbHVhdGVSdWxlKCdpc0RlcGFydG1lbnREb2N1bWVudENvbnRyb2xsZXInICwge2VudGl0eSA6IHRoaXMuZG9jdW1lbnR9KS50aGVuKHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9PiB7XHJcbiAgICAgICAgLy8gbGV0IHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9IGZhbHNlO1xyXG4gICAgICAgIC8vIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIudXNlckdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcclxuICAgICAgICAvLyAgIGlmIChncm91cC5uYW1lID09PSAnZG1zX2RvY3VtZW50X2NvbnRyb2xsZXInKSB7XHJcbiAgICAgICAgLy8gICAgIHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9IHRydWU7XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgaWYgKHVzZXJJbkNvbnRyb2xsZXJHcm91cCkge1xyXG4gICAgICAgICAgbGV0IGRlcENvZGUgPSB0aGlzLnVzZXJTZXJ2LmdldFVzZXJEZXBhcnRtZW50RnJvbVBhdGgodGhpcy5kb2N1bWVudC5wYXRoKTtcclxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZ2V0RGVwTWVtYmVycyhkZXBDb2RlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMgPSByZXMudXNlcnMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICAgIGVbJ2Rpc3BsYXlMYWJlbCddID0gZS5wcm9wZXJ0aWVzLmZpcnN0TmFtZSArICcgJyArIGUucHJvcGVydGllcy5sYXN0TmFtZTtcclxuICAgICAgICAgICAgICByZXR1cm4gZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuYWxsRGVwYXJ0bWVudFVzZXJzID0gWy4uLnRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzXTtcclxuICAgICAgICAgICAgcmVzLnVzZXJzLmZvckVhY2godXNlciA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHVzZXIucHJvcGVydGllcy51c2VybmFtZSA9PT0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnVzZXJuYW1lXHJcbiAgICAgICAgICAgICAgICAmJiAoKHRoaXMuZG9jdW1lbnQudHlwZSA9PT0gJ0Rtc0ZvbGRlcicgJiYgdGhpcy5kb2N1bWVudC5wYXRoLmluY2x1ZGVzKCcvZGVmYXVsdC1kb21haW4vd29ya3NwYWNlcy9ETVMvJykpIHx8ICh0aGlzLmRvY3VtZW50LnR5cGUgPT09ICdGb2xkZXInICYmIHRoaXMuZG9jdW1lbnQucGF0aC5pbmNsdWRlcygnL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvRE1TV29ya3NwYWNlcy8nKSkpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICB9KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyByZXR1cm4gY2xpY2sgb3V0c2lkZSBlZmZlY3QgdG8gd29yayB0byBjbG9zZSBzaWRlIG1lbnUgd2hlbiBjbGlja2luZyBvdXQgc2lkZSBpdFxyXG4gICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmZvckVhY2goZSA9PiBlLnVuc3Vic2NyaWJlKCkpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJoLWF1dG8gbXQtMyBweC0wIHBiLTRcIiAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRlclwiPlxyXG4gICAgPCEtLUxvY2FsUGVybWlzc2lvbiBMaXN0IEl0ZW1zLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic291cmNlUGFnZSAhPSAnbXlGaWxlcydcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmxvY2FsXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvbiAmJiAhaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd0FkZEFuZEJsb2NrXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhvdmVyOnRleHQtYmx1ZS03MDAgdGV4dC1ibHVlLTUwMCBtYi0xIHRleHQtYmFzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE5ld0xvY2FsUGVybWlzc2lvbnMoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFwZXJtaXNzaW9uc1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IFwicGVybWlzc2lvbi5uZXdcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW2FsbG93RGVsZXRlQW5kRWRpdF09XCJhbGxvd0FkZF9CbG9ja19EZWxldGVQZXJtaXNzaW9uXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwibG9jYWxQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgICpuZ0lmPVwibG9jYWxQZXJtaXNzaW9ucy5sZW5ndGggPiAwOyBlbHNlIG5vbG9jYWxQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI25vbG9jYWxQZXJtaXNzaW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXBlcm1zc2lvbiBwLTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAge3sgXCJwZXJtaXNzaW9uLm5vTG9jYWxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS1Jbmhlcml0ZWRQZXJtaXNzaW9uIExpc3QgSXRlbXMtLT5cclxuICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIG10LTNcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmluaGVyaXRlZFwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb25cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhvdmVyOnRleHQtYmx1ZS03MDAgdGV4dC1ibHVlLTUwMCBtYi0xIHRleHQtYmFzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGF0dXMgIT0gbnVsbCAmJiBhbGxvd0FkZEFuZEJsb2NrXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0YXR1cyA9PSAnYmxvY2snOyBlbHNlIHVuYmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidW5ibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwicGVybWlzc2lvbi51bmJsb2NrXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN1bmJsb2NrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJwZXJtaXNzaW9uLmJsb2NrXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cIm1hdC1kaXZpZGVyXCIgKm5nSWY9XCIhYmxvY2tPclVuYmxvY2tcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJibG9ja09yVW5ibG9ja1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuICAgICAgICA8YXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoID4gMDsgZWxzZSBub2luaGVyaXRlZFBlcm1pc3Npb25zXCJcclxuICAgICAgICAgICAgW2RvY3VtZW50SWRdPVwiZG9jdW1lbnRJZFwiXHJcbiAgICAgICAgICAgIFt1c2VyVmlzaWJsZVBlcm1pc3Npb25zXT1cInVzZXJWaXNpYmxlUGVybWlzc2lvbnNcIlxyXG4gICAgICAgICAgICBbcGVybWlzc2lvbnNBcnJheV09XCJpbmhlcml0ZWRQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtcGVybWlzc2lvbnMtdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm9pbmhlcml0ZWRQZXJtaXNzaW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXBlcm1zc2lvbiBwLTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAge3tcInBlcm1pc3Npb24ubm9Jbmhlcml0ZWRcIiB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS1kZXBhcnRtZW50UGVybWlzc2lvbnMgTGlzdCBJdGVtcy0tPlxyXG4gICAgPGRpdiAqbmdJZj1cImRlcGFydG1lbnRQZXJtaXNzaW9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtZ3JheS01MDAgdGV4dC1iYXNlXCI+e3tcclxuICAgICAgICAgICAgICAgIFwicGVybWlzc2lvbi5kZXBhcnRtZW50UGVybWlzc2lvbnNcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwiZGVwYXJ0bWVudFBlcm1pc3Npb25zXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtcGVybWlzc2lvbnMtdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1zaGFyZVBlcm1pc3Npb25zIExpc3QgSXRlbXMtLT5cclxuICAgIDxkaXYgKm5nSWY9XCJzaGFyZVBlcm1pc3Npb25zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLnNoYXJlUGVybWlzc2lvbnNcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwic2hhcmVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0td29ya2Zsb3dQZXJtaXNzaW9ucyBMaXN0IEl0ZW1zLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwid29ya2Zsb3dQZXJtaXNzaW9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtZ3JheS01MDAgdGV4dC1iYXNlXCI+e3tcclxuICAgICAgICAgICAgICAgIFwicGVybWlzc2lvbi53b3JrZmxvd1Blcm1pc3Npb25zXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwibWF0LWRpdmlkZXJcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxhcHAtcGVybWlzc2lvbnMtdGVtcGxhdGVcclxuICAgICAgICAgICAgW2RvY3VtZW50SWRdPVwiZG9jdW1lbnRJZFwiXHJcbiAgICAgICAgICAgIFt1c2VyVmlzaWJsZVBlcm1pc3Npb25zXT1cInVzZXJWaXNpYmxlUGVybWlzc2lvbnNcIlxyXG4gICAgICAgICAgICAoZ2V0UGVybWlzc2lvbnMpPVwiZ2V0UGVybWlzc2lvbnMoKVwiXHJcbiAgICAgICAgICAgIFtwZXJtaXNzaW9uc0FycmF5XT1cIndvcmtmbG93UGVybWlzc2lvbnNcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2FwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctZnVsbCBoLWZ1bGxcIj5cclxuICAgICAgICA8bWF0LXNwaW5uZXIgW3ZhbHVlXT1cIjkwXCIgW3N0cm9rZVdpZHRoXT1cIjZcIiBvdmVybGF5PVwidHJ1ZVwiIFtkaWFtZXRlcl09XCI3NVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJdEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVczRyxNQUFNLE9BQU8sb0JBQW9CO0lBc0IvQixZQUFvQixpQkFBb0MsRUFDOUMsb0JBQStCLEVBQy9CLGFBQWtDLEVBQ2xDLGdCQUFvQyxFQUNwQyxZQUEwQixFQUMxQixRQUFxQixFQUNyQixnQkFBb0M7UUFOMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUM5Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVc7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBbkI5QyxlQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ2YsbUJBQWMsR0FBbUIsRUFBRSxDQUFDO1FBRXBDLHFCQUFn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LENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUNuRCxDQUFDOztrSEFwTlUsb0JBQW9CO3NHQUFwQixvQkFBb0IsbUxDaEJqQyx1MExBaUlBOzRGRGpIYSxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDO3dSQUlDLFVBQVU7c0JBRFQsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFdmFsdWF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9wZXJtaXNzaW9ucy9ldmFsdWF0b3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGVybWlzc2lvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGVybWlzc2lvbnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcGVybWlzc2lvbnNUeXBlOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBkb2N1bWVudElkO1xyXG4gIEBJbnB1dCgpXHJcbiAgZG9jdW1lbnQ7XHJcbiAgQElucHV0KClcclxuICBhbGxvd0FkZEFuZEJsb2NrXHJcbiAgQElucHV0KClcclxuICBzb3VyY2VQYWdlID0gJydcclxuICBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICB1c2VyVmlzaWJsZVBlcm1pc3Npb25zOiBhbnk7XHJcbiAgbG9jYWxQZXJtaXNzaW9ucyA9IFtdO1xyXG4gIGluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcbiAgZGVwYXJ0bWVudFBlcm1pc3Npb25zID0gW107XHJcbiAgc2hhcmVQZXJtaXNzaW9ucyA9IFtdO1xyXG4gIHdvcmtmbG93UGVybWlzc2lvbnMgPSBbXTtcclxuICBzdGF0dXM9bnVsbDsvL3RvIGtub3cgaW5oZXJpdGVkIFBlcm1pc3Npb25zIGlmIGJsb2NrIG9yIG5vdFxyXG4gIGFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPWZhbHNlO1xyXG4gIGJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGFsbERlcGFydG1lbnRVc2VycyA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhZGRQZXJtaXNzaW9uc0RpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSB0b3N0ZXJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyU2VydjogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGV2YWx1YXRvclNlcnZpY2UgOiBFdmFsdWF0b3JzU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbXHJcbiAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuY3JlYXRlQW5kQWRkQW5vdGhlci5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmdldFBlcm1pc3Npb25zKCk7XHJcbiAgICAgIH0pXHJcbiAgICBdKTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNoZWNrSWZVc2VyQ2FuRG9BY3Rpb25zT25QZXJtaXNzaW9ucygpO1xyXG4gICAgdGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG4gICAgKHRoaXMuaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoID4gMCkgPyB0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJyA6IHRoaXMuc3RhdHVzID0gJ2Jsb2NrJztcclxuICB9XHJcblxyXG4gIGFkZFBlcm1pc3Npb25MYWJlbChhcnIscGVybWlzc2lvbkFycikge1xyXG4gICAgYXJyLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgIGlmKCF0aGlzLmlzSXRlbUNvbnRhaW5BZG1pbmlzdHJhdG9yR3JvdXAoZWxlbWVudCkpe1xyXG4gICAgICAgIGVsZW1lbnQucGVybWlzc2lvbkxhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYHJpZ2h0cy4ke2VsZW1lbnQucGVybWlzc2lvbn1gKVxyXG4gICAgICAgIHBlcm1pc3Npb25BcnIucHVzaChlbGVtZW50KVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzSXRlbUNvbnRhaW5BZG1pbmlzdHJhdG9yR3JvdXAoZWxlbWVudCl7XHJcbiAgICBsZXQgaXNBZG1pbmlzdHJhdG9yID0gZmFsc2U7XHJcbiAgICBpZihlbGVtZW50LmdyYW50ZWQgPT09IGZhbHNlKXtcclxuICAgICAgaXNBZG1pbmlzdHJhdG9yID0gdHJ1ZTtcclxuICAgIH1lbHNlIGlmIChlbGVtZW50LnVzZXJuYW1lICYmIGVsZW1lbnQudXNlcm5hbWVbJ2VudGl0eS10eXBlJ10gPT09ICdncm91cCcgJiYgZWxlbWVudC51c2VybmFtZS5ncm91cG5hbWUgPT09ICdhZG1pbmlzdHJhdG9ycycpe1xyXG4gICAgICBpc0FkbWluaXN0cmF0b3IgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmKGVsZW1lbnQudXNlcm5hbWUudXNlckdyb3Vwcyl7XHJcbiAgICAgICAgZWxlbWVudC51c2VybmFtZS51c2VyR3JvdXBzLm1hcChncm91cCA9PiB7XHJcbiAgICAgICAgICBpZihncm91cC5uYW1lID09PSAnYWRtaW5pc3RyYXRvcnMnKXtcclxuICAgICAgICAgICAgaXNBZG1pbmlzdHJhdG9yID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzQWRtaW5pc3RyYXRvcjtcclxuICB9XHJcblxyXG4gIGdldFBlcm1pc3Npb25zKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5jb25jYXQoW3RoaXMucGVybWlzc2lvblNlcnZpY2UuZ2V0UGVybWlzc2lvbnNGb3JEb2N1bWVudCh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnBlcm1pc3Npb25zVHlwZSA9IHJlcy5jb250ZXh0UGFyYW1ldGVycy5hY2xzO1xyXG4gICAgICB0aGlzLnVzZXJWaXNpYmxlUGVybWlzc2lvbnMgPSByZXMuY29udGV4dFBhcmFtZXRlcnMudXNlclZpc2libGVQZXJtaXNzaW9ucztcclxuICAgICAgZm9yIChsZXQgcCBvZiB0aGlzLnBlcm1pc3Npb25zVHlwZSkge1xyXG4gICAgICAgIGlmIChwLm5hbWUgPT0gJ2xvY2FsJykge1xyXG4gICAgICAgICAgdGhpcy5sb2NhbFBlcm1pc3Npb25zID0gW107XHJcbiAgICAgICAgICB0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsdGhpcy5sb2NhbFBlcm1pc3Npb25zKTtcclxuICAgICAgICAgIHRoaXMubG9jYWxQZXJtaXNzaW9ucyA9IHRoaXMubG9jYWxQZXJtaXNzaW9ucy5tYXAoZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LmNyZWF0b3IgPT09IG51bGwgfHwgZWxlbWVudC5jcmVhdG9yID09PSAnc3lzdGVtJyB8fCBlbGVtZW50LmNyZWF0b3I/LnByb3BlcnRpZXM/LnVzZXJuYW1lICE9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy51c2VybmFtZSlcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGVsZW1lbnRbJ2N1cnJlbnRVc2VySXNQZXJtaXNzaW9uT3duZXInXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGVsZW1lbnRbJ2N1cnJlbnRVc2VySXNQZXJtaXNzaW9uT3duZXInXSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lID09ICdpbmhlcml0ZWQnKSB7XHJcbiAgICAgICAgICB0aGlzLmluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcbiAgICAgICAgICB0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsdGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucylcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lLmluY2x1ZGVzKCdkZXB0U3BhY2UnKSkge1xyXG4gICAgICAgICAgdGhpcy5kZXBhcnRtZW50UGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLmRlcGFydG1lbnRQZXJtaXNzaW9ucylcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lLmluY2x1ZGVzKCdzaGFyZScpKSB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlUGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLnNoYXJlUGVybWlzc2lvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHAubmFtZS5pbmNsdWRlcygncm91dGluZycpKSB7XHJcbiAgICAgICAgICB0aGlzLndvcmtmbG93UGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLndvcmtmbG93UGVybWlzc2lvbnMpXHJcbiAgICAgICAgfSAgICBcclxuICAgICAgfVxyXG4gICAgICAodGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT0gMCkgPyB0aGlzLnN0YXR1cyA9ICdibG9jaycgOiB0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJzsgIFxyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sZXJyID0+IHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICApXSk7XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKCkge1xyXG4gICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IHRydWU7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbdGhpcy5wZXJtaXNzaW9uU2VydmljZS5ibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG4gICAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5QRVJNSVNTSU9OX0JMT0NLX1NVQ0NFU1NcIik7XHJcbiAgICAgICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzID0gXCJ1bmJsb2NrXCI7XHJcbiAgICAgICAgdGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdlcnJvcicsICdUT0FTVEVSLkVSUk9SJywgJ1RPQVNURVIuUEVSTUlTU0lPTl9CTE9DS19GQUlMJyk7XHJcbiAgICB9XHJcbiAgICApXSlcclxuICB9XHJcblxyXG4gIHVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UoKSB7XHJcbiAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gdHJ1ZTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuY29uY2F0KFt0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UodGhpcy5kb2N1bWVudElkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKHJlcykgeyAgIFxyXG4gICAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbnMoKTtcclxuICAgICAgICB0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdygnc3VjY2VzcycsICdUT0FTVEVSLlNVQ0NFU1MnLCBcIlRPQVNURVIuUEVSTUlTU0lPTl9VTkJMT0NLX1NVQ0NFU1NcIik7XHJcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBcImJsb2NrXCI7XHJcbiAgICAgICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdlcnJvcicsICdUT0FTVEVSLkVSUk9SJywgJ1RPQVNURVIuUEVSTUlTU0lPTl9VTkJMT0NLX0ZBSUwnKTtcclxuICAgIH0pXSlcclxuICB9XHJcblxyXG4gIGFkZE5ld0xvY2FsUGVybWlzc2lvbnMoKSB7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IFsuLi50aGlzLmFsbERlcGFydG1lbnRVc2Vyc107XHJcbiAgICB0aGlzLmxvY2FsUGVybWlzc2lvbnMuZm9yRWFjaChwZXJtID0+IHtcclxuICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMuZm9yRWFjaCgodXNlciwgaW5kZXgpID0+IHtcclxuICAgICAgICBpZiAocGVybS51c2VybmFtZS5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSB1c2VyLnByb3BlcnRpZXMudXNlcm5hbWVcclxuICAgICAgICAgICYmIHBlcm0uY3JlYXRvci5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudXNlcm5hbWUpIHtcclxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzLnNwbGljZShpbmRleCwgMSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBkaWFsb2dDb25maWcuZGlzYWJsZUNsb3NlID0gZmFsc2U7XHJcbiAgICBkaWFsb2dDb25maWcuYXV0b0ZvY3VzID0gdHJ1ZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xyXG4gICAgICBpZDogdGhpcy5kb2N1bWVudElkLFxyXG4gICAgICByaWdodHM6IHRoaXMudXNlclZpc2libGVQZXJtaXNzaW9uc1xyXG4gICAgfTtcclxuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICczNSUnO1xyXG4gICAgZGlhbG9nQ29uZmlnLmhlaWdodCA9ICc3MCUnO1xyXG4gICAgLy8gYmVmb3Igb3BlbmluZyBtb2RhbCB3ZSBkaWFibGUgY2xpY2tvdXQgc2lkZSBlZmZlY3QgdG8gcHJldmVudCBkZXRhaWxzIHNpZGUgbWVudSBmcm9tIGNsb3Npbmcgd2hlbiBjbGlja2luZyBpbiB0aGUgbW9kYWxcclxuICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGlzYWJsZUNsaWNrT3V0U2lkZSA9IHRydWU7XHJcbiAgICBsZXQgZGlhbG9mUmVmID0gdGhpcy5hZGRQZXJtaXNzaW9uc0RpYWxvZy5vcGVuKFxyXG4gICAgICBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCwgXHJcbiAgICAgIGRpYWxvZ0NvbmZpZyk7XHJcbiAgICBkaWFsb2ZSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgLy8gcmV0dXJuIGNsaWNrIG91dHNpZGUgZWZmZWN0IHRvIHdvcmsgdG8gY2xvc2Ugc2lkZSBtZW51IHdoZW4gY2xpY2tpbmcgb3V0IHNpZGUgaXRcclxuICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcbiAgICAgIGlmKHJlcykge1xyXG4gICAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbnMoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBjaGVja0lmVXNlckNhbkRvQWN0aW9uc09uUGVybWlzc2lvbnMoKSB7XHJcbiAgICB0aGlzLmV2YWx1YXRvclNlcnZpY2UuZXZhbHVhdGVSdWxlKCdpc01hbmFnZVBlcm1pc3Npb25FbmFibGVkJykudGhlbihpc0VuYWJsZWQgPT4ge1xyXG4gICAgICBpZiAoaXNFbmFibGVkKSB7XHJcbiAgICAgICB0aGlzLmV2YWx1YXRvclNlcnZpY2UuZXZhbHVhdGVSdWxlKCdpc0RlcGFydG1lbnREb2N1bWVudENvbnRyb2xsZXInICwge2VudGl0eSA6IHRoaXMuZG9jdW1lbnR9KS50aGVuKHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9PiB7XHJcbiAgICAgICAgLy8gbGV0IHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9IGZhbHNlO1xyXG4gICAgICAgIC8vIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIudXNlckdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcclxuICAgICAgICAvLyAgIGlmIChncm91cC5uYW1lID09PSAnZG1zX2RvY3VtZW50X2NvbnRyb2xsZXInKSB7XHJcbiAgICAgICAgLy8gICAgIHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9IHRydWU7XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgaWYgKHVzZXJJbkNvbnRyb2xsZXJHcm91cCkge1xyXG4gICAgICAgICAgbGV0IGRlcENvZGUgPSB0aGlzLnVzZXJTZXJ2LmdldFVzZXJEZXBhcnRtZW50RnJvbVBhdGgodGhpcy5kb2N1bWVudC5wYXRoKTtcclxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZ2V0RGVwTWVtYmVycyhkZXBDb2RlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMgPSByZXMudXNlcnMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICAgIGVbJ2Rpc3BsYXlMYWJlbCddID0gZS5wcm9wZXJ0aWVzLmZpcnN0TmFtZSArICcgJyArIGUucHJvcGVydGllcy5sYXN0TmFtZTtcclxuICAgICAgICAgICAgICByZXR1cm4gZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuYWxsRGVwYXJ0bWVudFVzZXJzID0gWy4uLnRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzXTtcclxuICAgICAgICAgICAgcmVzLnVzZXJzLmZvckVhY2godXNlciA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHVzZXIucHJvcGVydGllcy51c2VybmFtZSA9PT0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnVzZXJuYW1lXHJcbiAgICAgICAgICAgICAgICAmJiAoKHRoaXMuZG9jdW1lbnQudHlwZSA9PT0gJ0Rtc0ZvbGRlcicgJiYgdGhpcy5kb2N1bWVudC5wYXRoLmluY2x1ZGVzKCcvZGVmYXVsdC1kb21haW4vd29ya3NwYWNlcy9ETVMvJykpIHx8ICh0aGlzLmRvY3VtZW50LnR5cGUgPT09ICdGb2xkZXInICYmIHRoaXMuZG9jdW1lbnQucGF0aC5pbmNsdWRlcygnL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvRE1TV29ya3NwYWNlcy8nKSkpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICB9KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyByZXR1cm4gY2xpY2sgb3V0c2lkZSBlZmZlY3QgdG8gd29yayB0byBjbG9zZSBzaWRlIG1lbnUgd2hlbiBjbGlja2luZyBvdXQgc2lkZSBpdFxyXG4gICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmZvckVhY2goZSA9PiBlLnVuc3Vic2NyaWJlKCkpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJoLWF1dG8gbXQtMyBweC0wIHBiLTRcIiAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRlclwiPlxyXG4gICAgPCEtLUxvY2FsUGVybWlzc2lvbiBMaXN0IEl0ZW1zLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic291cmNlUGFnZSAhPSAnbXlGaWxlcydcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmxvY2FsXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvbiAmJiAhaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd0FkZEFuZEJsb2NrXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhvdmVyOnRleHQtYmx1ZS03MDAgdGV4dC1ibHVlLTUwMCBtYi0xIHRleHQtYmFzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE5ld0xvY2FsUGVybWlzc2lvbnMoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFwZXJtaXNzaW9uc1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IFwicGVybWlzc2lvbi5uZXdcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW2FsbG93RGVsZXRlQW5kRWRpdF09XCJhbGxvd0FkZF9CbG9ja19EZWxldGVQZXJtaXNzaW9uXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwibG9jYWxQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgICpuZ0lmPVwibG9jYWxQZXJtaXNzaW9ucy5sZW5ndGggPiAwOyBlbHNlIG5vbG9jYWxQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI25vbG9jYWxQZXJtaXNzaW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXBlcm1zc2lvbiBwLTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAge3sgXCJwZXJtaXNzaW9uLm5vTG9jYWxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS1Jbmhlcml0ZWRQZXJtaXNzaW9uIExpc3QgSXRlbXMtLT5cclxuICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIG10LTNcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmluaGVyaXRlZFwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb25cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhvdmVyOnRleHQtYmx1ZS03MDAgdGV4dC1ibHVlLTUwMCBtYi0xIHRleHQtYmFzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGF0dXMgIT0gbnVsbCAmJiBhbGxvd0FkZEFuZEJsb2NrXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0YXR1cyA9PSAnYmxvY2snOyBlbHNlIHVuYmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidW5ibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwicGVybWlzc2lvbi51bmJsb2NrXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN1bmJsb2NrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJwZXJtaXNzaW9uLmJsb2NrXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cIm1hdC1kaXZpZGVyXCIgKm5nSWY9XCIhYmxvY2tPclVuYmxvY2tcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJibG9ja09yVW5ibG9ja1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuICAgICAgICA8YXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoID4gMDsgZWxzZSBub2luaGVyaXRlZFBlcm1pc3Npb25zXCJcclxuICAgICAgICAgICAgW2RvY3VtZW50SWRdPVwiZG9jdW1lbnRJZFwiXHJcbiAgICAgICAgICAgIFt1c2VyVmlzaWJsZVBlcm1pc3Npb25zXT1cInVzZXJWaXNpYmxlUGVybWlzc2lvbnNcIlxyXG4gICAgICAgICAgICBbcGVybWlzc2lvbnNBcnJheV09XCJpbmhlcml0ZWRQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtcGVybWlzc2lvbnMtdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm9pbmhlcml0ZWRQZXJtaXNzaW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXBlcm1zc2lvbiBwLTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAge3tcInBlcm1pc3Npb24ubm9Jbmhlcml0ZWRcIiB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS1kZXBhcnRtZW50UGVybWlzc2lvbnMgTGlzdCBJdGVtcy0tPlxyXG4gICAgPGRpdiAqbmdJZj1cImRlcGFydG1lbnRQZXJtaXNzaW9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtZ3JheS01MDAgdGV4dC1iYXNlXCI+e3tcclxuICAgICAgICAgICAgICAgIFwicGVybWlzc2lvbi5kZXBhcnRtZW50UGVybWlzc2lvbnNcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwiZGVwYXJ0bWVudFBlcm1pc3Npb25zXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtcGVybWlzc2lvbnMtdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1zaGFyZVBlcm1pc3Npb25zIExpc3QgSXRlbXMtLT5cclxuICAgIDxkaXYgKm5nSWY9XCJzaGFyZVBlcm1pc3Npb25zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLnNoYXJlUGVybWlzc2lvbnNcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwic2hhcmVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0td29ya2Zsb3dQZXJtaXNzaW9ucyBMaXN0IEl0ZW1zLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwid29ya2Zsb3dQZXJtaXNzaW9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtZ3JheS01MDAgdGV4dC1iYXNlXCI+e3tcclxuICAgICAgICAgICAgICAgIFwicGVybWlzc2lvbi53b3JrZmxvd1Blcm1pc3Npb25zXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwibWF0LWRpdmlkZXJcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxhcHAtcGVybWlzc2lvbnMtdGVtcGxhdGVcclxuICAgICAgICAgICAgW2RvY3VtZW50SWRdPVwiZG9jdW1lbnRJZFwiXHJcbiAgICAgICAgICAgIFt1c2VyVmlzaWJsZVBlcm1pc3Npb25zXT1cInVzZXJWaXNpYmxlUGVybWlzc2lvbnNcIlxyXG4gICAgICAgICAgICAoZ2V0UGVybWlzc2lvbnMpPVwiZ2V0UGVybWlzc2lvbnMoKVwiXHJcbiAgICAgICAgICAgIFtwZXJtaXNzaW9uc0FycmF5XT1cIndvcmtmbG93UGVybWlzc2lvbnNcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2FwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctZnVsbCBoLWZ1bGxcIj5cclxuICAgICAgICA8bWF0LXNwaW5uZXIgW3ZhbHVlXT1cIjkwXCIgW3N0cm9rZVdpZHRoXT1cIjZcIiBvdmVybGF5PVwidHJ1ZVwiIFtkaWFtZXRlcl09XCI3NVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
2
2
  import { from } from 'rxjs';
3
3
  import { catchError } from 'rxjs/operators';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../../../Core/services/nuxeo/nuxeo.service";
5
+ import * as i1 from "../../../core/services/nuxeo/nuxeo.service";
6
6
  export class DepartmentManagementService {
7
7
  constructor(nuxeoService) {
8
8
  this.nuxeoService = nuxeoService;
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
24
24
  providedIn: 'root',
25
25
  }]
26
26
  }], ctorParameters: function () { return [{ type: i1.NuxeoService }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC11c2Vycy1ieS1kZXBhcnRtZW50L3NlbGVjdC11c2Vycy1ieS1kZXBhcnRtZW50cy9kZXBhcnRtZW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxZQUNVLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2pDLENBQUM7SUFHSixhQUFhLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQ2xDLE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVzthQUMxQixPQUFPLENBQUMsc0NBQXNDLFNBQVMsRUFBRSxDQUFDO2FBQzFELFdBQVcsaUJBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSyxNQUFNLEVBQUc7YUFDbEMsR0FBRyxFQUFFLENBQ1QsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7eUhBakJVLDJCQUEyQjs2SEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07NEZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL0NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVwYXJ0bWVudE1hbmFnZW1lbnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuXHJcbiAgZ2V0RGVwTWVtYmVycyhkZXB0VGl0bGUsIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXF1ZXN0KGBncm91cC1tZW1iZXJzL2FsbC1tZW1iZXJzL2Rtc191c2VyXyR7ZGVwdFRpdGxlfWApXHJcbiAgICAgICAgLnF1ZXJ5UGFyYW1zKHsgcTogJyonLCAuLi5wYXJhbXMgfSlcclxuICAgICAgICAuZ2V0KClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn0iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC11c2Vycy1ieS1kZXBhcnRtZW50L3NlbGVjdC11c2Vycy1ieS1kZXBhcnRtZW50cy9kZXBhcnRtZW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxZQUNVLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2pDLENBQUM7SUFHSixhQUFhLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQ2xDLE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVzthQUMxQixPQUFPLENBQUMsc0NBQXNDLFNBQVMsRUFBRSxDQUFDO2FBQzFELFdBQVcsaUJBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSyxNQUFNLEVBQUc7YUFDbEMsR0FBRyxFQUFFLENBQ1QsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7eUhBakJVLDJCQUEyQjs2SEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07NEZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVwYXJ0bWVudE1hbmFnZW1lbnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuXHJcbiAgZ2V0RGVwTWVtYmVycyhkZXB0VGl0bGUsIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXF1ZXN0KGBncm91cC1tZW1iZXJzL2FsbC1tZW1iZXJzL2Rtc191c2VyXyR7ZGVwdFRpdGxlfWApXHJcbiAgICAgICAgLnF1ZXJ5UGFyYW1zKHsgcTogJyonLCAuLi5wYXJhbXMgfSlcclxuICAgICAgICAuZ2V0KClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn0iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Component, Input, ViewChild, ViewContainerRef, ViewEncapsulation, } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../../../Core/services/extension/extension.service";
3
+ import * as i1 from "../../../core/services/extension/extension.service";
4
4
  export class DynamicColumnComponent {
5
5
  constructor(extensions, componentFactoryResolver) {
6
6
  this.extensions = extensions;
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
61
61
  }], column: [{
62
62
  type: Input
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9keW5hbWljLWNvbHVtbi9keW5hbWljLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxLQUFLLEVBS0wsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7OztBQWlCdkIsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUNVLFVBQTRCLEVBQzVCLHdCQUFrRDtRQURsRCxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQ3pELENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxhQUFhLEVBQUU7WUFDakIsTUFBTSxPQUFPLEdBQ1gsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdkI7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDakQ7SUFDSCxDQUFDOztvSEFoRFUsc0JBQXNCO3dHQUF0QixzQkFBc0IscVBBQ0gsZ0JBQWdCLGdFQWJwQywwQ0FBMEM7NEZBWXpDLHNCQUFzQjtrQkFkbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsMENBQTBDO29CQUNwRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO29CQUNyQyxNQUFNLEVBQUU7d0JBQ047Ozs7O0tBS0M7cUJBQ0Y7aUJBQ0Y7OElBR0MsT0FBTztzQkFETixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5RCxFQUFFO3NCQURELEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFeHRlbnNpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL0NvcmUvc2VydmljZXMvZXh0ZW5zaW9uL2V4dGVuc2lvbi5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjdHMtZHluYW1pYy1jb2x1bW5cIixcclxuICB0ZW1wbGF0ZTogYCA8bmctY29udGFpbmVyICNjb250ZW50PjwvbmctY29udGFpbmVyPiBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDogeyBjbGFzczogXCJjdHMtZHluYW1pYy1jb2x1bW5cIiB9LFxyXG4gIHN0eWxlczogW1xyXG4gICAgYFxyXG4gICAgICAuY3RzLWR5bmFtaWMtY29sdW1uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIGAsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGNvbnRlbnQ6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBjb250ZXh0OiBhbnk7XHJcbiAgQElucHV0KClcclxuICBjb2x1bW46IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZXh0ZW5zaW9uczogRXh0ZW5zaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgY29tcG9uZW50VHlwZSA9IHRoaXMuZXh0ZW5zaW9ucy5nZXRDb21wb25lbnRCeUlkKHRoaXMuaWQpO1xyXG4gICAgaWYgKGNvbXBvbmVudFR5cGUpIHtcclxuICAgICAgY29uc3QgZmFjdG9yeSA9XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50VHlwZSk7XHJcbiAgICAgIGlmIChmYWN0b3J5KSB7XHJcbiAgICAgICAgdGhpcy5jb250ZW50LmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNvbnRlbnQuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnksIDApO1xyXG4gICAgICAgIHRoaXMudXBkYXRlSW5zdGFuY2UoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgdGhpcy51cGRhdGVJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUluc3RhbmNlKCkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICYmIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRleHQgPSB0aGlzLmNvbnRleHQ7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbHVtbiA9IHRoaXMuY29sdW1uO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9keW5hbWljLWNvbHVtbi9keW5hbWljLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxLQUFLLEVBS0wsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7OztBQWlCdkIsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUNVLFVBQTRCLEVBQzVCLHdCQUFrRDtRQURsRCxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQ3pELENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxhQUFhLEVBQUU7WUFDakIsTUFBTSxPQUFPLEdBQ1gsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdkI7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDakQ7SUFDSCxDQUFDOztvSEFoRFUsc0JBQXNCO3dHQUF0QixzQkFBc0IscVBBQ0gsZ0JBQWdCLGdFQWJwQywwQ0FBMEM7NEZBWXpDLHNCQUFzQjtrQkFkbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsMENBQTBDO29CQUNwRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO29CQUNyQyxNQUFNLEVBQUU7d0JBQ047Ozs7O0tBS0M7cUJBQ0Y7aUJBQ0Y7OElBR0MsT0FBTztzQkFETixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5RCxFQUFFO3NCQURELEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFeHRlbnNpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2VydmljZXMvZXh0ZW5zaW9uL2V4dGVuc2lvbi5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjdHMtZHluYW1pYy1jb2x1bW5cIixcclxuICB0ZW1wbGF0ZTogYCA8bmctY29udGFpbmVyICNjb250ZW50PjwvbmctY29udGFpbmVyPiBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDogeyBjbGFzczogXCJjdHMtZHluYW1pYy1jb2x1bW5cIiB9LFxyXG4gIHN0eWxlczogW1xyXG4gICAgYFxyXG4gICAgICAuY3RzLWR5bmFtaWMtY29sdW1uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIGAsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGNvbnRlbnQ6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBjb250ZXh0OiBhbnk7XHJcbiAgQElucHV0KClcclxuICBjb2x1bW46IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZXh0ZW5zaW9uczogRXh0ZW5zaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgY29tcG9uZW50VHlwZSA9IHRoaXMuZXh0ZW5zaW9ucy5nZXRDb21wb25lbnRCeUlkKHRoaXMuaWQpO1xyXG4gICAgaWYgKGNvbXBvbmVudFR5cGUpIHtcclxuICAgICAgY29uc3QgZmFjdG9yeSA9XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50VHlwZSk7XHJcbiAgICAgIGlmIChmYWN0b3J5KSB7XHJcbiAgICAgICAgdGhpcy5jb250ZW50LmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNvbnRlbnQuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnksIDApO1xyXG4gICAgICAgIHRoaXMudXBkYXRlSW5zdGFuY2UoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgdGhpcy51cGRhdGVJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUluc3RhbmNlKCkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICYmIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRleHQgPSB0aGlzLmNvbnRleHQ7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbHVtbiA9IHRoaXMuY29sdW1uO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=