@alfresco/adf-content-services 8.1.0-14860367508 → 8.1.0-14861149782

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 (202) hide show
  1. package/esm2022/lib/agent/services/agent.service.mjs +4 -4
  2. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +4 -4
  3. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +4 -4
  4. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +4 -4
  5. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +4 -4
  6. package/esm2022/lib/aspect-list/aspect-list.component.mjs +4 -4
  7. package/esm2022/lib/aspect-list/aspect-list.module.mjs +5 -5
  8. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +4 -4
  9. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +4 -4
  10. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +4 -4
  11. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +4 -4
  12. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +4 -4
  13. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +5 -5
  14. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +4 -4
  15. package/esm2022/lib/category/categories-management/categories-management.component.mjs +4 -4
  16. package/esm2022/lib/category/category.module.mjs +5 -5
  17. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +4 -4
  18. package/esm2022/lib/category/services/category.service.mjs +4 -4
  19. package/esm2022/lib/common/services/card-view-content-update.service.mjs +4 -4
  20. package/esm2022/lib/common/services/content.service.mjs +4 -4
  21. package/esm2022/lib/common/services/discovery-api.service.mjs +4 -4
  22. package/esm2022/lib/common/services/favorites-api.service.mjs +4 -4
  23. package/esm2022/lib/common/services/nodes-api.service.mjs +4 -4
  24. package/esm2022/lib/common/services/people-content.service.mjs +4 -4
  25. package/esm2022/lib/common/services/rendition.service.mjs +4 -4
  26. package/esm2022/lib/common/services/saved-searches.service.mjs +4 -4
  27. package/esm2022/lib/common/services/sites.service.mjs +4 -4
  28. package/esm2022/lib/common/services/upload.service.mjs +4 -4
  29. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +4 -4
  30. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +4 -4
  31. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +4 -4
  32. package/esm2022/lib/content-metadata/content-metadata.module.mjs +5 -5
  33. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +4 -4
  34. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +4 -4
  35. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +4 -4
  36. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +4 -4
  37. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +4 -4
  38. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +4 -4
  39. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +4 -4
  40. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +4 -4
  41. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +4 -4
  42. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +4 -4
  43. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +5 -5
  44. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +4 -4
  45. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +4 -4
  46. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +4 -4
  47. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +4 -4
  48. package/esm2022/lib/content-node-share/content-node-share.module.mjs +5 -5
  49. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +4 -4
  50. package/esm2022/lib/content-type/content-type-dialog.component.mjs +4 -4
  51. package/esm2022/lib/content-type/content-type.service.mjs +4 -4
  52. package/esm2022/lib/content.module.mjs +5 -5
  53. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +4 -4
  54. package/esm2022/lib/dialogs/dialog.module.mjs +5 -5
  55. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +4 -4
  56. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +5 -5
  57. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +4 -4
  58. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +4 -4
  59. package/esm2022/lib/dialogs/library/library.dialog.mjs +4 -4
  60. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +4 -4
  61. package/esm2022/lib/directives/auto-focus.directive.mjs +4 -4
  62. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +4 -4
  63. package/esm2022/lib/directives/content-directive.module.mjs +5 -5
  64. package/esm2022/lib/directives/library-favorite.directive.mjs +4 -4
  65. package/esm2022/lib/directives/library-membership.directive.mjs +4 -4
  66. package/esm2022/lib/directives/node-counter.directive.mjs +7 -7
  67. package/esm2022/lib/directives/node-delete.directive.mjs +4 -4
  68. package/esm2022/lib/directives/node-download.directive.mjs +4 -4
  69. package/esm2022/lib/directives/node-favorite.directive.mjs +4 -4
  70. package/esm2022/lib/directives/node-lock.directive.mjs +4 -4
  71. package/esm2022/lib/directives/node-restore.directive.mjs +4 -4
  72. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +4 -4
  73. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +4 -4
  74. package/esm2022/lib/document-list/components/document-list.component.mjs +4 -4
  75. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +4 -4
  76. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +4 -4
  77. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +4 -4
  78. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +4 -4
  79. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +4 -4
  80. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +4 -4
  81. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +4 -4
  82. package/esm2022/lib/document-list/document-list.module.mjs +5 -5
  83. package/esm2022/lib/document-list/services/custom-resources.service.mjs +4 -4
  84. package/esm2022/lib/document-list/services/document-actions.service.mjs +4 -4
  85. package/esm2022/lib/document-list/services/document-list.service.mjs +4 -4
  86. package/esm2022/lib/document-list/services/folder-actions.service.mjs +4 -4
  87. package/esm2022/lib/document-list/services/lock.service.mjs +4 -4
  88. package/esm2022/lib/document-list/services/node-actions.service.mjs +4 -4
  89. package/esm2022/lib/group/services/group.service.mjs +4 -4
  90. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +4 -4
  91. package/esm2022/lib/material.module.mjs +5 -5
  92. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +4 -4
  93. package/esm2022/lib/mock/search.component.mock.mjs +4 -4
  94. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +4 -4
  95. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +5 -5
  96. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +4 -4
  97. package/esm2022/lib/node-comments/node-comments.component.mjs +4 -4
  98. package/esm2022/lib/node-comments/node-comments.module.mjs +5 -5
  99. package/esm2022/lib/node-comments/services/node-comments.service.mjs +4 -4
  100. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +4 -4
  101. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +4 -4
  102. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +4 -4
  103. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +4 -4
  104. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +4 -4
  105. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +4 -4
  106. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +4 -4
  107. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +4 -4
  108. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +4 -4
  109. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +4 -4
  110. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +4 -4
  111. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +4 -4
  112. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +4 -4
  113. package/esm2022/lib/permission-manager/permission-manager.module.mjs +5 -5
  114. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +4 -4
  115. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +4 -4
  116. package/esm2022/lib/pipes/content-pipe.module.mjs +5 -5
  117. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +4 -4
  118. package/esm2022/lib/prediction/services/prediction.service.mjs +4 -4
  119. package/esm2022/lib/search/components/empty-search-result.component.mjs +4 -4
  120. package/esm2022/lib/search/components/reset-search.directive.mjs +4 -4
  121. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +4 -4
  122. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +4 -4
  123. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +4 -4
  124. package/esm2022/lib/search/components/search-control.component.mjs +4 -4
  125. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +5 -5
  126. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +4 -4
  127. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +4 -4
  128. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +4 -4
  129. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +4 -4
  130. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +4 -4
  131. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +4 -4
  132. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +4 -4
  133. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +4 -4
  134. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +4 -4
  135. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +4 -4
  136. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +4 -4
  137. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +4 -4
  138. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +4 -4
  139. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +4 -4
  140. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +4 -4
  141. package/esm2022/lib/search/components/search-form/search-form.component.mjs +4 -4
  142. package/esm2022/lib/search/components/search-input/search-input.component.mjs +4 -4
  143. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +4 -4
  144. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +4 -4
  145. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +4 -4
  146. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +4 -4
  147. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +4 -4
  148. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +4 -4
  149. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +4 -4
  150. package/esm2022/lib/search/components/search-text/search-text.component.mjs +4 -4
  151. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +4 -4
  152. package/esm2022/lib/search/components/search.component.mjs +4 -4
  153. package/esm2022/lib/search/search.module.mjs +5 -5
  154. package/esm2022/lib/search/services/search-configuration.service.mjs +4 -4
  155. package/esm2022/lib/search/services/search-facet-filters.service.mjs +4 -4
  156. package/esm2022/lib/search/services/search-filter.service.mjs +4 -4
  157. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +4 -4
  158. package/esm2022/lib/search/services/search-query-builder.service.mjs +4 -4
  159. package/esm2022/lib/search/services/search.service.mjs +4 -4
  160. package/esm2022/lib/search-ai/services/search-ai.service.mjs +4 -4
  161. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +4 -4
  162. package/esm2022/lib/services/alfresco-api.service.mjs +4 -4
  163. package/esm2022/lib/tag/services/tag.service.mjs +4 -4
  164. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +4 -4
  165. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +4 -4
  166. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +4 -4
  167. package/esm2022/lib/tag/tag.module.mjs +5 -5
  168. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +4 -4
  169. package/esm2022/lib/testing/content.testing.module.mjs +5 -5
  170. package/esm2022/lib/tree/components/tree.component.mjs +4 -4
  171. package/esm2022/lib/tree/services/tree.service.mjs +4 -4
  172. package/esm2022/lib/tree/tree.module.mjs +5 -5
  173. package/esm2022/lib/tree-view/components/tree-view.component.mjs +4 -4
  174. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +4 -4
  175. package/esm2022/lib/tree-view/services/tree-view.service.mjs +4 -4
  176. package/esm2022/lib/tree-view/tree-view.module.mjs +5 -5
  177. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +4 -4
  178. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +4 -4
  179. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +4 -4
  180. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +4 -4
  181. package/esm2022/lib/upload/components/upload-button.component.mjs +4 -4
  182. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +4 -4
  183. package/esm2022/lib/upload/components/upload-version-button.component.mjs +4 -4
  184. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +4 -4
  185. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +4 -4
  186. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +4 -4
  187. package/esm2022/lib/upload/upload.module.mjs +5 -5
  188. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +4 -4
  189. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +5 -5
  190. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +4 -4
  191. package/esm2022/lib/version-manager/content-version.service.mjs +4 -4
  192. package/esm2022/lib/version-manager/version-comparison.component.mjs +4 -4
  193. package/esm2022/lib/version-manager/version-list.component.mjs +4 -4
  194. package/esm2022/lib/version-manager/version-manager.component.mjs +4 -4
  195. package/esm2022/lib/version-manager/version-manager.module.mjs +5 -5
  196. package/esm2022/lib/version-manager/version-upload.component.mjs +4 -4
  197. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +5 -5
  198. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +4 -4
  199. package/fesm2022/adf-content-services.mjs +629 -629
  200. package/fesm2022/adf-content-services.mjs.map +1 -1
  201. package/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.d.ts +1 -1
  202. package/package.json +3 -3
@@ -197,10 +197,10 @@ export class NodeRestoreDirective {
197
197
  this.restoreProcessStatus.reset();
198
198
  this.selection = [];
199
199
  }
200
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NodeRestoreDirective, deps: [{ token: i1.AlfrescoApiService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Directive }); }
201
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: NodeRestoreDirective, isStandalone: true, selector: "[adf-restore]", inputs: { selection: ["adf-restore", "selection"] }, outputs: { restore: "restore" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeRestoreDirective, deps: [{ token: i1.AlfrescoApiService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Directive }); }
201
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NodeRestoreDirective, isStandalone: true, selector: "[adf-restore]", inputs: { selection: ["adf-restore", "selection"] }, outputs: { restore: "restore" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
202
202
  }
203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NodeRestoreDirective, decorators: [{
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeRestoreDirective, decorators: [{
204
204
  type: Directive,
205
205
  args: [{
206
206
  standalone: true,
@@ -215,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
215
215
  type: HostListener,
216
216
  args: ['click']
217
217
  }] } });
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZXN0b3JlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvZGlyZWN0aXZlcy9ub2RlLXJlc3RvcmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHdGQUF3RjtBQUV4RixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUF3QyxNQUFNLGtCQUFrQixDQUFDO0FBQ3JGLE9BQU8sRUFBYyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFNdEUsTUFBTSxPQUFPLG9CQUFvQjtJQUk3QixJQUFJLFdBQVc7UUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDaEcsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFXRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQW9CLGtCQUFzQyxFQUFVLFdBQStCO1FBQS9FLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBVSxnQkFBVyxH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QUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNkLE9BQU87WUFDUCxNQUFNO1lBQ04sSUFBSTtTQUNQLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxLQUFLO1FBQ1QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBck5RLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtpQkFDNUI7d0hBWUcsU0FBUztzQkFEUixLQUFLO3VCQUFDLGFBQWE7Z0JBS3BCLE9BQU87c0JBRE4sTUFBTTtnQkFJUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciwgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFzaGNhbkFwaSwgRGVsZXRlZE5vZGVFbnRyeSwgRGVsZXRlZE5vZGVzUGFnaW5nIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgZnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCwgbWVyZ2VNYXAsIG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBSZXN0b3JlTWVzc2FnZU1vZGVsIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXN0b3JlLW1lc3NhZ2UtbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FsZnJlc2NvLWFwaS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1thZGYtcmVzdG9yZV0nXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVSZXN0b3JlRGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3RvcmVQcm9jZXNzU3RhdHVzO1xuXG4gICAgcHJpdmF0ZSBfdHJhc2hjYW5BcGk6IFRyYXNoY2FuQXBpO1xuICAgIGdldCB0cmFzaGNhbkFwaSgpOiBUcmFzaGNhbkFwaSB7XG4gICAgICAgIHRoaXMuX3RyYXNoY2FuQXBpID0gdGhpcy5fdHJhc2hjYW5BcGkgPz8gbmV3IFRyYXNoY2FuQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhc2hjYW5BcGk7XG4gICAgfVxuXG4gICAgLyoqIEFycmF5IG9mIGRlbGV0ZWQgbm9kZXMgdG8gcmVzdG9yZS4gKi9cbiAgICBASW5wdXQoJ2FkZi1yZXN0b3JlJylcbiAgICBzZWxlY3Rpb246IERlbGV0ZWROb2RlRW50cnlbXTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gcmVzdG9yYXRpb24gaXMgY29tcGxldGUuICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVzdG9yZTogRXZlbnRFbWl0dGVyPFJlc3RvcmVNZXNzYWdlTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIHRoaXMucmVjb3Zlcih0aGlzLnNlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhbGZyZXNjb0FwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMucmVzdG9yZVByb2Nlc3NTdGF0dXMgPSB0aGlzLnByb2Nlc3NTdGF0dXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlY292ZXIoc2VsZWN0aW9uOiBhbnkpIHtcbiAgICAgICAgaWYgKCFzZWxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2Rlc1dpdGhQYXRoID0gdGhpcy5nZXROb2Rlc1dpdGhQYXRoKHNlbGVjdGlvbik7XG5cbiAgICAgICAgaWYgKHNlbGVjdGlvbi5sZW5ndGggJiYgbm9kZXNXaXRoUGF0aC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucmVzdG9yZU5vZGVzQmF0Y2gobm9kZXNXaXRoUGF0aClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKChyZXN0b3JlZE5vZGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXMgPSB0aGlzLnByb2Nlc3NTdGF0dXMocmVzdG9yZWROb2Rlcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdG9yZVByb2Nlc3NTdGF0dXMuZmFpbC5wdXNoKC4uLnN0YXR1cy5mYWlsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdG9yZVByb2Nlc3NTdGF0dXMuc3VjY2Vzcy5wdXNoKC4uLnN0YXR1cy5zdWNjZXNzKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuZ2V0RGVsZXRlZE5vZGVzKCkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRlbGV0ZWROb2Rlc0xpc3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBlbnRyaWVzOiBub2RlTGlzdCB9ID0gZGVsZXRlZE5vZGVzTGlzdC5saXN0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGZhaWw6IHJlc3RvcmVFcnJvck5vZGVzIH0gPSB0aGlzLnJlc3RvcmVQcm9jZXNzU3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gdGhpcy5kaWZmKHJlc3RvcmVFcnJvck5vZGVzLCBzZWxlY3Rpb24sIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nTm9kZXMgPSB0aGlzLmRpZmYoc2VsZWN0ZWROb2Rlcywgbm9kZUxpc3QpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVtYWluaW5nTm9kZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWNvdmVyKHJlbWFpbmluZ05vZGVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZXN0b3JlUHJvY2Vzc1N0YXR1cy5mYWlsLnB1c2goLi4uc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RvcmVOb2Rlc0JhdGNoKGJhdGNoOiBEZWxldGVkTm9kZUVudHJ5W10pOiBPYnNlcnZhYmxlPERlbGV0ZWROb2RlRW50cnlbXT4ge1xuICAgICAgICByZXR1cm4gZm9ya0pvaW4oYmF0Y2gubWFwKChub2RlKSA9PiB0aGlzLnJlc3RvcmVOb2RlKG5vZGUpKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROb2Rlc1dpdGhQYXRoKHNlbGVjdGlvbik6IERlbGV0ZWROb2RlRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBzZWxlY3Rpb24uZmlsdGVyKChub2RlKSA9PiBub2RlLmVudHJ5LnBhdGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVsZXRlZE5vZGVzKCk6IE9ic2VydmFibGU8RGVsZXRlZE5vZGVzUGFnaW5nPiB7XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLnRyYXNoY2FuQXBpLmxpc3REZWxldGVkTm9kZXMoeyBpbmNsdWRlOiBbJ3BhdGgnXSB9KTtcblxuICAgICAgICByZXR1cm4gZnJvbShwcm9taXNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RvcmVOb2RlKG5vZGUpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCB7IGVudHJ5IH0gPSBub2RlO1xuXG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLnRyYXNoY2FuQXBpLnJlc3RvcmVEZWxldGVkTm9kZShlbnRyeS5pZCk7XG5cbiAgICAgICAgcmV0dXJuIGZyb20ocHJvbWlzZSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiAoe1xuICAgICAgICAgICAgICAgIHN0YXR1czogMSxcbiAgICAgICAgICAgICAgICBlbnRyeVxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHN0YXR1c0NvZGUgfSA9IEpTT04ucGFyc2UoZXJyb3IubWVzc2FnZSkuZXJyb3I7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb2Yoe1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IDAsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1c0NvZGUsXG4gICAgICAgICAgICAgICAgICAgIGVudHJ5XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlmZihzZWxlY3Rpb24sIGxpc3QsIGZyb21MaXN0ID0gdHJ1ZSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGlkcyA9IHNlbGVjdGlvbi5tYXAoKGl0ZW0pID0+IGl0ZW0uZW50cnkuaWQpO1xuXG4gICAgICAgIHJldHVybiBsaXN0LmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGZyb21MaXN0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlkcy5pbmNsdWRlcyhpdGVtLmVudHJ5LmlkKSA/IGl0ZW0gOiBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlkcy5pbmNsdWRlcyhpdGVtLmVudHJ5LmlkKSA/IGl0ZW0gOiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NTdGF0dXMoZGF0YSA9IFtdKTogYW55IHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0ge1xuICAgICAgICAgICAgZmFpbDogW10sXG4gICAgICAgICAgICBzdWNjZXNzOiBbXSxcbiAgICAgICAgICAgIGdldCBzb21lRmFpbGVkKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIXRoaXMuZmFpbC5sZW5ndGg7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0IHNvbWVTdWNjZWVkZWQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhdGhpcy5zdWNjZXNzLmxlbmd0aDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXQgb25lRmFpbGVkKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZhaWwubGVuZ3RoID09PSAxO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldCBvbmVTdWNjZWVkZWQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3VjY2Vzcy5sZW5ndGggPT09IDE7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0IGFsbFN1Y2NlZWRlZCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zb21lU3VjY2VlZGVkICYmICF0aGlzLnNvbWVGYWlsZWQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0IGFsbEZhaWxlZCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zb21lRmFpbGVkICYmICF0aGlzLnNvbWVTdWNjZWVkZWQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWlsID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGRhdGEucmVkdWNlKChhY2MsIG5vZGUpID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlLnN0YXR1cykge1xuICAgICAgICAgICAgICAgIGFjYy5zdWNjZXNzLnB1c2gobm9kZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGFjYy5mYWlsLnB1c2gobm9kZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHN0YXR1cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZXN0b3JlTWVzc2FnZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3QgeyByZXN0b3JlUHJvY2Vzc1N0YXR1czogc3RhdHVzIH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChzdGF0dXMuc29tZUZhaWxlZCAmJiAhc3RhdHVzLm9uZUZhaWxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCgnQ09SRS5SRVNUT1JFX05PREUuUEFSVElBTF9QTFVSQUwnLCB7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGlkLWJsYWNrbGlzdFxuICAgICAgICAgICAgICAgIG51bWJlcjogc3RhdHVzLmZhaWwubGVuZ3RoXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXMub25lRmFpbGVkICYmIHN0YXR1cy5mYWlsWzBdLnN0YXR1c0NvZGUpIHtcbiAgICAgICAgICAgIGlmIChzdGF0dXMuZmFpbFswXS5zdGF0dXNDb2RlID09PSA0MDkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KCdDT1JFLlJFU1RPUkVfTk9ERS5OT0RFX0VYSVNUUycsIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogc3RhdHVzLmZhaWxbMF0uZW50cnkubmFtZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KCdDT1JFLlJFU1RPUkVfTk9ERS5HRU5FUklDJywge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBzdGF0dXMuZmFpbFswXS5lbnRyeS5uYW1lXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RhdHVzLm9uZUZhaWxlZCAmJiAhc3RhdHVzLmZhaWxbMF0uc3RhdHVzQ29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCgnQ09SRS5SRVNUT1JFX05PREUuTE9DQVRJT05fTUlTU0lORycsIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBzdGF0dXMuZmFpbFswXS5lbnRyeS5uYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXMuYWxsU3VjY2VlZGVkICYmICFzdGF0dXMub25lU3VjY2VlZGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KCdDT1JFLlJFU1RPUkVfTk9ERS5QTFVSQUwnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXMuYWxsU3VjY2VlZGVkICYmIHN0YXR1cy5vbmVTdWNjZWVkZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uLmluc3RhbnQoJ0NPUkUuUkVTVE9SRV9OT0RFLlNJTkdVTEFSJywge1xuICAgICAgICAgICAgICAgIG5hbWU6IHN0YXR1cy5zdWNjZXNzWzBdLmVudHJ5Lm5hbWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb24oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucmVzdG9yZVByb2Nlc3NTdGF0dXMpO1xuXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmdldFJlc3RvcmVNZXNzYWdlKCk7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcblxuICAgICAgICBjb25zdCBhY3Rpb24gPSBzdGF0dXMub25lU3VjY2VlZGVkICYmICFzdGF0dXMuc29tZUZhaWxlZCA/IHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCgnQ09SRS5SRVNUT1JFX05PREUuVklFVycpIDogJyc7XG5cbiAgICAgICAgbGV0IHBhdGg7XG4gICAgICAgIGlmIChzdGF0dXMuc3VjY2VzcyAmJiBzdGF0dXMuc3VjY2Vzcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwYXRoID0gc3RhdHVzLnN1Y2Nlc3NbMF0uZW50cnkucGF0aDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc3RvcmUuZW1pdCh7XG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc3RvcmVQcm9jZXNzU3RhdHVzLnJlc2V0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgfVxufVxuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZXN0b3JlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvZGlyZWN0aXZlcy9ub2RlLXJlc3RvcmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHdGQUF3RjtBQUV4RixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUF3QyxNQUFNLGtCQUFrQixDQUFDO0FBQ3JGLE9BQU8sRUFBYyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFNdEUsTUFBTSxPQUFPLG9CQUFvQjtJQUk3QixJQUFJLFdBQVc7UUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDaEcsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFXRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQW9CLGtCQUFzQyxFQUFVLFdBQStCO1FBQS9FLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBVSxnQkFBVyxH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QUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNkLE9BQU87WUFDUCxNQUFNO1lBQ04sSUFBSTtTQUNQLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxLQUFLO1FBQ1QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBck5RLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtpQkFDNUI7d0hBWUcsU0FBUztzQkFEUixLQUFLO3VCQUFDLGFBQWE7Z0JBS3BCLE9BQU87c0JBRE4sTUFBTTtnQkFJUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciwgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFzaGNhbkFwaSwgRGVsZXRlZE5vZGVFbnRyeSwgRGVsZXRlZE5vZGVzUGFnaW5nIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgZnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCwgbWVyZ2VNYXAsIG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBSZXN0b3JlTWVzc2FnZU1vZGVsIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXN0b3JlLW1lc3NhZ2UtbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FsZnJlc2NvLWFwaS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1thZGYtcmVzdG9yZV0nXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVSZXN0b3JlRGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3RvcmVQcm9jZXNzU3RhdHVzO1xuXG4gICAgcHJpdmF0ZSBfdHJhc2hjYW5BcGk6IFRyYXNoY2FuQXBpO1xuICAgIGdldCB0cmFzaGNhbkFwaSgpOiBUcmFzaGNhbkFwaSB7XG4gICAgICAgIHRoaXMuX3RyYXNoY2FuQXBpID0gdGhpcy5fdHJhc2hjYW5BcGkgPz8gbmV3IFRyYXNoY2FuQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhc2hjYW5BcGk7XG4gICAgfVxuXG4gICAgLyoqIEFycmF5IG9mIGRlbGV0ZWQgbm9kZXMgdG8gcmVzdG9yZS4gKi9cbiAgICBASW5wdXQoJ2FkZi1yZXN0b3JlJylcbiAgICBzZWxlY3Rpb246IERlbGV0ZWROb2RlRW50cnlbXTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gcmVzdG9yYXRpb24gaXMgY29tcGxldGUuICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVzdG9yZTogRXZlbnRFbWl0dGVyPFJlc3RvcmVNZXNzYWdlTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIHRoaXMucmVjb3Zlcih0aGlzLnNlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhbGZyZXNjb0FwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMucmVzdG9yZVByb2Nlc3NTdGF0dXMgPSB0aGlzLnByb2Nlc3NTdGF0dXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlY292ZXIoc2VsZWN0aW9uOiBhbnkpIHtcbiAgICAgICAgaWYgKCFzZWxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub2Rlc1dpdGhQYXRoID0gdGhpcy5nZXROb2Rlc1dpdGhQYXRoKHNlbGVjdGlvbik7XG5cbiAgICAgICAgaWYgKHNlbGVjdGlvbi5sZW5ndGggJiYgbm9kZXNXaXRoUGF0aC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucmVzdG9yZU5vZGVzQmF0Y2gobm9kZXNXaXRoUGF0aClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKChyZXN0b3JlZE5vZGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXMgPSB0aGlzLnByb2Nlc3NTdGF0dXMocmVzdG9yZWROb2Rlcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdG9yZVByb2Nlc3NTdGF0dXMuZmFpbC5wdXNoKC4uLnN0YXR1cy5mYWlsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdG9yZVByb2Nlc3NTdGF0dXMuc3VjY2Vzcy5wdXNoKC4uLnN0YXR1cy5zdWNjZXNzKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuZ2V0RGVsZXRlZE5vZGVzKCkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRlbGV0ZWROb2Rlc0xpc3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBlbnRyaWVzOiBub2RlTGlzdCB9ID0gZGVsZXRlZE5vZGVzTGlzdC5saXN0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGZhaWw6IHJlc3RvcmVFcnJvck5vZGVzIH0gPSB0aGlzLnJlc3RvcmVQcm9jZXNzU3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVzID0gdGhpcy5kaWZmKHJlc3RvcmVFcnJvck5vZGVzLCBzZWxlY3Rpb24sIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nTm9kZXMgPSB0aGlzLmRpZmYoc2VsZWN0ZWROb2Rlcywgbm9kZUxpc3QpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVtYWluaW5nTm9kZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWNvdmVyKHJlbWFpbmluZ05vZGVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZXN0b3JlUHJvY2Vzc1N0YXR1cy5mYWlsLnB1c2goLi4uc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RvcmVOb2Rlc0JhdGNoKGJhdGNoOiBEZWxldGVkTm9kZUVudHJ5W10pOiBPYnNlcnZhYmxlPERlbGV0ZWROb2RlRW50cnlbXT4ge1xuICAgICAgICByZXR1cm4gZm9ya0pvaW4oYmF0Y2gubWFwKChub2RlKSA9PiB0aGlzLnJlc3RvcmVOb2RlKG5vZGUpKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROb2Rlc1dpdGhQYXRoKHNlbGVjdGlvbik6IERlbGV0ZWROb2RlRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBzZWxlY3Rpb24uZmlsdGVyKChub2RlKSA9PiBub2RlLmVudHJ5LnBhdGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVsZXRlZE5vZGVzKCk6IE9ic2VydmFibGU8RGVsZXRlZE5vZGVzUGFnaW5nPiB7XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLnRyYXNoY2FuQXBpLmxpc3REZWxldGVkTm9kZXMoeyBpbmNsdWRlOiBbJ3BhdGgnXSB9KTtcblxuICAgICAgICByZXR1cm4gZnJvbShwcm9taXNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RvcmVOb2RlKG5vZGUpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCB7IGVudHJ5IH0gPSBub2RlO1xuXG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLnRyYXNoY2FuQXBpLnJlc3RvcmVEZWxldGVkTm9kZShlbnRyeS5pZCk7XG5cbiAgICAgICAgcmV0dXJuIGZyb20ocHJvbWlzZSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiAoe1xuICAgICAgICAgICAgICAgIHN0YXR1czogMSxcbiAgICAgICAgICAgICAgICBlbnRyeVxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHN0YXR1c0NvZGUgfSA9IEpTT04ucGFyc2UoZXJyb3IubWVzc2FnZSkuZXJyb3I7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb2Yoe1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IDAsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1c0NvZGUsXG4gICAgICAgICAgICAgICAgICAgIGVudHJ5XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlmZihzZWxlY3Rpb24sIGxpc3QsIGZyb21MaXN0ID0gdHJ1ZSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGlkcyA9IHNlbGVjdGlvbi5tYXAoKGl0ZW0pID0+IGl0ZW0uZW50cnkuaWQpO1xuXG4gICAgICAgIHJldHVybiBsaXN0LmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGZyb21MaXN0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlkcy5pbmNsdWRlcyhpdGVtLmVudHJ5LmlkKSA/IGl0ZW0gOiBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlkcy5pbmNsdWRlcyhpdGVtLmVudHJ5LmlkKSA/IGl0ZW0gOiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NTdGF0dXMoZGF0YSA9IFtdKTogYW55IHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0ge1xuICAgICAgICAgICAgZmFpbDogW10sXG4gICAgICAgICAgICBzdWNjZXNzOiBbXSxcbiAgICAgICAgICAgIGdldCBzb21lRmFpbGVkKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIXRoaXMuZmFpbC5sZW5ndGg7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0IHNvbWVTdWNjZWVkZWQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhdGhpcy5zdWNjZXNzLmxlbmd0aDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXQgb25lRmFpbGVkKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZhaWwubGVuZ3RoID09PSAxO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldCBvbmVTdWNjZWVkZWQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3VjY2Vzcy5sZW5ndGggPT09IDE7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0IGFsbFN1Y2NlZWRlZCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zb21lU3VjY2VlZGVkICYmICF0aGlzLnNvbWVGYWlsZWQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0IGFsbEZhaWxlZCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zb21lRmFpbGVkICYmICF0aGlzLnNvbWVTdWNjZWVkZWQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWlsID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGRhdGEucmVkdWNlKChhY2MsIG5vZGUpID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlLnN0YXR1cykge1xuICAgICAgICAgICAgICAgIGFjYy5zdWNjZXNzLnB1c2gobm9kZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGFjYy5mYWlsLnB1c2gobm9kZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHN0YXR1cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZXN0b3JlTWVzc2FnZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3QgeyByZXN0b3JlUHJvY2Vzc1N0YXR1czogc3RhdHVzIH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChzdGF0dXMuc29tZUZhaWxlZCAmJiAhc3RhdHVzLm9uZUZhaWxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCgnQ09SRS5SRVNUT1JFX05PREUuUEFSVElBTF9QTFVSQUwnLCB7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGlkLWJsYWNrbGlzdFxuICAgICAgICAgICAgICAgIG51bWJlcjogc3RhdHVzLmZhaWwubGVuZ3RoXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXMub25lRmFpbGVkICYmIHN0YXR1cy5mYWlsWzBdLnN0YXR1c0NvZGUpIHtcbiAgICAgICAgICAgIGlmIChzdGF0dXMuZmFpbFswXS5zdGF0dXNDb2RlID09PSA0MDkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KCdDT1JFLlJFU1RPUkVfTk9ERS5OT0RFX0VYSVNUUycsIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogc3RhdHVzLmZhaWxbMF0uZW50cnkubmFtZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KCdDT1JFLlJFU1RPUkVfTk9ERS5HRU5FUklDJywge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBzdGF0dXMuZmFpbFswXS5lbnRyeS5uYW1lXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RhdHVzLm9uZUZhaWxlZCAmJiAhc3RhdHVzLmZhaWxbMF0uc3RhdHVzQ29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCgnQ09SRS5SRVNUT1JFX05PREUuTE9DQVRJT05fTUlTU0lORycsIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBzdGF0dXMuZmFpbFswXS5lbnRyeS5uYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXMuYWxsU3VjY2VlZGVkICYmICFzdGF0dXMub25lU3VjY2VlZGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KCdDT1JFLlJFU1RPUkVfTk9ERS5QTFVSQUwnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXMuYWxsU3VjY2VlZGVkICYmIHN0YXR1cy5vbmVTdWNjZWVkZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uLmluc3RhbnQoJ0NPUkUuUkVTVE9SRV9OT0RFLlNJTkdVTEFSJywge1xuICAgICAgICAgICAgICAgIG5hbWU6IHN0YXR1cy5zdWNjZXNzWzBdLmVudHJ5Lm5hbWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb24oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucmVzdG9yZVByb2Nlc3NTdGF0dXMpO1xuXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmdldFJlc3RvcmVNZXNzYWdlKCk7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcblxuICAgICAgICBjb25zdCBhY3Rpb24gPSBzdGF0dXMub25lU3VjY2VlZGVkICYmICFzdGF0dXMuc29tZUZhaWxlZCA/IHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCgnQ09SRS5SRVNUT1JFX05PREUuVklFVycpIDogJyc7XG5cbiAgICAgICAgbGV0IHBhdGg7XG4gICAgICAgIGlmIChzdGF0dXMuc3VjY2VzcyAmJiBzdGF0dXMuc3VjY2Vzcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwYXRoID0gc3RhdHVzLnN1Y2Nlc3NbMF0uZW50cnkucGF0aDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc3RvcmUuZW1pdCh7XG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc3RvcmVQcm9jZXNzU3RhdHVzLnJlc2V0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgfVxufVxuIl19
@@ -46,10 +46,10 @@ export class ContentActionListComponent {
46
46
  }
47
47
  return false;
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContentActionListComponent, deps: [{ token: i1.DocumentListComponent }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ContentActionListComponent, isStandalone: true, selector: "content-actions", ngImport: i0, template: '', isInline: true }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentActionListComponent, deps: [{ token: i1.DocumentListComponent }], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContentActionListComponent, isStandalone: true, selector: "content-actions", ngImport: i0, template: '', isInline: true }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContentActionListComponent, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentActionListComponent, decorators: [{
53
53
  type: Component,
54
54
  args: [{
55
55
  selector: 'content-actions',
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
57
57
  standalone: true
58
58
  }]
59
59
  }], ctorParameters: () => [{ type: i1.DocumentListComponent }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1hY3Rpb24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2RvY3VtZW50LWxpc3QvY29tcG9uZW50cy9jb250ZW50LWFjdGlvbi9jb250ZW50LWFjdGlvbi1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBT3JFLE1BQU0sT0FBTywwQkFBMEI7SUFDbkMsWUFBb0IsWUFBbUM7UUFBbkMsaUJBQVksR0FBWixZQUFZLENBQXVCO0lBQUcsQ0FBQztJQUUzRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxNQUEwQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBMEI7UUFDdkMsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RCxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBMUJRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDJFQUh6QixFQUFFOzsyRkFHSCwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudEFjdGlvbk1vZGVsIH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMvY29udGVudC1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgRG9jdW1lbnRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi8uLi9kb2N1bWVudC1saXN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY29udGVudC1hY3Rpb25zJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50QWN0aW9uTGlzdENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkb2N1bWVudExpc3Q6IERvY3VtZW50TGlzdENvbXBvbmVudCkge31cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBhY3Rpb24gaGFuZGxlciB3aXRoaW4gdGhlIHBhcmVudCBkb2N1bWVudCBsaXN0IGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhY3Rpb24gQWN0aW9uIG1vZGVsIHRvIHJlZ2lzdGVyLlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiBhY3Rpb25zIHdhcyByZWdpc3RlcmVkLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIHJlZ2lzdGVyQWN0aW9uKGFjdGlvbjogQ29udGVudEFjdGlvbk1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50TGlzdCAmJiBhY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRMaXN0LmFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHVucmVnaXN0ZXJBY3Rpb24oYWN0aW9uOiBDb250ZW50QWN0aW9uTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRMaXN0ICYmIGFjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5kb2N1bWVudExpc3QuYWN0aW9ucy5pbmRleE9mKGFjdGlvbik7XG4gICAgICAgICAgICBpZiAoaWR4ID49IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50TGlzdC5hY3Rpb25zLnNwbGljZShpZHgsIDEpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1hY3Rpb24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2RvY3VtZW50LWxpc3QvY29tcG9uZW50cy9jb250ZW50LWFjdGlvbi9jb250ZW50LWFjdGlvbi1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBT3JFLE1BQU0sT0FBTywwQkFBMEI7SUFDbkMsWUFBb0IsWUFBbUM7UUFBbkMsaUJBQVksR0FBWixZQUFZLENBQXVCO0lBQUcsQ0FBQztJQUUzRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxNQUEwQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBMEI7UUFDdkMsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RCxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBMUJRLDBCQUEwQjttR0FBMUIsMEJBQTBCLDJFQUh6QixFQUFFOzs0RkFHSCwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudEFjdGlvbk1vZGVsIH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMvY29udGVudC1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgRG9jdW1lbnRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi8uLi9kb2N1bWVudC1saXN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY29udGVudC1hY3Rpb25zJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50QWN0aW9uTGlzdENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkb2N1bWVudExpc3Q6IERvY3VtZW50TGlzdENvbXBvbmVudCkge31cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBhY3Rpb24gaGFuZGxlciB3aXRoaW4gdGhlIHBhcmVudCBkb2N1bWVudCBsaXN0IGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhY3Rpb24gQWN0aW9uIG1vZGVsIHRvIHJlZ2lzdGVyLlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiBhY3Rpb25zIHdhcyByZWdpc3RlcmVkLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIHJlZ2lzdGVyQWN0aW9uKGFjdGlvbjogQ29udGVudEFjdGlvbk1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50TGlzdCAmJiBhY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRMaXN0LmFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHVucmVnaXN0ZXJBY3Rpb24oYWN0aW9uOiBDb250ZW50QWN0aW9uTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRMaXN0ICYmIGFjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5kb2N1bWVudExpc3QuYWN0aW9ucy5pbmRleE9mKGFjdGlvbik7XG4gICAgICAgICAgICBpZiAoaWR4ID49IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50TGlzdC5hY3Rpb25zLnNwbGljZShpZHgsIDEpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
@@ -157,10 +157,10 @@ export class ContentActionComponent {
157
157
  }
158
158
  return null;
159
159
  }
160
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContentActionComponent, deps: [{ token: i1.ContentActionListComponent }, { token: i2.DocumentActionsService }, { token: i3.FolderActionsService }], target: i0.ɵɵFactoryTarget.Component }); }
161
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ContentActionComponent, isStandalone: true, selector: "content-action", inputs: { title: "title", icon: "icon", visible: "visible", handler: "handler", target: "target", permission: "permission", disableWithNoPermission: "disableWithNoPermission", disabled: "disabled" }, outputs: { execute: "execute", permissionEvent: "permissionEvent", error: "error", success: "success" }, providers: [DocumentActionsService, FolderActionsService], usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentActionComponent, deps: [{ token: i1.ContentActionListComponent }, { token: i2.DocumentActionsService }, { token: i3.FolderActionsService }], target: i0.ɵɵFactoryTarget.Component }); }
161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContentActionComponent, isStandalone: true, selector: "content-action", inputs: { title: "title", icon: "icon", visible: "visible", handler: "handler", target: "target", permission: "permission", disableWithNoPermission: "disableWithNoPermission", disabled: "disabled" }, outputs: { execute: "execute", permissionEvent: "permissionEvent", error: "error", success: "success" }, providers: [DocumentActionsService, FolderActionsService], usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
162
162
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContentActionComponent, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentActionComponent, decorators: [{
164
164
  type: Component,
165
165
  args: [{
166
166
  selector: 'content-action',
@@ -193,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
193
193
  }], success: [{
194
194
  type: Output
195
195
  }] } });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9kb2N1bWVudC1saXN0L2NvbXBvbmVudHMvY29udGVudC1hY3Rpb24vY29udGVudC1hY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUdwSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFTN0UsTUFBTSxPQUFPLHNCQUFzQjtJQTREL0IsWUFDWSxJQUFnQyxFQUNoQyxlQUF1QyxFQUN2QyxhQUFtQztRQUZuQyxTQUFJLEdBQUosSUFBSSxDQUE0QjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFDdkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBOUQvQyxvREFBb0Q7UUFFcEQsVUFBSyxHQUFXLFFBQVEsQ0FBQztRQU16Qix1Q0FBdUM7UUFFdkMsWUFBTyxHQUFxQyxJQUFJLENBQUM7UUFNakQsNkVBQTZFO1FBRTdFLFdBQU0sR0FBVyxtQkFBbUIsQ0FBQyxHQUFHLENBQUM7UUFVekMsaUNBQWlDO1FBRWpDLGFBQVEsR0FBcUMsS0FBSyxDQUFDO1FBRW5ELDhEQUE4RDtRQUU5RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3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LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250ZW50QWN0aW9uSGFuZGxlciB9IGZyb20gJy4uLy4uL21vZGVscy9jb250ZW50LWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBEb2N1bWVudEFjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9jdW1lbnQtYWN0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IEZvbGRlckFjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9sZGVyLWFjdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZW50QWN0aW9uTW9kZWwsIENvbnRlbnRBY3Rpb25UYXJnZXQgfSBmcm9tICcuLy4uLy4uL21vZGVscy9jb250ZW50LWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDb250ZW50QWN0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC1hY3Rpb24tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY29udGVudC1hY3Rpb24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHByb3ZpZGVyczogW0RvY3VtZW50QWN0aW9uc1NlcnZpY2UsIEZvbGRlckFjdGlvbnNTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50QWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqIFRoZSB0aXRsZSBvZiB0aGUgYWN0aW9uIGFzIHNob3duIGluIHRoZSBtZW51LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZyA9ICdBY3Rpb24nO1xuXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBpY29uIHRvIGRpc3BsYXkgbmV4dCB0byB0aGUgbWVudSBjb21tYW5kIChjYW4gYmUgbGVmdCBibGFuaykuICovXG4gICAgQElucHV0KClcbiAgICBpY29uOiBzdHJpbmc7XG5cbiAgICAvKiogVmlzaWJpbGl0eSBzdGF0ZSAoc2VlIGV4YW1wbGVzKS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHZpc2libGU6IGJvb2xlYW4gfCAoKC4uLmFyZ3MpID0+IGJvb2xlYW4pID0gdHJ1ZTtcblxuICAgIC8qKiBTeXN0ZW0gYWN0aW9ucy4gQ2FuIGJlIFwiZGVsZXRlXCIsIFwiZG93bmxvYWRcIiwgXCJjb3B5XCIgb3IgXCJtb3ZlXCIuICovXG4gICAgQElucHV0KClcbiAgICBoYW5kbGVyOiBzdHJpbmc7XG5cbiAgICAvKiogVHlwZSBvZiBpdGVtIHRoYXQgdGhlIGFjdGlvbiBhcHBsaWVzIHRvLiBDYW4gYmUgXCJkb2N1bWVudFwiIG9yIFwiZm9sZGVyXCIgKi9cbiAgICBASW5wdXQoKVxuICAgIHRhcmdldDogc3RyaW5nID0gQ29udGVudEFjdGlvblRhcmdldC5BbGw7XG5cbiAgICAvKiogVGhlIHBlcm1pc3Npb24gdHlwZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHBlcm1pc3Npb246IHN0cmluZztcblxuICAgIC8qKiBTaG91bGQgdGhpcyBhY3Rpb24gYmUgZGlzYWJsZWQgaW4gdGhlIG1lbnUgaWYgdGhlIHVzZXIgZG9lc24ndCBoYXZlIHBlcm1pc3Npb24gZm9yIGl0PyAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVdpdGhOb1Blcm1pc3Npb246IGJvb2xlYW47XG5cbiAgICAvKiogSXMgdGhlIG1lbnUgaXRlbSBkaXNhYmxlZD8gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkOiBib29sZWFuIHwgKCguLi5hcmdzKSA9PiBib29sZWFuKSA9IGZhbHNlO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIHRoZSBhY3Rpb24gZnJvbSB0aGUgbWVudS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBleGVjdXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhIHBlcm1pc3Npb24gZXJyb3Igb2NjdXJzICovXG4gICAgQE91dHB1dCgpXG4gICAgcGVybWlzc2lvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgdGhlIGFjdGlvbi5cbiAgICAgKiBBcHBsaWVzIHRvIGNvcHkgYW5kIG1vdmUgYWN0aW9ucy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgYWN0aW9uIHN1Y2NlZWRzIHdpdGggdGhlIHN1Y2Nlc3Mgc3RyaW5nIG1lc3NhZ2UuXG4gICAgICogQXBwbGllcyB0byBjb3B5LCBtb3ZlIGFuZCBkZWxldGUgYWN0aW9ucy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgZG9jdW1lbnRBY3Rpb25Nb2RlbDogQ29udGVudEFjdGlvbk1vZGVsO1xuICAgIGZvbGRlckFjdGlvbk1vZGVsOiBDb250ZW50QWN0aW9uTW9kZWw7XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBsaXN0OiBDb250ZW50QWN0aW9uTGlzdENvbXBvbmVudCxcbiAgICAgICAgcHJpdmF0ZSBkb2N1bWVudEFjdGlvbnM6IERvY3VtZW50QWN0aW9uc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9sZGVyQWN0aW9uczogRm9sZGVyQWN0aW9uc1NlcnZpY2VcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGFyZ2V0ID09PSBDb250ZW50QWN0aW9uVGFyZ2V0LkFsbCkge1xuICAgICAgICAgICAgdGhpcy5mb2xkZXJBY3Rpb25Nb2RlbCA9IHRoaXMuZ2VuZXJhdGVBY3Rpb24oQ29udGVudEFjdGlvblRhcmdldC5Gb2xkZXIpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudEFjdGlvbk1vZGVsID0gdGhpcy5nZW5lcmF0ZUFjdGlvbihDb250ZW50QWN0aW9uVGFyZ2V0LkRvY3VtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRBY3Rpb25Nb2RlbCA9IHRoaXMuZ2VuZXJhdGVBY3Rpb24odGhpcy50YXJnZXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy52aXNpYmxlICYmICFjaGFuZ2VzLnZpc2libGUuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRvY3VtZW50QWN0aW9uTW9kZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50QWN0aW9uTW9kZWwudmlzaWJsZSA9IGNoYW5nZXMudmlzaWJsZS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5mb2xkZXJBY3Rpb25Nb2RlbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9sZGVyQWN0aW9uTW9kZWwudmlzaWJsZSA9IGNoYW5nZXMudmlzaWJsZS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlcy5kaXNhYmxlZCAmJiAhY2hhbmdlcy5kaXNhYmxlZC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRBY3Rpb25Nb2RlbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRBY3Rpb25Nb2RlbC5kaXNhYmxlZCA9IGNoYW5nZXMuZGlzYWJsZWQuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZm9sZGVyQWN0aW9uTW9kZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvbGRlckFjdGlvbk1vZGVsLmRpc2FibGVkID0gY2hhbmdlcy5kaXNhYmxlZC5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5kb2N1bWVudEFjdGlvbk1vZGVsKSB7XG4gICAgICAgICAgICB0aGlzLnVucmVnaXN0ZXIodGhpcy5kb2N1bWVudEFjdGlvbk1vZGVsKTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRBY3Rpb25Nb2RlbCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb2xkZXJBY3Rpb25Nb2RlbCkge1xuICAgICAgICAgICAgdGhpcy51bnJlZ2lzdGVyKHRoaXMuZm9sZGVyQWN0aW9uTW9kZWwpO1xuICAgICAgICAgICAgdGhpcy5mb2xkZXJBY3Rpb25Nb2RlbCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlcihtb2RlbDogQ29udGVudEFjdGlvbk1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxpc3QucmVnaXN0ZXJBY3Rpb24obW9kZWwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB1bnJlZ2lzdGVyKG1vZGVsOiBDb250ZW50QWN0aW9uTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMubGlzdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGlzdC51bnJlZ2lzdGVyQWN0aW9uKG1vZGVsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUFjdGlvbih0YXJnZXQ6IHN0cmluZyk6IENvbnRlbnRBY3Rpb25Nb2RlbCB7XG4gICAgICAgIGNvbnN0IG1vZGVsID0gbmV3IENvbnRlbnRBY3Rpb25Nb2RlbCh7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgICAgICAgIGljb246IHRoaXMuaWNvbixcbiAgICAgICAgICAgIHBlcm1pc3Npb246IHRoaXMucGVybWlzc2lvbixcbiAgICAgICAgICAgIGRpc2FibGVXaXRoTm9QZXJtaXNzaW9uOiB0aGlzLmRpc2FibGVXaXRoTm9QZXJtaXNzaW9uLFxuICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnZpc2libGVcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLmhhbmRsZXIpIHtcbiAgICAgICAgICAgIG1vZGVsLmhhbmRsZXIgPSB0aGlzLmdldFN5c3RlbUhhbmRsZXIodGFyZ2V0LCB0aGlzLmhhbmRsZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZXhlY3V0ZSkge1xuICAgICAgICAgICAgbW9kZWwuZXhlY3V0ZSA9ICh2YWx1ZTogYW55KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5leGVjdXRlLmVtaXQoeyB2YWx1ZSB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlZ2lzdGVyKG1vZGVsKTtcbiAgICAgICAgcmV0dXJuIG1vZGVsO1xuICAgIH1cblxuICAgIGdldFN5c3RlbUhhbmRsZXIodGFyZ2V0OiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IENvbnRlbnRBY3Rpb25IYW5kbGVyIHtcbiAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIGlmICh0YXJnZXQgPT09IENvbnRlbnRBY3Rpb25UYXJnZXQuRG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kb2N1bWVudEFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50QWN0aW9ucy5wZXJtaXNzaW9uRXZlbnQuc3Vic2NyaWJlKChwZXJtaXNzaW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uRXZlbnQuZW1pdChwZXJtaXNzaW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudEFjdGlvbnMuZXJyb3Iuc3Vic2NyaWJlKChlcnJvcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3JzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudEFjdGlvbnMuc3VjY2Vzcy5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdChtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRBY3Rpb25zLmdldEhhbmRsZXIobmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGFyZ2V0ID09PSBDb250ZW50QWN0aW9uVGFyZ2V0LkZvbGRlcikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvbGRlckFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvbGRlckFjdGlvbnMucGVybWlzc2lvbkV2ZW50LnN1YnNjcmliZSgocGVybWlzc2lvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbkV2ZW50LmVtaXQocGVybWlzc2lvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9sZGVyQWN0aW9ucy5lcnJvci5zdWJzY3JpYmUoKGVycm9ycykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJvcnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvbGRlckFjdGlvbnMuc3VjY2Vzcy5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdChtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZGVyQWN0aW9ucy5nZXRIYW5kbGVyKG5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9kb2N1bWVudC1saXN0L2NvbXBvbmVudHMvY29udGVudC1hY3Rpb24vY29udGVudC1hY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUdwSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFTN0UsTUFBTSxPQUFPLHNCQUFzQjtJQTREL0IsWUFDWSxJQUFnQyxFQUNoQyxlQUF1QyxFQUN2QyxhQUFtQztRQUZuQyxTQUFJLEdBQUosSUFBSSxDQUE0QjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFDdkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBOUQvQyxvREFBb0Q7UUFFcEQsVUFBSyxHQUFXLFFBQVEsQ0FBQztRQU16Qix1Q0FBdUM7UUFFdkMsWUFBTyxHQUFxQyxJQUFJLENBQUM7UUFNakQsNkVBQTZFO1FBRTdFLFdBQU0sR0FBVyxtQkFBbUIsQ0FBQyxHQUFHLENBQUM7UUFVekMsaUNBQWlDO1FBRWpDLGFBQVEsR0FBcUMsS0FBSyxDQUFDO1FBRW5ELDhEQUE4RDtRQUU5RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3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LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250ZW50QWN0aW9uSGFuZGxlciB9IGZyb20gJy4uLy4uL21vZGVscy9jb250ZW50LWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBEb2N1bWVudEFjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9jdW1lbnQtYWN0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IEZvbGRlckFjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9sZGVyLWFjdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZW50QWN0aW9uTW9kZWwsIENvbnRlbnRBY3Rpb25UYXJnZXQgfSBmcm9tICcuLy4uLy4uL21vZGVscy9jb250ZW50LWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDb250ZW50QWN0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC1hY3Rpb24tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY29udGVudC1hY3Rpb24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHByb3ZpZGVyczogW0RvY3VtZW50QWN0aW9uc1NlcnZpY2UsIEZvbGRlckFjdGlvbnNTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50QWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqIFRoZSB0aXRsZSBvZiB0aGUgYWN0aW9uIGFzIHNob3duIGluIHRoZSBtZW51LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZyA9ICdBY3Rpb24nO1xuXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBpY29uIHRvIGRpc3BsYXkgbmV4dCB0byB0aGUgbWVudSBjb21tYW5kIChjYW4gYmUgbGVmdCBibGFuaykuICovXG4gICAgQElucHV0KClcbiAgICBpY29uOiBzdHJpbmc7XG5cbiAgICAvKiogVmlzaWJpbGl0eSBzdGF0ZSAoc2VlIGV4YW1wbGVzKS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHZpc2libGU6IGJvb2xlYW4gfCAoKC4uLmFyZ3MpID0+IGJvb2xlYW4pID0gdHJ1ZTtcblxuICAgIC8qKiBTeXN0ZW0gYWN0aW9ucy4gQ2FuIGJlIFwiZGVsZXRlXCIsIFwiZG93bmxvYWRcIiwgXCJjb3B5XCIgb3IgXCJtb3ZlXCIuICovXG4gICAgQElucHV0KClcbiAgICBoYW5kbGVyOiBzdHJpbmc7XG5cbiAgICAvKiogVHlwZSBvZiBpdGVtIHRoYXQgdGhlIGFjdGlvbiBhcHBsaWVzIHRvLiBDYW4gYmUgXCJkb2N1bWVudFwiIG9yIFwiZm9sZGVyXCIgKi9cbiAgICBASW5wdXQoKVxuICAgIHRhcmdldDogc3RyaW5nID0gQ29udGVudEFjdGlvblRhcmdldC5BbGw7XG5cbiAgICAvKiogVGhlIHBlcm1pc3Npb24gdHlwZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHBlcm1pc3Npb246IHN0cmluZztcblxuICAgIC8qKiBTaG91bGQgdGhpcyBhY3Rpb24gYmUgZGlzYWJsZWQgaW4gdGhlIG1lbnUgaWYgdGhlIHVzZXIgZG9lc24ndCBoYXZlIHBlcm1pc3Npb24gZm9yIGl0PyAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVdpdGhOb1Blcm1pc3Npb246IGJvb2xlYW47XG5cbiAgICAvKiogSXMgdGhlIG1lbnUgaXRlbSBkaXNhYmxlZD8gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkOiBib29sZWFuIHwgKCguLi5hcmdzKSA9PiBib29sZWFuKSA9IGZhbHNlO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIHRoZSBhY3Rpb24gZnJvbSB0aGUgbWVudS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBleGVjdXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhIHBlcm1pc3Npb24gZXJyb3Igb2NjdXJzICovXG4gICAgQE91dHB1dCgpXG4gICAgcGVybWlzc2lvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgdGhlIGFjdGlvbi5cbiAgICAgKiBBcHBsaWVzIHRvIGNvcHkgYW5kIG1vdmUgYWN0aW9ucy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgYWN0aW9uIHN1Y2NlZWRzIHdpdGggdGhlIHN1Y2Nlc3Mgc3RyaW5nIG1lc3NhZ2UuXG4gICAgICogQXBwbGllcyB0byBjb3B5LCBtb3ZlIGFuZCBkZWxldGUgYWN0aW9ucy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgZG9jdW1lbnRBY3Rpb25Nb2RlbDogQ29udGVudEFjdGlvbk1vZGVsO1xuICAgIGZvbGRlckFjdGlvbk1vZGVsOiBDb250ZW50QWN0aW9uTW9kZWw7XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBsaXN0OiBDb250ZW50QWN0aW9uTGlzdENvbXBvbmVudCxcbiAgICAgICAgcHJpdmF0ZSBkb2N1bWVudEFjdGlvbnM6IERvY3VtZW50QWN0aW9uc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9sZGVyQWN0aW9uczogRm9sZGVyQWN0aW9uc1NlcnZpY2VcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGFyZ2V0ID09PSBDb250ZW50QWN0aW9uVGFyZ2V0LkFsbCkge1xuICAgICAgICAgICAgdGhpcy5mb2xkZXJBY3Rpb25Nb2RlbCA9IHRoaXMuZ2VuZXJhdGVBY3Rpb24oQ29udGVudEFjdGlvblRhcmdldC5Gb2xkZXIpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudEFjdGlvbk1vZGVsID0gdGhpcy5nZW5lcmF0ZUFjdGlvbihDb250ZW50QWN0aW9uVGFyZ2V0LkRvY3VtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRBY3Rpb25Nb2RlbCA9IHRoaXMuZ2VuZXJhdGVBY3Rpb24odGhpcy50YXJnZXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy52aXNpYmxlICYmICFjaGFuZ2VzLnZpc2libGUuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRvY3VtZW50QWN0aW9uTW9kZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50QWN0aW9uTW9kZWwudmlzaWJsZSA9IGNoYW5nZXMudmlzaWJsZS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5mb2xkZXJBY3Rpb25Nb2RlbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9sZGVyQWN0aW9uTW9kZWwudmlzaWJsZSA9IGNoYW5nZXMudmlzaWJsZS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlcy5kaXNhYmxlZCAmJiAhY2hhbmdlcy5kaXNhYmxlZC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRBY3Rpb25Nb2RlbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRBY3Rpb25Nb2RlbC5kaXNhYmxlZCA9IGNoYW5nZXMuZGlzYWJsZWQuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZm9sZGVyQWN0aW9uTW9kZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvbGRlckFjdGlvbk1vZGVsLmRpc2FibGVkID0gY2hhbmdlcy5kaXNhYmxlZC5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5kb2N1bWVudEFjdGlvbk1vZGVsKSB7XG4gICAgICAgICAgICB0aGlzLnVucmVnaXN0ZXIodGhpcy5kb2N1bWVudEFjdGlvbk1vZGVsKTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRBY3Rpb25Nb2RlbCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb2xkZXJBY3Rpb25Nb2RlbCkge1xuICAgICAgICAgICAgdGhpcy51bnJlZ2lzdGVyKHRoaXMuZm9sZGVyQWN0aW9uTW9kZWwpO1xuICAgICAgICAgICAgdGhpcy5mb2xkZXJBY3Rpb25Nb2RlbCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlcihtb2RlbDogQ29udGVudEFjdGlvbk1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxpc3QucmVnaXN0ZXJBY3Rpb24obW9kZWwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB1bnJlZ2lzdGVyKG1vZGVsOiBDb250ZW50QWN0aW9uTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMubGlzdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGlzdC51bnJlZ2lzdGVyQWN0aW9uKG1vZGVsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUFjdGlvbih0YXJnZXQ6IHN0cmluZyk6IENvbnRlbnRBY3Rpb25Nb2RlbCB7XG4gICAgICAgIGNvbnN0IG1vZGVsID0gbmV3IENvbnRlbnRBY3Rpb25Nb2RlbCh7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgICAgICAgIGljb246IHRoaXMuaWNvbixcbiAgICAgICAgICAgIHBlcm1pc3Npb246IHRoaXMucGVybWlzc2lvbixcbiAgICAgICAgICAgIGRpc2FibGVXaXRoTm9QZXJtaXNzaW9uOiB0aGlzLmRpc2FibGVXaXRoTm9QZXJtaXNzaW9uLFxuICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnZpc2libGVcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLmhhbmRsZXIpIHtcbiAgICAgICAgICAgIG1vZGVsLmhhbmRsZXIgPSB0aGlzLmdldFN5c3RlbUhhbmRsZXIodGFyZ2V0LCB0aGlzLmhhbmRsZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZXhlY3V0ZSkge1xuICAgICAgICAgICAgbW9kZWwuZXhlY3V0ZSA9ICh2YWx1ZTogYW55KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5leGVjdXRlLmVtaXQoeyB2YWx1ZSB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlZ2lzdGVyKG1vZGVsKTtcbiAgICAgICAgcmV0dXJuIG1vZGVsO1xuICAgIH1cblxuICAgIGdldFN5c3RlbUhhbmRsZXIodGFyZ2V0OiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IENvbnRlbnRBY3Rpb25IYW5kbGVyIHtcbiAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIGlmICh0YXJnZXQgPT09IENvbnRlbnRBY3Rpb25UYXJnZXQuRG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kb2N1bWVudEFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50QWN0aW9ucy5wZXJtaXNzaW9uRXZlbnQuc3Vic2NyaWJlKChwZXJtaXNzaW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uRXZlbnQuZW1pdChwZXJtaXNzaW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudEFjdGlvbnMuZXJyb3Iuc3Vic2NyaWJlKChlcnJvcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3JzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudEFjdGlvbnMuc3VjY2Vzcy5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdChtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRBY3Rpb25zLmdldEhhbmRsZXIobmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGFyZ2V0ID09PSBDb250ZW50QWN0aW9uVGFyZ2V0LkZvbGRlcikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvbGRlckFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvbGRlckFjdGlvbnMucGVybWlzc2lvbkV2ZW50LnN1YnNjcmliZSgocGVybWlzc2lvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbkV2ZW50LmVtaXQocGVybWlzc2lvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9sZGVyQWN0aW9ucy5lcnJvci5zdWJzY3JpYmUoKGVycm9ycykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJvcnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvbGRlckFjdGlvbnMuc3VjY2Vzcy5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdChtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZGVyQWN0aW9ucy5nZXRIYW5kbGVyKG5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=