nuxeo-development-framework 6.0.4 → 6.0.6

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 (869) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +840 -244
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +1 -1
  4. package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +1 -1
  5. package/esm2015/lib/components/activities-log/activities-log.module.js +1 -1
  6. package/esm2015/lib/components/activity/activity/activity.component.js +1 -1
  7. package/esm2015/lib/components/activity/activity.module.js +1 -1
  8. package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +2 -2
  9. package/esm2015/lib/components/attachment-item/attachment-item.module.js +1 -1
  10. package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +1 -1
  11. package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +1 -1
  12. package/esm2015/lib/components/avatar/avatar/avatar.component.js +1 -1
  13. package/esm2015/lib/components/avatar/avatar.module.js +1 -1
  14. package/esm2015/lib/components/card/card.component.js +1 -1
  15. package/esm2015/lib/components/card/card.module.js +1 -1
  16. package/esm2015/lib/components/comments/comments.module.js +1 -1
  17. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +2 -2
  18. package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +1 -1
  19. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +1 -1
  20. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +1 -1
  21. package/esm2015/lib/components/comments/constants/comment.js +1 -1
  22. package/esm2015/lib/components/comments/services/comment-api.service.js +1 -1
  23. package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +1 -1
  24. package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +1 -1
  25. package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +1 -1
  26. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +1 -1
  27. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +1 -1
  28. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +9 -4
  29. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +1 -1
  30. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +2 -2
  31. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +6 -4
  32. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +1 -1
  33. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +1 -1
  34. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +1 -1
  35. package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +1 -1
  36. package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +1 -1
  37. package/esm2015/lib/components/create-entity/create-entity.module.js +1 -1
  38. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +2 -2
  39. package/esm2015/lib/components/cts-tags/cts-tags.module.js +1 -1
  40. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +1 -1
  41. package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +1 -1
  42. package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +1 -1
  43. package/esm2015/lib/components/custom-toastr/interfaces/toast-type.interface.js +1 -1
  44. package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +1 -1
  45. package/esm2015/lib/components/diagrams/components/base-node.component.js +1 -1
  46. package/esm2015/lib/components/diagrams/components/circle-node/circle-node.component.js +1 -1
  47. package/esm2015/lib/components/diagrams/components/connection-label.component.js +1 -1
  48. package/esm2015/lib/components/diagrams/components/content-node/content-node.component.js +1 -1
  49. package/esm2015/lib/components/diagrams/components/custom-connection.component.js +1 -1
  50. package/esm2015/lib/components/diagrams/components/custom-socket.component.js +1 -1
  51. package/esm2015/lib/components/diagrams/components/gateway-node/gateway-node.component.js +1 -1
  52. package/esm2015/lib/components/diagrams/components/gateway-ports.component.js +1 -1
  53. package/esm2015/lib/components/diagrams/components/index.js +1 -1
  54. package/esm2015/lib/components/diagrams/components/node-icon.component.js +1 -1
  55. package/esm2015/lib/components/diagrams/components/node-inputs.component.js +1 -1
  56. package/esm2015/lib/components/diagrams/components/node-outputs.component.js +1 -1
  57. package/esm2015/lib/components/diagrams/components/node-ports.component.js +1 -1
  58. package/esm2015/lib/components/diagrams/components/remove-button.component.js +1 -1
  59. package/esm2015/lib/components/diagrams/components/status-icon.component.js +1 -1
  60. package/esm2015/lib/components/diagrams/components/template-node/template-node.component.js +1 -1
  61. package/esm2015/lib/components/diagrams/components/zoom-control.component.js +1 -1
  62. package/esm2015/lib/components/diagrams/constants/defaults.js +1 -1
  63. package/esm2015/lib/components/diagrams/constants/direction.js +1 -1
  64. package/esm2015/lib/components/diagrams/constants/index.js +1 -1
  65. package/esm2015/lib/components/diagrams/constants/message-type.js +1 -1
  66. package/esm2015/lib/components/diagrams/constants/node-type.js +1 -1
  67. package/esm2015/lib/components/diagrams/constants/notify-events.js +1 -1
  68. package/esm2015/lib/components/diagrams/constants/sizes.js +1 -1
  69. package/esm2015/lib/components/diagrams/constants/status.js +1 -1
  70. package/esm2015/lib/components/diagrams/diagrams.module.js +1 -1
  71. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +1 -1
  72. package/esm2015/lib/components/diagrams/directive/index.js +1 -1
  73. package/esm2015/lib/components/diagrams/editor/customize.js +1 -1
  74. package/esm2015/lib/components/diagrams/editor/editor.js +1 -1
  75. package/esm2015/lib/components/diagrams/editor/index.js +1 -1
  76. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +1 -1
  77. package/esm2015/lib/components/diagrams/editor/overrides/index.js +1 -1
  78. package/esm2015/lib/components/diagrams/editor/path-plugin.js +1 -1
  79. package/esm2015/lib/components/diagrams/editor/socket-position-watcher.js +1 -1
  80. package/esm2015/lib/components/diagrams/index.js +1 -1
  81. package/esm2015/lib/components/diagrams/models/base-node.model.js +1 -1
  82. package/esm2015/lib/components/diagrams/models/circle-node.model.js +1 -1
  83. package/esm2015/lib/components/diagrams/models/connection.model.js +1 -1
  84. package/esm2015/lib/components/diagrams/models/content-node.model.js +1 -1
  85. package/esm2015/lib/components/diagrams/models/gate-way.model.js +1 -1
  86. package/esm2015/lib/components/diagrams/models/index.js +1 -1
  87. package/esm2015/lib/components/diagrams/models/ports.model.js +1 -1
  88. package/esm2015/lib/components/diagrams/models/socket.model.js +1 -1
  89. package/esm2015/lib/components/diagrams/models/template-node.model.js +1 -1
  90. package/esm2015/lib/components/diagrams/public-api.js +1 -1
  91. package/esm2015/lib/components/diagrams/services/diagram-plugins.service.js +1 -1
  92. package/esm2015/lib/components/diagrams/services/diagram.service.js +1 -1
  93. package/esm2015/lib/components/diagrams/services/index.js +1 -1
  94. package/esm2015/lib/components/diagrams/services/message.service.js +1 -1
  95. package/esm2015/lib/components/diagrams/services/workflow.service.js +1 -1
  96. package/esm2015/lib/components/diagrams/types/common.type.js +1 -1
  97. package/esm2015/lib/components/diagrams/types/connection-config.type.js +1 -1
  98. package/esm2015/lib/components/diagrams/types/connection-label.type.js +1 -1
  99. package/esm2015/lib/components/diagrams/types/customization.type.js +1 -1
  100. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +1 -1
  101. package/esm2015/lib/components/diagrams/types/diagram-editor.type.js +1 -1
  102. package/esm2015/lib/components/diagrams/types/emitter-type.js +1 -1
  103. package/esm2015/lib/components/diagrams/types/index.js +1 -1
  104. package/esm2015/lib/components/diagrams/types/layout.type.js +1 -1
  105. package/esm2015/lib/components/diagrams/types/node-content.js +1 -1
  106. package/esm2015/lib/components/diagrams/types/node-definition.js +1 -1
  107. package/esm2015/lib/components/diagrams/types/node-status.type.js +1 -1
  108. package/esm2015/lib/components/diagrams/types/node.type.js +1 -1
  109. package/esm2015/lib/components/diagrams/types/notify-event.type.js +1 -1
  110. package/esm2015/lib/components/diagrams/types/path.type.js +1 -1
  111. package/esm2015/lib/components/diagrams/types/ports-config.type.js +1 -1
  112. package/esm2015/lib/components/diagrams/types/schemes.type.js +1 -1
  113. package/esm2015/lib/components/diagrams/types/socket.type.js +1 -1
  114. package/esm2015/lib/components/diagrams/utilities/common.js +1 -1
  115. package/esm2015/lib/components/diagrams/utilities/index.js +1 -1
  116. package/esm2015/lib/components/diagrams/utilities/random.js +1 -1
  117. package/esm2015/lib/components/diagrams/utilities/remove.util.js +1 -1
  118. package/esm2015/lib/components/diagrams/utilities/serialize.js +1 -1
  119. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +2 -2
  120. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +1 -1
  121. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +1 -1
  122. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +1 -1
  123. package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +1 -1
  124. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +1 -1
  125. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +1 -1
  126. package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +1 -1
  127. package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +1 -1
  128. package/esm2015/lib/components/documents/components/documents/documents.component.js +1 -1
  129. package/esm2015/lib/components/documents/constants/document-templates.js +1 -1
  130. package/esm2015/lib/components/documents/constants/documents.js +1 -1
  131. package/esm2015/lib/components/documents/documents.module.js +1 -1
  132. package/esm2015/lib/components/documents/services/document-templates.service.js +1 -1
  133. package/esm2015/lib/components/documents/services/documents.service.js +1 -1
  134. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +1 -1
  135. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +1 -1
  136. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +1 -1
  137. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +1 -1
  138. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +1 -1
  139. package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +2 -2
  140. package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +1 -1
  141. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +1 -1
  142. package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +1 -1
  143. package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +1 -1
  144. package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +1 -1
  145. package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +1 -1
  146. package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +1 -1
  147. package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +1 -1
  148. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +1 -1
  149. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +1 -1
  150. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/constants/department.js +1 -1
  151. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +1 -1
  152. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +1 -1
  153. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +1 -1
  154. package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +1 -1
  155. package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +1 -1
  156. package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +1 -1
  157. package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +1 -1
  158. package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +1 -1
  159. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +1 -1
  160. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +1 -1
  161. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +1 -3
  162. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +1 -1
  163. package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +1 -1
  164. package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +2 -2
  165. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +1 -1
  166. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +1 -1
  167. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +1 -1
  168. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +2 -2
  169. package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +1 -1
  170. package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +1 -1
  171. package/esm2015/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.js +1 -1
  172. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +1 -1
  173. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.formio.js +1 -1
  174. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +1 -1
  175. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.formio.js +1 -1
  176. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +1 -1
  177. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.formio.js +1 -1
  178. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +1 -1
  179. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.formio.js +1 -1
  180. package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +1 -1
  181. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +1 -1
  182. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-boolitem-properties.interface.js +1 -1
  183. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-dateitem-properties.interface.js +1 -1
  184. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-properties.interface.js +1 -1
  185. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-validator.interface.js +1 -1
  186. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item.interface.js +1 -1
  187. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-keyvaluepairsitem-properties.interface.js +1 -1
  188. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-selectitem-properties.interface.js +1 -1
  189. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-pipe-property.interface.js +1 -1
  190. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-properties.interface.js +1 -1
  191. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form.interfaces.js +1 -1
  192. package/esm2015/lib/components/dynamic-form/models/dynamic-form-baseitem.model.js +1 -1
  193. package/esm2015/lib/components/dynamic-form/models/dynamic-form-boolitem.model.js +1 -1
  194. package/esm2015/lib/components/dynamic-form/models/dynamic-form-dateitem.model.js +1 -1
  195. package/esm2015/lib/components/dynamic-form/models/dynamic-form-datetimeitem.model.js +1 -1
  196. package/esm2015/lib/components/dynamic-form/models/dynamic-form-mapitem.model.js +1 -1
  197. package/esm2015/lib/components/dynamic-form/models/dynamic-form-selectitem.model.js +1 -1
  198. package/esm2015/lib/components/dynamic-form/models/dynamic-form-textitem.model.js +1 -1
  199. package/esm2015/lib/components/dynamic-form/models/dynamic-form.models.js +1 -1
  200. package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +1 -1
  201. package/esm2015/lib/components/dynamic-form/services/dynamic-component-mapper.service.js +1 -1
  202. package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +1 -1
  203. package/esm2015/lib/components/dynamic-form/services/vocabulary-api.service.js +1 -1
  204. package/esm2015/lib/components/dynamic-form/validators/length-validator.js +1 -1
  205. package/esm2015/lib/components/dynamic-form/validators/regex-validator.js +1 -1
  206. package/esm2015/lib/components/dynamic-form/validators/required-validator.js +1 -1
  207. package/esm2015/lib/components/dynamic-form/validators/value-validator.js +1 -1
  208. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +1 -1
  209. package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +1 -1
  210. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +1 -1
  211. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +1 -1
  212. package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +2 -2
  213. package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +1 -1
  214. package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +1 -1
  215. package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +1 -1
  216. package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +2 -2
  217. package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +2 -2
  218. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +2 -2
  219. package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +2 -2
  220. package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +1 -1
  221. package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +1 -1
  222. package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +1 -1
  223. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +2 -2
  224. package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +2 -2
  225. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +1 -1
  226. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +2 -2
  227. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +1 -1
  228. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +1 -1
  229. package/esm2015/lib/components/file-manger/components/delete/delete.component.js +1 -1
  230. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +1 -1
  231. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +2 -2
  232. package/esm2015/lib/components/file-manger/components/move/move.component.js +1 -1
  233. package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +1 -1
  234. package/esm2015/lib/components/file-manger/components/rename/rename.component.js +2 -2
  235. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +1 -1
  236. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +2 -2
  237. package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +2 -2
  238. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +1 -1
  239. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +1 -1
  240. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +1 -1
  241. package/esm2015/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.js +1 -1
  242. package/esm2015/lib/components/file-manger/file-manager.abstract.js +1 -1
  243. package/esm2015/lib/components/file-manger/file-manger.module.js +1 -1
  244. package/esm2015/lib/components/file-manger/models/file-manager-config.model.js +1 -1
  245. package/esm2015/lib/components/file-manger/models/index.js +1 -1
  246. package/esm2015/lib/components/file-manger/models/pagination-payload.mode.js +1 -1
  247. package/esm2015/lib/components/file-manger/models/pagination-response.model.js +1 -1
  248. package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
  249. package/esm2015/lib/components/filter/filter.module.js +1 -1
  250. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +1 -1
  251. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +1 -1
  252. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +1 -1
  253. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +1 -1
  254. package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +1 -1
  255. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +1 -1
  256. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +1 -1
  257. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +1 -1
  258. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +1 -1
  259. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/consts.js +1 -1
  260. package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +1 -1
  261. package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +1 -1
  262. package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +1 -1
  263. package/esm2015/lib/components/latest-activity/constants/activitylog.js +1 -1
  264. package/esm2015/lib/components/latest-activity/latest-activity.module.js +1 -1
  265. package/esm2015/lib/components/latest-activity/services/activity-log.service.js +1 -1
  266. package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +1 -1
  267. package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +1 -1
  268. package/esm2015/lib/components/ndf-config-editor/components/config-editor-actions/config-editor-actions.component.js +1 -1
  269. package/esm2015/lib/components/ndf-config-editor/components/editor-mode-switch.component.js +1 -1
  270. package/esm2015/lib/components/ndf-config-editor/components/index.js +1 -1
  271. package/esm2015/lib/components/ndf-config-editor/components/info-dialog/info-dialog.component.js +2 -2
  272. package/esm2015/lib/components/ndf-config-editor/config.token.js +1 -1
  273. package/esm2015/lib/components/ndf-config-editor/constants/index.js +1 -1
  274. package/esm2015/lib/components/ndf-config-editor/constants/mode.js +1 -1
  275. package/esm2015/lib/components/ndf-config-editor/constants/query.js +1 -1
  276. package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +1 -1
  277. package/esm2015/lib/components/ndf-config-editor/containers/editor-settings/editor-settings.component.js +2 -2
  278. package/esm2015/lib/components/ndf-config-editor/containers/index.js +1 -1
  279. package/esm2015/lib/components/ndf-config-editor/containers/monaco-editor.component.js +1 -1
  280. package/esm2015/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.js +1 -1
  281. package/esm2015/lib/components/ndf-config-editor/index.js +1 -1
  282. package/esm2015/lib/components/ndf-config-editor/metadata-token.js +1 -1
  283. package/esm2015/lib/components/ndf-config-editor/models/config.js +1 -1
  284. package/esm2015/lib/components/ndf-config-editor/models/dialog-data.js +1 -1
  285. package/esm2015/lib/components/ndf-config-editor/models/editor-model.js +1 -1
  286. package/esm2015/lib/components/ndf-config-editor/models/index.js +1 -1
  287. package/esm2015/lib/components/ndf-config-editor/models/payload-data.js +1 -1
  288. package/esm2015/lib/components/ndf-config-editor/models/type-helper.js +1 -1
  289. package/esm2015/lib/components/ndf-config-editor/ndf-config-editor.module.js +1 -1
  290. package/esm2015/lib/components/ndf-config-editor/pipes/index.js +1 -1
  291. package/esm2015/lib/components/ndf-config-editor/pipes/is-valid-json.pipe.js +1 -1
  292. package/esm2015/lib/components/ndf-config-editor/pipes/validate-object.pipe.js +1 -1
  293. package/esm2015/lib/components/ndf-config-editor/public/editor-navigate-button.js +2 -2
  294. package/esm2015/lib/components/ndf-config-editor/public/index.js +1 -1
  295. package/esm2015/lib/components/ndf-config-editor/public-api.js +1 -1
  296. package/esm2015/lib/components/ndf-config-editor/services/data-access.service.js +1 -1
  297. package/esm2015/lib/components/ndf-config-editor/services/data-store.service.js +1 -1
  298. package/esm2015/lib/components/ndf-config-editor/services/index.js +1 -1
  299. package/esm2015/lib/components/ndf-config-editor/services/monaco.loader.service.js +1 -1
  300. package/esm2015/lib/components/ndf-config-editor/utility/index.js +1 -1
  301. package/esm2015/lib/components/ndf-config-editor/utility/json.js +1 -1
  302. package/esm2015/lib/components/ndf-datepicker/adapters/hijri-adapter.js +1 -1
  303. package/esm2015/lib/components/ndf-datepicker/adapters/index.js +1 -1
  304. package/esm2015/lib/components/ndf-datepicker/adapters/moment-adapter.js +1 -1
  305. package/esm2015/lib/components/ndf-datepicker/base/base-value-accessor.js +1 -1
  306. package/esm2015/lib/components/ndf-datepicker/base/index.js +1 -1
  307. package/esm2015/lib/components/ndf-datepicker/components/base-datepicker.js +1 -1
  308. package/esm2015/lib/components/ndf-datepicker/components/index.js +1 -1
  309. package/esm2015/lib/components/ndf-datepicker/components/input-date.component.js +1 -1
  310. package/esm2015/lib/components/ndf-datepicker/components/input-range-date.component.js +1 -1
  311. package/esm2015/lib/components/ndf-datepicker/constants/date-locale-keys.js +1 -1
  312. package/esm2015/lib/components/ndf-datepicker/constants/date-picker.js +1 -1
  313. package/esm2015/lib/components/ndf-datepicker/constants/date-type.js +1 -1
  314. package/esm2015/lib/components/ndf-datepicker/constants/formats.js +1 -1
  315. package/esm2015/lib/components/ndf-datepicker/constants/hijri-dates-names.js +1 -1
  316. package/esm2015/lib/components/ndf-datepicker/constants/index.js +1 -1
  317. package/esm2015/lib/components/ndf-datepicker/containers/datepicker-container.js +1 -1
  318. package/esm2015/lib/components/ndf-datepicker/containers/index.js +1 -1
  319. package/esm2015/lib/components/ndf-datepicker/containers/ndf-gregorian-datepicker.component.js +1 -1
  320. package/esm2015/lib/components/ndf-datepicker/containers/ndf-hijri-datepicker.component.js +1 -1
  321. package/esm2015/lib/components/ndf-datepicker/index.js +1 -1
  322. package/esm2015/lib/components/ndf-datepicker/models/data-types.js +1 -1
  323. package/esm2015/lib/components/ndf-datepicker/models/index.js +1 -1
  324. package/esm2015/lib/components/ndf-datepicker/models/value-object.js +1 -1
  325. package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.component.js +2 -2
  326. package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.module.js +1 -1
  327. package/esm2015/lib/components/ndf-datepicker/services/calendar.service.js +1 -1
  328. package/esm2015/lib/components/ndf-datepicker/services/index.js +1 -1
  329. package/esm2015/lib/components/ndf-datepicker/services/localize-state.service.js +1 -1
  330. package/esm2015/lib/components/ndf-filters/base/base-aggregation-field.component.js +1 -1
  331. package/esm2015/lib/components/ndf-filters/base/base-checkbox-radio.component.js +1 -1
  332. package/esm2015/lib/components/ndf-filters/base/base-custom-field.component.js +1 -1
  333. package/esm2015/lib/components/ndf-filters/base/base-predicate-field.component.js +1 -1
  334. package/esm2015/lib/components/ndf-filters/base/base-value-accessor.component.js +1 -1
  335. package/esm2015/lib/components/ndf-filters/base/index.js +1 -1
  336. package/esm2015/lib/components/ndf-filters/components/__parts/field-header.component.js +1 -1
  337. package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.js +1 -1
  338. package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +1 -1
  339. package/esm2015/lib/components/ndf-filters/components/__parts/filter-collapse-control/filter-collapse-control.component.js +1 -1
  340. package/esm2015/lib/components/ndf-filters/components/__parts/filter-date-range/filter-date-range.component.js +1 -1
  341. package/esm2015/lib/components/ndf-filters/components/__parts/filter-empty-message.component.js +1 -1
  342. package/esm2015/lib/components/ndf-filters/components/__parts/filter-option-text/filter-option-text.component.js +2 -2
  343. package/esm2015/lib/components/ndf-filters/components/__parts/filter-options-sort/filter-options-sort.component.js +2 -2
  344. package/esm2015/lib/components/ndf-filters/components/__parts/filter-search-input/filter-search-input.component.js +1 -1
  345. package/esm2015/lib/components/ndf-filters/components/__parts/html-dialog/html-dialog.component.js +1 -1
  346. package/esm2015/lib/components/ndf-filters/components/__parts/index.js +1 -1
  347. package/esm2015/lib/components/ndf-filters/components/aggregation-autocomplete/aggregation-autocomplete.component.js +1 -1
  348. package/esm2015/lib/components/ndf-filters/components/aggregation-checkbox/aggregation-checkbox.component.js +1 -1
  349. package/esm2015/lib/components/ndf-filters/components/aggregation-custom/aggregation-custom.component.js +1 -1
  350. package/esm2015/lib/components/ndf-filters/components/aggregation-date-list/aggregation-date-list.component.js +1 -1
  351. package/esm2015/lib/components/ndf-filters/components/aggregation-radio/aggregation-radio.component.js +1 -1
  352. package/esm2015/lib/components/ndf-filters/components/aggregation-select/aggregation-select.component.js +1 -1
  353. package/esm2015/lib/components/ndf-filters/components/aggregation-switch/aggregation-switch.component.js +2 -2
  354. package/esm2015/lib/components/ndf-filters/components/index.js +1 -1
  355. package/esm2015/lib/components/ndf-filters/components/predicate-date-input/predicate-date-input.component.js +1 -1
  356. package/esm2015/lib/components/ndf-filters/components/predicate-text-input/predicate-text-input.component.js +2 -2
  357. package/esm2015/lib/components/ndf-filters/constants/common.js +1 -1
  358. package/esm2015/lib/components/ndf-filters/constants/field.js +1 -1
  359. package/esm2015/lib/components/ndf-filters/constants/index.js +1 -1
  360. package/esm2015/lib/components/ndf-filters/constants/operators.js +1 -1
  361. package/esm2015/lib/components/ndf-filters/constants/sort.js +1 -1
  362. package/esm2015/lib/components/ndf-filters/constants/type.js +1 -1
  363. package/esm2015/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.js +1 -1
  364. package/esm2015/lib/components/ndf-filters/containers/base-field.js +1 -1
  365. package/esm2015/lib/components/ndf-filters/containers/custom-field/custom-field.component.js +1 -1
  366. package/esm2015/lib/components/ndf-filters/containers/filters-panel/base-filters-panel.js +1 -1
  367. package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +1 -1
  368. package/esm2015/lib/components/ndf-filters/containers/index.js +1 -1
  369. package/esm2015/lib/components/ndf-filters/containers/predicate-field/predicate-field.component.js +1 -1
  370. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user-switch.component.js +2 -2
  371. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user.service.js +1 -1
  372. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/user-types.js +1 -1
  373. package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/aggregation-group.component.js +1 -1
  374. package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/map-aggregation-config.js +1 -1
  375. package/esm2015/lib/components/ndf-filters/custom-components/index.js +1 -1
  376. package/esm2015/lib/components/ndf-filters/directives/autocomplete-template.directive.js +1 -1
  377. package/esm2015/lib/components/ndf-filters/directives/checkbox-template.directive.js +1 -1
  378. package/esm2015/lib/components/ndf-filters/directives/custom-template.directive.js +1 -1
  379. package/esm2015/lib/components/ndf-filters/directives/date-template.directive.js +1 -1
  380. package/esm2015/lib/components/ndf-filters/directives/dropdown-label-template.directive.js +1 -1
  381. package/esm2015/lib/components/ndf-filters/directives/dropdown-template.directive.js +1 -1
  382. package/esm2015/lib/components/ndf-filters/directives/index.js +1 -1
  383. package/esm2015/lib/components/ndf-filters/directives/radio-template.directive.js +1 -1
  384. package/esm2015/lib/components/ndf-filters/directives/switch-template.directive.js +1 -1
  385. package/esm2015/lib/components/ndf-filters/index.js +1 -1
  386. package/esm2015/lib/components/ndf-filters/models/aggregation-field-config.js +1 -1
  387. package/esm2015/lib/components/ndf-filters/models/aggregation-response.model.js +1 -1
  388. package/esm2015/lib/components/ndf-filters/models/base-field-config.js +1 -1
  389. package/esm2015/lib/components/ndf-filters/models/common.js +1 -1
  390. package/esm2015/lib/components/ndf-filters/models/custom-field-config.js +1 -1
  391. package/esm2015/lib/components/ndf-filters/models/field-config.model.js +1 -1
  392. package/esm2015/lib/components/ndf-filters/models/field-options/autocomplete-options.js +1 -1
  393. package/esm2015/lib/components/ndf-filters/models/field-options/checkbox-options.js +1 -1
  394. package/esm2015/lib/components/ndf-filters/models/field-options/common-utils.js +1 -1
  395. package/esm2015/lib/components/ndf-filters/models/field-options/custom-fields-options.js +1 -1
  396. package/esm2015/lib/components/ndf-filters/models/field-options/custom-options.js +1 -1
  397. package/esm2015/lib/components/ndf-filters/models/field-options/date-list-options.js +1 -1
  398. package/esm2015/lib/components/ndf-filters/models/field-options/date-options.js +1 -1
  399. package/esm2015/lib/components/ndf-filters/models/field-options/dropdown-options.js +1 -1
  400. package/esm2015/lib/components/ndf-filters/models/field-options/index.js +1 -1
  401. package/esm2015/lib/components/ndf-filters/models/field-options/input-options.js +1 -1
  402. package/esm2015/lib/components/ndf-filters/models/field-options/radio-options.js +1 -1
  403. package/esm2015/lib/components/ndf-filters/models/field-options/switch-options.js +1 -1
  404. package/esm2015/lib/components/ndf-filters/models/filter-option.model.js +1 -1
  405. package/esm2015/lib/components/ndf-filters/models/form-query-request.js +1 -1
  406. package/esm2015/lib/components/ndf-filters/models/index.js +1 -1
  407. package/esm2015/lib/components/ndf-filters/models/operator-value-object.js +1 -1
  408. package/esm2015/lib/components/ndf-filters/models/predicate-field-config.js +1 -1
  409. package/esm2015/lib/components/ndf-filters/models/types-helper.js +1 -1
  410. package/esm2015/lib/components/ndf-filters/models/value-object.model.js +1 -1
  411. package/esm2015/lib/components/ndf-filters/ndf-filters-panel.module.js +1 -1
  412. package/esm2015/lib/components/ndf-filters/pipes/autocomplete-filter.pipe.js +1 -1
  413. package/esm2015/lib/components/ndf-filters/pipes/check-condition.pipe.js +1 -1
  414. package/esm2015/lib/components/ndf-filters/pipes/filter.pipe.js +1 -1
  415. package/esm2015/lib/components/ndf-filters/pipes/hash-translate.pipe.js +1 -1
  416. package/esm2015/lib/components/ndf-filters/pipes/index.js +1 -1
  417. package/esm2015/lib/components/ndf-filters/pipes/localized-label.pipe.js +1 -1
  418. package/esm2015/lib/components/ndf-filters/pipes/roles-filters.pipe.js +1 -1
  419. package/esm2015/lib/components/ndf-filters/pipes/sanitizer.pipe.js +1 -1
  420. package/esm2015/lib/components/ndf-filters/pipes/sort.pipe.js +1 -1
  421. package/esm2015/lib/components/ndf-filters/pipes/tooltip.pipe.js +1 -1
  422. package/esm2015/lib/components/ndf-filters/public-api.js +1 -1
  423. package/esm2015/lib/components/ndf-filters/services/aggregation-field.service.js +1 -1
  424. package/esm2015/lib/components/ndf-filters/services/dynamic-component-loader.service.js +1 -1
  425. package/esm2015/lib/components/ndf-filters/services/filters-mapper.service.js +1 -1
  426. package/esm2015/lib/components/ndf-filters/services/filters-query.service.js +1 -1
  427. package/esm2015/lib/components/ndf-filters/services/index.js +1 -1
  428. package/esm2015/lib/components/ndf-filters/utility/index.js +1 -1
  429. package/esm2015/lib/components/ndf-filters/utility/nxql-query.js +1 -1
  430. package/esm2015/lib/components/ndf-filters/utility/nxql.js +1 -1
  431. package/esm2015/lib/components/ndf-filters/utility/object.js +1 -1
  432. package/esm2015/lib/components/ndf-panel/component/ndf-panel.component.js +1 -1
  433. package/esm2015/lib/components/ndf-panel/index.js +1 -1
  434. package/esm2015/lib/components/ndf-panel/ndf-panel.module.js +1 -1
  435. package/esm2015/lib/components/ndf-scanner/index.js +1 -1
  436. package/esm2015/lib/components/ndf-scanner/ndf-scanner.component.js +2 -2
  437. package/esm2015/lib/components/ndf-scanner/ndf-scanner.module.js +1 -1
  438. package/esm2015/lib/components/ndf-signatures/emdha/dialogs/auth/emdha-auth.dialog.js +116 -0
  439. package/esm2015/lib/components/ndf-signatures/emdha/dialogs/index.js +2 -0
  440. package/esm2015/lib/components/ndf-signatures/emdha/index.js +3 -0
  441. package/esm2015/lib/components/ndf-signatures/emdha/services/emdha.service.js +133 -0
  442. package/esm2015/lib/components/ndf-signatures/emdha/services/index.js +2 -0
  443. package/esm2015/lib/components/ndf-signatures/index.js +5 -0
  444. package/esm2015/lib/components/ndf-signatures/ndf-signature-panel/ndf-signature-panel.component.js +132 -0
  445. package/esm2015/lib/components/ndf-signatures/ndf-signatures.module.js +68 -0
  446. package/esm2015/lib/components/ndf-signatures/services/index.js +2 -0
  447. package/esm2015/lib/components/ndf-signatures/services/signatures.service.js +307 -0
  448. package/esm2015/lib/components/ndf-tabs/component/ndf-tabs.component.js +1 -1
  449. package/esm2015/lib/components/ndf-tabs/index.js +1 -1
  450. package/esm2015/lib/components/ndf-tabs/ndf-tabs.module.js +1 -1
  451. package/esm2015/lib/components/ndf-tabs/tab.type.js +1 -1
  452. package/esm2015/lib/components/ndf-uploader/components/bottom-sheet/ndf-uploader-bottom-sheet.component.js +2 -2
  453. package/esm2015/lib/components/ndf-uploader/components/index.js +1 -1
  454. package/esm2015/lib/components/ndf-uploader/config/index.js +1 -1
  455. package/esm2015/lib/components/ndf-uploader/config/uploader.config.js +1 -1
  456. package/esm2015/lib/components/ndf-uploader/constant/file-content.js +1 -1
  457. package/esm2015/lib/components/ndf-uploader/constant/index.js +1 -1
  458. package/esm2015/lib/components/ndf-uploader/helpers/index.js +1 -1
  459. package/esm2015/lib/components/ndf-uploader/helpers/uploader.helper.js +1 -1
  460. package/esm2015/lib/components/ndf-uploader/index.js +1 -1
  461. package/esm2015/lib/components/ndf-uploader/models/batch.model.js +1 -1
  462. package/esm2015/lib/components/ndf-uploader/models/index.js +1 -1
  463. package/esm2015/lib/components/ndf-uploader/models/ndf-file.model.js +1 -1
  464. package/esm2015/lib/components/ndf-uploader/models/provider.model.js +1 -1
  465. package/esm2015/lib/components/ndf-uploader/ndf-uploader-bottom-sheet.service.js +1 -1
  466. package/esm2015/lib/components/ndf-uploader/ndf-uploader.module.js +1 -1
  467. package/esm2015/lib/components/ndf-uploader/ndf-uploader.service.js +1 -1
  468. package/esm2015/lib/components/ndf-uploader/providers/index.js +1 -1
  469. package/esm2015/lib/components/ndf-uploader/providers/nuxeo-provider.service.js +1 -1
  470. package/esm2015/lib/components/ndf-uploader/providers/s3-provider.service.js +1 -1
  471. package/esm2015/lib/components/no-data-found/index.js +1 -1
  472. package/esm2015/lib/components/no-data-found/no-data-found.component.js +1 -1
  473. package/esm2015/lib/components/no-data-found/no-data.module.js +1 -1
  474. package/esm2015/lib/components/notifications/components/base-list-notfications.component.js +1 -1
  475. package/esm2015/lib/components/notifications/components/base-notifications.component.js +1 -1
  476. package/esm2015/lib/components/notifications/components/index.js +1 -1
  477. package/esm2015/lib/components/notifications/components/notification-item/get-icon.pipe.js +1 -1
  478. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +2 -2
  479. package/esm2015/lib/components/notifications/components/notification-sortby-toggle/notification-sortby-toggle.component.js +2 -2
  480. package/esm2015/lib/components/notifications/components/notification-source-select/notification-source-select.component.js +2 -2
  481. package/esm2015/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.js +2 -2
  482. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +2 -2
  483. package/esm2015/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.js +2 -2
  484. package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +2 -2
  485. package/esm2015/lib/components/notifications/components/notifications-list/options.js +1 -1
  486. package/esm2015/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.js +2 -2
  487. package/esm2015/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.js +1 -1
  488. package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.js +1 -1
  489. package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.component.js +2 -2
  490. package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.js +1 -1
  491. package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.js +1 -1
  492. package/esm2015/lib/components/notifications/constants/date.js +1 -1
  493. package/esm2015/lib/components/notifications/constants/index.js +1 -1
  494. package/esm2015/lib/components/notifications/constants/pagination.js +1 -1
  495. package/esm2015/lib/components/notifications/constants/panel.js +1 -1
  496. package/esm2015/lib/components/notifications/constants/status.js +1 -1
  497. package/esm2015/lib/components/notifications/containers/index.js +1 -1
  498. package/esm2015/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.js +2 -2
  499. package/esm2015/lib/components/notifications/containers/notifications-list-container/options.js +1 -1
  500. package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +1 -1
  501. package/esm2015/lib/components/notifications/directives/button.directive.js +1 -1
  502. package/esm2015/lib/components/notifications/directives/index.js +1 -1
  503. package/esm2015/lib/components/notifications/directives/notification.directive.js +1 -1
  504. package/esm2015/lib/components/notifications/index.js +1 -1
  505. package/esm2015/lib/components/notifications/models/common.js +1 -1
  506. package/esm2015/lib/components/notifications/models/index.js +1 -1
  507. package/esm2015/lib/components/notifications/models/notification-definition.model.js +1 -1
  508. package/esm2015/lib/components/notifications/models/notification-message.mode.js +1 -1
  509. package/esm2015/lib/components/notifications/models/notification-options.js +1 -1
  510. package/esm2015/lib/components/notifications/models/notification-setting.presenter.js +1 -1
  511. package/esm2015/lib/components/notifications/models/notification-subscription.model.js +1 -1
  512. package/esm2015/lib/components/notifications/models/notification.model.js +1 -1
  513. package/esm2015/lib/components/notifications/models/notifications-list-options.js +1 -1
  514. package/esm2015/lib/components/notifications/models/paging-response.model.js +1 -1
  515. package/esm2015/lib/components/notifications/models/params.model.js +1 -1
  516. package/esm2015/lib/components/notifications/models/vocabularies.js +1 -1
  517. package/esm2015/lib/components/notifications/notifications.module.js +1 -1
  518. package/esm2015/lib/components/notifications/public-api.js +1 -1
  519. package/esm2015/lib/components/notifications/services/index.js +1 -1
  520. package/esm2015/lib/components/notifications/services/listener.service.js +1 -1
  521. package/esm2015/lib/components/notifications/services/notifications.service.js +1 -1
  522. package/esm2015/lib/components/notifications/services/params.service.js +1 -1
  523. package/esm2015/lib/components/notifications/services/response.service.js +1 -1
  524. package/esm2015/lib/components/notifications/services/socket.service.js +1 -1
  525. package/esm2015/lib/components/notifications/utilities/index.js +1 -1
  526. package/esm2015/lib/components/notifications/utilities/response.adapter.js +1 -1
  527. package/esm2015/lib/components/pagination/pagination/pagination.component.js +1 -1
  528. package/esm2015/lib/components/pagination/pagination.module.js +1 -1
  529. package/esm2015/lib/components/pdf-tron/directives/index.js +1 -1
  530. package/esm2015/lib/components/pdf-tron/directives/ndf-tron-extract-text.directive.js +1 -1
  531. package/esm2015/lib/components/pdf-tron/models/index.js +1 -1
  532. package/esm2015/lib/components/pdf-tron/models/tron.model.js +1 -1
  533. package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +1 -1
  534. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +1 -1
  535. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +1 -1
  536. package/esm2015/lib/components/pdf-tron/pdftron/silent-pdftron.service.js +1 -1
  537. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +2 -2
  538. package/esm2015/lib/components/permissions/permission.service.js +1 -1
  539. package/esm2015/lib/components/permissions/permissions/permissions.component.js +1 -1
  540. package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +1 -1
  541. package/esm2015/lib/components/permissions/permissions.module.js +1 -1
  542. package/esm2015/lib/components/reports/chart-panel.js +1 -1
  543. package/esm2015/lib/components/reports/charts/chart.const.js +1 -1
  544. package/esm2015/lib/components/reports/charts/chart.token.js +1 -1
  545. package/esm2015/lib/components/reports/charts/charts.module.js +1 -1
  546. package/esm2015/lib/components/reports/charts/components/base-chart.component.js +1 -1
  547. package/esm2015/lib/components/reports/charts/components/chart.component.js +1 -1
  548. package/esm2015/lib/components/reports/charts/components/data-chart.component.js +1 -1
  549. package/esm2015/lib/components/reports/charts/components/index.js +1 -1
  550. package/esm2015/lib/components/reports/charts/defaults/bar.js +1 -1
  551. package/esm2015/lib/components/reports/charts/defaults/doughnut.js +1 -1
  552. package/esm2015/lib/components/reports/charts/defaults/index.js +1 -1
  553. package/esm2015/lib/components/reports/charts/defaults/line.js +1 -1
  554. package/esm2015/lib/components/reports/charts/defaults/pie.js +1 -1
  555. package/esm2015/lib/components/reports/charts/index.js +1 -1
  556. package/esm2015/lib/components/reports/charts/models/index.js +1 -1
  557. package/esm2015/lib/components/reports/charts/models/options.js +1 -1
  558. package/esm2015/lib/components/reports/charts/models/plugins-options.js +1 -1
  559. package/esm2015/lib/components/reports/charts/models/response.js +1 -1
  560. package/esm2015/lib/components/reports/charts/models/statistic-request-config.js +1 -1
  561. package/esm2015/lib/components/reports/charts/plugins/data-labels.js +1 -1
  562. package/esm2015/lib/components/reports/charts/plugins/doughnut-center-text.js +1 -1
  563. package/esm2015/lib/components/reports/charts/plugins/doughnut-empty-state.js +1 -1
  564. package/esm2015/lib/components/reports/charts/plugins/index.js +1 -1
  565. package/esm2015/lib/components/reports/charts/plugins/legend-margin.js +1 -1
  566. package/esm2015/lib/components/reports/charts/plugins/scrollable-legends.js +1 -1
  567. package/esm2015/lib/components/reports/charts/public-api.js +1 -1
  568. package/esm2015/lib/components/reports/charts/services/index.js +1 -1
  569. package/esm2015/lib/components/reports/charts/services/statistic.service.js +1 -1
  570. package/esm2015/lib/components/reports/charts/utility/colors.js +1 -1
  571. package/esm2015/lib/components/reports/charts/utility/common.js +1 -1
  572. package/esm2015/lib/components/reports/charts/utility/css.js +1 -1
  573. package/esm2015/lib/components/reports/charts/utility/index.js +1 -1
  574. package/esm2015/lib/components/reports/index.js +1 -1
  575. package/esm2015/lib/components/reports/ndf-reports/base/base-chart.js +1 -1
  576. package/esm2015/lib/components/reports/ndf-reports/base/base-custom-report.js +1 -1
  577. package/esm2015/lib/components/reports/ndf-reports/base/base-graph.report.js +1 -1
  578. package/esm2015/lib/components/reports/ndf-reports/base/base-report.js +1 -1
  579. package/esm2015/lib/components/reports/ndf-reports/base/index.js +1 -1
  580. package/esm2015/lib/components/reports/ndf-reports/charts-components/custom-chart/custom-chart.component.js +1 -1
  581. package/esm2015/lib/components/reports/ndf-reports/charts-components/digit-chart/digit-chart.component.js +1 -1
  582. package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.js +1 -1
  583. package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.service.js +1 -1
  584. package/esm2015/lib/components/reports/ndf-reports/charts-components/index.js +1 -1
  585. package/esm2015/lib/components/reports/ndf-reports/components/_parts/chart-type-selector/chart-type-selector.component.js +2 -2
  586. package/esm2015/lib/components/reports/ndf-reports/components/_parts/custom-chart-dialog/custom-chart-dialog.component.js +2 -2
  587. package/esm2015/lib/components/reports/ndf-reports/components/_parts/graph-dialog/graph-dialog.component.js +2 -2
  588. package/esm2015/lib/components/reports/ndf-reports/components/_parts/index.js +1 -1
  589. package/esm2015/lib/components/reports/ndf-reports/components/_parts/report-actions/report-actions.component.js +2 -2
  590. package/esm2015/lib/components/reports/ndf-reports/components/_parts/time-group-selector/time-group-selector.component.js +1 -1
  591. package/esm2015/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.js +2 -2
  592. package/esm2015/lib/components/reports/ndf-reports/components/custom-report/custom-report.component.js +2 -2
  593. package/esm2015/lib/components/reports/ndf-reports/components/digit-report/digit-report.component.js +1 -1
  594. package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +2 -2
  595. package/esm2015/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.js +2 -2
  596. package/esm2015/lib/components/reports/ndf-reports/components/index.js +1 -1
  597. package/esm2015/lib/components/reports/ndf-reports/constants/charts-types.js +1 -1
  598. package/esm2015/lib/components/reports/ndf-reports/constants/index.js +1 -1
  599. package/esm2015/lib/components/reports/ndf-reports/constants/time-group.js +1 -1
  600. package/esm2015/lib/components/reports/ndf-reports/containers/index.js +1 -1
  601. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +1 -1
  602. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +1 -1
  603. package/esm2015/lib/components/reports/ndf-reports/directives/index.js +1 -1
  604. package/esm2015/lib/components/reports/ndf-reports/directives/scrollable-div.directive.js +1 -1
  605. package/esm2015/lib/components/reports/ndf-reports/index.js +1 -1
  606. package/esm2015/lib/components/reports/ndf-reports/models/base.js +1 -1
  607. package/esm2015/lib/components/reports/ndf-reports/models/common.js +1 -1
  608. package/esm2015/lib/components/reports/ndf-reports/models/custom-definition.js +1 -1
  609. package/esm2015/lib/components/reports/ndf-reports/models/details.js +1 -1
  610. package/esm2015/lib/components/reports/ndf-reports/models/dialog-data.js +1 -1
  611. package/esm2015/lib/components/reports/ndf-reports/models/digit.js +1 -1
  612. package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
  613. package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +1 -1
  614. package/esm2015/lib/components/reports/ndf-reports/models/index.js +1 -1
  615. package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
  616. package/esm2015/lib/components/reports/ndf-reports/models/report-config.js +1 -1
  617. package/esm2015/lib/components/reports/ndf-reports/models/report-data-source.js +1 -1
  618. package/esm2015/lib/components/reports/ndf-reports/models/report-response.model.js +1 -1
  619. package/esm2015/lib/components/reports/ndf-reports/models/request.js +1 -1
  620. package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +1 -1
  621. package/esm2015/lib/components/reports/ndf-reports/options/doughnut.js +1 -1
  622. package/esm2015/lib/components/reports/ndf-reports/options/horizontal-bar.js +1 -1
  623. package/esm2015/lib/components/reports/ndf-reports/options/index.js +1 -1
  624. package/esm2015/lib/components/reports/ndf-reports/options/line.js +1 -1
  625. package/esm2015/lib/components/reports/ndf-reports/options/pie.js +1 -1
  626. package/esm2015/lib/components/reports/ndf-reports/options/vertical-bar.js +1 -1
  627. package/esm2015/lib/components/reports/ndf-reports/public-api.js +1 -1
  628. package/esm2015/lib/components/reports/ndf-reports/services/base-chart-builder.service.js +1 -1
  629. package/esm2015/lib/components/reports/ndf-reports/services/chart-callbacks-register.services.js +1 -1
  630. package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +1 -1
  631. package/esm2015/lib/components/reports/ndf-reports/services/chart-manager.service.js +1 -1
  632. package/esm2015/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.js +1 -1
  633. package/esm2015/lib/components/reports/ndf-reports/services/chart-theme.service.js +1 -1
  634. package/esm2015/lib/components/reports/ndf-reports/services/custom-reports-registry.service.js +1 -1
  635. package/esm2015/lib/components/reports/ndf-reports/services/digit-chart.service.js +1 -1
  636. package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +1 -1
  637. package/esm2015/lib/components/reports/ndf-reports/services/index.js +1 -1
  638. package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +1 -1
  639. package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +1 -1
  640. package/esm2015/lib/components/reports/ndf-reports/services/report-configuration.service.js +1 -1
  641. package/esm2015/lib/components/reports/ndf-reports/services/report-transform.service.js +1 -1
  642. package/esm2015/lib/components/reports/ndf-reports/services/reports-data-transformers.service.js +1 -1
  643. package/esm2015/lib/components/reports/ndf-reports/services/reports-dialog.service.js +1 -1
  644. package/esm2015/lib/components/reports/ndf-reports/services/reports-state.service.js +1 -1
  645. package/esm2015/lib/components/reports/ndf-reports/utilities/dataset-colors.js +1 -1
  646. package/esm2015/lib/components/reports/ndf-reports/utilities/index.js +1 -1
  647. package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +1 -1
  648. package/esm2015/lib/components/select/select/select.component.js +1 -1
  649. package/esm2015/lib/components/select/select.module.js +1 -1
  650. package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +1 -1
  651. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +1 -1
  652. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +1 -1
  653. package/esm2015/lib/components/skeleton/index.js +1 -1
  654. package/esm2015/lib/components/skeleton/skeleton.component.js +1 -1
  655. package/esm2015/lib/components/skeleton/skeleton.module.js +1 -1
  656. package/esm2015/lib/components/skeleton/table-skeleton.component.js +1 -1
  657. package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
  658. package/esm2015/lib/components/spell-checker-field/spell-checker-text-field/spell-checker-text-field.component.js +1 -1
  659. package/esm2015/lib/components/tables/dynamic-table/directives/empty-state.directive.js +1 -1
  660. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +1 -1
  661. package/esm2015/lib/components/tables/dynamic-table/dynamic-table.module.js +1 -1
  662. package/esm2015/lib/components/tables/dynamic-table/index.js +1 -1
  663. package/esm2015/lib/components/tables/dynamic-table/public-api.js +1 -1
  664. package/esm2015/lib/components/tables/dynamic-table/services/dynamic-table.service.js +1 -1
  665. package/esm2015/lib/components/tables/index.js +1 -1
  666. package/esm2015/lib/components/tables/ndf-table/components/index.js +1 -1
  667. package/esm2015/lib/components/tables/ndf-table/components/mode-toggler/mode-toggler.component.js +1 -1
  668. package/esm2015/lib/components/tables/ndf-table/components/sorting-list/sorting-list.component.js +2 -2
  669. package/esm2015/lib/components/tables/ndf-table/components/table-columns-toggler/table-columns-toggler.component.js +2 -2
  670. package/esm2015/lib/components/tables/ndf-table/components/table-export/table-export.component.js +2 -2
  671. package/esm2015/lib/components/tables/ndf-table/components/text-search/text-search.component.js +1 -1
  672. package/esm2015/lib/components/tables/ndf-table/constants/index.js +1 -1
  673. package/esm2015/lib/components/tables/ndf-table/constants/sizes.js +1 -1
  674. package/esm2015/lib/components/tables/ndf-table/containers/index.js +1 -1
  675. package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +1 -1
  676. package/esm2015/lib/components/tables/ndf-table/directives/actions.directive.js +1 -1
  677. package/esm2015/lib/components/tables/ndf-table/directives/filter-custom.directive.js +1 -1
  678. package/esm2015/lib/components/tables/ndf-table/directives/index.js +1 -1
  679. package/esm2015/lib/components/tables/ndf-table/directives/search.directive.js +1 -1
  680. package/esm2015/lib/components/tables/ndf-table/index.js +1 -1
  681. package/esm2015/lib/components/tables/ndf-table/models/index.js +1 -1
  682. package/esm2015/lib/components/tables/ndf-table/models/payload-types.js +1 -1
  683. package/esm2015/lib/components/tables/ndf-table/models/search.config.js +1 -1
  684. package/esm2015/lib/components/tables/ndf-table/models/table-column.js +1 -1
  685. package/esm2015/lib/components/tables/ndf-table/models/table-config.js +1 -1
  686. package/esm2015/lib/components/tables/ndf-table/models/table-mode.js +1 -1
  687. package/esm2015/lib/components/tables/ndf-table/models/table-options.js +1 -1
  688. package/esm2015/lib/components/tables/ndf-table/models/types.js +1 -1
  689. package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +1 -1
  690. package/esm2015/lib/components/tables/ndf-table/public-api.js +1 -1
  691. package/esm2015/lib/components/tables/ndf-table/services/index.js +1 -1
  692. package/esm2015/lib/components/tables/ndf-table/services/ndf-table-configuration.service.js +1 -1
  693. package/esm2015/lib/components/tables/ndf-table/services/ndf-table.service.js +1 -1
  694. package/esm2015/lib/components/tables/public-api.js +1 -1
  695. package/esm2015/lib/components/tables/table/dynamic-column/dynamic-column.component.js +1 -1
  696. package/esm2015/lib/components/tables/table/dynamic-component.js +1 -1
  697. package/esm2015/lib/components/tables/table/index.js +1 -1
  698. package/esm2015/lib/components/tables/table/page-sizes-list/page-sizes-list.component.js +1 -1
  699. package/esm2015/lib/components/tables/table/public-api.js +1 -1
  700. package/esm2015/lib/components/tables/table/table/table.component.js +2 -2
  701. package/esm2015/lib/components/tables/table/table.module.js +1 -1
  702. package/esm2015/lib/components/toasts/components/notification-toast/notification-toast.component.js +1 -1
  703. package/esm2015/lib/components/toasts/index.js +1 -1
  704. package/esm2015/lib/components/toasts/public-api.js +1 -1
  705. package/esm2015/lib/components/toasts/toasts.module.js +1 -1
  706. package/esm2015/lib/components/user/user/user.component.js +1 -1
  707. package/esm2015/lib/components/user/user.module.js +1 -1
  708. package/esm2015/lib/components/users-card/users-card.component.js +2 -2
  709. package/esm2015/lib/components/users-card/users-card.module.js +1 -1
  710. package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +1 -1
  711. package/esm2015/lib/components/viewer-log/viewer-log.module.js +1 -1
  712. package/esm2015/lib/components/vocabulary/interfaces/op-type.interface.js +1 -1
  713. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +1 -1
  714. package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +1 -1
  715. package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +1 -1
  716. package/esm2015/lib/components/vocabulary/vocabulary.module.js +1 -1
  717. package/esm2015/lib/configuration/app-config.service.js +1 -1
  718. package/esm2015/lib/configuration/helpers/app-initializer.js +1 -1
  719. package/esm2015/lib/core/adapters/adapter.service.js +1 -1
  720. package/esm2015/lib/core/core.module.js +1 -1
  721. package/esm2015/lib/core/enums/language.enum.js +1 -1
  722. package/esm2015/lib/core/env/env-manager.js +1 -1
  723. package/esm2015/lib/core/env/index.js +1 -1
  724. package/esm2015/lib/core/models/api-response.model.js +1 -1
  725. package/esm2015/lib/core/models/automation-response.model.js +1 -1
  726. package/esm2015/lib/core/models/base-response.models.js +1 -1
  727. package/esm2015/lib/core/models/component.model.js +1 -1
  728. package/esm2015/lib/core/models/index.js +1 -1
  729. package/esm2015/lib/core/services/callApi/call-api.service.js +4 -1
  730. package/esm2015/lib/core/services/column-renderer/column-renderer-registry.service.js +1 -1
  731. package/esm2015/lib/core/services/column-renderer/index.js +1 -1
  732. package/esm2015/lib/core/services/extension/action.extensions.js +1 -1
  733. package/esm2015/lib/core/services/extension/component-register.service.js +1 -1
  734. package/esm2015/lib/core/services/extension/extenion-utils.js +1 -1
  735. package/esm2015/lib/core/services/extension/extension-element.js +1 -1
  736. package/esm2015/lib/core/services/extension/extension-loader.service.js +1 -1
  737. package/esm2015/lib/core/services/extension/extension.service.js +1 -1
  738. package/esm2015/lib/core/services/index.js +1 -1
  739. package/esm2015/lib/core/services/initialization/initialization.service.js +1 -1
  740. package/esm2015/lib/core/services/localStorag/local-storag.service.js +1 -1
  741. package/esm2015/lib/core/services/ndf-transform.service.js +1 -1
  742. package/esm2015/lib/core/services/nuxeo/new-nuxeo-overide.js +1 -1
  743. package/esm2015/lib/core/services/nuxeo/nuxeo-override.js +1 -1
  744. package/esm2015/lib/core/services/nuxeo/nuxeo.service.js +1 -1
  745. package/esm2015/lib/core/services/roles/roles.service.js +1 -1
  746. package/esm2015/lib/core/services/translation/translate-loader.service.js +1 -1
  747. package/esm2015/lib/core/services/translation/translation.service.js +1 -1
  748. package/esm2015/lib/core/services/user/user-preferences.service.js +1 -1
  749. package/esm2015/lib/core/tokens/index.js +1 -1
  750. package/esm2015/lib/core/tokens/project.token.js +1 -1
  751. package/esm2015/lib/core/utilities/moment-date-adapter.js +1 -1
  752. package/esm2015/lib/core/utilities/utility.service.js +1 -1
  753. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +1 -1
  754. package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +1 -1
  755. package/esm2015/lib/directive/directive.module.js +1 -1
  756. package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +1 -1
  757. package/esm2015/lib/directive/permissions/evaluators.service.js +1 -1
  758. package/esm2015/lib/directive/permissions/permissions.directive.js +1 -1
  759. package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +1 -1
  760. package/esm2015/lib/directive/rtl/set-rtl.directive.js +1 -1
  761. package/esm2015/lib/nuxeo-development-framework.component.js +1 -1
  762. package/esm2015/lib/nuxeo-development-framework.module.js +1 -1
  763. package/esm2015/lib/nuxeo-development-framework.service.js +1 -1
  764. package/esm2015/lib/pipes/file-size.pipe.js +1 -1
  765. package/esm2015/lib/pipes/hijri-date.pipe.js +1 -1
  766. package/esm2015/lib/pipes/localized-date.pipe.js +1 -1
  767. package/esm2015/lib/pipes/multi-value.pipe.js +1 -1
  768. package/esm2015/lib/pipes/pipes.module.js +1 -1
  769. package/esm2015/lib/pipes/secure-html.pipe.js +1 -1
  770. package/esm2015/lib/pipes/secure.pipe.js +1 -1
  771. package/esm2015/lib/pipes/time-ago.pipe.js +1 -1
  772. package/esm2015/lib/shared/components/base/base-column.component.js +1 -1
  773. package/esm2015/lib/shared/components/base/base-dialog.component.js +1 -1
  774. package/esm2015/lib/shared/components/base/base-selector.component.js +1 -1
  775. package/esm2015/lib/shared/components/base/base.component.js +1 -1
  776. package/esm2015/lib/shared/components/base/destroy.subject.js +1 -1
  777. package/esm2015/lib/shared/components/base/index.js +1 -1
  778. package/esm2015/lib/shared/components/button/button.component.js +1 -1
  779. package/esm2015/lib/shared/components/general-notification-popup/general-notification-popup.component.js +2 -2
  780. package/esm2015/lib/shared/components/index.js +1 -1
  781. package/esm2015/lib/shared/components/item-list/item-list.component.js +2 -2
  782. package/esm2015/lib/shared/components/no-data/no-data.component.js +1 -1
  783. package/esm2015/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.js +1 -1
  784. package/esm2015/lib/shared/components/nuxeo-dialog/index.js +1 -1
  785. package/esm2015/lib/shared/components/nuxeo-dialog/models/confirm-options.model.js +1 -1
  786. package/esm2015/lib/shared/components/nuxeo-dialog/models/dialog-option.model.js +1 -1
  787. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.js +1 -1
  788. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +2 -2
  789. package/esm2015/lib/shared/components/nuxeo-dialog/services/nuxeo-dialog.service.js +1 -1
  790. package/esm2015/lib/shared/components/read-more/read-more.component.js +1 -1
  791. package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +1 -1
  792. package/esm2015/lib/shared/components/spinner/spinner.component.js +1 -1
  793. package/esm2015/lib/shared/components/user-card/user-card.component.js +1 -1
  794. package/esm2015/lib/shared/constants/editor-config-type.js +1 -1
  795. package/esm2015/lib/shared/constants/index.js +1 -1
  796. package/esm2015/lib/shared/directives/copy-to-clipboard.directive.js +1 -1
  797. package/esm2015/lib/shared/directives/element-height.directive.js +1 -1
  798. package/esm2015/lib/shared/directives/fluid-height.directive.js +1 -1
  799. package/esm2015/lib/shared/directives/index.js +1 -1
  800. package/esm2015/lib/shared/evaluator/evaluator.js +1 -1
  801. package/esm2015/lib/shared/evaluator/index.js +1 -1
  802. package/esm2015/lib/shared/evaluator/types.js +1 -1
  803. package/esm2015/lib/shared/index.js +1 -1
  804. package/esm2015/lib/shared/libraryShared.module.js +1 -1
  805. package/esm2015/lib/shared/models/index.js +1 -1
  806. package/esm2015/lib/shared/models/mapper/index.js +1 -1
  807. package/esm2015/lib/shared/models/mapper/nuxeo-mapper.js +1 -1
  808. package/esm2015/lib/shared/models/ndf-request.model.js +1 -1
  809. package/esm2015/lib/shared/models/nuxeo-response.model.js +1 -1
  810. package/esm2015/lib/shared/models/task.model.js +1 -1
  811. package/esm2015/lib/shared/models/type-helpers.js +1 -1
  812. package/esm2015/lib/shared/services/base/base-editor-config.service.js +1 -1
  813. package/esm2015/lib/shared/services/base/base.service.js +1 -1
  814. package/esm2015/lib/shared/services/base/cache-base.service.js +1 -1
  815. package/esm2015/lib/shared/services/base/config/default-ttl-config.js +1 -1
  816. package/esm2015/lib/shared/services/base/config/index.js +1 -1
  817. package/esm2015/lib/shared/services/base/constants/default-cache-options.js +1 -1
  818. package/esm2015/lib/shared/services/base/constants/index.js +1 -1
  819. package/esm2015/lib/shared/services/base/http-base.service.js +1 -1
  820. package/esm2015/lib/shared/services/base/index.js +1 -1
  821. package/esm2015/lib/shared/services/base/models/cache-info-model.js +1 -1
  822. package/esm2015/lib/shared/services/base/models/http-options.model.js +1 -1
  823. package/esm2015/lib/shared/services/base/models/index.js +1 -1
  824. package/esm2015/lib/shared/services/base/models/operation-options.model.js +1 -1
  825. package/esm2015/lib/shared/services/base/models/query-options.model.js +1 -1
  826. package/esm2015/lib/shared/services/base/models/request-options.model.js +1 -1
  827. package/esm2015/lib/shared/services/index.js +1 -1
  828. package/esm2015/lib/shared-services/apis-errors-messages.service.js +1 -1
  829. package/esm2015/lib/shared-services/dialog-mangment.service.js +1 -1
  830. package/esm2015/lib/shared-services/dynamic-form.service.js +1 -1
  831. package/esm2015/lib/shared-services/file-manager.adapter.js +1 -1
  832. package/esm2015/lib/shared-services/file-manager.service.js +1 -1
  833. package/esm2015/lib/shared-services/global-admin.service.js +1 -1
  834. package/esm2015/lib/shared-services/global-pdftron.service.js +1 -1
  835. package/esm2015/lib/shared-services/mainfolder.service.js +1 -1
  836. package/esm2015/lib/shared-services/publishing-document.service.js +1 -1
  837. package/esm2015/lib/shared-services/recently-viewed.service.js +1 -1
  838. package/esm2015/lib/shared-services/shared-docs.service.js +1 -1
  839. package/esm2015/lib/shared-services/shared-services.module.js +1 -1
  840. package/esm2015/lib/shared-services/upload-file.service.js +1 -1
  841. package/esm2015/lib/shared-services/upload-managment.service.js +1 -1
  842. package/esm2015/lib/shared-services/user.service.js +1 -1
  843. package/esm2015/nuxeo-development-framework.js +1 -1
  844. package/esm2015/public-api.js +2 -1
  845. package/fesm2015/nuxeo-development-framework.js +773 -69
  846. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  847. package/lib/components/diagrams/components/custom-connection.component.d.ts +1 -1
  848. package/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.d.ts +0 -1
  849. package/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.d.ts +1 -1
  850. package/lib/components/ndf-signatures/emdha/dialogs/auth/emdha-auth.dialog.d.ts +18 -0
  851. package/lib/components/ndf-signatures/emdha/dialogs/index.d.ts +1 -0
  852. package/lib/components/ndf-signatures/emdha/index.d.ts +2 -0
  853. package/lib/components/ndf-signatures/emdha/services/emdha.service.d.ts +31 -0
  854. package/lib/components/ndf-signatures/emdha/services/index.d.ts +1 -0
  855. package/lib/components/ndf-signatures/index.d.ts +4 -0
  856. package/lib/components/ndf-signatures/ndf-signature-panel/ndf-signature-panel.component.d.ts +37 -0
  857. package/lib/components/ndf-signatures/ndf-signatures.module.d.ts +17 -0
  858. package/lib/components/ndf-signatures/services/index.d.ts +1 -0
  859. package/lib/components/ndf-signatures/services/signatures.service.d.ts +53 -0
  860. package/lib/components/reports/charts/components/base-chart.component.d.ts +1 -1
  861. package/lib/components/reports/ndf-reports/base/base-chart.d.ts +1 -1
  862. package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +17 -1
  863. package/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.d.ts +1 -1
  864. package/lib/components/reports/ndf-reports/services/base-chart-builder.service.d.ts +14 -14
  865. package/lib/components/tables/ndf-table/components/table-export/table-export.component.d.ts +1 -1
  866. package/lib/core/services/callApi/call-api.service.d.ts +1 -0
  867. package/lib/shared/components/nuxeo-dialog/models/dialog-option.model.d.ts +1 -0
  868. package/package.json +1 -1
  869. package/public-api.d.ts +1 -0
@@ -179,7 +179,7 @@ export class AddPermissionsDialogComponent extends BaseDialogComponent {
179
179
  }
180
180
  }
181
181
  AddPermissionsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddPermissionsDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.PermissionService }, { token: i3.CustomToastrService }, { token: i4.FormBuilder }, { token: i5.TranslationService }, { token: MAT_DIALOG_DATA }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
182
- AddPermissionsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddPermissionsDialogComponent, selector: "app-add-permissions-dialog", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ 'CREATE.createFile' | translate }}\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<form [formGroup]=\"permissionForm\" class=\"h-full\" SetRtl>\r\n\t\t\t<div class=\"flex flex-col h-full\">\r\n\t\t\t\t<div class=\"add-permsion-wrapper\">\r\n\t\t\t\t\t<span class=\"text-gray-900 text-lg\" *ngIf=\"state == 'update'\">\r\n\t\t\t\t\t\t{{ 'permission.edit_permission' | translate }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span class=\"text-gray-900 text-lg\" *ngIf=\"state !== 'update'\">\r\n\t\t\t\t\t\t{{ 'permission.add_new_permission' | translate }}\r\n\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t<div class=\"user-select mt-5\" *ngIf=\"state != 'update'\">\r\n\t\t\t\t\t\t<label class=\"text-base font-bold mb-0\">\r\n\t\t\t\t\t\t\t{{ 'permission.username' | translate }}\r\n\t\t\t\t\t\t\t<span class=\"text-danger\">*</span>\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<ng-select\r\n\t\t\t\t\t\t\t[items]=\"permissionService.departmentUsers\"\r\n\t\t\t\t\t\t\t[placeholder]=\"'permission.placeholder' | translate\"\r\n\t\t\t\t\t\t\t[multiple]=\"true\"\r\n\t\t\t\t\t\t\t[loading]=\"refreshUsers\"\r\n\t\t\t\t\t\t\tbindLabel=\"displayLabel\"\r\n\t\t\t\t\t\t\tbindValue=\"properties.username\"\r\n\t\t\t\t\t\t\tformControlName=\"users\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\r\n\t\t\t\t\t\t\t\t<div class=\"ng-option disabled\">\r\n\t\t\t\t\t\t\t\t\t{{ 'permission.ngSelect_resultNotFound' | translate }}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t<ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n\t\t\t\t\t\t\t\t<div class=\"flex flex-col h-full\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex flex-row\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex-0 w-8 h-8 rounded-full overflow-hidden\">\r\n\t\t\t\t\t\t\t\t\t\t\t<cts-avatar\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user]=\"{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tproperties: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfirstName: item.properties.firstName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlastName: item.properties.lastName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t</cts-avatar>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex flex-col pt-0 px-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t<span>{{ item.displayLabel }}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t>{{ item.properties.email }}-{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.properties.username\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}</span\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</ng-select>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"mt-3 rights-select\">\r\n\t\t\t\t\t\t<label class=\"text-base font-bold mb-0\">\r\n\t\t\t\t\t\t\t{{ 'permission.Rights' | translate }}\r\n\t\t\t\t\t\t\t<span class=\"text-danger\">*</span>\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<ng-select\r\n\t\t\t\t\t\t\t[items]=\"rights\"\r\n\t\t\t\t\t\t\t[placeholder]=\"'permission.rightsPlaceholder' | translate\"\r\n\t\t\t\t\t\t\tbindLabel=\"label\"\r\n\t\t\t\t\t\t\tbindValue=\"value\"\r\n\t\t\t\t\t\t\tformControlName=\"permission\"\r\n\t\t\t\t\t\t\t[(ngModel)]=\"editableRight\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</ng-select>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</form>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<button\r\n\t\t\t*ngIf=\"state != 'update'\"\r\n\t\t\t[disabled]=\"createAndAdd\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t\t(click)=\"dialog.executeAction(create, [permissionForm.value])\"\r\n\t\t>\r\n\t\t\t<span *ngIf=\"!creating; else loader\">{{\r\n\t\t\t\t'permission.create' | translate\r\n\t\t\t}}</span>\r\n\t\t</button>\r\n\t\t<button\r\n\t\t\tclass=\"submission-button\"\r\n\t\t\t(click)=\"dialog.executeAction(edit, [permissionForm.value])\"\r\n\t\t\t*ngIf=\"state == 'update'\"\r\n\t\t>\r\n\t\t\t<span *ngIf=\"!updating; else loader\">{{\r\n\t\t\t\t'permission.update' | translate\r\n\t\t\t}}</span>\r\n\t\t</button>\r\n\t\t<button\r\n\t\t\t*ngIf=\"state != 'update'\"\r\n\t\t\tclass=\"submission-button w-44\"\r\n\t\t\t(click)=\"\r\n\t\t\t\tdialog.executeAction(createandAddAnother, [\r\n\t\t\t\t\tpermissionForm,\r\n\t\t\t\t\tpermissionForm.value\r\n\t\t\t\t])\r\n\t\t\t\"\r\n\t\t>\r\n\t\t\t<span *ngIf=\"!createAndAdd; else loader\">{{\r\n\t\t\t\t'permission.createAndAdd' | translate\r\n\t\t\t}}</span>\r\n\t\t</button>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".form-radio{appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;user-select:none;flex-shrink:0;border-radius:100%;height:1em;width:1em;color:#4299e1;background-color:#fff;border-color:#e2e8f0;border-width:1px}.form-radio:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media not print{.form-radio::-ms-check{border-width:1px;color:transparent;background:inherit;border-color:inherit;border-radius:inherit}}.form-radio:focus{outline:none;box-shadow:0 0 0 3px #4299e180;border-color:#63b3ed}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container,.rights-select .ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important}.user-select .ng-select-container .ng-value-container,.rights-select .ng-select-container .ng-value-container{padding:unset!important}.user-select .ng-select-container .ng-value-container .ng-placeholder,.rights-select .ng-select-container .ng-value-container .ng-placeholder{font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value,.rights-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper,.rights-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input,.rights-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding-top:4px!important}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid blue;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#00f;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#00f}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}.add-permsion-wrapper{height:calc(100% - 50px);overflow:auto}\n"], components: [{ type: i6.NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "bodyClass", "loaderMode"] }, { type: i7.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i8.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.SetRtlDirective, selector: "[SetRtl]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.ɵl, selector: "[ng-notfound-tmp]" }, { type: i7.ɵf, selector: "[ng-option-tmp]" }], pipes: { "translate": i11.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
182
+ AddPermissionsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddPermissionsDialogComponent, selector: "app-add-permissions-dialog", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ 'CREATE.createFile' | translate }}\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<form [formGroup]=\"permissionForm\" class=\"h-full\" SetRtl>\r\n\t\t\t<div class=\"flex flex-col h-full\">\r\n\t\t\t\t<div class=\"add-permsion-wrapper\">\r\n\t\t\t\t\t<span class=\"text-gray-900 text-lg\" *ngIf=\"state == 'update'\">\r\n\t\t\t\t\t\t{{ 'permission.edit_permission' | translate }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span class=\"text-gray-900 text-lg\" *ngIf=\"state !== 'update'\">\r\n\t\t\t\t\t\t{{ 'permission.add_new_permission' | translate }}\r\n\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t<div class=\"user-select mt-5\" *ngIf=\"state != 'update'\">\r\n\t\t\t\t\t\t<label class=\"text-base font-bold mb-0\">\r\n\t\t\t\t\t\t\t{{ 'permission.username' | translate }}\r\n\t\t\t\t\t\t\t<span class=\"text-danger\">*</span>\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<ng-select\r\n\t\t\t\t\t\t\t[items]=\"permissionService.departmentUsers\"\r\n\t\t\t\t\t\t\t[placeholder]=\"'permission.placeholder' | translate\"\r\n\t\t\t\t\t\t\t[multiple]=\"true\"\r\n\t\t\t\t\t\t\t[loading]=\"refreshUsers\"\r\n\t\t\t\t\t\t\tbindLabel=\"displayLabel\"\r\n\t\t\t\t\t\t\tbindValue=\"properties.username\"\r\n\t\t\t\t\t\t\tformControlName=\"users\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\r\n\t\t\t\t\t\t\t\t<div class=\"ng-option disabled\">\r\n\t\t\t\t\t\t\t\t\t{{ 'permission.ngSelect_resultNotFound' | translate }}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t<ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n\t\t\t\t\t\t\t\t<div class=\"flex flex-col h-full\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex flex-row\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex-0 w-8 h-8 rounded-full overflow-hidden\">\r\n\t\t\t\t\t\t\t\t\t\t\t<cts-avatar\r\n\t\t\t\t\t\t\t\t\t\t\t\t[user]=\"{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tproperties: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfirstName: item.properties.firstName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlastName: item.properties.lastName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t</cts-avatar>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex flex-col pt-0 px-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t<span>{{ item.displayLabel }}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t>{{ item.properties.email }}-{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.properties.username\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}</span\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</ng-select>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"mt-3 rights-select\">\r\n\t\t\t\t\t\t<label class=\"text-base font-bold mb-0\">\r\n\t\t\t\t\t\t\t{{ 'permission.Rights' | translate }}\r\n\t\t\t\t\t\t\t<span class=\"text-danger\">*</span>\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<ng-select\r\n\t\t\t\t\t\t\t[items]=\"rights\"\r\n\t\t\t\t\t\t\t[placeholder]=\"'permission.rightsPlaceholder' | translate\"\r\n\t\t\t\t\t\t\tbindLabel=\"label\"\r\n\t\t\t\t\t\t\tbindValue=\"value\"\r\n\t\t\t\t\t\t\tformControlName=\"permission\"\r\n\t\t\t\t\t\t\t[(ngModel)]=\"editableRight\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</ng-select>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</form>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<button\r\n\t\t\t*ngIf=\"state != 'update'\"\r\n\t\t\t[disabled]=\"createAndAdd\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t\t(click)=\"dialog.executeAction(create, [permissionForm.value])\"\r\n\t\t>\r\n\t\t\t<span *ngIf=\"!creating; else loader\">{{\r\n\t\t\t\t'permission.create' | translate\r\n\t\t\t}}</span>\r\n\t\t</button>\r\n\t\t<button\r\n\t\t\tclass=\"submission-button\"\r\n\t\t\t(click)=\"dialog.executeAction(edit, [permissionForm.value])\"\r\n\t\t\t*ngIf=\"state == 'update'\"\r\n\t\t>\r\n\t\t\t<span *ngIf=\"!updating; else loader\">{{\r\n\t\t\t\t'permission.update' | translate\r\n\t\t\t}}</span>\r\n\t\t</button>\r\n\t\t<button\r\n\t\t\t*ngIf=\"state != 'update'\"\r\n\t\t\tclass=\"submission-button w-44\"\r\n\t\t\t(click)=\"\r\n\t\t\t\tdialog.executeAction(createandAddAnother, [\r\n\t\t\t\t\tpermissionForm,\r\n\t\t\t\t\tpermissionForm.value\r\n\t\t\t\t])\r\n\t\t\t\"\r\n\t\t>\r\n\t\t\t<span *ngIf=\"!createAndAdd; else loader\">{{\r\n\t\t\t\t'permission.createAndAdd' | translate\r\n\t\t\t}}</span>\r\n\t\t</button>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".form-radio{-webkit-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;user-select:none;flex-shrink:0;border-radius:100%;height:1em;width:1em;color:#4299e1;background-color:#fff;border-color:#e2e8f0;border-width:1px}.form-radio:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media not print{.form-radio::-ms-check{border-width:1px;color:transparent;background:inherit;border-color:inherit;border-radius:inherit}}.form-radio:focus{outline:none;box-shadow:0 0 0 3px #4299e180;border-color:#63b3ed}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container,.rights-select .ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important}.user-select .ng-select-container .ng-value-container,.rights-select .ng-select-container .ng-value-container{padding:unset!important}.user-select .ng-select-container .ng-value-container .ng-placeholder,.rights-select .ng-select-container .ng-value-container .ng-placeholder{font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value,.rights-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper,.rights-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input,.rights-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding-top:4px!important}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid blue;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#00f;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#00f}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}.add-permsion-wrapper{height:calc(100% - 50px);overflow:auto}\n"], components: [{ type: i6.NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "bodyClass", "loaderMode"] }, { type: i7.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i8.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.SetRtlDirective, selector: "[SetRtl]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.ɵl, selector: "[ng-notfound-tmp]" }, { type: i7.ɵf, selector: "[ng-option-tmp]" }], pipes: { "translate": i11.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
183
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddPermissionsDialogComponent, decorators: [{
184
184
  type: Component,
185
185
  args: [{
@@ -192,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
192
192
  type: Inject,
193
193
  args: [MAT_DIALOG_DATA]
194
194
  }] }, { type: i0.Injector }]; } });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFLTixpQkFBaUIsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVOLFdBQVcsRUFFWCxVQUFVLEVBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBSXhDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRTVGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVFyQyxNQUFNLE9BQU8sNkJBQ1osU0FBUSxtQkFBNEQ7SUFtQnBFLFlBQ1MsU0FBc0QsRUFDdkQsaUJBQW9DLEVBQ25DLGFBQWtDLEVBQ2xDLEVBQWUsRUFDZixTQUE2QixFQUNaLElBQUksRUFDN0IsUUFBa0I7O1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQVJSLGNBQVMsR0FBVCxTQUFTLENBQTZDO1FBQ3ZELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQXJCdEMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLE9BQUUsR0FBRyxJQUFJLENBQUM7UUFDVixjQUFTLEdBQUcsV0FBVyxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2IsYUFBUSxHQUFHLElBQUksQ0FBQztRQUloQixtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFFcEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBdURyQix3QkFBbUIsR0FBcUIsQ0FDdkMsY0FBYyxFQUNkLGFBQWtCLEVBQ2pCLEVBQUU7WUFDSCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO2dCQUNoQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoQjtpQkFBTTtnQkFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLGFBQWEsbUNBQ2QsYUFBYSxLQUNoQixVQUFVLEVBQUUsYUFBYSxDQUFDLFVBQVUsRUFDcEMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQzFCLEdBQUcsRUFBRSxPQUFPLEVBQ1osZ0JBQWdCLEVBQUUsSUFBSSxFQUN0QixNQUFNLEVBQUUsSUFBSSxHQUNaLENBQUM7Z0JBQ0YsT0FBTyxJQUFJLENBQUMsaUJBQWlCO3FCQUMzQixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUM7cUJBQ25ELElBQUksQ0FDSixHQUFHLENBQ0YsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDUCxJQUFJLEdBQUcsRUFBRTt3QkFDUixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDdEIsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQ0FBZ0MsQ0FDaEMsQ0FBQzt3QkFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ2xELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO3dCQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztxQkFDMUI7Z0JBQ0YsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ1AsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7b0JBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUN0QixPQUFPLEVBQ1AsZUFBZSxFQUNmLDZCQUE2QixDQUM3QixDQUFDO2dCQUNILENBQUMsQ0FDRCxDQUNELENBQUM7YUFDSDtRQUNGLENBQUMsQ0FBQztRQWtCRixXQUFNLEdBQXFCLENBQUMsYUFBa0IsRUFBRSxFQUFFO1lBQ2pEOzs7Ozs7O1VBT0k7WUFDSixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO2dCQUNoQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoQjtpQkFBTTtnQkFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsbUNBQ2QsYUFBYSxLQUNoQixVQUFVLEVBQUUsYUFBYSxDQUFDLFVBQVUsRUFDcEMsT0FBTyxFQUFFLEVBQUUsRUFDWCxLQUFLLEVBQUUsSUFBSSxFQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ1osQ0FBQztnQkFDRixPQUFPLElBQUksQ0FBQyxpQkFBaUI7cUJBQzNCLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQztxQkFDbkQsSUFBSSxDQUNKLEdBQUcsQ0FDRixDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNQLElBQUksR0FBRyxFQUFFO3dCQUNSLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUN0QixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGdDQUFnQyxDQUNoQyxDQUFDO3dCQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2xCO2dCQUNGLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO29CQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDdEIsT0FBTyxFQUNQLGVBQWUsRUFDZiw2QkFBNkIsQ0FDN0IsQ0FBQztnQkFDSCxDQUFDLENBQ0QsQ0FDRCxDQUFDO2FBQ0g7UUFDRixDQUFDLENBQUM7UUFFRixTQUFJLEdBQXFCLENBQUMsYUFBa0IsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzNELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxXQUFXLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDN0M7WUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO2dCQUNoQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoQjtpQkFBTTtnQkFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsbUNBQ2QsYUFBYSxLQUNoQixVQUFVLEVBQUUsYUFBYSxDQUFDLFVBQVUsRUFDcEMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQ3pCLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUNyQixPQUFPLEVBQUUsRUFBRSxFQUNYLEtBQUssRUFBRSxJQUFJLEVBQ1gsTUFBTSxFQUFFLEtBQUssRUFDYixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUMzQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FDZCxDQUFDO2dCQUNGLE9BQU8sSUFBSSxDQUFDLGlCQUFpQjtxQkFDM0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO3FCQUNqRCxJQUFJLENBQ0osR0FBRyxDQUNGLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ1AsSUFBSSxHQUFHLEVBQUU7d0JBQ1IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3RCLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsaUNBQWlDLENBQ2pDLENBQUM7d0JBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDbEI7Z0JBQ0YsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUN0QixPQUFPLEVBQ1AsZUFBZSxFQUNmLDhCQUE4QixDQUM5QixDQUFDO2dCQUNILENBQUMsQ0FDRCxDQUNELENBQUM7YUFDSDtRQUNGLENBQUMsQ0FBQztRQTFNRCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0QixJQUNDO2dCQUNDLFVBQVU7Z0JBQ1YsUUFBUTtnQkFDUixhQUFhO2dCQUNiLGNBQWM7Z0JBQ2QsYUFBYTtnQkFDYixvQkFBb0I7YUFDcEIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ1o7Z0JBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUM1QyxLQUFLLEVBQUUsQ0FBQztpQkFDUixDQUFDLENBQUM7YUFDSDtRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDO1FBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUNsQztZQUNDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDNUIsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQztZQUMxQixVQUFVLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDcEQsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQy9DLEVBQ0QsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUM5QixDQUFDO1FBQ0YseUhBQXlIO0lBQzFILENBQUM7SUFDRCxVQUFVLENBQUMsS0FBZ0I7UUFDMUIsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFnREQsZ0JBQWdCLENBQUMsS0FBSztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUM1QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDekIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUU7b0JBQ3pDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUN6QjtZQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQztRQUNqRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQWlHRCxNQUFNLENBQUMsTUFBTTtRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7OzJIQWhQVyw2QkFBNkIsK0tBMEJoQyxlQUFlOytHQTFCWiw2QkFBNkIseUZDL0IxQyx5OElBa0hBOzRGRG5GYSw2QkFBNkI7a0JBTnpDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsV0FBVyxFQUFFLHlDQUF5QztvQkFDdEQsU0FBUyxFQUFFLENBQUMseUNBQXlDLENBQUM7b0JBQ3RELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUNyQzs7MEJBMkJFLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdEluamVjdCxcclxuXHRJbmplY3RvcixcclxuXHRPbkRlc3Ryb3ksXHJcblx0T25Jbml0LFxyXG5cdFZpZXdDaGlsZCxcclxuXHRWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdEZvcm1CdWlsZGVyLFxyXG5cdEZvcm1Db250cm9sLFxyXG5cdEZvcm1Hcm91cCxcclxuXHRWYWxpZGF0b3JzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xyXG5pbXBvcnQgeyBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL2Jhc2UvYmFzZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWFkZC1wZXJtaXNzaW9ucy1kaWFsb2cnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9hZGQtcGVybWlzc2lvbnMtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9hZGQtcGVybWlzc2lvbnMtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnRcclxuXHRleHRlbmRzIEJhc2VEaWFsb2dDb21wb25lbnQ8QWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQsIGFueSwgYW55PlxyXG5cdGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcclxue1xyXG5cdHJpZ2h0cyA9IFtdO1xyXG5cdGlkID0gbnVsbDtcclxuXHR0aW1lRnJhbWUgPSAnUGVybWFuZW50JztcclxuXHRuZXdQZXJtaXNzaW9uID0ge307XHJcblx0c3RhdGUgPSBudWxsO1xyXG5cdGFjbElkID0gbnVsbDtcclxuXHR1c2VybmFtZSA9IG51bGw7XHJcblx0ZWRpdGFibGVSaWdodDsgLy90byBwYXNzIFJpZ2h0cyB0byBkaWFsb2cgaWYgd2UgYXJlIGluIHVwZGF0ZSBtb2RlXHJcblx0ZWRpdGFibGVCZWdpbjsgLy90byBwYXNzIGJlZ2luRGF0ZSB0byBkaWFsb2cgaWYgd2UgYXJlIGluIHVwZGF0ZSBtb2RlXHJcblx0ZWRpdGFibGVFbmQ7IC8vdG8gcGFzcyBlbmREYXRlIHRvIGRpYWxvZyBpZiB3ZSBhcmUgaW4gdXBkYXRlIG1vZGVcclxuXHRzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHRwZXJtaXNzaW9uRm9ybTogRm9ybUdyb3VwO1xyXG5cdGNyZWF0aW5nID0gZmFsc2U7XHJcblx0dXBkYXRpbmcgPSBmYWxzZTtcclxuXHRjcmVhdGVBbmRBZGQgPSBmYWxzZTtcclxuXHRyZWZyZXNoVXNlcnMgPSBmYWxzZTtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQ+LFxyXG5cdFx0cHVibGljIHBlcm1pc3Npb25TZXJ2aWNlOiBQZXJtaXNzaW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgdG9zdGVyU2VydmljZTogQ3VzdG9tVG9hc3RyU2VydmljZSxcclxuXHRcdHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG5cdFx0cHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0aW9uU2VydmljZSxcclxuXHRcdEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBkYXRhLFxyXG5cdFx0aW5qZWN0b3I6IEluamVjdG9yXHJcblx0KSB7XHJcblx0XHRzdXBlcihpbmplY3Rvcik7XHJcblx0XHR0aGlzLmlkID0gZGF0YS5pZDtcclxuXHRcdGRhdGEucmlnaHRzPy5tYXAoKGUpID0+IHtcclxuXHRcdFx0aWYgKFxyXG5cdFx0XHRcdFtcclxuXHRcdFx0XHRcdCdDb25zdW1lcicsXHJcblx0XHRcdFx0XHQnRWRpdG9yJyxcclxuXHRcdFx0XHRcdCdDb250cmlidXRvcicsXHJcblx0XHRcdFx0XHQnQ29sbGFib3JhdG9yJyxcclxuXHRcdFx0XHRcdCdDb29yZGluYXRvcicsXHJcblx0XHRcdFx0XHQnRG9jdW1lbnRDb250cm9sbGVyJ1xyXG5cdFx0XHRcdF0uaW5jbHVkZXMoZSlcclxuXHRcdFx0KSB7XHJcblx0XHRcdFx0dGhpcy5yaWdodHMucHVzaCh7XHJcblx0XHRcdFx0XHRsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgcmlnaHRzLiR7ZX1gKSxcclxuXHRcdFx0XHRcdHZhbHVlOiBlXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0dGhpcy5zdGF0ZSA9IGRhdGEuc3RhdGUgfHwgbnVsbDtcclxuXHRcdHRoaXMuYWNsSWQgPSBkYXRhLmFjbElkIHx8IG51bGw7XHJcblx0XHR0aGlzLnVzZXJuYW1lID0gZGF0YS51c2VybmFtZSB8fCBudWxsO1xyXG5cdFx0dGhpcy5lZGl0YWJsZVJpZ2h0ID0gZGF0YS5lZGl0YWJsZVJpZ2h0IHx8IG51bGw7XHJcblx0XHR0aGlzLmVkaXRhYmxlQmVnaW4gPSBkYXRhLmVkaXRhYmxlQmVnaW4gfHwgbnVsbDtcclxuXHRcdHRoaXMuZWRpdGFibGVFbmQgPSBkYXRhLmVkaXRhYmxlRW5kIHx8IG51bGw7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMucGVybWlzc2lvbkZvcm0gPSB0aGlzLmZiLmdyb3VwKFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0YmVnaW46IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuXHRcdFx0XHRlbmQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuXHRcdFx0XHRwZXJtaXNzaW9uOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG5cdFx0XHRcdHVzZXJzOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcblx0XHRcdH0sXHJcblx0XHRcdHsgdmFsaWRhdG9yOiB0aGlzLmNoZWNrRGF0ZXMgfVxyXG5cdFx0KTtcclxuXHRcdC8vKHRoaXMuZWRpdGFibGVCZWdpbiA9PSBudWxsICYmIHRoaXMuZWRpdGFibGVFbmQgPT0gbnVsbCkgPyB0aGlzLnRpbWVGcmFtZSA9ICdQZXJtYW5lbnQnIDogdGhpcy50aW1lRnJhbWUgPSAnRGF0ZS1CYXNlZCdcclxuXHR9XHJcblx0Y2hlY2tEYXRlcyhncm91cDogRm9ybUdyb3VwKSB7XHJcblx0XHRpZiAoZ3JvdXAuY29udHJvbHMuZW5kLnZhbHVlIDwgZ3JvdXAuY29udHJvbHMuYmVnaW4udmFsdWUpIHtcclxuXHRcdFx0cmV0dXJuIHsgbm90VmFsaWQ6IHRydWUgfTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBudWxsO1xyXG5cdH1cclxuXHRjcmVhdGVhbmRBZGRBbm90aGVyOiBEaWFsb2dBY3Rpb25UeXBlID0gKFxyXG5cdFx0cGVybWlzc2lvbkZvcm0sXHJcblx0XHRuZXdQZXJtaXNzaW9uOiBhbnlcclxuXHQpID0+IHtcclxuXHRcdGlmICh0aGlzLnBlcm1pc3Npb25Gb3JtLmludmFsaWQpIHtcclxuXHRcdFx0YWxlcnQodGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGVybWlzc2lvbi5GSUxMX1JFUVVJUkVEX0ZJRUxEJykpO1xyXG5cdFx0XHRyZXR1cm4gb2YobnVsbCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmNyZWF0ZUFuZEFkZCA9IHRydWU7XHJcblx0XHRcdHRoaXMubmV3UGVybWlzc2lvbiA9IHtcclxuXHRcdFx0XHQuLi5uZXdQZXJtaXNzaW9uLFxyXG5cdFx0XHRcdHBlcm1pc3Npb246IG5ld1Blcm1pc3Npb24ucGVybWlzc2lvbixcclxuXHRcdFx0XHR1c2VyczogbmV3UGVybWlzc2lvbi51c2VycyxcclxuXHRcdFx0XHRhY2w6ICdsb2NhbCcsXHJcblx0XHRcdFx0YmxvY2tJbmhlcml0YW5jZTogdHJ1ZSxcclxuXHRcdFx0XHRub3RpZnk6IHRydWVcclxuXHRcdFx0fTtcclxuXHRcdFx0cmV0dXJuIHRoaXMucGVybWlzc2lvblNlcnZpY2VcclxuXHRcdFx0XHQuYWRkTmV3TG9jYWxQZXJtaXNzaW9ucyh0aGlzLmlkLCB0aGlzLm5ld1Blcm1pc3Npb24pXHJcblx0XHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0XHR0YXAoXHJcblx0XHRcdFx0XHRcdChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0XHRcdFx0J3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5TVUNDRVNTJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0J1RPQVNURVIuQUREX1BFUk1JU1NJT05fU1VDQ0VTUydcclxuXHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmNyZWF0ZUFuZEFkZEFub3RoZXIuZW1pdCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoVXNlckFycmF5KG5ld1Blcm1pc3Npb24udXNlcnMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5wZXJtaXNzaW9uRm9ybS5yZXNldCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy50aW1lRnJhbWUgPSAnUGVybWFuZW50JztcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuY3JlYXRlQW5kQWRkID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHQoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jcmVhdGVBbmRBZGQgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5BRERfUEVSTUlTU0lPTl9GQUlMJ1xyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdClcclxuXHRcdFx0XHQpO1xyXG5cdFx0fVxyXG5cdH07XHJcblx0cmVmcmVzaFVzZXJBcnJheSh1c2Vycykge1xyXG5cdFx0dGhpcy5yZWZyZXNoVXNlcnMgPSB0cnVlO1xyXG5cdFx0bGV0IHRlbXBBcnIgPSBbXTtcclxuXHRcdHRlbXBBcnIucHVzaCguLi50aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2Vycyk7XHJcblx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IFtdO1xyXG5cdFx0dXNlcnMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG5cdFx0XHR0ZW1wQXJyLmZvckVhY2goKHVzZXIsIGluZGV4KSA9PiB7XHJcblx0XHRcdFx0aWYgKHVzZXIucHJvcGVydGllcy51c2VybmFtZSA9PT0gZWxlbWVudCkge1xyXG5cdFx0XHRcdFx0dGVtcEFyci5zcGxpY2UoaW5kZXgsIDEpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzID0gdGVtcEFycjtcclxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHR0aGlzLnJlZnJlc2hVc2VycyA9IGZhbHNlO1xyXG5cdFx0fSwgMjAwKTtcclxuXHR9XHJcblx0Y3JlYXRlOiBEaWFsb2dBY3Rpb25UeXBlID0gKG5ld1Blcm1pc3Npb246IGFueSkgPT4ge1xyXG5cdFx0LypcclxuICAgIG5ld1Blcm1pc3Npb24gPSB7XHJcbiAgICAgIGJlZ2luOm51bGwsXHJcbiAgICAgIGVuZDpudWxsLFxyXG4gICAgICBwZXJtaXNzaW9uOiBSZWFkLFJlYWRXcml0ZS4uLi5ldGMsXHJcbiAgICAgIHVzZXJzOltcImZtX3VzZXJcIl0uLi4uZXRjXHJcbiAgICB9XHJcbiAgICAqL1xyXG5cdFx0aWYgKHRoaXMucGVybWlzc2lvbkZvcm0uaW52YWxpZCkge1xyXG5cdFx0XHRhbGVydCh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdwZXJtaXNzaW9uLkZJTExfUkVRVUlSRURfRklFTEQnKSk7XHJcblx0XHRcdHJldHVybiBvZihudWxsKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuY3JlYXRpbmcgPSB0cnVlO1xyXG5cdFx0XHR0aGlzLm5ld1Blcm1pc3Npb24gPSB7XHJcblx0XHRcdFx0Li4ubmV3UGVybWlzc2lvbixcclxuXHRcdFx0XHRwZXJtaXNzaW9uOiBuZXdQZXJtaXNzaW9uLnBlcm1pc3Npb24sXHJcblx0XHRcdFx0Y29tbWVudDogJycsXHJcblx0XHRcdFx0ZW1haWw6IG51bGwsXHJcblx0XHRcdFx0bm90aWZ5OiB0cnVlXHJcblx0XHRcdH07XHJcblx0XHRcdHJldHVybiB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlXHJcblx0XHRcdFx0LmFkZE5ld0xvY2FsUGVybWlzc2lvbnModGhpcy5pZCwgdGhpcy5uZXdQZXJtaXNzaW9uKVxyXG5cdFx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdFx0dGFwKFxyXG5cdFx0XHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdFx0XHRcdCdzdWNjZXNzJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0J1RPQVNURVIuU1VDQ0VTUycsXHJcblx0XHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkFERF9QRVJNSVNTSU9OX1NVQ0NFU1MnXHJcblx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5jYW5jZWwodHJ1ZSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHQoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jcmVhdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkVSUk9SJyxcclxuXHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkFERF9QRVJNSVNTSU9OX0ZBSUwnXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0KVxyXG5cdFx0XHRcdCk7XHJcblx0XHR9XHJcblx0fTtcclxuXHJcblx0ZWRpdDogRGlhbG9nQWN0aW9uVHlwZSA9IChuZXdQZXJtaXNzaW9uOiBhbnkpID0+IHtcclxuXHRcdHRoaXMucGVybWlzc2lvbkZvcm0uZ2V0KCd1c2VycycpLnNldFZhbHVlKFt0aGlzLnVzZXJuYW1lXSk7XHJcblx0XHRpZiAodGhpcy50aW1lRnJhbWUgPT0gJ1Blcm1hbmVudCcpIHtcclxuXHRcdFx0dGhpcy5lZGl0YWJsZUJlZ2luID0gdGhpcy5lZGl0YWJsZUVuZCA9IG51bGw7XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5wZXJtaXNzaW9uRm9ybS5pbnZhbGlkKSB7XHJcblx0XHRcdGFsZXJ0KHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3Blcm1pc3Npb24uRklMTF9SRVFVSVJFRF9GSUVMRCcpKTtcclxuXHRcdFx0cmV0dXJuIG9mKG51bGwpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy51cGRhdGluZyA9IHRydWU7XHJcblx0XHRcdHRoaXMubmV3UGVybWlzc2lvbiA9IHtcclxuXHRcdFx0XHQuLi5uZXdQZXJtaXNzaW9uLFxyXG5cdFx0XHRcdHBlcm1pc3Npb246IG5ld1Blcm1pc3Npb24ucGVybWlzc2lvbixcclxuXHRcdFx0XHRiZWdpbjogdGhpcy5lZGl0YWJsZUJlZ2luLFxyXG5cdFx0XHRcdGVuZDogdGhpcy5lZGl0YWJsZUVuZCxcclxuXHRcdFx0XHRjb21tZW50OiAnJyxcclxuXHRcdFx0XHRlbWFpbDogbnVsbCxcclxuXHRcdFx0XHRub3RpZnk6IGZhbHNlLFxyXG5cdFx0XHRcdHVzZXJuYW1lOiB0aGlzLnVzZXJuYW1lLnByb3BlcnRpZXMudXNlcm5hbWUsXHJcblx0XHRcdFx0aWQ6IHRoaXMuYWNsSWRcclxuXHRcdFx0fTtcclxuXHRcdFx0cmV0dXJuIHRoaXMucGVybWlzc2lvblNlcnZpY2VcclxuXHRcdFx0XHQuZWRpdExvY2FsUGVybWlzc2lvbnModGhpcy5pZCwgdGhpcy5uZXdQZXJtaXNzaW9uKVxyXG5cdFx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdFx0dGFwKFxyXG5cdFx0XHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdFx0XHRcdCdzdWNjZXNzJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0J1RPQVNURVIuU1VDQ0VTUycsXHJcblx0XHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkVESVRfUEVSTUlTU0lPTl9TVUNDRVNTJ1xyXG5cdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuY2FuY2VsKHRydWUpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0KGVycikgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudXBkYXRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5FRElUX1BFUk1JU1NJT05fRkFJTCdcclxuXHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQpXHJcblx0XHRcdFx0KTtcclxuXHRcdH1cclxuXHR9O1xyXG5cclxuXHRjYW5jZWwocmVzdWx0KSB7XHJcblx0XHR0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbnMkLmZvckVhY2goKGUpID0+IGUudW5zdWJzY3JpYmUoKSk7XHJcblx0fVxyXG59XHJcbiIsIjxuZGYtbnV4ZW8tZGlhbG9nIGRpYWxvZ1RpdGxlPVwie3sgJ0NSRUFURS5jcmVhdGVGaWxlJyB8IHRyYW5zbGF0ZSB9fVwiPlxyXG5cdDxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxyXG5cdFx0PGZvcm0gW2Zvcm1Hcm91cF09XCJwZXJtaXNzaW9uRm9ybVwiIGNsYXNzPVwiaC1mdWxsXCIgU2V0UnRsPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBoLWZ1bGxcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYWRkLXBlcm1zaW9uLXdyYXBwZXJcIj5cclxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LWxnXCIgKm5nSWY9XCJzdGF0ZSA9PSAndXBkYXRlJ1wiPlxyXG5cdFx0XHRcdFx0XHR7eyAncGVybWlzc2lvbi5lZGl0X3Blcm1pc3Npb24nIHwgdHJhbnNsYXRlIH19XHJcblx0XHRcdFx0XHQ8L3NwYW4+XHJcblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRleHQtZ3JheS05MDAgdGV4dC1sZ1wiICpuZ0lmPVwic3RhdGUgIT09ICd1cGRhdGUnXCI+XHJcblx0XHRcdFx0XHRcdHt7ICdwZXJtaXNzaW9uLmFkZF9uZXdfcGVybWlzc2lvbicgfCB0cmFuc2xhdGUgfX1cclxuXHRcdFx0XHRcdDwvc3Bhbj5cclxuXHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidXNlci1zZWxlY3QgbXQtNVwiICpuZ0lmPVwic3RhdGUgIT0gJ3VwZGF0ZSdcIj5cclxuXHRcdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtYm9sZCBtYi0wXCI+XHJcblx0XHRcdFx0XHRcdFx0e3sgJ3Blcm1pc3Npb24udXNlcm5hbWUnIHwgdHJhbnNsYXRlIH19XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvbGFiZWw+XHJcblx0XHRcdFx0XHRcdDxuZy1zZWxlY3RcclxuXHRcdFx0XHRcdFx0XHRbaXRlbXNdPVwicGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzXCJcclxuXHRcdFx0XHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwiJ3Blcm1pc3Npb24ucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0XHRcdFx0XHRbbXVsdGlwbGVdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0W2xvYWRpbmddPVwicmVmcmVzaFVzZXJzXCJcclxuXHRcdFx0XHRcdFx0XHRiaW5kTGFiZWw9XCJkaXNwbGF5TGFiZWxcIlxyXG5cdFx0XHRcdFx0XHRcdGJpbmRWYWx1ZT1cInByb3BlcnRpZXMudXNlcm5hbWVcIlxyXG5cdFx0XHRcdFx0XHRcdGZvcm1Db250cm9sTmFtZT1cInVzZXJzXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZy1ub3Rmb3VuZC10bXAgbGV0LXNlYXJjaFRlcm09XCJzZWFyY2hUZXJtXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibmctb3B0aW9uIGRpc2FibGVkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdHt7ICdwZXJtaXNzaW9uLm5nU2VsZWN0X3Jlc3VsdE5vdEZvdW5kJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaC1mdWxsXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgtMCB3LTggaC04IHJvdW5kZWQtZnVsbCBvdmVyZmxvdy1oaWRkZW5cIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxjdHMtYXZhdGFyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt1c2VyXT1cIntcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0aWVzOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmaXJzdE5hbWU6IGl0ZW0ucHJvcGVydGllcy5maXJzdE5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsYXN0TmFtZTogaXRlbS5wcm9wZXJ0aWVzLmxhc3ROYW1lXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvY3RzLWF2YXRhcj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBwdC0wIHB4LTJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxzcGFuPnt7IGl0ZW0uZGlzcGxheUxhYmVsIH19PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHNwYW5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Pnt7IGl0ZW0ucHJvcGVydGllcy5lbWFpbCB9fS17e1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGl0ZW0ucHJvcGVydGllcy51c2VybmFtZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9fTwvc3BhblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHRcdDwvbmctc2VsZWN0PlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibXQtMyByaWdodHMtc2VsZWN0XCI+XHJcblx0XHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgbWItMFwiPlxyXG5cdFx0XHRcdFx0XHRcdHt7ICdwZXJtaXNzaW9uLlJpZ2h0cycgfCB0cmFuc2xhdGUgfX1cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC9sYWJlbD5cclxuXHRcdFx0XHRcdFx0PG5nLXNlbGVjdFxyXG5cdFx0XHRcdFx0XHRcdFtpdGVtc109XCJyaWdodHNcIlxyXG5cdFx0XHRcdFx0XHRcdFtwbGFjZWhvbGRlcl09XCIncGVybWlzc2lvbi5yaWdodHNQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFx0XHRcdGJpbmRMYWJlbD1cImxhYmVsXCJcclxuXHRcdFx0XHRcdFx0XHRiaW5kVmFsdWU9XCJ2YWx1ZVwiXHJcblx0XHRcdFx0XHRcdFx0Zm9ybUNvbnRyb2xOYW1lPVwicGVybWlzc2lvblwiXHJcblx0XHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJlZGl0YWJsZVJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8L25nLXNlbGVjdD5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZm9ybT5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHQ8bmctdGVtcGxhdGUgI2FjdGlvbnNUZW1wbGF0ZSBsZXQtZGlhbG9nPVwiZGlhbG9nXCI+XHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdCpuZ0lmPVwic3RhdGUgIT0gJ3VwZGF0ZSdcIlxyXG5cdFx0XHRbZGlzYWJsZWRdPVwiY3JlYXRlQW5kQWRkXCJcclxuXHRcdFx0Y2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvblwiXHJcblx0XHRcdChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihjcmVhdGUsIFtwZXJtaXNzaW9uRm9ybS52YWx1ZV0pXCJcclxuXHRcdD5cclxuXHRcdFx0PHNwYW4gKm5nSWY9XCIhY3JlYXRpbmc7IGVsc2UgbG9hZGVyXCI+e3tcclxuXHRcdFx0XHQncGVybWlzc2lvbi5jcmVhdGUnIHwgdHJhbnNsYXRlXHJcblx0XHRcdH19PC9zcGFuPlxyXG5cdFx0PC9idXR0b24+XHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdGNsYXNzPVwic3VibWlzc2lvbi1idXR0b25cIlxyXG5cdFx0XHQoY2xpY2spPVwiZGlhbG9nLmV4ZWN1dGVBY3Rpb24oZWRpdCwgW3Blcm1pc3Npb25Gb3JtLnZhbHVlXSlcIlxyXG5cdFx0XHQqbmdJZj1cInN0YXRlID09ICd1cGRhdGUnXCJcclxuXHRcdD5cclxuXHRcdFx0PHNwYW4gKm5nSWY9XCIhdXBkYXRpbmc7IGVsc2UgbG9hZGVyXCI+e3tcclxuXHRcdFx0XHQncGVybWlzc2lvbi51cGRhdGUnIHwgdHJhbnNsYXRlXHJcblx0XHRcdH19PC9zcGFuPlxyXG5cdFx0PC9idXR0b24+XHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdCpuZ0lmPVwic3RhdGUgIT0gJ3VwZGF0ZSdcIlxyXG5cdFx0XHRjbGFzcz1cInN1Ym1pc3Npb24tYnV0dG9uIHctNDRcIlxyXG5cdFx0XHQoY2xpY2spPVwiXHJcblx0XHRcdFx0ZGlhbG9nLmV4ZWN1dGVBY3Rpb24oY3JlYXRlYW5kQWRkQW5vdGhlciwgW1xyXG5cdFx0XHRcdFx0cGVybWlzc2lvbkZvcm0sXHJcblx0XHRcdFx0XHRwZXJtaXNzaW9uRm9ybS52YWx1ZVxyXG5cdFx0XHRcdF0pXHJcblx0XHRcdFwiXHJcblx0XHQ+XHJcblx0XHRcdDxzcGFuICpuZ0lmPVwiIWNyZWF0ZUFuZEFkZDsgZWxzZSBsb2FkZXJcIj57e1xyXG5cdFx0XHRcdCdwZXJtaXNzaW9uLmNyZWF0ZUFuZEFkZCcgfCB0cmFuc2xhdGVcclxuXHRcdFx0fX08L3NwYW4+XHJcblx0XHQ8L2J1dHRvbj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG48L25kZi1udXhlby1kaWFsb2c+XHJcbiJdfQ==
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9hZGQtcGVybWlzc2lvbnMtZGlhbG9nL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbnMvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy9hZGQtcGVybWlzc2lvbnMtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUtOLGlCQUFpQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRU4sV0FBVyxFQUVYLFVBQVUsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFJeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFNUYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBUXJDLE1BQU0sT0FBTyw2QkFDWixTQUFRLG1CQUE0RDtJQW1CcEUsWUFDUyxTQUFzRCxFQUN2RCxpQkFBb0MsRUFDbkMsYUFBa0MsRUFDbEMsRUFBZSxFQUNmLFNBQTZCLEVBQ1osSUFBSSxFQUM3QixRQUFrQjs7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBUlIsY0FBUyxHQUFULFNBQVMsQ0FBNkM7UUFDdkQsc0JBQWlCLEdBQWpC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VCxDQUFDO0lBaUdELE1BQU0sQ0FBQyxNQUFNO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7MkhBaFBXLDZCQUE2QiwrS0EwQmhDLGVBQWU7K0dBMUJaLDZCQUE2Qix5RkMvQjFDLHk4SUFrSEE7NEZEbkZhLDZCQUE2QjtrQkFOekMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxXQUFXLEVBQUUseUNBQXlDO29CQUN0RCxTQUFTLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQztvQkFDdEQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3JDOzswQkEyQkUsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0SW5qZWN0LFxyXG5cdEluamVjdG9yLFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0Vmlld0NoaWxkLFxyXG5cdFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcblx0Rm9ybUJ1aWxkZXIsXHJcblx0Rm9ybUNvbnRyb2wsXHJcblx0Rm9ybUdyb3VwLFxyXG5cdFZhbGlkYXRvcnNcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvYmFzZS9iYXNlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtYWRkLXBlcm1pc3Npb25zLWRpYWxvZycsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudFxyXG5cdGV4dGVuZHMgQmFzZURpYWxvZ0NvbXBvbmVudDxBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCwgYW55LCBhbnk+XHJcblx0aW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxyXG57XHJcblx0cmlnaHRzID0gW107XHJcblx0aWQgPSBudWxsO1xyXG5cdHRpbWVGcmFtZSA9ICdQZXJtYW5lbnQnO1xyXG5cdG5ld1Blcm1pc3Npb24gPSB7fTtcclxuXHRzdGF0ZSA9IG51bGw7XHJcblx0YWNsSWQgPSBudWxsO1xyXG5cdHVzZXJuYW1lID0gbnVsbDtcclxuXHRlZGl0YWJsZVJpZ2h0OyAvL3RvIHBhc3MgUmlnaHRzIHRvIGRpYWxvZyBpZiB3ZSBhcmUgaW4gdXBkYXRlIG1vZGVcclxuXHRlZGl0YWJsZUJlZ2luOyAvL3RvIHBhc3MgYmVnaW5EYXRlIHRvIGRpYWxvZyBpZiB3ZSBhcmUgaW4gdXBkYXRlIG1vZGVcclxuXHRlZGl0YWJsZUVuZDsgLy90byBwYXNzIGVuZERhdGUgdG8gZGlhbG9nIGlmIHdlIGFyZSBpbiB1cGRhdGUgbW9kZVxyXG5cdHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cdHBlcm1pc3Npb25Gb3JtOiBGb3JtR3JvdXA7XHJcblx0Y3JlYXRpbmcgPSBmYWxzZTtcclxuXHR1cGRhdGluZyA9IGZhbHNlO1xyXG5cdGNyZWF0ZUFuZEFkZCA9IGZhbHNlO1xyXG5cdHJlZnJlc2hVc2VycyA9IGZhbHNlO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudD4sXHJcblx0XHRwdWJsaWMgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSB0b3N0ZXJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcblx0XHRwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG5cdFx0QEluamVjdChNQVRfRElBTE9HX0RBVEEpIGRhdGEsXHJcblx0XHRpbmplY3RvcjogSW5qZWN0b3JcclxuXHQpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHRcdHRoaXMuaWQgPSBkYXRhLmlkO1xyXG5cdFx0ZGF0YS5yaWdodHM/Lm1hcCgoZSkgPT4ge1xyXG5cdFx0XHRpZiAoXHJcblx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0J0NvbnN1bWVyJyxcclxuXHRcdFx0XHRcdCdFZGl0b3InLFxyXG5cdFx0XHRcdFx0J0NvbnRyaWJ1dG9yJyxcclxuXHRcdFx0XHRcdCdDb2xsYWJvcmF0b3InLFxyXG5cdFx0XHRcdFx0J0Nvb3JkaW5hdG9yJyxcclxuXHRcdFx0XHRcdCdEb2N1bWVudENvbnRyb2xsZXInXHJcblx0XHRcdFx0XS5pbmNsdWRlcyhlKVxyXG5cdFx0XHQpIHtcclxuXHRcdFx0XHR0aGlzLnJpZ2h0cy5wdXNoKHtcclxuXHRcdFx0XHRcdGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGByaWdodHMuJHtlfWApLFxyXG5cdFx0XHRcdFx0dmFsdWU6IGVcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHR0aGlzLnN0YXRlID0gZGF0YS5zdGF0ZSB8fCBudWxsO1xyXG5cdFx0dGhpcy5hY2xJZCA9IGRhdGEuYWNsSWQgfHwgbnVsbDtcclxuXHRcdHRoaXMudXNlcm5hbWUgPSBkYXRhLnVzZXJuYW1lIHx8IG51bGw7XHJcblx0XHR0aGlzLmVkaXRhYmxlUmlnaHQgPSBkYXRhLmVkaXRhYmxlUmlnaHQgfHwgbnVsbDtcclxuXHRcdHRoaXMuZWRpdGFibGVCZWdpbiA9IGRhdGEuZWRpdGFibGVCZWdpbiB8fCBudWxsO1xyXG5cdFx0dGhpcy5lZGl0YWJsZUVuZCA9IGRhdGEuZWRpdGFibGVFbmQgfHwgbnVsbDtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5wZXJtaXNzaW9uRm9ybSA9IHRoaXMuZmIuZ3JvdXAoXHJcblx0XHRcdHtcclxuXHRcdFx0XHRiZWdpbjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG5cdFx0XHRcdGVuZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG5cdFx0XHRcdHBlcm1pc3Npb246IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcblx0XHRcdFx0dXNlcnM6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuXHRcdFx0fSxcclxuXHRcdFx0eyB2YWxpZGF0b3I6IHRoaXMuY2hlY2tEYXRlcyB9XHJcblx0XHQpO1xyXG5cdFx0Ly8odGhpcy5lZGl0YWJsZUJlZ2luID09IG51bGwgJiYgdGhpcy5lZGl0YWJsZUVuZCA9PSBudWxsKSA/IHRoaXMudGltZUZyYW1lID0gJ1Blcm1hbmVudCcgOiB0aGlzLnRpbWVGcmFtZSA9ICdEYXRlLUJhc2VkJ1xyXG5cdH1cclxuXHRjaGVja0RhdGVzKGdyb3VwOiBGb3JtR3JvdXApIHtcclxuXHRcdGlmIChncm91cC5jb250cm9scy5lbmQudmFsdWUgPCBncm91cC5jb250cm9scy5iZWdpbi52YWx1ZSkge1xyXG5cdFx0XHRyZXR1cm4geyBub3RWYWxpZDogdHJ1ZSB9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fVxyXG5cdGNyZWF0ZWFuZEFkZEFub3RoZXI6IERpYWxvZ0FjdGlvblR5cGUgPSAoXHJcblx0XHRwZXJtaXNzaW9uRm9ybSxcclxuXHRcdG5ld1Blcm1pc3Npb246IGFueVxyXG5cdCkgPT4ge1xyXG5cdFx0aWYgKHRoaXMucGVybWlzc2lvbkZvcm0uaW52YWxpZCkge1xyXG5cdFx0XHRhbGVydCh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdwZXJtaXNzaW9uLkZJTExfUkVRVUlSRURfRklFTEQnKSk7XHJcblx0XHRcdHJldHVybiBvZihudWxsKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuY3JlYXRlQW5kQWRkID0gdHJ1ZTtcclxuXHRcdFx0dGhpcy5uZXdQZXJtaXNzaW9uID0ge1xyXG5cdFx0XHRcdC4uLm5ld1Blcm1pc3Npb24sXHJcblx0XHRcdFx0cGVybWlzc2lvbjogbmV3UGVybWlzc2lvbi5wZXJtaXNzaW9uLFxyXG5cdFx0XHRcdHVzZXJzOiBuZXdQZXJtaXNzaW9uLnVzZXJzLFxyXG5cdFx0XHRcdGFjbDogJ2xvY2FsJyxcclxuXHRcdFx0XHRibG9ja0luaGVyaXRhbmNlOiB0cnVlLFxyXG5cdFx0XHRcdG5vdGlmeTogdHJ1ZVxyXG5cdFx0XHR9O1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5wZXJtaXNzaW9uU2VydmljZVxyXG5cdFx0XHRcdC5hZGROZXdMb2NhbFBlcm1pc3Npb25zKHRoaXMuaWQsIHRoaXMubmV3UGVybWlzc2lvbilcclxuXHRcdFx0XHQucGlwZShcclxuXHRcdFx0XHRcdHRhcChcclxuXHRcdFx0XHRcdFx0KHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLlNVQ0NFU1MnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5BRERfUEVSTUlTU0lPTl9TVUNDRVNTJ1xyXG5cdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2UuY3JlYXRlQW5kQWRkQW5vdGhlci5lbWl0KCk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnJlZnJlc2hVc2VyQXJyYXkobmV3UGVybWlzc2lvbi51c2Vycyk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnBlcm1pc3Npb25Gb3JtLnJlc2V0KCk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnRpbWVGcmFtZSA9ICdQZXJtYW5lbnQnO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5jcmVhdGVBbmRBZGQgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmNyZWF0ZUFuZEFkZCA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkVSUk9SJyxcclxuXHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkFERF9QRVJNSVNTSU9OX0ZBSUwnXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0KVxyXG5cdFx0XHRcdCk7XHJcblx0XHR9XHJcblx0fTtcclxuXHRyZWZyZXNoVXNlckFycmF5KHVzZXJzKSB7XHJcblx0XHR0aGlzLnJlZnJlc2hVc2VycyA9IHRydWU7XHJcblx0XHRsZXQgdGVtcEFyciA9IFtdO1xyXG5cdFx0dGVtcEFyci5wdXNoKC4uLnRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzKTtcclxuXHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzID0gW107XHJcblx0XHR1c2Vycy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcblx0XHRcdHRlbXBBcnIuZm9yRWFjaCgodXNlciwgaW5kZXgpID0+IHtcclxuXHRcdFx0XHRpZiAodXNlci5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSBlbGVtZW50KSB7XHJcblx0XHRcdFx0XHR0ZW1wQXJyLnNwbGljZShpbmRleCwgMSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMgPSB0ZW1wQXJyO1xyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdHRoaXMucmVmcmVzaFVzZXJzID0gZmFsc2U7XHJcblx0XHR9LCAyMDApO1xyXG5cdH1cclxuXHRjcmVhdGU6IERpYWxvZ0FjdGlvblR5cGUgPSAobmV3UGVybWlzc2lvbjogYW55KSA9PiB7XHJcblx0XHQvKlxyXG4gICAgbmV3UGVybWlzc2lvbiA9IHtcclxuICAgICAgYmVnaW46bnVsbCxcclxuICAgICAgZW5kOm51bGwsXHJcbiAgICAgIHBlcm1pc3Npb246IFJlYWQsUmVhZFdyaXRlLi4uLmV0YyxcclxuICAgICAgdXNlcnM6W1wiZm1fdXNlclwiXS4uLi5ldGNcclxuICAgIH1cclxuICAgICovXHJcblx0XHRpZiAodGhpcy5wZXJtaXNzaW9uRm9ybS5pbnZhbGlkKSB7XHJcblx0XHRcdGFsZXJ0KHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3Blcm1pc3Npb24uRklMTF9SRVFVSVJFRF9GSUVMRCcpKTtcclxuXHRcdFx0cmV0dXJuIG9mKG51bGwpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5jcmVhdGluZyA9IHRydWU7XHJcblx0XHRcdHRoaXMubmV3UGVybWlzc2lvbiA9IHtcclxuXHRcdFx0XHQuLi5uZXdQZXJtaXNzaW9uLFxyXG5cdFx0XHRcdHBlcm1pc3Npb246IG5ld1Blcm1pc3Npb24ucGVybWlzc2lvbixcclxuXHRcdFx0XHRjb21tZW50OiAnJyxcclxuXHRcdFx0XHRlbWFpbDogbnVsbCxcclxuXHRcdFx0XHRub3RpZnk6IHRydWVcclxuXHRcdFx0fTtcclxuXHRcdFx0cmV0dXJuIHRoaXMucGVybWlzc2lvblNlcnZpY2VcclxuXHRcdFx0XHQuYWRkTmV3TG9jYWxQZXJtaXNzaW9ucyh0aGlzLmlkLCB0aGlzLm5ld1Blcm1pc3Npb24pXHJcblx0XHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0XHR0YXAoXHJcblx0XHRcdFx0XHRcdChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0XHRcdFx0J3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5TVUNDRVNTJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0J1RPQVNURVIuQUREX1BFUk1JU1NJT05fU1VDQ0VTUydcclxuXHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmNhbmNlbCh0cnVlKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmNyZWF0aW5nID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdFx0XHQnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0J1RPQVNURVIuRVJST1InLFxyXG5cdFx0XHRcdFx0XHRcdFx0J1RPQVNURVIuQUREX1BFUk1JU1NJT05fRkFJTCdcclxuXHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQpXHJcblx0XHRcdFx0KTtcclxuXHRcdH1cclxuXHR9O1xyXG5cclxuXHRlZGl0OiBEaWFsb2dBY3Rpb25UeXBlID0gKG5ld1Blcm1pc3Npb246IGFueSkgPT4ge1xyXG5cdFx0dGhpcy5wZXJtaXNzaW9uRm9ybS5nZXQoJ3VzZXJzJykuc2V0VmFsdWUoW3RoaXMudXNlcm5hbWVdKTtcclxuXHRcdGlmICh0aGlzLnRpbWVGcmFtZSA9PSAnUGVybWFuZW50Jykge1xyXG5cdFx0XHR0aGlzLmVkaXRhYmxlQmVnaW4gPSB0aGlzLmVkaXRhYmxlRW5kID0gbnVsbDtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLnBlcm1pc3Npb25Gb3JtLmludmFsaWQpIHtcclxuXHRcdFx0YWxlcnQodGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGVybWlzc2lvbi5GSUxMX1JFUVVJUkVEX0ZJRUxEJykpO1xyXG5cdFx0XHRyZXR1cm4gb2YobnVsbCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnVwZGF0aW5nID0gdHJ1ZTtcclxuXHRcdFx0dGhpcy5uZXdQZXJtaXNzaW9uID0ge1xyXG5cdFx0XHRcdC4uLm5ld1Blcm1pc3Npb24sXHJcblx0XHRcdFx0cGVybWlzc2lvbjogbmV3UGVybWlzc2lvbi5wZXJtaXNzaW9uLFxyXG5cdFx0XHRcdGJlZ2luOiB0aGlzLmVkaXRhYmxlQmVnaW4sXHJcblx0XHRcdFx0ZW5kOiB0aGlzLmVkaXRhYmxlRW5kLFxyXG5cdFx0XHRcdGNvbW1lbnQ6ICcnLFxyXG5cdFx0XHRcdGVtYWlsOiBudWxsLFxyXG5cdFx0XHRcdG5vdGlmeTogZmFsc2UsXHJcblx0XHRcdFx0dXNlcm5hbWU6IHRoaXMudXNlcm5hbWUucHJvcGVydGllcy51c2VybmFtZSxcclxuXHRcdFx0XHRpZDogdGhpcy5hY2xJZFxyXG5cdFx0XHR9O1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5wZXJtaXNzaW9uU2VydmljZVxyXG5cdFx0XHRcdC5lZGl0TG9jYWxQZXJtaXNzaW9ucyh0aGlzLmlkLCB0aGlzLm5ld1Blcm1pc3Npb24pXHJcblx0XHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0XHR0YXAoXHJcblx0XHRcdFx0XHRcdChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0XHRcdFx0J3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5TVUNDRVNTJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0J1RPQVNURVIuRURJVF9QRVJNSVNTSU9OX1NVQ0NFU1MnXHJcblx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5jYW5jZWwodHJ1ZSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHQoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy51cGRhdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkVSUk9SJyxcclxuXHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkVESVRfUEVSTUlTU0lPTl9GQUlMJ1xyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdClcclxuXHRcdFx0XHQpO1xyXG5cdFx0fVxyXG5cdH07XHJcblxyXG5cdGNhbmNlbChyZXN1bHQpIHtcclxuXHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9ucyQuZm9yRWFjaCgoZSkgPT4gZS51bnN1YnNjcmliZSgpKTtcclxuXHR9XHJcbn1cclxuIiwiPG5kZi1udXhlby1kaWFsb2cgZGlhbG9nVGl0bGU9XCJ7eyAnQ1JFQVRFLmNyZWF0ZUZpbGUnIHwgdHJhbnNsYXRlIH19XCI+XHJcblx0PG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+XHJcblx0XHQ8Zm9ybSBbZm9ybUdyb3VwXT1cInBlcm1pc3Npb25Gb3JtXCIgY2xhc3M9XCJoLWZ1bGxcIiBTZXRSdGw+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtZnVsbFwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJhZGQtcGVybXNpb24td3JhcHBlclwiPlxyXG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHRleHQtbGdcIiAqbmdJZj1cInN0YXRlID09ICd1cGRhdGUnXCI+XHJcblx0XHRcdFx0XHRcdHt7ICdwZXJtaXNzaW9uLmVkaXRfcGVybWlzc2lvbicgfCB0cmFuc2xhdGUgfX1cclxuXHRcdFx0XHRcdDwvc3Bhbj5cclxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwidGV4dC1ncmF5LTkwMCB0ZXh0LWxnXCIgKm5nSWY9XCJzdGF0ZSAhPT0gJ3VwZGF0ZSdcIj5cclxuXHRcdFx0XHRcdFx0e3sgJ3Blcm1pc3Npb24uYWRkX25ld19wZXJtaXNzaW9uJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0XHRcdFx0PC9zcGFuPlxyXG5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ1c2VyLXNlbGVjdCBtdC01XCIgKm5nSWY9XCJzdGF0ZSAhPSAndXBkYXRlJ1wiPlxyXG5cdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkIG1iLTBcIj5cclxuXHRcdFx0XHRcdFx0XHR7eyAncGVybWlzc2lvbi51c2VybmFtZScgfCB0cmFuc2xhdGUgfX1cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC9sYWJlbD5cclxuXHRcdFx0XHRcdFx0PG5nLXNlbGVjdFxyXG5cdFx0XHRcdFx0XHRcdFtpdGVtc109XCJwZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnNcIlxyXG5cdFx0XHRcdFx0XHRcdFtwbGFjZWhvbGRlcl09XCIncGVybWlzc2lvbi5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFx0XHRcdFttdWx0aXBsZV09XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHRbbG9hZGluZ109XCJyZWZyZXNoVXNlcnNcIlxyXG5cdFx0XHRcdFx0XHRcdGJpbmRMYWJlbD1cImRpc3BsYXlMYWJlbFwiXHJcblx0XHRcdFx0XHRcdFx0YmluZFZhbHVlPVwicHJvcGVydGllcy51c2VybmFtZVwiXHJcblx0XHRcdFx0XHRcdFx0Zm9ybUNvbnRyb2xOYW1lPVwidXNlcnNcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nLW5vdGZvdW5kLXRtcCBsZXQtc2VhcmNoVGVybT1cInNlYXJjaFRlcm1cIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJuZy1vcHRpb24gZGlzYWJsZWRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0e3sgJ3Blcm1pc3Npb24ubmdTZWxlY3RfcmVzdWx0Tm90Rm91bmQnIHwgdHJhbnNsYXRlIH19XHJcblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBoLWZ1bGxcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleC0wIHctOCBoLTggcm91bmRlZC1mdWxsIG92ZXJmbG93LWhpZGRlblwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGN0cy1hdmF0YXJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3VzZXJdPVwie1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHByb3BlcnRpZXM6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZpcnN0TmFtZTogaXRlbS5wcm9wZXJ0aWVzLmZpcnN0TmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxhc3ROYW1lOiBpdGVtLnByb3BlcnRpZXMubGFzdE5hbWVcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9jdHMtYXZhdGFyPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHB0LTAgcHgtMlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4+e3sgaXRlbS5kaXNwbGF5TGFiZWwgfX08L3NwYW4+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8c3BhblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+e3sgaXRlbS5wcm9wZXJ0aWVzLmVtYWlsIH19LXt7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXRlbS5wcm9wZXJ0aWVzLnVzZXJuYW1lXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH19PC9zcGFuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdFx0PC9uZy1zZWxlY3Q+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJtdC0zIHJpZ2h0cy1zZWxlY3RcIj5cclxuXHRcdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtYm9sZCBtYi0wXCI+XHJcblx0XHRcdFx0XHRcdFx0e3sgJ3Blcm1pc3Npb24uUmlnaHRzJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2xhYmVsPlxyXG5cdFx0XHRcdFx0XHQ8bmctc2VsZWN0XHJcblx0XHRcdFx0XHRcdFx0W2l0ZW1zXT1cInJpZ2h0c1wiXHJcblx0XHRcdFx0XHRcdFx0W3BsYWNlaG9sZGVyXT1cIidwZXJtaXNzaW9uLnJpZ2h0c1BsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0XHRcdFx0YmluZExhYmVsPVwibGFiZWxcIlxyXG5cdFx0XHRcdFx0XHRcdGJpbmRWYWx1ZT1cInZhbHVlXCJcclxuXHRcdFx0XHRcdFx0XHRmb3JtQ29udHJvbE5hbWU9XCJwZXJtaXNzaW9uXCJcclxuXHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cImVkaXRhYmxlUmlnaHRcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdDwvbmctc2VsZWN0PlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9mb3JtPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdDxuZy10ZW1wbGF0ZSAjYWN0aW9uc1RlbXBsYXRlIGxldC1kaWFsb2c9XCJkaWFsb2dcIj5cclxuXHRcdDxidXR0b25cclxuXHRcdFx0Km5nSWY9XCJzdGF0ZSAhPSAndXBkYXRlJ1wiXHJcblx0XHRcdFtkaXNhYmxlZF09XCJjcmVhdGVBbmRBZGRcIlxyXG5cdFx0XHRjbGFzcz1cInN1Ym1pc3Npb24tYnV0dG9uXCJcclxuXHRcdFx0KGNsaWNrKT1cImRpYWxvZy5leGVjdXRlQWN0aW9uKGNyZWF0ZSwgW3Blcm1pc3Npb25Gb3JtLnZhbHVlXSlcIlxyXG5cdFx0PlxyXG5cdFx0XHQ8c3BhbiAqbmdJZj1cIiFjcmVhdGluZzsgZWxzZSBsb2FkZXJcIj57e1xyXG5cdFx0XHRcdCdwZXJtaXNzaW9uLmNyZWF0ZScgfCB0cmFuc2xhdGVcclxuXHRcdFx0fX08L3NwYW4+XHJcblx0XHQ8L2J1dHRvbj5cclxuXHRcdDxidXR0b25cclxuXHRcdFx0Y2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvblwiXHJcblx0XHRcdChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihlZGl0LCBbcGVybWlzc2lvbkZvcm0udmFsdWVdKVwiXHJcblx0XHRcdCpuZ0lmPVwic3RhdGUgPT0gJ3VwZGF0ZSdcIlxyXG5cdFx0PlxyXG5cdFx0XHQ8c3BhbiAqbmdJZj1cIiF1cGRhdGluZzsgZWxzZSBsb2FkZXJcIj57e1xyXG5cdFx0XHRcdCdwZXJtaXNzaW9uLnVwZGF0ZScgfCB0cmFuc2xhdGVcclxuXHRcdFx0fX08L3NwYW4+XHJcblx0XHQ8L2J1dHRvbj5cclxuXHRcdDxidXR0b25cclxuXHRcdFx0Km5nSWY9XCJzdGF0ZSAhPSAndXBkYXRlJ1wiXHJcblx0XHRcdGNsYXNzPVwic3VibWlzc2lvbi1idXR0b24gdy00NFwiXHJcblx0XHRcdChjbGljayk9XCJcclxuXHRcdFx0XHRkaWFsb2cuZXhlY3V0ZUFjdGlvbihjcmVhdGVhbmRBZGRBbm90aGVyLCBbXHJcblx0XHRcdFx0XHRwZXJtaXNzaW9uRm9ybSxcclxuXHRcdFx0XHRcdHBlcm1pc3Npb25Gb3JtLnZhbHVlXHJcblx0XHRcdFx0XSlcclxuXHRcdFx0XCJcclxuXHRcdD5cclxuXHRcdFx0PHNwYW4gKm5nSWY9XCIhY3JlYXRlQW5kQWRkOyBlbHNlIGxvYWRlclwiPnt7XHJcblx0XHRcdFx0J3Blcm1pc3Npb24uY3JlYXRlQW5kQWRkJyB8IHRyYW5zbGF0ZVxyXG5cdFx0XHR9fTwvc3Bhbj5cclxuXHRcdDwvYnV0dG9uPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcbjwvbmRmLW51eGVvLWRpYWxvZz5cclxuIl19
@@ -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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R0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRTtTQUNyRSxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLE1BQU0sQ0FBQztZQUNOLEVBQUUsRUFBQyxLQUFLO1NBQ1QsQ0FBQzthQUNELE9BQU8sQ0FBQyxFQUFFLENBQUM7YUFDWCxPQUFPLEVBQUUsQ0FFYixDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUNsQyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsT0FBTyxDQUFDLHNDQUFzQyxTQUFTLEVBQUUsQ0FBQzthQUMxRCxXQUFXLGlCQUFHLENBQUMsRUFBRSxHQUFHLElBQUssTUFBTSxFQUFHO2FBQ2xDLEdBQUcsRUFBRSxDQUNULENBQUMsSUFBSSxDQUNKLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OytHQTVJVSxpQkFBaUIsOENBSTZCLGFBQWE7bUhBSjNELGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUttRCxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uU2VydmljZSB7XHJcbiAgZGlzYWJsZUNsaWNrT3V0U2lkZSA9IGZhbHNlO1xyXG4gIGRlcGFydG1lbnRVc2VycyA9IFtdO1xyXG4gIGNyZWF0ZUFuZEFkZEFub3RoZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZSAsIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudCkgeyB9XHJcblxyXG4gIGdldFBlcm1pc3Npb25zRm9yRG9jdW1lbnQodWlkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcXVlc3QoYC9pZC8ke3VpZH1gKVxyXG4gICAgICAgIC5xdWVyeVBhcmFtcyh7XHJcbiAgICAgICAgICBcImZldGNoLWFjbHNcIjogJ3VzZXJuYW1lLGNyZWF0b3IsZXh0ZW5kZWQnLFxyXG4gICAgICAgICAgXCJkZXB0aFwiOiAnY2hpbGRyZW4nLFxyXG4gICAgICAgICAgXCJ0aW1lXCI6ICcxNjM1MjQ5MTI5MjY4J1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmdldCh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiBcImFjbHMsIHBlcm1pc3Npb25zLCB1c2VyVmlzaWJsZVBlcm1pc3Npb25zXCIsXHJcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgICAgXCJhY2NlcHRcIjogXCJ0ZXh0L3BsYWluLGFwcGxpY2F0aW9uL2pzb24sIGFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKHVpZDogYW55KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdEb2N1bWVudC5CbG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZScsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHVpZClcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIGFjbDogXCJsb2NhbFwiLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe30pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG5cclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UodWlkOiBhbnkpIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oJ0RvY3VtZW50LlVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dCh1aWQpXHJcbiAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICBhY2w6IFwibG9jYWxcIixcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhZGROZXdMb2NhbFBlcm1pc3Npb25zKHVpZCxmb3JtRGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdEb2N1bWVudC5BZGRQZXJtaXNzaW9uJywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodWlkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgLi4uZm9ybURhdGFcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBlZGl0TG9jYWxQZXJtaXNzaW9ucyh1aWQsZm9ybURhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbignRG9jdW1lbnQuUmVwbGFjZVBlcm1pc3Npb24nLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dCh1aWQpXHJcbiAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICAuLi5mb3JtRGF0YVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe30pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG5cclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUxvY2FsUGVybWlzc2lvbnModWlkLHBhcmFtKSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdEb2N1bWVudC5SZW1vdmVQZXJtaXNzaW9uJywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodWlkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgaWQ6cGFyYW1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXREZXBNZW1iZXJzKGRlcHRUaXRsZSwgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcXVlc3QoYGdyb3VwLW1lbWJlcnMvYWxsLW1lbWJlcnMvZG1zX3VzZXJfJHtkZXB0VGl0bGV9YClcclxuICAgICAgICAucXVlcnlQYXJhbXMoeyBxOiAnKicsIC4uLnBhcmFtcyB9KVxyXG4gICAgICAgIC5nZXQoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTVDLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBb0IsWUFBMEIsRUFBa0MsV0FBVztRQUF2RSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUFrQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQUgzRix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNzRCxDQUFDO0lBRWhHLHlCQUF5QixDQUFDLEdBQVE7UUFDaEMsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO2FBQzFCLE9BQU8sQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2FBQ3JCLFdBQVcsQ0FBQztZQUNYLFlBQVksRUFBRSwyQkFBMkI7WUFDekMsT0FBTyxFQUFFLFVBQVU7WUFDbkIsTUFBTSxFQUFFLGVBQWU7U0FDeEIsQ0FBQzthQUNELEdBQUcsQ0FBQztZQUNILE9BQU8sRUFBRTtnQkFDUCxvQkFBb0IsRUFBRSwyQ0FBMkM7Z0JBQ2pFLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLFFBQVEsRUFBRSwrQ0FBK0M7YUFDMUQ7U0FDRixDQUFDLENBQ0wsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFD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RUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUU7U0FDckUsQ0FBQzthQUNELEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixNQUFNLENBQUM7WUFDTixFQUFFLEVBQUMsS0FBSztTQUNULENBQUM7YUFDRCxPQUFPLENBQUMsRUFBRSxDQUFDO2FBQ1gsT0FBTyxFQUFFLENBRWIsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDbEMsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO2FBQzFCLE9BQU8sQ0FBQyxzQ0FBc0MsU0FBUyxFQUFFLENBQUM7YUFDMUQsV0FBVyxpQkFBRyxDQUFDLEVBQUUsR0FBRyxJQUFLLE1BQU0sRUFBRzthQUNsQyxHQUFHLEVBQUUsQ0FDVCxDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzsrR0E1SVUsaUJBQWlCLDhDQUk2QixhQUFhO21IQUozRCxpQkFBaUIsY0FGaEIsTUFBTTs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFLbUQsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgRXZlbnRFbWl0dGVyLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvblNlcnZpY2Uge1xyXG4gIGRpc2FibGVDbGlja091dFNpZGUgPSBmYWxzZTtcclxuICBkZXBhcnRtZW50VXNlcnMgPSBbXTtcclxuICBjcmVhdGVBbmRBZGRBbm90aGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UgLCBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQpIHsgfVxyXG5cclxuICBnZXRQZXJtaXNzaW9uc0ZvckRvY3VtZW50KHVpZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXF1ZXN0KGAvaWQvJHt1aWR9YClcclxuICAgICAgICAucXVlcnlQYXJhbXMoe1xyXG4gICAgICAgICAgXCJmZXRjaC1hY2xzXCI6ICd1c2VybmFtZSxjcmVhdG9yLGV4dGVuZGVkJyxcclxuICAgICAgICAgIFwiZGVwdGhcIjogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIFwidGltZVwiOiAnMTYzNTI0OTEyOTI2OCdcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5nZXQoe1xyXG4gICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzogXCJhY2xzLCBwZXJtaXNzaW9ucywgdXNlclZpc2libGVQZXJtaXNzaW9uc1wiLFxyXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgICAgIFwiYWNjZXB0XCI6IFwidGV4dC9wbGFpbixhcHBsaWNhdGlvbi9qc29uLCBhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSh1aWQ6IGFueSkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbignRG9jdW1lbnQuQmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dCh1aWQpXHJcbiAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICBhY2w6IFwibG9jYWxcIixcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1bmJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKHVpZDogYW55KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCdEb2N1bWVudC5VbmJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlJywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodWlkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgYWNsOiBcImxvY2FsXCIsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dCh7fSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcblxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYWRkTmV3TG9jYWxQZXJtaXNzaW9ucyh1aWQsZm9ybURhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbignRG9jdW1lbnQuQWRkUGVybWlzc2lvbicsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHVpZClcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIC4uLmZvcm1EYXRhXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dCh7fSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcblxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZWRpdExvY2FsUGVybWlzc2lvbnModWlkLGZvcm1EYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oJ0RvY3VtZW50LlJlcGxhY2VQZXJtaXNzaW9uJywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodWlkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgLi4uZm9ybURhdGFcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHt9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVMb2NhbFBlcm1pc3Npb25zKHVpZCxwYXJhbSkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbignRG9jdW1lbnQuUmVtb3ZlUGVybWlzc2lvbicsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHVpZClcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIGlkOnBhcmFtXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dCh7fSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcblxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVwTWVtYmVycyhkZXB0VGl0bGUsIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXF1ZXN0KGBncm91cC1tZW1iZXJzL2FsbC1tZW1iZXJzL2Rtc191c2VyXyR7ZGVwdFRpdGxlfWApXHJcbiAgICAgICAgLnF1ZXJ5UGFyYW1zKHsgcTogJyonLCAuLi5wYXJhbXMgfSlcclxuICAgICAgICAuZ2V0KClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
@@ -275,4 +275,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
275
275
  }], sourcePage: [{
276
276
  type: Input
277
277
  }] } });
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUtwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVkzRyxNQUFNLE9BQU8sb0JBQW9CO0lBc0JoQyxZQUNTLGlCQUFvQyxFQUNwQyxvQkFBK0IsRUFDL0IsYUFBa0MsRUFDbEMsZ0JBQW9DLEVBQ3BDLFlBQTBCLEVBQzFCLFFBQXFCLEVBQ3JCLGdCQUFtQyxFQUNwQyxrQkFBc0M7UUFQckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVc7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ3BDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFyQjlDLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBbUIsRUFBRSxDQUFDO1FBRXBDLHFC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bkYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7a0hBbFNXLG9CQUFvQjtzR0FBcEIsb0JBQW9CLG1MQ2pCakMsdTBMQWlJQTs0RkRoSGEsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2lCQUMzQzt5VEFJQSxVQUFVO3NCQURULEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvdXNlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtcGVybWlzc2lvbnMtZGlhbG9nL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXZhbHVhdG9yc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvcGVybWlzc2lvbnMvZXZhbHVhdG9ycy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL3NlcnZpY2VzL251eGVvLWRpYWxvZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLXBlcm1pc3Npb25zJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3Blcm1pc3Npb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cdHBlcm1pc3Npb25zVHlwZTogYW55O1xyXG5cdEBJbnB1dCgpXHJcblx0ZG9jdW1lbnRJZDtcclxuXHRASW5wdXQoKVxyXG5cdGRvY3VtZW50O1xyXG5cdEBJbnB1dCgpXHJcblx0YWxsb3dBZGRBbmRCbG9jaztcclxuXHRASW5wdXQoKVxyXG5cdHNvdXJjZVBhZ2UgPSAnJztcclxuXHRzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHR1c2VyVmlzaWJsZVBlcm1pc3Npb25zOiBhbnk7XHJcblx0bG9jYWxQZXJtaXNzaW9ucyA9IFtdO1xyXG5cdGluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcblx0ZGVwYXJ0bWVudFBlcm1pc3Npb25zID0gW107XHJcblx0c2hhcmVQZXJtaXNzaW9ucyA9IFtdO1xyXG5cdHdvcmtmbG93UGVybWlzc2lvbnMgPSBbXTtcclxuXHRzdGF0dXMgPSBudWxsOyAvL3RvIGtub3cgaW5oZXJpdGVkIFBlcm1pc3Npb25zIGlmIGJsb2NrIG9yIG5vdFxyXG5cdGFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSBmYWxzZTtcclxuXHRibG9ja09yVW5ibG9jayA9IGZhbHNlO1xyXG5cdGxvYWRpbmcgPSBmYWxzZTtcclxuXHRhbGxEZXBhcnRtZW50VXNlcnMgPSBbXTtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBhZGRQZXJtaXNzaW9uc0RpYWxvZzogTWF0RGlhbG9nLFxyXG5cdFx0cHJpdmF0ZSB0b3N0ZXJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcblx0XHRwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSB1c2VyU2VydjogVXNlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGV2YWx1YXRvclNlcnZpY2U6IEV2YWx1YXRvcnNTZXJ2aWNlLFxyXG5cdFx0cHVibGljIG51eGVvRGlhbG9nU2VydmljZTogTnV4ZW9EaWFsb2dTZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9ucyQuY29uY2F0KFtcclxuXHRcdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5jcmVhdGVBbmRBZGRBbm90aGVyLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG5cdFx0XHR9KVxyXG5cdFx0XSk7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0dGhpcy5jaGVja0lmVXNlckNhbkRvQWN0aW9uc09uUGVybWlzc2lvbnMoKTtcclxuXHRcdHRoaXMuZ2V0UGVybWlzc2lvbnMoKTtcclxuXHRcdHRoaXMuaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoID4gMFxyXG5cdFx0XHQ/ICh0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJylcclxuXHRcdFx0OiAodGhpcy5zdGF0dXMgPSAnYmxvY2snKTtcclxuXHR9XHJcblxyXG5cdGFkZFBlcm1pc3Npb25MYWJlbChhcnIsIHBlcm1pc3Npb25BcnIpIHtcclxuXHRcdGFyci5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcblx0XHRcdGlmICghdGhpcy5pc0l0ZW1Db250YWluQWRtaW5pc3RyYXRvckdyb3VwKGVsZW1lbnQpKSB7XHJcblx0XHRcdFx0ZWxlbWVudC5wZXJtaXNzaW9uTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcclxuXHRcdFx0XHRcdGByaWdodHMuJHtlbGVtZW50LnBlcm1pc3Npb259YFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdFx0cGVybWlzc2lvbkFyci5wdXNoKGVsZW1lbnQpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGlzSXRlbUNvbnRhaW5BZG1pbmlzdHJhdG9yR3JvdXAoZWxlbWVudCkge1xyXG5cdFx0bGV0IGlzQWRtaW5pc3RyYXRvciA9IGZhbHNlO1xyXG5cdFx0aWYgKGVsZW1lbnQuZ3JhbnRlZCA9PT0gZmFsc2UpIHtcclxuXHRcdFx0aXNBZG1pbmlzdHJhdG9yID0gdHJ1ZTtcclxuXHRcdH0gZWxzZSBpZiAoXHJcblx0XHRcdGVsZW1lbnQudXNlcm5hbWUgJiZcclxuXHRcdFx0ZWxlbWVudC51c2VybmFtZVsnZW50aXR5LXR5cGUnXSA9PT0gJ2dyb3VwJyAmJlxyXG5cdFx0XHRlbGVtZW50LnVzZXJuYW1lLmdyb3VwbmFtZSA9PT0gJ2FkbWluaXN0cmF0b3JzJ1xyXG5cdFx0KSB7XHJcblx0XHRcdGlzQWRtaW5pc3RyYXRvciA9IHRydWU7XHJcblx0XHR9IGVsc2UgaWYgKGVsZW1lbnQudXNlcm5hbWUudXNlckdyb3Vwcykge1xyXG5cdFx0XHRlbGVtZW50LnVzZXJuYW1lLnVzZXJHcm91cHMubWFwKChncm91cCkgPT4ge1xyXG5cdFx0XHRcdGlmIChncm91cC5uYW1lID09PSAnYWRtaW5pc3RyYXRvcnMnKSB7XHJcblx0XHRcdFx0XHRpc0FkbWluaXN0cmF0b3IgPSB0cnVlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gaXNBZG1pbmlzdHJhdG9yO1xyXG5cdH1cclxuXHJcblx0Z2V0UGVybWlzc2lvbnMoKSB7XHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbXHJcblx0XHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2VcclxuXHRcdFx0XHQuZ2V0UGVybWlzc2lvbnNGb3JEb2N1bWVudCh0aGlzLmRvY3VtZW50SWQpXHJcblx0XHRcdFx0LnN1YnNjcmliZShcclxuXHRcdFx0XHRcdChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5wZXJtaXNzaW9uc1R5cGUgPSByZXMuY29udGV4dFBhcmFtZXRlcnMuYWNscztcclxuXHRcdFx0XHRcdFx0dGhpcy51c2VyVmlzaWJsZVBlcm1pc3Npb25zID1cclxuXHRcdFx0XHRcdFx0XHRyZXMuY29udGV4dFBhcmFtZXRlcnMudXNlclZpc2libGVQZXJtaXNzaW9ucztcclxuXHRcdFx0XHRcdFx0Zm9yIChsZXQgcCBvZiB0aGlzLnBlcm1pc3Npb25zVHlwZSkge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChwLm5hbWUgPT0gJ2xvY2FsJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5sb2NhbFBlcm1pc3Npb25zID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsIHRoaXMubG9jYWxQZXJtaXNzaW9ucyk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmxvY2FsUGVybWlzc2lvbnMgPSB0aGlzLmxvY2FsUGVybWlzc2lvbnMubWFwKChlbGVtZW50KSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRlbGVtZW50LmNyZWF0b3IgPT09IG51bGwgfHxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRlbGVtZW50LmNyZWF0b3IgPT09ICdzeXN0ZW0nIHx8XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZWxlbWVudC5jcmVhdG9yPy5wcm9wZXJ0aWVzPy51c2VybmFtZSAhPVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnVzZXJuYW1lXHJcblx0XHRcdFx0XHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVsZW1lbnRbJ2N1cnJlbnRVc2VySXNQZXJtaXNzaW9uT3duZXInXSA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVsZW1lbnRbJ2N1cnJlbnRVc2VySXNQZXJtaXNzaW9uT3duZXInXSA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGVsZW1lbnQ7XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHAubmFtZSA9PSAnaW5oZXJpdGVkJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucyA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hZGRQZXJtaXNzaW9uTGFiZWwocC5hY2VzLCB0aGlzLmluaGVyaXRlZFBlcm1pc3Npb25zKTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHAubmFtZS5pbmNsdWRlcygnZGVwdFNwYWNlJykpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZGVwYXJ0bWVudFBlcm1pc3Npb25zID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsIHRoaXMuZGVwYXJ0bWVudFBlcm1pc3Npb25zKTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHAubmFtZS5pbmNsdWRlcygnc2hhcmUnKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5zaGFyZVBlcm1pc3Npb25zID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsIHRoaXMuc2hhcmVQZXJtaXNzaW9ucyk7XHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChwLm5hbWUuaW5jbHVkZXMoJ3JvdXRpbmcnKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy53b3JrZmxvd1Blcm1pc3Npb25zID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsIHRoaXMud29ya2Zsb3dQZXJtaXNzaW9ucyk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHRoaXMuaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoID09IDBcclxuXHRcdFx0XHRcdFx0XHQ/ICh0aGlzLnN0YXR1cyA9ICdibG9jaycpXHJcblx0XHRcdFx0XHRcdFx0OiAodGhpcy5zdGF0dXMgPSAndW5ibG9jaycpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQoZXJyKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpXHJcblx0XHRcdFx0KVxyXG5cdFx0XSk7XHJcblx0fVxyXG5cclxuXHRibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSgpIHtcclxuXHRcdHRoaXMuYmxvY2tPclVuYmxvY2sgPSB0cnVlO1xyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb25zJC5jb25jYXQoW1xyXG5cdFx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlXHJcblx0XHRcdFx0LmJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKHRoaXMuZG9jdW1lbnRJZClcclxuXHRcdFx0XHQuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdFx0KHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdFx0J3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdFx0J1RPQVNURVIuU1VDQ0VTUycsXHJcblx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5QRVJNSVNTSU9OX0JMT0NLX1NVQ0NFU1MnXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zdGF0dXMgPSAndW5ibG9jayc7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucyA9IFtdO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0KGVycikgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuRVJST1InLFxyXG5cdFx0XHRcdFx0XHRcdCdUT0FTVEVSLlBFUk1JU1NJT05fQkxPQ0tfRkFJTCdcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpXHJcblx0XHRdKTtcclxuXHR9XHJcblxyXG5cdHVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UoKSB7XHJcblx0XHR0aGlzLmJsb2NrT3JVbmJsb2NrID0gdHJ1ZTtcclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9ucyQuY29uY2F0KFtcclxuXHRcdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZVxyXG5cdFx0XHRcdC51bmJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKHRoaXMuZG9jdW1lbnRJZClcclxuXHRcdFx0XHQuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdFx0KHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdFx0J3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdFx0J1RPQVNURVIuU1VDQ0VTUycsXHJcblx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5QRVJNSVNTSU9OX1VOQkxPQ0tfU1VDQ0VTUydcclxuXHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuc3RhdHVzID0gJ2Jsb2NrJztcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuYmxvY2tPclVuYmxvY2sgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuUEVSTUlTU0lPTl9VTkJMT0NLX0ZBSUwnXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KVxyXG5cdFx0XSk7XHJcblx0fVxyXG5cclxuXHRhZGROZXdMb2NhbFBlcm1pc3Npb25zKCkge1xyXG5cdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMgPSBbLi4udGhpcy5hbGxEZXBhcnRtZW50VXNlcnNdO1xyXG5cdFx0dGhpcy5sb2NhbFBlcm1pc3Npb25zLmZvckVhY2goKHBlcm0pID0+IHtcclxuXHRcdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMuZm9yRWFjaCgodXNlciwgaW5kZXgpID0+IHtcclxuXHRcdFx0XHRpZiAoXHJcblx0XHRcdFx0XHRwZXJtLnVzZXJuYW1lLnByb3BlcnRpZXMudXNlcm5hbWUgPT09IHVzZXIucHJvcGVydGllcy51c2VybmFtZSAmJlxyXG5cdFx0XHRcdFx0cGVybS5jcmVhdG9yLnByb3BlcnRpZXMudXNlcm5hbWUgPT09XHJcblx0XHRcdFx0XHRcdHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy51c2VybmFtZVxyXG5cdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMuc3BsaWNlKGluZGV4LCAxKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0Ly8gYmVmb3Igb3BlbmluZyBtb2RhbCB3ZSBkaWFibGUgY2xpY2tvdXQgc2lkZSBlZmZlY3QgdG8gcHJldmVudCBkZXRhaWxzIHNpZGUgbWVudSBmcm9tIGNsb3Npbmcgd2hlbiBjbGlja2luZyBpbiB0aGUgbW9kYWxcclxuXHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGlzYWJsZUNsaWNrT3V0U2lkZSA9IHRydWU7XHJcblx0XHR0aGlzLm51eGVvRGlhbG9nU2VydmljZVxyXG5cdFx0XHQub3Blbih7XHJcblx0XHRcdFx0Y29tcG9uZW50OiBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCxcclxuXHRcdFx0XHR3aWR0aDogJzM1JScsXHJcblx0XHRcdFx0aGVpZ2h0OiAnNzAlJyxcclxuXHRcdFx0XHRwYW5lbENsYXNzOiAnd2F0Y2hlci1kaWFsb2ctY29udGFpbmVyJyxcclxuXHRcdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0XHRpZDogdGhpcy5kb2N1bWVudElkLFxyXG5cdFx0XHRcdFx0cmlnaHRzOiB0aGlzLnVzZXJWaXNpYmxlUGVybWlzc2lvbnNcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ly9kaXNhYmxlQ2xvc2U6IHRydWUsXHJcblx0XHRcdH0pXHJcblx0XHRcdC5hZnRlckNsb3NlZCgpXHJcblx0XHRcdC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdC8vIHJldHVybiBjbGljayBvdXRzaWRlIGVmZmVjdCB0byB3b3JrIHRvIGNsb3NlIHNpZGUgbWVudSB3aGVuIGNsaWNraW5nIG91dCBzaWRlIGl0XHJcblx0XHRcdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcblx0XHRcdFx0aWYgKHJlcykge1xyXG5cdFx0XHRcdFx0dGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cdGNoZWNrSWZVc2VyQ2FuRG9BY3Rpb25zT25QZXJtaXNzaW9ucygpIHtcclxuXHRcdHRoaXMuZXZhbHVhdG9yU2VydmljZVxyXG5cdFx0XHQuZXZhbHVhdGVSdWxlKCdpc01hbmFnZVBlcm1pc3Npb25FbmFibGVkJylcclxuXHRcdFx0LnRoZW4oKGlzRW5hYmxlZCkgPT4ge1xyXG5cdFx0XHRcdGlmIChpc0VuYWJsZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuZXZhbHVhdG9yU2VydmljZVxyXG5cdFx0XHRcdFx0XHQuZXZhbHVhdGVSdWxlKCdpc0RlcGFydG1lbnREb2N1bWVudENvbnRyb2xsZXInLCB7XHJcblx0XHRcdFx0XHRcdFx0ZW50aXR5OiB0aGlzLmRvY3VtZW50XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdC50aGVuKCh1c2VySW5Db250cm9sbGVyR3JvdXApID0+IHtcclxuXHRcdFx0XHRcdFx0XHQvLyBsZXQgdXNlckluQ29udHJvbGxlckdyb3VwID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0Ly8gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci51c2VyR3JvdXBzLmZvckVhY2goZ3JvdXAgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdC8vICAgaWYgKGdyb3VwLm5hbWUgPT09ICdkbXNfZG9jdW1lbnRfY29udHJvbGxlcicpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyAgICAgdXNlckluQ29udHJvbGxlckdyb3VwID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHQvLyAgIH1cclxuXHRcdFx0XHRcdFx0XHQvLyB9KTtcclxuXHRcdFx0XHRcdFx0XHRpZiAodXNlckluQ29udHJvbGxlckdyb3VwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgZGVwQ29kZSA9IHRoaXMudXNlclNlcnYuZ2V0VXNlckRlcGFydG1lbnRGcm9tUGF0aChcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5kb2N1bWVudC5wYXRoXHJcblx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQuZ2V0RGVwTWVtYmVycyhkZXBDb2RlKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IHJlcy51c2Vycy5tYXAoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQoZSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRlWydkaXNwbGF5TGFiZWwnXSA9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZS5wcm9wZXJ0aWVzLmZpcnN0TmFtZSArICcgJyArIGUucHJvcGVydGllcy5sYXN0TmFtZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmFsbERlcGFydG1lbnRVc2VycyA9IFtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC4uLnRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXMudXNlcnMuZm9yRWFjaCgodXNlcikgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR1c2VyLnByb3BlcnRpZXMudXNlcm5hbWUgPT09XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQudXNlcm5hbWUgJiZcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KCh0aGlzLmRvY3VtZW50LnR5cGUgPT09ICdEbXNGb2xkZXInICYmXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5kb2N1bWVudC5wYXRoLmluY2x1ZGVzKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Jy9kZWZhdWx0LWRvbWFpbi93b3Jrc3BhY2VzL0RNUy8nXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KSkgfHxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQodGhpcy5kb2N1bWVudC50eXBlID09PSAnRm9sZGVyJyAmJlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5kb2N1bWVudC5wYXRoLmluY2x1ZGVzKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvRE1TV29ya3NwYWNlcy8nXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpKSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbGxvd0FkZF9CbG9ja19EZWxldGVQZXJtaXNzaW9uID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5hbGxvd0FkZF9CbG9ja19EZWxldGVQZXJtaXNzaW9uID0gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHR9XHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHQvLyByZXR1cm4gY2xpY2sgb3V0c2lkZSBlZmZlY3QgdG8gd29yayB0byBjbG9zZSBzaWRlIG1lbnUgd2hlbiBjbGlja2luZyBvdXQgc2lkZSBpdFxyXG5cdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbnMkLmZvckVhY2goKGUpID0+IGUudW5zdWJzY3JpYmUoKSk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJoLWF1dG8gbXQtMyBweC0wIHBiLTRcIiAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRlclwiPlxyXG4gICAgPCEtLUxvY2FsUGVybWlzc2lvbiBMaXN0IEl0ZW1zLS0+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
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBS3BFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBWTNHLE1BQU0sT0FBTyxvQkFBb0I7SUFzQmhDLFlBQ1MsaUJBQW9DLEVBQ3BDLG9CQUErQixFQUMvQixhQUFrQyxFQUNsQyxnQkFBb0MsRUFDcEMsWUFBMEIsRUFDMUIsUUFBcUIsRUFDckIsZ0JBQW1DLEVBQ3BDLGtCQUFzQztRQVByQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBVztRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDcEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQXJCOUMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFFcEMscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMxQiwwQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDM0IscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QixXQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsK0NBQStDO1FBQzlELG9DQUErQixHQUFHLEtBQUssQ0FBQztRQUN4QyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztJQVVyQixDQUFDO0lBRUosUUFBUTtRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDNUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBRyxFQUFFLGFBQWE7UUFDcEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ25ELE9BQU8sQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDdEQsVUFBVSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQzlCLENBQUM7Z0JBQ0YsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM1QjtRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELCtCQUErQixDQUFDLE9BQU87UUFDdEMsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUU7WUFDOUIsZUFBZSxHQUFHLElBQUksQ0FBQztTQUN2QjthQUFNLElBQ04sT0FBTyxDQUFDLFFBQVE7WUFDaEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxPQUFPO1lBQzNDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxLQUFLLGdCQUFnQixFQUM5QztZQUNELGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDdkI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN6QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7b0JBQ3BDLGVBQWUsR0FBRyxJQUFJLENBQUM7aUJBQ3ZCO1lBQ0YsQ0FBQyxDQUFDLENBQUM7U0FDSDtRQUNELE9BQU8sZUFBZSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjO1FBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQjtpQkFDcEIseUJBQXlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztpQkFDMUMsU0FBUyxDQUNULENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsc0JBQXNCO29CQUMxQixHQUFHLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUM7Z0JBQzlDLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDbkMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLE9BQU8sRUFBRTt3QkFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7d0JBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7OzRCQUM3RCxJQUNDLE9BQU8sQ0FBQyxPQUFPLEtBQUssSUFBSTtnQ0FDeEIsT0FBTyxDQUFDLE9BQU8sS0FBSyxRQUFRO2dDQUM1QixDQUFBLE1BQUEsTUFBQSxPQUFPLENBQUMsT0FBTywwQ0FBRSxVQUFVLDBDQUFFLFFBQVE7b0NBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUN0RDtnQ0FDRCxPQUFPLENBQUMsOEJBQThCLENBQUMsR0FBRyxLQUFLLENBQUM7NkJBQ2hEO2lDQUFNO2dDQUNOLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLElBQUksQ0FBQzs2QkFDL0M7NEJBQ0QsT0FBTyxPQUFPLENBQUM7d0JBQ2hCLENBQUMsQ0FBQyxDQUFDO3FCQUNIO3lCQUFNLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxXQUFXLEVBQUU7d0JBQ2pDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7d0JBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO3FCQUMzRDt5QkFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUN4QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDO3dCQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztxQkFDNUQ7eUJBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ3ZEO3lCQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7d0JBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3FCQUMxRDtpQkFDRDtnQkFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxJQUFJLENBQUM7b0JBQ3BDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO29CQUN6QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN0QixDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FDL0I7U0FDRixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsMEJBQTBCO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxpQkFBaUI7aUJBQ3BCLDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7aUJBQzNDLFNBQVMsQ0FDVCxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNQLElBQUksR0FBRyxFQUFFO29CQUNSLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3RCLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsa0NBQWtDLENBQ2xDLENBQUM7b0JBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7b0JBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO29CQUN4QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO2lCQUMvQjtZQUNGLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNQLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2dCQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDdEIsT0FBTyxFQUNQLGVBQWUsRUFDZiwrQkFBK0IsQ0FDL0IsQ0FBQztZQUNILENBQUMsQ0FDRDtTQUNGLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCw0QkFBNEI7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQjtpQkFDcEIsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztpQkFDN0MsU0FBUyxDQUNULENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsSUFBSSxHQUFHLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDdEIsU0FBUyxFQUNULGlCQUFpQixFQUNqQixvQ0FBb0MsQ0FDcEMsQ0FBQztvQkFDRixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztvQkFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7aUJBQzVCO1lBQ0YsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUN0QixPQUFPLEVBQ1AsZUFBZSxFQUNmLGlDQUFpQyxDQUNqQyxDQUFDO1lBQ0gsQ0FBQyxDQUNEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELHNCQUFzQjtRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQzlELElBQ0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUTtvQkFDOUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUTt3QkFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQ3REO29CQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDeEQ7WUFDRixDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsMEhBQTBIO1FBQzFILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQjthQUNyQixJQUFJLENBQUM7WUFDTCxTQUFTLEVBQUUsNkJBQTZCO1lBQ3hDLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLEtBQUs7WUFDYixVQUFVLEVBQUUsMEJBQTBCO1lBQ3RDLElBQUksRUFBRTtnQkFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsc0JBQXNCO2FBQ25DO1lBQ0QscUJBQXFCO1NBQ3JCLENBQUM7YUFDRCxXQUFXLEVBQUU7YUFDYixTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNsQixtRkFBbUY7WUFDbkYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUNuRCxJQUFJLEdBQUcsRUFBRTtnQkFDUixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdEI7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxvQ0FBb0M7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQjthQUNuQixZQUFZLENBQUMsMkJBQTJCLENBQUM7YUFDekMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxTQUFTLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGdCQUFnQjtxQkFDbkIsWUFBWSxDQUFDLGdDQUFnQyxFQUFFO29CQUMvQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7aUJBQ3JCLENBQUM7cUJBQ0QsSUFBSSxDQUFDLENBQUMscUJBQXFCLEVBQUUsRUFBRTtvQkFDL0IscUNBQXFDO29CQUNyQyxtRUFBbUU7b0JBQ25FLG9EQUFvRDtvQkFDcEQsb0NBQW9DO29CQUNwQyxNQUFNO29CQUNOLE1BQU07b0JBQ04sSUFBSSxxQkFBcUIsRUFBRTt3QkFDMUIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2xCLENBQUM7d0JBQ0YsSUFBSSxDQUFDLGlCQUFpQjs2QkFDcEIsYUFBYSxDQUFDLE9BQU8sQ0FBQzs2QkFDdEIsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7NEJBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQ3JELENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0NBQ0wsQ0FBQyxDQUFDLGNBQWMsQ0FBQztvQ0FDaEIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO2dDQUN0RCxPQUFPLENBQUMsQ0FBQzs0QkFDVixDQUFDLENBQ0QsQ0FBQzs0QkFDRixJQUFJLENBQUMsa0JBQWtCLEdBQUc7Z0NBQ3pCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWU7NkJBQ3pDLENBQUM7NEJBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQ0FDMUIsSUFDQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVE7b0NBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVO3lDQUMzQyxRQUFRO29DQUNYLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxXQUFXO3dDQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQzFCLGlDQUFpQyxDQUNqQyxDQUFDO3dDQUNGLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUTs0Q0FDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUMxQiwyQ0FBMkMsQ0FDM0MsQ0FBQyxDQUFDLEVBQ0o7b0NBQ0QsSUFBSSxDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQztpQ0FDNUM7NEJBQ0YsQ0FBQyxDQUFDLENBQUM7d0JBQ0osQ0FBQyxDQUFDLENBQUM7cUJBQ0o7eUJBQU07d0JBQ04sSUFBSSxDQUFDLCtCQUErQixHQUFHLEtBQUssQ0FBQztxQkFDN0M7Z0JBQ0YsQ0FBQyxDQUFDLENBQUM7YUFDSjtpQkFBTTtnQkFDTixJQUFJLENBQUMsK0JBQStCLEdBQUcsS0FBSyxDQUFDO2FBQzdDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNWLG1GQUFtRjtRQUNuRixJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ25ELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDOztrSEFsU1csb0JBQW9CO3NHQUFwQixvQkFBb0IsbUxDakJqQyx1MExBaUlBOzRGRGhIYSxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzNDO3lUQUlBLFVBQVU7c0JBRFQsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFdmFsdWF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9wZXJtaXNzaW9ucy9ldmFsdWF0b3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvc2VydmljZXMvbnV4ZW8tZGlhbG9nLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtcGVybWlzc2lvbnMnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9ucy5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vcGVybWlzc2lvbnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblx0cGVybWlzc2lvbnNUeXBlOiBhbnk7XHJcblx0QElucHV0KClcclxuXHRkb2N1bWVudElkO1xyXG5cdEBJbnB1dCgpXHJcblx0ZG9jdW1lbnQ7XHJcblx0QElucHV0KClcclxuXHRhbGxvd0FkZEFuZEJsb2NrO1xyXG5cdEBJbnB1dCgpXHJcblx0c291cmNlUGFnZSA9ICcnO1xyXG5cdHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cdHVzZXJWaXNpYmxlUGVybWlzc2lvbnM6IGFueTtcclxuXHRsb2NhbFBlcm1pc3Npb25zID0gW107XHJcblx0aW5oZXJpdGVkUGVybWlzc2lvbnMgPSBbXTtcclxuXHRkZXBhcnRtZW50UGVybWlzc2lvbnMgPSBbXTtcclxuXHRzaGFyZVBlcm1pc3Npb25zID0gW107XHJcblx0d29ya2Zsb3dQZXJtaXNzaW9ucyA9IFtdO1xyXG5cdHN0YXR1cyA9IG51bGw7IC8vdG8ga25vdyBpbmhlcml0ZWQgUGVybWlzc2lvbnMgaWYgYmxvY2sgb3Igbm90XHJcblx0YWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvbiA9IGZhbHNlO1xyXG5cdGJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcblx0bG9hZGluZyA9IGZhbHNlO1xyXG5cdGFsbERlcGFydG1lbnRVc2VycyA9IFtdO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGFkZFBlcm1pc3Npb25zRGlhbG9nOiBNYXREaWFsb2csXHJcblx0XHRwcml2YXRlIHRvc3RlclNlcnZpY2U6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIHVzZXJTZXJ2OiBVc2VyU2VydmljZSxcclxuXHRcdHByaXZhdGUgZXZhbHVhdG9yU2VydmljZTogRXZhbHVhdG9yc1NlcnZpY2UsXHJcblx0XHRwdWJsaWMgbnV4ZW9EaWFsb2dTZXJ2aWNlOiBOdXhlb0RpYWxvZ1NlcnZpY2VcclxuXHQpIHt9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb25zJC5jb25jYXQoW1xyXG5cdFx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmNyZWF0ZUFuZEFkZEFub3RoZXIuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHR0aGlzLmdldFBlcm1pc3Npb25zKCk7XHJcblx0XHRcdH0pXHJcblx0XHRdKTtcclxuXHRcdHRoaXMubG9hZGluZyA9IHRydWU7XHJcblx0XHR0aGlzLmNoZWNrSWZVc2VyQ2FuRG9BY3Rpb25zT25QZXJtaXNzaW9ucygpO1xyXG5cdFx0dGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG5cdFx0dGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPiAwXHJcblx0XHRcdD8gKHRoaXMuc3RhdHVzID0gJ3VuYmxvY2snKVxyXG5cdFx0XHQ6ICh0aGlzLnN0YXR1cyA9ICdibG9jaycpO1xyXG5cdH1cclxuXHJcblx0YWRkUGVybWlzc2lvbkxhYmVsKGFyciwgcGVybWlzc2lvbkFycikge1xyXG5cdFx0YXJyLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuXHRcdFx0aWYgKCF0aGlzLmlzSXRlbUNvbnRhaW5BZG1pbmlzdHJhdG9yR3JvdXAoZWxlbWVudCkpIHtcclxuXHRcdFx0XHRlbGVtZW50LnBlcm1pc3Npb25MYWJlbCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxyXG5cdFx0XHRcdFx0YHJpZ2h0cy4ke2VsZW1lbnQucGVybWlzc2lvbn1gXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0XHRwZXJtaXNzaW9uQXJyLnB1c2goZWxlbWVudCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0aXNJdGVtQ29udGFpbkFkbWluaXN0cmF0b3JHcm91cChlbGVtZW50KSB7XHJcblx0XHRsZXQgaXNBZG1pbmlzdHJhdG9yID0gZmFsc2U7XHJcblx0XHRpZiAoZWxlbWVudC5ncmFudGVkID09PSBmYWxzZSkge1xyXG5cdFx0XHRpc0FkbWluaXN0cmF0b3IgPSB0cnVlO1xyXG5cdFx0fSBlbHNlIGlmIChcclxuXHRcdFx0ZWxlbWVudC51c2VybmFtZSAmJlxyXG5cdFx0XHRlbGVtZW50LnVzZXJuYW1lWydlbnRpdHktdHlwZSddID09PSAnZ3JvdXAnICYmXHJcblx0XHRcdGVsZW1lbnQudXNlcm5hbWUuZ3JvdXBuYW1lID09PSAnYWRtaW5pc3RyYXRvcnMnXHJcblx0XHQpIHtcclxuXHRcdFx0aXNBZG1pbmlzdHJhdG9yID0gdHJ1ZTtcclxuXHRcdH0gZWxzZSBpZiAoZWxlbWVudC51c2VybmFtZS51c2VyR3JvdXBzKSB7XHJcblx0XHRcdGVsZW1lbnQudXNlcm5hbWUudXNlckdyb3Vwcy5tYXAoKGdyb3VwKSA9PiB7XHJcblx0XHRcdFx0aWYgKGdyb3VwLm5hbWUgPT09ICdhZG1pbmlzdHJhdG9ycycpIHtcclxuXHRcdFx0XHRcdGlzQWRtaW5pc3RyYXRvciA9IHRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBpc0FkbWluaXN0cmF0b3I7XHJcblx0fVxyXG5cclxuXHRnZXRQZXJtaXNzaW9ucygpIHtcclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9ucyQuY29uY2F0KFtcclxuXHRcdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZVxyXG5cdFx0XHRcdC5nZXRQZXJtaXNzaW9uc0ZvckRvY3VtZW50KHRoaXMuZG9jdW1lbnRJZClcclxuXHRcdFx0XHQuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdFx0KHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnBlcm1pc3Npb25zVHlwZSA9IHJlcy5jb250ZXh0UGFyYW1ldGVycy5hY2xzO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnVzZXJWaXNpYmxlUGVybWlzc2lvbnMgPVxyXG5cdFx0XHRcdFx0XHRcdHJlcy5jb250ZXh0UGFyYW1ldGVycy51c2VyVmlzaWJsZVBlcm1pc3Npb25zO1xyXG5cdFx0XHRcdFx0XHRmb3IgKGxldCBwIG9mIHRoaXMucGVybWlzc2lvbnNUeXBlKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHAubmFtZSA9PSAnbG9jYWwnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmxvY2FsUGVybWlzc2lvbnMgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcywgdGhpcy5sb2NhbFBlcm1pc3Npb25zKTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMubG9jYWxQZXJtaXNzaW9ucyA9IHRoaXMubG9jYWxQZXJtaXNzaW9ucy5tYXAoKGVsZW1lbnQpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVsZW1lbnQuY3JlYXRvciA9PT0gbnVsbCB8fFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVsZW1lbnQuY3JlYXRvciA9PT0gJ3N5c3RlbScgfHxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRlbGVtZW50LmNyZWF0b3I/LnByb3BlcnRpZXM/LnVzZXJuYW1lICE9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudXNlcm5hbWVcclxuXHRcdFx0XHRcdFx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZWxlbWVudFsnY3VycmVudFVzZXJJc1Blcm1pc3Npb25Pd25lciddID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZWxlbWVudFsnY3VycmVudFVzZXJJc1Blcm1pc3Npb25Pd25lciddID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gZWxlbWVudDtcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocC5uYW1lID09ICdpbmhlcml0ZWQnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsIHRoaXMuaW5oZXJpdGVkUGVybWlzc2lvbnMpO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocC5uYW1lLmluY2x1ZGVzKCdkZXB0U3BhY2UnKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5kZXBhcnRtZW50UGVybWlzc2lvbnMgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcywgdGhpcy5kZXBhcnRtZW50UGVybWlzc2lvbnMpO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocC5uYW1lLmluY2x1ZGVzKCdzaGFyZScpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnNoYXJlUGVybWlzc2lvbnMgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcywgdGhpcy5zaGFyZVBlcm1pc3Npb25zKTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHAubmFtZS5pbmNsdWRlcygncm91dGluZycpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLndvcmtmbG93UGVybWlzc2lvbnMgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcywgdGhpcy53b3JrZmxvd1Blcm1pc3Npb25zKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0dGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT0gMFxyXG5cdFx0XHRcdFx0XHRcdD8gKHRoaXMuc3RhdHVzID0gJ2Jsb2NrJylcclxuXHRcdFx0XHRcdFx0XHQ6ICh0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJyk7XHJcblx0XHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdChlcnIpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSlcclxuXHRcdFx0XHQpXHJcblx0XHRdKTtcclxuXHR9XHJcblxyXG5cdGJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKCkge1xyXG5cdFx0dGhpcy5ibG9ja09yVW5ibG9jayA9IHRydWU7XHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbXHJcblx0XHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2VcclxuXHRcdFx0XHQuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UodGhpcy5kb2N1bWVudElkKVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoXHJcblx0XHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmdldFBlcm1pc3Npb25zKCk7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdFx0XHQnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5TVUNDRVNTJyxcclxuXHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLlBFUk1JU1NJT05fQkxPQ0tfU1VDQ0VTUydcclxuXHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYmxvY2tPclVuYmxvY2sgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJztcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuYmxvY2tPclVuYmxvY2sgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuUEVSTUlTU0lPTl9CTE9DS19GQUlMJ1xyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdClcclxuXHRcdF0pO1xyXG5cdH1cclxuXHJcblx0dW5ibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSgpIHtcclxuXHRcdHRoaXMuYmxvY2tPclVuYmxvY2sgPSB0cnVlO1xyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb25zJC5jb25jYXQoW1xyXG5cdFx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlXHJcblx0XHRcdFx0LnVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UodGhpcy5kb2N1bWVudElkKVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoXHJcblx0XHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmdldFBlcm1pc3Npb25zKCk7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdFx0XHQnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5TVUNDRVNTJyxcclxuXHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLlBFUk1JU1NJT05fVU5CTE9DS19TVUNDRVNTJ1xyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zdGF0dXMgPSAnYmxvY2snO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYmxvY2tPclVuYmxvY2sgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5ibG9ja09yVW5ibG9jayA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0XHQnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkVSUk9SJyxcclxuXHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5QRVJNSVNTSU9OX1VOQkxPQ0tfRkFJTCdcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpXHJcblx0XHRdKTtcclxuXHR9XHJcblxyXG5cdGFkZE5ld0xvY2FsUGVybWlzc2lvbnMoKSB7XHJcblx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IFsuLi50aGlzLmFsbERlcGFydG1lbnRVc2Vyc107XHJcblx0XHR0aGlzLmxvY2FsUGVybWlzc2lvbnMuZm9yRWFjaCgocGVybSkgPT4ge1xyXG5cdFx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2Vycy5mb3JFYWNoKCh1c2VyLCBpbmRleCkgPT4ge1xyXG5cdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdHBlcm0udXNlcm5hbWUucHJvcGVydGllcy51c2VybmFtZSA9PT0gdXNlci5wcm9wZXJ0aWVzLnVzZXJuYW1lICYmXHJcblx0XHRcdFx0XHRwZXJtLmNyZWF0b3IucHJvcGVydGllcy51c2VybmFtZSA9PT1cclxuXHRcdFx0XHRcdFx0dGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnVzZXJuYW1lXHJcblx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2Vycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHJcblx0XHQvLyBiZWZvciBvcGVuaW5nIG1vZGFsIHdlIGRpYWJsZSBjbGlja291dCBzaWRlIGVmZmVjdCB0byBwcmV2ZW50IGRldGFpbHMgc2lkZSBtZW51IGZyb20gY2xvc2luZyB3aGVuIGNsaWNraW5nIGluIHRoZSBtb2RhbFxyXG5cdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gdHJ1ZTtcclxuXHRcdHRoaXMubnV4ZW9EaWFsb2dTZXJ2aWNlXHJcblx0XHRcdC5vcGVuKHtcclxuXHRcdFx0XHRjb21wb25lbnQ6IEFkZFBlcm1pc3Npb25zRGlhbG9nQ29tcG9uZW50LFxyXG5cdFx0XHRcdHdpZHRoOiAnMzUlJyxcclxuXHRcdFx0XHRoZWlnaHQ6ICc3MCUnLFxyXG5cdFx0XHRcdHBhbmVsQ2xhc3M6ICd3YXRjaGVyLWRpYWxvZy1jb250YWluZXInLFxyXG5cdFx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRcdGlkOiB0aGlzLmRvY3VtZW50SWQsXHJcblx0XHRcdFx0XHRyaWdodHM6IHRoaXMudXNlclZpc2libGVQZXJtaXNzaW9uc1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQvL2Rpc2FibGVDbG9zZTogdHJ1ZSxcclxuXHRcdFx0fSlcclxuXHRcdFx0LmFmdGVyQ2xvc2VkKClcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0Ly8gcmV0dXJuIGNsaWNrIG91dHNpZGUgZWZmZWN0IHRvIHdvcmsgdG8gY2xvc2Ugc2lkZSBtZW51IHdoZW4gY2xpY2tpbmcgb3V0IHNpZGUgaXRcclxuXHRcdFx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRpc2FibGVDbGlja091dFNpZGUgPSBmYWxzZTtcclxuXHRcdFx0XHRpZiAocmVzKSB7XHJcblx0XHRcdFx0XHR0aGlzLmdldFBlcm1pc3Npb25zKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHR9XHJcblx0Y2hlY2tJZlVzZXJDYW5Eb0FjdGlvbnNPblBlcm1pc3Npb25zKCkge1xyXG5cdFx0dGhpcy5ldmFsdWF0b3JTZXJ2aWNlXHJcblx0XHRcdC5ldmFsdWF0ZVJ1bGUoJ2lzTWFuYWdlUGVybWlzc2lvbkVuYWJsZWQnKVxyXG5cdFx0XHQudGhlbigoaXNFbmFibGVkKSA9PiB7XHJcblx0XHRcdFx0aWYgKGlzRW5hYmxlZCkge1xyXG5cdFx0XHRcdFx0dGhpcy5ldmFsdWF0b3JTZXJ2aWNlXHJcblx0XHRcdFx0XHRcdC5ldmFsdWF0ZVJ1bGUoJ2lzRGVwYXJ0bWVudERvY3VtZW50Q29udHJvbGxlcicsIHtcclxuXHRcdFx0XHRcdFx0XHRlbnRpdHk6IHRoaXMuZG9jdW1lbnRcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0LnRoZW4oKHVzZXJJbkNvbnRyb2xsZXJHcm91cCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdC8vIGxldCB1c2VySW5Db250cm9sbGVyR3JvdXAgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHQvLyB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnVzZXJHcm91cHMuZm9yRWFjaChncm91cCA9PiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gICBpZiAoZ3JvdXAubmFtZSA9PT0gJ2Rtc19kb2N1bWVudF9jb250cm9sbGVyJykge1xyXG5cdFx0XHRcdFx0XHRcdC8vICAgICB1c2VySW5Db250cm9sbGVyR3JvdXAgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdC8vICAgfVxyXG5cdFx0XHRcdFx0XHRcdC8vIH0pO1xyXG5cdFx0XHRcdFx0XHRcdGlmICh1c2VySW5Db250cm9sbGVyR3JvdXApIHtcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBkZXBDb2RlID0gdGhpcy51c2VyU2Vydi5nZXRVc2VyRGVwYXJ0bWVudEZyb21QYXRoKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmRvY3VtZW50LnBhdGhcclxuXHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlXHJcblx0XHRcdFx0XHRcdFx0XHRcdC5nZXREZXBNZW1iZXJzKGRlcENvZGUpXHJcblx0XHRcdFx0XHRcdFx0XHRcdC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzID0gcmVzLnVzZXJzLm1hcChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdChlKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGVbJ2Rpc3BsYXlMYWJlbCddID1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRlLnByb3BlcnRpZXMuZmlyc3ROYW1lICsgJyAnICsgZS5wcm9wZXJ0aWVzLmxhc3ROYW1lO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuYWxsRGVwYXJ0bWVudFVzZXJzID0gW1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Li4udGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnNcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJlcy51c2Vycy5mb3JFYWNoKCh1c2VyKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHVzZXIucHJvcGVydGllcy51c2VybmFtZSA9PT1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXNcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC51c2VybmFtZSAmJlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQoKHRoaXMuZG9jdW1lbnQudHlwZSA9PT0gJ0Rtc0ZvbGRlcicgJiZcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmRvY3VtZW50LnBhdGguaW5jbHVkZXMoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvRE1TLydcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpKSB8fFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCh0aGlzLmRvY3VtZW50LnR5cGUgPT09ICdGb2xkZXInICYmXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmRvY3VtZW50LnBhdGguaW5jbHVkZXMoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCcvZGVmYXVsdC1kb21haW4vd29ya3NwYWNlcy9ETVNXb3Jrc3BhY2VzLydcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCkpKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuYWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvbiA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdC8vIHJldHVybiBjbGljayBvdXRzaWRlIGVmZmVjdCB0byB3b3JrIHRvIGNsb3NlIHNpZGUgbWVudSB3aGVuIGNsaWNraW5nIG91dCBzaWRlIGl0XHJcblx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRpc2FibGVDbGlja091dFNpZGUgPSBmYWxzZTtcclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9ucyQuZm9yRWFjaCgoZSkgPT4gZS51bnN1YnNjcmliZSgpKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImgtYXV0byBtdC0zIHB4LTAgcGItNFwiICpuZ0lmPVwiIWxvYWRpbmc7IGVsc2UgbG9hZGVyXCI+XHJcbiAgICA8IS0tTG9jYWxQZXJtaXNzaW9uIExpc3QgSXRlbXMtLT5cclxuICAgIDxkaXYgKm5nSWY9XCJzb3VyY2VQYWdlICE9ICdteUZpbGVzJ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWdyYXktNTAwIHRleHQtYmFzZVwiPnt7XHJcbiAgICAgICAgICAgICAgICBcInBlcm1pc3Npb24ubG9jYWxcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhbGxvd0FkZF9CbG9ja19EZWxldGVQZXJtaXNzaW9uICYmICFpbmhlcml0ZWRQZXJtaXNzaW9ucy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFsbG93QWRkQW5kQmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaG92ZXI6dGV4dC1ibHVlLTcwMCB0ZXh0LWJsdWUtNTAwIG1iLTEgdGV4dC1iYXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTmV3TG9jYWxQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXBlcm1pc3Npb25zVHlwZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgXCJwZXJtaXNzaW9uLm5ld1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cIm1hdC1kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlXHJcbiAgICAgICAgICAgIFtkb2N1bWVudElkXT1cImRvY3VtZW50SWRcIlxyXG4gICAgICAgICAgICBbdXNlclZpc2libGVQZXJtaXNzaW9uc109XCJ1c2VyVmlzaWJsZVBlcm1pc3Npb25zXCJcclxuICAgICAgICAgICAgKGdldFBlcm1pc3Npb25zKT1cImdldFBlcm1pc3Npb25zKClcIlxyXG4gICAgICAgICAgICBbYWxsb3dEZWxldGVBbmRFZGl0XT1cImFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb25cIlxyXG4gICAgICAgICAgICBbcGVybWlzc2lvbnNBcnJheV09XCJsb2NhbFBlcm1pc3Npb25zXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJsb2NhbFBlcm1pc3Npb25zLmxlbmd0aCA+IDA7IGVsc2Ugbm9sb2NhbFBlcm1pc3Npb25zXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtcGVybWlzc2lvbnMtdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm9sb2NhbFBlcm1pc3Npb25zPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtcGVybXNzaW9uIHAtMyB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICB7eyBcInBlcm1pc3Npb24ubm9Mb2NhbFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPCEtLUluaGVyaXRlZFBlcm1pc3Npb24gTGlzdCBJdGVtcy0tPlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gbXQtM1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWdyYXktNTAwIHRleHQtYmFzZVwiPnt7XHJcbiAgICAgICAgICAgICAgICBcInBlcm1pc3Npb24uaW5oZXJpdGVkXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvblwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaG92ZXI6dGV4dC1ibHVlLTcwMCB0ZXh0LWJsdWUtNTAwIG1iLTEgdGV4dC1iYXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0YXR1cyAhPSBudWxsICYmIGFsbG93QWRkQW5kQmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RhdHVzID09ICdibG9jayc7IGVsc2UgdW5ibG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ1bmJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJwZXJtaXNzaW9uLnVuYmxvY2tcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3VuYmxvY2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBcInBlcm1pc3Npb24uYmxvY2tcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwibWF0LWRpdmlkZXJcIiAqbmdJZj1cIiFibG9ja09yVW5ibG9ja1wiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImJsb2NrT3JVbmJsb2NrXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgICAgIDxhcHAtcGVybWlzc2lvbnMtdGVtcGxhdGVcclxuICAgICAgICAgICAgKm5nSWY9XCJpbmhlcml0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPiAwOyBlbHNlIG5vaW5oZXJpdGVkUGVybWlzc2lvbnNcIlxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIFtwZXJtaXNzaW9uc0FycmF5XT1cImluaGVyaXRlZFBlcm1pc3Npb25zXCJcclxuICAgICAgICAgICAgKGdldFBlcm1pc3Npb25zKT1cImdldFBlcm1pc3Npb25zKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2FwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNub2luaGVyaXRlZFBlcm1pc3Npb25zPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtcGVybXNzaW9uIHAtMyB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICB7e1wicGVybWlzc2lvbi5ub0luaGVyaXRlZFwiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPCEtLWRlcGFydG1lbnRQZXJtaXNzaW9ucyBMaXN0IEl0ZW1zLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGVwYXJ0bWVudFBlcm1pc3Npb25zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmRlcGFydG1lbnRQZXJtaXNzaW9uc1wiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cIm1hdC1kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlXHJcbiAgICAgICAgICAgIFtkb2N1bWVudElkXT1cImRvY3VtZW50SWRcIlxyXG4gICAgICAgICAgICBbdXNlclZpc2libGVQZXJtaXNzaW9uc109XCJ1c2VyVmlzaWJsZVBlcm1pc3Npb25zXCJcclxuICAgICAgICAgICAgKGdldFBlcm1pc3Npb25zKT1cImdldFBlcm1pc3Npb25zKClcIlxyXG4gICAgICAgICAgICBbcGVybWlzc2lvbnNBcnJheV09XCJkZXBhcnRtZW50UGVybWlzc2lvbnNcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2FwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLXNoYXJlUGVybWlzc2lvbnMgTGlzdCBJdGVtcy0tPlxyXG4gICAgPGRpdiAqbmdJZj1cInNoYXJlUGVybWlzc2lvbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWdyYXktNTAwIHRleHQtYmFzZVwiPnt7XHJcbiAgICAgICAgICAgICAgICBcInBlcm1pc3Npb24uc2hhcmVQZXJtaXNzaW9uc1wiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cIm1hdC1kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlXHJcbiAgICAgICAgICAgIFtkb2N1bWVudElkXT1cImRvY3VtZW50SWRcIlxyXG4gICAgICAgICAgICBbdXNlclZpc2libGVQZXJtaXNzaW9uc109XCJ1c2VyVmlzaWJsZVBlcm1pc3Npb25zXCJcclxuICAgICAgICAgICAgKGdldFBlcm1pc3Npb25zKT1cImdldFBlcm1pc3Npb25zKClcIlxyXG4gICAgICAgICAgICBbcGVybWlzc2lvbnNBcnJheV09XCJzaGFyZVBlcm1pc3Npb25zXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtcGVybWlzc2lvbnMtdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS13b3JrZmxvd1Blcm1pc3Npb25zIExpc3QgSXRlbXMtLT5cclxuICAgIDxkaXYgKm5nSWY9XCJ3b3JrZmxvd1Blcm1pc3Npb25zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLndvcmtmbG93UGVybWlzc2lvbnNcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwid29ya2Zsb3dQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNsb2FkZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy1mdWxsIGgtZnVsbFwiPlxyXG4gICAgICAgIDxtYXQtc3Bpbm5lciBbdmFsdWVdPVwiOTBcIiBbc3Ryb2tlV2lkdGhdPVwiNlwiIG92ZXJsYXk9XCJ0cnVlXCIgW2RpYW1ldGVyXT1cIjc1XCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
98
98
  }], getPermissions: [{
99
99
  type: Output
100
100
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy10ZW1wbGF0ZS9wZXJtaXNzaW9ucy10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXRlbXBsYXRlL3Blcm1pc3Npb25zLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7Ozs7Ozs7O0FBVTNHLE1BQU0sT0FBTyw0QkFBNEI7SUFNeEMsWUFDUyxpQkFBb0MsRUFDcEMsYUFBa0MsRUFDbkMsa0JBQXNDO1FBRnJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFSckMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBR1QscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUszQyxDQUFDO0lBRUosUUFBUSxLQUFVLENBQUM7SUFFbkIsZ0JBQWdCLENBQUMsVUFBVTtRQUMxQixJQUFJLENBQUMsaUJBQWlCO2FBQ3BCLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO2FB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S0FBSztnQkFDcUIsZ0JBQWdCO3NCQUExQyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFDZixjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtcGVybWlzc2lvbnMtZGlhbG9nL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnV4ZW9EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL3NlcnZpY2VzL251eGVvLWRpYWxvZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3Blcm1pc3Npb25zLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25zVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBJbnB1dCgpIGFsbG93RGVsZXRlQW5kRWRpdCA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIGRvY3VtZW50SWQ7XHJcblx0QElucHV0KCkgdXNlclZpc2libGVQZXJtaXNzaW9ucztcclxuXHRASW5wdXQoJ3Blcm1pc3Npb25zQXJyYXknKSBwZXJtaXNzaW9uc0FycmF5ID0gW107XHJcblx0QE91dHB1dCgpIGdldFBlcm1pc3Npb25zID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHRvc3RlclNlcnZpY2U6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcblx0XHRwdWJsaWMgbnV4ZW9EaWFsb2dTZXJ2aWNlOiBOdXhlb0RpYWxvZ1NlcnZpY2VcclxuXHQpIHt9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcblx0ZGVsZXRlUGVybWlzc2lvbihwZXJtaXNzaW9uKSB7XHJcblx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlXHJcblx0XHRcdC5kZWxldGVMb2NhbFBlcm1pc3Npb25zKHRoaXMuZG9jdW1lbnRJZCwgcGVybWlzc2lvbilcclxuXHRcdFx0LnN1YnNjcmliZShcclxuXHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmdldFBlcm1pc3Npb25zLmVtaXQoKTtcclxuXHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHQnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdCdUT0FTVEVSLlNVQ0NFU1MnLFxyXG5cdFx0XHRcdFx0XHQnVE9BU1RFUi5QRVJNSVNTSU9OX1JFTU9WRV9TVUNDRVNTJ1xyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMudG9zdGVyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHQnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0XHRcdCdUT0FTVEVSLlBFUk1JU1NJT05fUkVNT1ZFX0ZBSUwnXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHR9XHJcblxyXG5cdGVkaXRQZXJtaXNzaW9uKHBlcm1pc3Npb24sIHVzZXJuYW1lLCB1c2VyVmlzaWJsZVBlcm1pc3Npb25zLCBiZWdpbiwgZW5kKSB7XHJcblx0XHQvLyBiZWZvciBvcGVuaW5nIG1vZGFsIHdlIGRpYWJsZSBjbGlja291dCBzaWRlIGVmZmVjdCB0byBwcmV2ZW50IGRldGFpbHMgc2lkZSBtZW51IGZyb20gY2xvc2luZyB3aGVuIGNsaWNraW5nIGluIHRoZSBtb2RhbFxyXG5cdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gdHJ1ZTtcclxuXHRcdGxldCBhZGREaWFsb2dSZWYgPSB0aGlzLm51eGVvRGlhbG9nU2VydmljZS5vcGVuKHtcclxuXHRcdFx0Y29tcG9uZW50OiBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCxcclxuXHRcdFx0d2lkdGg6ICczNSUnLFxyXG5cdFx0XHRoZWlnaHQ6ICc3MCUnLFxyXG5cdFx0XHRwYW5lbENsYXNzOiAnd2F0Y2hlci1kaWFsb2ctY29udGFpbmVyJyxcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGlkOiB0aGlzLmRvY3VtZW50SWQsXHJcblx0XHRcdFx0cmlnaHRzOiB0aGlzLnVzZXJWaXNpYmxlUGVybWlzc2lvbnMsXHJcblx0XHRcdFx0c3RhdGU6ICd1cGRhdGUnLFxyXG5cdFx0XHRcdGFjbElkOiBwZXJtaXNzaW9uLFxyXG5cdFx0XHRcdHVzZXJuYW1lOiB1c2VybmFtZSxcclxuXHRcdFx0XHRlZGl0YWJsZVJpZ2h0OiB1c2VyVmlzaWJsZVBlcm1pc3Npb25zLFxyXG5cdFx0XHRcdGVkaXRhYmxlQmVnaW46IGJlZ2luLFxyXG5cdFx0XHRcdGVkaXRhYmxlRW5kOiBlbmRcclxuXHRcdFx0fVxyXG5cdFx0XHQvL2Rpc2FibGVDbG9zZTogdHJ1ZSxcclxuXHRcdH0pO1xyXG5cdFx0YWRkRGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0Ly8gcmV0dXJuIGNsaWNrIG91dHNpZGUgZWZmZWN0IHRvIHdvcmsgdG8gY2xvc2Ugc2lkZSBtZW51IHdoZW4gY2xpY2tpbmcgb3V0IHNpZGUgaXRcclxuXHRcdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcblx0XHRcdHRoaXMuZ2V0UGVybWlzc2lvbnMuZW1pdCgpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRvcGVuRGlhbG9nKHBlcm1pc3Npb24pIHtcclxuXHRcdC8vIGJlZm9yIG9wZW5pbmcgbW9kYWwgd2UgZGlhYmxlIGNsaWNrb3V0IHNpZGUgZWZmZWN0IHRvIHByZXZlbnQgZGV0YWlscyBzaWRlIG1lbnUgZnJvbSBjbG9zaW5nIHdoZW4gY2xpY2tpbmcgaW4gdGhlIG1vZGFsXHJcblx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRpc2FibGVDbGlja091dFNpZGUgPSB0cnVlO1xyXG5cdFx0bGV0IGRpYWxvZ1JlZiA9IHRoaXMubnV4ZW9EaWFsb2dTZXJ2aWNlLm9wZW4oe1xyXG5cdFx0XHRjb21wb25lbnQ6IEFkZFBlcm1pc3Npb25zRGlhbG9nQ29tcG9uZW50LFxyXG5cdFx0XHR3aWR0aDogJzUxMHB4JyxcclxuXHRcdFx0cGFuZWxDbGFzczogJ3dhdGNoZXItZGlhbG9nLWNvbnRhaW5lcicsXHJcblx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHR0aXRsZTogJ2NvbmZpcm1EaWFsb2cuY29uZmlybScsXHJcblx0XHRcdFx0bWVzc2FnZTogJ2NvbmZpcm1EaWFsb2cuUmVtX1BlcicsXHJcblx0XHRcdFx0Y29uZmlybUJ1dHRvbjogYEJVVFRPTlMuUmVtb3ZlYCxcclxuXHRcdFx0XHRjYW5jZWxCdXR0b246ICdCVVRUT05TLkNhbmNlbCdcclxuXHRcdFx0fVxyXG5cdFx0XHQvL2Rpc2FibGVDbG9zZTogdHJ1ZSxcclxuXHRcdH0pO1xyXG5cclxuXHRcdGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblx0XHRcdC8vIHJldHVybiBjbGljayBvdXRzaWRlIGVmZmVjdCB0byB3b3JrIHRvIGNsb3NlIHNpZGUgbWVudSB3aGVuIGNsaWNraW5nIG91dCBzaWRlIGl0XHJcblx0XHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGlzYWJsZUNsaWNrT3V0U2lkZSA9IGZhbHNlO1xyXG5cdFx0XHRpZiAocmVzdWx0KSB7XHJcblx0XHRcdFx0dGhpcy5kZWxldGVQZXJtaXNzaW9uKHBlcm1pc3Npb24pO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHAgb2YgcGVybWlzc2lvbnNBcnJheVwiPlxyXG4gICAgICAgIDwhLS0gSW5mbyAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBzaW5nbGUtcGVybXNzaW9uXCIgKm5nSWY9XCIocC5ncmFudGVkICYmIHAudXNlcm5hbWVbJ2VudGl0eS10eXBlJ109PSAndXNlcicpIHx8IChwLmdyYW50ZWQgJiYgKHAudXNlcm5hbWVbJ2VudGl0eS10eXBlJ109PSAnZ3JvdXAnICYmIChwLnVzZXJuYW1lLmlkICE9ICdhZG1pbmlzdHJhdG9ycycgJiYgcC51c2VybmFtZS5pZCAhPSAnbWVtYmVycycpKSlcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmxvY2s8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWF1dG8ganVzdGlmeS1iZXR3ZWVuIG1sLTNcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gSW5mbyAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWJhc2UgdGV4dC1ncmF5LTkwMCB3LTY0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicC51c2VybmFtZVsnZW50aXR5LXR5cGUnXSA9PSAndXNlcic7IGVsc2UgZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cC51c2VybmFtZS5mdWxsTmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNncm91cD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cC51c2VybmFtZS5ncm91cGxhYmVsfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLSB7e3AucGVybWlzc2lvbkxhYmVsfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMC41IHRleHQtc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicC5iZWdpbiAhPSBudWxsO2Vsc2UgcGVybWFuZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cC5iZWdpbiB8IGRhdGU6J2RkL01NL3l5eXknfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwLmVuZCAhPSBudWxsXCI+LSB7eyBwLmVuZCB8IGRhdGU6J2RkL01NL3l5eXknIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcGVybWFuZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+e3tcInBlcm1pc3Npb24ucGVybWFuZW50XCIgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwLmNyZWF0b3IgIT0gbnVsbCAmJiBwLmNyZWF0b3IgIT0gJ3N5c3RlbSc7IGVsc2UgZ3JhbnRlZEJ5U3lzdGVtQWRtaW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XCJwZXJtaXNzaW9uLmdyYW50ZWRcIiB8IHRyYW5zbGF0ZSB9fSB7e3AuY3JlYXRvclsnZnVsbE5hbWUnXX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2dyYW50ZWRCeVN5c3RlbUFkbWluPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcInBlcm1pc3Npb24uZ3JhbnRlZEJ5U3lzdGVtQWRtaW5cIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFjdGlvbnMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiICpuZ0lmPVwiYWxsb3dEZWxldGVBbmRFZGl0ICYmIHAuY3VycmVudFVzZXJJc1Blcm1pc3Npb25Pd25lciBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHAucGVybWlzc2lvbiAhPSAnRXZlcnl0aGluZydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdFBlcm1pc3Npb24ocC5pZCxwLnVzZXJuYW1lLHAucGVybWlzc2lvbixwLmJlZ2luLHAuZW5kKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19vdXRsaW5lOnBlbmNpbC1hbHQnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib3BlbkRpYWxvZyhwLmlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19vdXRsaW5lOnRyYXNoJ1wiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtdGVtcGxhdGUvcGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtdGVtcGxhdGUvcGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7Ozs7Ozs7QUFVM0csTUFBTSxPQUFPLDRCQUE0QjtJQU14QyxZQUNTLGlCQUFvQyxFQUNwQyxhQUFrQyxFQUNuQyxrQkFBc0M7UUFGckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVJyQyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFHVCxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdkMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBSzNDLENBQUM7SUFFSixRQUFRLEtBQVUsQ0FBQztJQUVuQixnQkFBZ0IsQ0FBQyxVQUFVO1FBQzFCLElBQUksQ0FBQyxpQkFBaUI7YUFDcEIsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7YUFDbkQsU0FBUyxD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QixnQkFBZ0I7c0JBQTFDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUNmLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOdXhlb0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvc2VydmljZXMvbnV4ZW8tZGlhbG9nLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtcGVybWlzc2lvbnMtdGVtcGxhdGUnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9ucy10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vcGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0QElucHV0KCkgYWxsb3dEZWxldGVBbmRFZGl0ID0gZmFsc2U7XHJcblx0QElucHV0KCkgZG9jdW1lbnRJZDtcclxuXHRASW5wdXQoKSB1c2VyVmlzaWJsZVBlcm1pc3Npb25zO1xyXG5cdEBJbnB1dCgncGVybWlzc2lvbnNBcnJheScpIHBlcm1pc3Npb25zQXJyYXkgPSBbXTtcclxuXHRAT3V0cHV0KCkgZ2V0UGVybWlzc2lvbnMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHBlcm1pc3Npb25TZXJ2aWNlOiBQZXJtaXNzaW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgdG9zdGVyU2VydmljZTogQ3VzdG9tVG9hc3RyU2VydmljZSxcclxuXHRcdHB1YmxpYyBudXhlb0RpYWxvZ1NlcnZpY2U6IE51eGVvRGlhbG9nU2VydmljZVxyXG5cdCkge31cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuXHRkZWxldGVQZXJtaXNzaW9uKHBlcm1pc3Npb24pIHtcclxuXHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2VcclxuXHRcdFx0LmRlbGV0ZUxvY2FsUGVybWlzc2lvbnModGhpcy5kb2N1bWVudElkLCBwZXJtaXNzaW9uKVxyXG5cdFx0XHQuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuZ2V0UGVybWlzc2lvbnMuZW1pdCgpO1xyXG5cdFx0XHRcdFx0dGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdCdzdWNjZXNzJyxcclxuXHRcdFx0XHRcdFx0J1RPQVNURVIuU1VDQ0VTUycsXHJcblx0XHRcdFx0XHRcdCdUT0FTVEVSLlBFUk1JU1NJT05fUkVNT1ZFX1NVQ0NFU1MnXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0KGVycikgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy50b3N0ZXJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHRcdCdUT0FTVEVSLkVSUk9SJyxcclxuXHRcdFx0XHRcdFx0J1RPQVNURVIuUEVSTUlTU0lPTl9SRU1PVkVfRkFJTCdcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cdH1cclxuXHJcblx0ZWRpdFBlcm1pc3Npb24ocGVybWlzc2lvbiwgdXNlcm5hbWUsIHVzZXJWaXNpYmxlUGVybWlzc2lvbnMsIGJlZ2luLCBlbmQpIHtcclxuXHRcdC8vIGJlZm9yIG9wZW5pbmcgbW9kYWwgd2UgZGlhYmxlIGNsaWNrb3V0IHNpZGUgZWZmZWN0IHRvIHByZXZlbnQgZGV0YWlscyBzaWRlIG1lbnUgZnJvbSBjbG9zaW5nIHdoZW4gY2xpY2tpbmcgaW4gdGhlIG1vZGFsXHJcblx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRpc2FibGVDbGlja091dFNpZGUgPSB0cnVlO1xyXG5cdFx0bGV0IGFkZERpYWxvZ1JlZiA9IHRoaXMubnV4ZW9EaWFsb2dTZXJ2aWNlLm9wZW4oe1xyXG5cdFx0XHRjb21wb25lbnQ6IEFkZFBlcm1pc3Npb25zRGlhbG9nQ29tcG9uZW50LFxyXG5cdFx0XHR3aWR0aDogJzM1JScsXHJcblx0XHRcdGhlaWdodDogJzcwJScsXHJcblx0XHRcdHBhbmVsQ2xhc3M6ICd3YXRjaGVyLWRpYWxvZy1jb250YWluZXInLFxyXG5cdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0aWQ6IHRoaXMuZG9jdW1lbnRJZCxcclxuXHRcdFx0XHRyaWdodHM6IHRoaXMudXNlclZpc2libGVQZXJtaXNzaW9ucyxcclxuXHRcdFx0XHRzdGF0ZTogJ3VwZGF0ZScsXHJcblx0XHRcdFx0YWNsSWQ6IHBlcm1pc3Npb24sXHJcblx0XHRcdFx0dXNlcm5hbWU6IHVzZXJuYW1lLFxyXG5cdFx0XHRcdGVkaXRhYmxlUmlnaHQ6IHVzZXJWaXNpYmxlUGVybWlzc2lvbnMsXHJcblx0XHRcdFx0ZWRpdGFibGVCZWdpbjogYmVnaW4sXHJcblx0XHRcdFx0ZWRpdGFibGVFbmQ6IGVuZFxyXG5cdFx0XHR9XHJcblx0XHRcdC8vZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG5cdFx0fSk7XHJcblx0XHRhZGREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHQvLyByZXR1cm4gY2xpY2sgb3V0c2lkZSBlZmZlY3QgdG8gd29yayB0byBjbG9zZSBzaWRlIG1lbnUgd2hlbiBjbGlja2luZyBvdXQgc2lkZSBpdFxyXG5cdFx0XHR0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRpc2FibGVDbGlja091dFNpZGUgPSBmYWxzZTtcclxuXHRcdFx0dGhpcy5nZXRQZXJtaXNzaW9ucy5lbWl0KCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG9wZW5EaWFsb2cocGVybWlzc2lvbikge1xyXG5cdFx0Ly8gYmVmb3Igb3BlbmluZyBtb2RhbCB3ZSBkaWFibGUgY2xpY2tvdXQgc2lkZSBlZmZlY3QgdG8gcHJldmVudCBkZXRhaWxzIHNpZGUgbWVudSBmcm9tIGNsb3Npbmcgd2hlbiBjbGlja2luZyBpbiB0aGUgbW9kYWxcclxuXHRcdHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGlzYWJsZUNsaWNrT3V0U2lkZSA9IHRydWU7XHJcblx0XHRsZXQgZGlhbG9nUmVmID0gdGhpcy5udXhlb0RpYWxvZ1NlcnZpY2Uub3Blbih7XHJcblx0XHRcdGNvbXBvbmVudDogQWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQsXHJcblx0XHRcdHdpZHRoOiAnNTEwcHgnLFxyXG5cdFx0XHRwYW5lbENsYXNzOiAnd2F0Y2hlci1kaWFsb2ctY29udGFpbmVyJyxcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdHRpdGxlOiAnY29uZmlybURpYWxvZy5jb25maXJtJyxcclxuXHRcdFx0XHRtZXNzYWdlOiAnY29uZmlybURpYWxvZy5SZW1fUGVyJyxcclxuXHRcdFx0XHRjb25maXJtQnV0dG9uOiBgQlVUVE9OUy5SZW1vdmVgLFxyXG5cdFx0XHRcdGNhbmNlbEJ1dHRvbjogJ0JVVFRPTlMuQ2FuY2VsJ1xyXG5cdFx0XHR9XHJcblx0XHRcdC8vZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG5cdFx0fSk7XHJcblxyXG5cdFx0ZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHRcdFx0Ly8gcmV0dXJuIGNsaWNrIG91dHNpZGUgZWZmZWN0IHRvIHdvcmsgdG8gY2xvc2Ugc2lkZSBtZW51IHdoZW4gY2xpY2tpbmcgb3V0IHNpZGUgaXRcclxuXHRcdFx0dGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcblx0XHRcdGlmIChyZXN1bHQpIHtcclxuXHRcdFx0XHR0aGlzLmRlbGV0ZVBlcm1pc3Npb24ocGVybWlzc2lvbik7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgcCBvZiBwZXJtaXNzaW9uc0FycmF5XCI+XHJcbiAgICAgICAgPCEtLSBJbmZvIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHNpbmdsZS1wZXJtc3Npb25cIiAqbmdJZj1cIihwLmdyYW50ZWQgJiYgcC51c2VybmFtZVsnZW50aXR5LXR5cGUnXT09ICd1c2VyJykgfHwgKHAuZ3JhbnRlZCAmJiAocC51c2VybmFtZVsnZW50aXR5LXR5cGUnXT09ICdncm91cCcgJiYgKHAudXNlcm5hbWUuaWQgIT0gJ2FkbWluaXN0cmF0b3JzJyAmJiBwLnVzZXJuYW1lLmlkICE9ICdtZW1iZXJzJykpKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+bG9jazwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtYXV0byBqdXN0aWZ5LWJldHdlZW4gbWwtM1wiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBJbmZvIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkIHRleHQtYmFzZSB0ZXh0LWdyYXktOTAwIHctNjRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwLnVzZXJuYW1lWydlbnRpdHktdHlwZSddID09ICd1c2VyJzsgZWxzZSBncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3twLnVzZXJuYW1lLmZ1bGxOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2dyb3VwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3twLnVzZXJuYW1lLmdyb3VwbGFiZWx9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAtIHt7cC5wZXJtaXNzaW9uTGFiZWx9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0wLjUgdGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwLmJlZ2luICE9IG51bGw7ZWxzZSBwZXJtYW5lbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twLmJlZ2luIHwgZGF0ZTonZGQvTU0veXl5eSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInAuZW5kICE9IG51bGxcIj4tIHt7IHAuZW5kIHwgZGF0ZTonZGQvTU0veXl5eScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNwZXJtYW5lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT57e1wicGVybWlzc2lvbi5wZXJtYW5lbnRcIiB8IHRyYW5zbGF0ZSB9fTwvaDE+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInAuY3JlYXRvciAhPSBudWxsICYmIHAuY3JlYXRvciAhPSAnc3lzdGVtJzsgZWxzZSBncmFudGVkQnlTeXN0ZW1BZG1pblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcInBlcm1pc3Npb24uZ3JhbnRlZFwiIHwgdHJhbnNsYXRlIH19IHt7cC5jcmVhdG9yWydmdWxsTmFtZSddfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZ3JhbnRlZEJ5U3lzdGVtQWRtaW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1wicGVybWlzc2lvbi5ncmFudGVkQnlTeXN0ZW1BZG1pblwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWN0aW9ucyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCIgKm5nSWY9XCJhbGxvd0RlbGV0ZUFuZEVkaXQgJiYgcC5jdXJyZW50VXNlcklzUGVybWlzc2lvbk93bmVyIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgcC5wZXJtaXNzaW9uICE9ICdFdmVyeXRoaW5nJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0UGVybWlzc2lvbihwLmlkLHAudXNlcm5hbWUscC5wZXJtaXNzaW9uLHAuYmVnaW4scC5lbmQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCInaGVyb2ljb25zX291dGxpbmU6cGVuY2lsLWFsdCdcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuRGlhbG9nKHAuaWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCInaGVyb2ljb25zX291dGxpbmU6dHJhc2gnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
84
84
  ]
85
85
  }]
86
86
  }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDckcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOztBQThCN0YsTUFBTSxPQUFPLGlCQUFpQjs7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQTFCNUIsb0JBQW9CO1FBQ3BCLDZCQUE2QjtRQUM3Qiw0QkFBNEIsYUFHNUIsWUFBWTtRQUNaLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLHdCQUF3QjtRQUN4QixvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLFdBQVc7UUFDWCxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixjQUFjO1FBQ2QsWUFBWTtRQUNaLGlCQUFpQixhQUdqQixvQkFBb0I7UUFDcEIsNkJBQTZCO1FBQzdCLDRCQUE0QjtnSEFHakIsaUJBQWlCLFlBdEJwQjtZQUNSLFlBQVk7WUFDWixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixXQUFXO1lBQ1gsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsY0FBYztZQUNkLFlBQVk7WUFDWixpQkFBaUI7U0FDakI7NEZBT1csaUJBQWlCO2tCQTVCN0IsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUU7d0JBQ2Isb0JBQW9CO3dCQUNwQiw2QkFBNkI7d0JBQzdCLDRCQUE0QjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNSLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osaUJBQWlCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Isb0JBQW9CO3dCQUNwQiw2QkFBNkI7d0JBQzdCLDRCQUE0QjtxQkFDNUI7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc0NvbXBvbmVudCB9IGZyb20gJy4vcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc1RlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9wZXJtaXNzaW9ucy10ZW1wbGF0ZS9wZXJtaXNzaW9ucy10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlc01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy9zaGFyZWQtc2VydmljZXMubW9kdWxlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvZGlyZWN0aXZlLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xyXG5pbXBvcnQgeyBBdmF0YXJNb2R1bGUgfSBmcm9tICcuLi9hdmF0YXIvYXZhdGFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IE51eGVvRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLWRpYWxvZy5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRkZWNsYXJhdGlvbnM6IFtcclxuXHRcdFBlcm1pc3Npb25zQ29tcG9uZW50LFxyXG5cdFx0QWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQsXHJcblx0XHRQZXJtaXNzaW9uc1RlbXBsYXRlQ29tcG9uZW50XHJcblx0XSxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHRDb21tb25Nb2R1bGUsXHJcblx0XHRUcmFuc2xhdGVNb2R1bGUsXHJcblx0XHRNYXREaXZpZGVyTW9kdWxlLFxyXG5cdFx0TWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXHJcblx0XHRNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcblx0XHRTaGFyZWRTZXJ2aWNlc01vZHVsZSxcclxuXHRcdE1hdEljb25Nb2R1bGUsXHJcblx0XHRQaXBlc01vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0UmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuXHRcdERpcmVjdGl2ZU1vZHVsZSxcclxuXHRcdE5nU2VsZWN0TW9kdWxlLFxyXG5cdFx0QXZhdGFyTW9kdWxlLFxyXG5cdFx0TnV4ZW9EaWFsb2dNb2R1bGVcclxuXHRdLFxyXG5cdGV4cG9ydHM6IFtcclxuXHRcdFBlcm1pc3Npb25zQ29tcG9uZW50LFxyXG5cdFx0QWRkUGVybWlzc2lvbnNEaWFsb2dDb21wb25lbnQsXHJcblx0XHRQZXJtaXNzaW9uc1RlbXBsYXRlQ29tcG9uZW50XHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNNb2R1bGUge31cclxuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7QUE4QjdGLE1BQU0sT0FBTyxpQkFBaUI7OytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkExQjVCLG9CQUFvQjtRQUNwQiw2QkFBNkI7UUFDN0IsNEJBQTRCLGFBRzVCLFlBQVk7UUFDWixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLG9CQUFvQjtRQUNwQix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLGFBQWE7UUFDYixXQUFXO1FBQ1gsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsY0FBYztRQUNkLFlBQVk7UUFDWixpQkFBaUIsYUFHakIsb0JBQW9CO1FBQ3BCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7Z0hBR2pCLGlCQUFpQixZQXRCcEI7WUFDUixZQUFZO1lBQ1osZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQixhQUFhO1lBQ2IsV0FBVztZQUNYLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGNBQWM7WUFDZCxZQUFZO1lBQ1osaUJBQWlCO1NBQ2pCOzRGQU9XLGlCQUFpQjtrQkE1QjdCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFO3dCQUNiLG9CQUFvQjt3QkFDcEIsNkJBQTZCO3dCQUM3Qiw0QkFBNEI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGlCQUFpQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNSLG9CQUFvQjt3QkFDcEIsNkJBQTZCO3dCQUM3Qiw0QkFBNEI7cUJBQzVCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbnNDb21wb25lbnQgfSBmcm9tICcuL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkZFBlcm1pc3Npb25zRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9hZGQtcGVybWlzc2lvbnMtZGlhbG9nL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGVybWlzc2lvbnNUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vcGVybWlzc2lvbnMtdGVtcGxhdGUvcGVybWlzc2lvbnMtdGVtcGxhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgU2hhcmVkU2VydmljZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQtc2VydmljZXMvc2hhcmVkLXNlcnZpY2VzLm1vZHVsZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlcy9waXBlcy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2RpcmVjdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOdXhlb0RpYWxvZ01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9udXhlby1kaWFsb2cubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbXHJcblx0XHRQZXJtaXNzaW9uc0NvbXBvbmVudCxcclxuXHRcdEFkZFBlcm1pc3Npb25zRGlhbG9nQ29tcG9uZW50LFxyXG5cdFx0UGVybWlzc2lvbnNUZW1wbGF0ZUNvbXBvbmVudFxyXG5cdF0sXHJcblx0aW1wb3J0czogW1xyXG5cdFx0Q29tbW9uTW9kdWxlLFxyXG5cdFx0VHJhbnNsYXRlTW9kdWxlLFxyXG5cdFx0TWF0RGl2aWRlck1vZHVsZSxcclxuXHRcdE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG5cdFx0TWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxyXG5cdFx0U2hhcmVkU2VydmljZXNNb2R1bGUsXHJcblx0XHRNYXRJY29uTW9kdWxlLFxyXG5cdFx0UGlwZXNNb2R1bGUsXHJcblx0XHRGb3Jtc01vZHVsZSxcclxuXHRcdFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcblx0XHREaXJlY3RpdmVNb2R1bGUsXHJcblx0XHROZ1NlbGVjdE1vZHVsZSxcclxuXHRcdEF2YXRhck1vZHVsZSxcclxuXHRcdE51eGVvRGlhbG9nTW9kdWxlXHJcblx0XSxcclxuXHRleHBvcnRzOiBbXHJcblx0XHRQZXJtaXNzaW9uc0NvbXBvbmVudCxcclxuXHRcdEFkZFBlcm1pc3Npb25zRGlhbG9nQ29tcG9uZW50LFxyXG5cdFx0UGVybWlzc2lvbnNUZW1wbGF0ZUNvbXBvbmVudFxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25zTW9kdWxlIHt9XHJcbiJdfQ==
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
74
74
  imports: [CommonModule]
75
75
  }]
76
76
  }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtcGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnQtcGFuZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUF1Qi9DLE1BQU0sT0FBTyxVQUFVOzt3R0FBVixVQUFVOzRGQUFWLFVBQVUsNEZBcEJaLDJCQUEyQjs0RkFvQnpCLFVBQVU7a0JBdEJ0QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUU7d0JBQ1A7Ozs7Ozs7Ozs7OztHQVlDO3FCQUNEO29CQUNELElBQUksRUFBRTt3QkFDTCxLQUFLLEVBQUUsYUFBYTtxQkFDcEI7aUJBQ0Q7O0FBV0QsTUFBTSxPQUFPLHlCQUF5Qjs7dUhBQXpCLHlCQUF5QjsyR0FBekIseUJBQXlCLGlLQU4zQiwyQkFBMkI7NEZBTXpCLHlCQUF5QjtrQkFSckMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsSUFBSSxFQUFFO3dCQUNMLEtBQUssRUFBRSwyRUFBMkU7cUJBQ2xGO2lCQUNEOztBQVVELE1BQU0sT0FBTyx5QkFBeUI7O3VIQUF6Qix5QkFBeUI7MkdBQXpCLHlCQUF5Qix5SkFOM0IsMkJBQTJCOzRGQU16Qix5QkFBeUI7a0JBUnJDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRTt3QkFDTCxLQUFLLEVBQUUsbUVBQW1FO3FCQUMxRTtpQkFDRDs7QUFRRCxNQUFNLE9BQU8sZ0JBQWdCOzs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBMUJoQixVQUFVLEVBVVYseUJBQXlCLEVBU3pCLHlCQUF5QixhQUszQixZQUFZLGFBeEJWLFVBQVUsRUFVVix5QkFBeUIsRUFTekIseUJBQXlCOytHQU96QixnQkFBZ0IsWUFGbkIsQ0FBQyxZQUFZLENBQUM7NEZBRVgsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRSxDQUFDLFVBQVUsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsQ0FBQztvQkFDaEYsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLHlCQUF5QixFQUFFLHlCQUF5QixDQUFDO29CQUMzRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2NoYXJ0LXBhbmVsJyxcclxuXHR0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxyXG5cdHN0eWxlczogW1xyXG5cdFx0YFxyXG5cdFx0XHQ6aG9zdCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY3AtYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjA2OCkpO1xyXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jcC1jb2xvcik7XHJcblx0XHRcdFx0cGFkZGluZzogdmFyKC0tY3AtcGFkZGluZywgMXJlbSk7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY3AtcmFkaXVzLCAxcmVtKTtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiB2YXIoLS1jcC1taW4taGVpZ2h0LCAyNjBweCk7XHJcblx0XHRcdFx0aGVpZ2h0IDogdmFyKC0tY3AtaGVpZ2h0KTtcclxuXHRcdFx0XHRAbWVkaWEgcHJpbnQge1xyXG5cdFx0XHRcdFx0LS1jcC1taW4taGVpZ2h0OiB2YXIoLS1jcC1wcmludC1taW4taGVpZ2h0LCAwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdGBcclxuXHRdLFxyXG5cdGhvc3Q6IHtcclxuXHRcdGNsYXNzOiAnY2hhcnQtcGFuZWwnXHJcblx0fVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhcnRQYW5lbCB7fVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjaGFydC1wYW5lbC1oZWFkZXInLFxyXG5cdHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXHJcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuXHRob3N0OiB7XHJcblx0XHRjbGFzczogJ2NoYXJ0LXBhbmVsLWhlYWRlciBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgcHJpbnQ6anVzdGlmeS1jZW50ZXInXHJcblx0fVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhcnRQYW5lbEhlYWRlckNvbXBvbmVudCB7fVxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2NoYXJ0LXBhbmVsLWZvb3RlcicsXHJcblx0dGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcclxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG5cdGhvc3Q6IHtcclxuXHRcdGNsYXNzOiAnY2hhcnQtcGFuZWwtZm9vdGVyIGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBwcmludDpoaWRkZW4nXHJcblx0fVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhcnRQYW5lbEZvb3RlckNvbXBvbmVudCB7fVxyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRkZWNsYXJhdGlvbnM6IFtDaGFydFBhbmVsLCBDaGFydFBhbmVsSGVhZGVyQ29tcG9uZW50LCBDaGFydFBhbmVsRm9vdGVyQ29tcG9uZW50XSxcclxuXHRleHBvcnRzOiBbQ2hhcnRQYW5lbCwgQ2hhcnRQYW5lbEhlYWRlckNvbXBvbmVudCwgQ2hhcnRQYW5lbEZvb3RlckNvbXBvbmVudF0sXHJcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIENoYXJ0UGFuZWxNb2R1bGUge31cclxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtcGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL2NoYXJ0LXBhbmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBdUIvQyxNQUFNLE9BQU8sVUFBVTs7d0dBQVYsVUFBVTs0RkFBVixVQUFVLDRGQXBCWiwyQkFBMkI7NEZBb0J6QixVQUFVO2tCQXRCdEIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFO3dCQUNQOzs7Ozs7Ozs7Ozs7R0FZQztxQkFDRDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLGFBQWE7cUJBQ3BCO2lCQUNEOztBQVdELE1BQU0sT0FBTyx5QkFBeUI7O3VIQUF6Qix5QkFBeUI7MkdBQXpCLHlCQUF5QixpS0FOM0IsMkJBQTJCOzRGQU16Qix5QkFBeUI7a0JBUnJDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRTt3QkFDTCxLQUFLLEVBQUUsMkVBQTJFO3FCQUNsRjtpQkFDRDs7QUFVRCxNQUFNLE9BQU8seUJBQXlCOzt1SEFBekIseUJBQXlCOzJHQUF6Qix5QkFBeUIseUpBTjNCLDJCQUEyQjs0RkFNekIseUJBQXlCO2tCQVJyQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLG1FQUFtRTtxQkFDMUU7aUJBQ0Q7O0FBUUQsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQTFCaEIsVUFBVSxFQVVWLHlCQUF5QixFQVN6Qix5QkFBeUIsYUFLM0IsWUFBWSxhQXhCVixVQUFVLEVBVVYseUJBQXlCLEVBU3pCLHlCQUF5QjsrR0FPekIsZ0JBQWdCLFlBRm5CLENBQUMsWUFBWSxDQUFDOzRGQUVYLGdCQUFnQjtrQkFMNUIsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxVQUFVLEVBQUUseUJBQXlCLEVBQUUseUJBQXlCLENBQUM7b0JBQ2hGLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsQ0FBQztvQkFDM0UsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjaGFydC1wYW5lbCcsXHJcblx0dGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcclxuXHRzdHlsZXM6IFtcclxuXHRcdGBcclxuXHRcdFx0Omhvc3Qge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNwLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC4wNjgpKTtcclxuXHRcdFx0XHRjb2xvcjogdmFyKC0tY3AtY29sb3IpO1xyXG5cdFx0XHRcdHBhZGRpbmc6IHZhcigtLWNwLXBhZGRpbmcsIDFyZW0pO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNwLXJhZGl1cywgMXJlbSk7XHJcblx0XHRcdFx0bWluLWhlaWdodDogdmFyKC0tY3AtbWluLWhlaWdodCwgMjYwcHgpO1xyXG5cdFx0XHRcdGhlaWdodCA6IHZhcigtLWNwLWhlaWdodCk7XHJcblx0XHRcdFx0QG1lZGlhIHByaW50IHtcclxuXHRcdFx0XHRcdC0tY3AtbWluLWhlaWdodDogdmFyKC0tY3AtcHJpbnQtbWluLWhlaWdodCwgMCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRgXHJcblx0XSxcclxuXHRob3N0OiB7XHJcblx0XHRjbGFzczogJ2NoYXJ0LXBhbmVsJ1xyXG5cdH1cclxufSlcclxuZXhwb3J0IGNsYXNzIENoYXJ0UGFuZWwge31cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnY2hhcnQtcGFuZWwtaGVhZGVyJyxcclxuXHR0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICdjaGFydC1wYW5lbC1oZWFkZXIgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHByaW50Omp1c3RpZnktY2VudGVyJ1xyXG5cdH1cclxufSlcclxuZXhwb3J0IGNsYXNzIENoYXJ0UGFuZWxIZWFkZXJDb21wb25lbnQge31cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjaGFydC1wYW5lbC1mb290ZXInLFxyXG5cdHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXHJcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuXHRob3N0OiB7XHJcblx0XHRjbGFzczogJ2NoYXJ0LXBhbmVsLWZvb3RlciBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgcHJpbnQ6aGlkZGVuJ1xyXG5cdH1cclxufSlcclxuZXhwb3J0IGNsYXNzIENoYXJ0UGFuZWxGb290ZXJDb21wb25lbnQge31cclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbQ2hhcnRQYW5lbCwgQ2hhcnRQYW5lbEhlYWRlckNvbXBvbmVudCwgQ2hhcnRQYW5lbEZvb3RlckNvbXBvbmVudF0sXHJcblx0ZXhwb3J0czogW0NoYXJ0UGFuZWwsIENoYXJ0UGFuZWxIZWFkZXJDb21wb25lbnQsIENoYXJ0UGFuZWxGb290ZXJDb21wb25lbnRdLFxyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFydFBhbmVsTW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export const COLORS_COUNT = 10;
2
2
  export const CHART_MAIN_COLOR = '#184e77';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL2NoYXJ0LmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFFL0IsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENPTE9SU19DT1VOVCA9IDEwO1xyXG5cclxuZXhwb3J0IGNvbnN0IENIQVJUX01BSU5fQ09MT1IgPSAnIzE4NGU3Nyc7XHJcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL2NoYXJ0cy9jaGFydC5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBDT0xPUlNfQ09VTlQgPSAxMDtcclxuXHJcbmV4cG9ydCBjb25zdCBDSEFSVF9NQUlOX0NPTE9SID0gJyMxODRlNzcnO1xyXG4iXX0=
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const CHART_DEFAULTS_OPTIONS = new InjectionToken('CHART_DEFAULTS_OPTIONS');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL2NoYXJ0LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFjL0MsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3RELHdCQUF3QixDQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ2hhcnREZWZhdWx0c09wdGlvbnMgPSB7XHJcbiAgZ2xvYmFsUGx1Z2lucz86IFBsdWdpbltdO1xyXG4gIGZvbnRGYW1pbHk/OiBzdHJpbmc7XHJcbiAgZm9udFNpemU/OiBudW1iZXI7XHJcblx0Y29sb3I/OiBzdHJpbmc7XHJcblx0Ym9yZGVyQ29sb3I/OiBzdHJpbmc7XHJcblx0YmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG5cdG1heEJhclRoaWNrbmVzcz86IG51bWJlcjtcclxuXHRtaW5CYXJMZW5ndGg/OiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgQ0hBUlRfREVGQVVMVFNfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDaGFydERlZmF1bHRzT3B0aW9ucz4oXHJcbiAgJ0NIQVJUX0RFRkFVTFRTX09QVElPTlMnXHJcbik7XHJcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL2NoYXJ0cy9jaGFydC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBYy9DLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUN0RCx3QkFBd0IsQ0FDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBsdWdpbiB9IGZyb20gJ2NoYXJ0LmpzJztcclxuXHJcbmV4cG9ydCB0eXBlIENoYXJ0RGVmYXVsdHNPcHRpb25zID0ge1xyXG4gIGdsb2JhbFBsdWdpbnM/OiBQbHVnaW5bXTtcclxuICBmb250RmFtaWx5Pzogc3RyaW5nO1xyXG4gIGZvbnRTaXplPzogbnVtYmVyO1xyXG5cdGNvbG9yPzogc3RyaW5nO1xyXG5cdGJvcmRlckNvbG9yPzogc3RyaW5nO1xyXG5cdGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuXHRtYXhCYXJUaGlja25lc3M/OiBudW1iZXI7XHJcblx0bWluQmFyTGVuZ3RoPzogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IENIQVJUX0RFRkFVTFRTX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q2hhcnREZWZhdWx0c09wdGlvbnM+KFxyXG4gICdDSEFSVF9ERUZBVUxUU19PUFRJT05TJ1xyXG4pO1xyXG4iXX0=
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
16
16
  exports: [ChartComponent, DataChartComponent]
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9jaGFydHMvY2hhcnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBU3ZFLE1BQU0sT0FBTyxZQUFZOzswR0FBWixZQUFZOzJHQUFaLFlBQVksaUJBSlQsY0FBYyxFQUFFLGtCQUFrQixhQUN2QyxZQUFZLGFBQ1osY0FBYyxFQUFFLGtCQUFrQjsyR0FFaEMsWUFBWSxZQUhmLENBQUMsWUFBWSxDQUFDOzRGQUdYLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDO29CQUNsRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQztpQkFDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaGFydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS1jaGFydC5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGRlY2xhcmF0aW9uczogW0NoYXJ0Q29tcG9uZW50LCBEYXRhQ2hhcnRDb21wb25lbnRdLFxyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG5cdGV4cG9ydHM6IFtDaGFydENvbXBvbmVudCwgRGF0YUNoYXJ0Q29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhcnRzTW9kdWxlIHt9XHJcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL2NoYXJ0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQVN2RSxNQUFNLE9BQU8sWUFBWTs7MEdBQVosWUFBWTsyR0FBWixZQUFZLGlCQUpULGNBQWMsRUFBRSxrQkFBa0IsYUFDdkMsWUFBWSxhQUNaLGNBQWMsRUFBRSxrQkFBa0I7MkdBRWhDLFlBQVksWUFIZixDQUFDLFlBQVksQ0FBQzs0RkFHWCxZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQztvQkFDbEQsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtY2hhcnQuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRkZWNsYXJhdGlvbnM6IFtDaGFydENvbXBvbmVudCwgRGF0YUNoYXJ0Q29tcG9uZW50XSxcclxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuXHRleHBvcnRzOiBbQ2hhcnRDb21wb25lbnQsIERhdGFDaGFydENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENoYXJ0c01vZHVsZSB7fVxyXG4iXX0=
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
31
31
  }], onReady: [{
32
32
  type: Output
33
33
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL2NvbXBvbmVudHMvYmFzZS1jaGFydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRy9ELE1BQU0sT0FBZ0Isa0JBQXdELFNBQVEsY0FBYztJQURwRzs7UUFVVyxZQUFPLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7S0FhNUQ7SUFUQSxRQUFRO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxPQUFPO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDckI7SUFDRixDQUFDOztnSEFyQm9CLGtCQUFrQjtvR0FBbEIsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBRHZDLFNBQVM7bUJBQUMsRUFBRTs4QkFFSCxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2hhcnRUeXBlLCBQbHVnaW4gfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCBDaGFydCBmcm9tICdjaGFydC5qcy9hdXRvJztcclxuXHJcbmltcG9ydCB7IERlc3Ryb3lTdWJqZWN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQERpcmVjdGl2ZSh7fSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDaGFydENvbXBvbmVudDxUVHlwZSBleHRlbmRzIENoYXJ0VHlwZSA9IENoYXJ0VHlwZT4gZXh0ZW5kcyBEZXN0cm95U3ViamVjdCB7XHJcblx0QElucHV0KCkgdHlwZTogVFR5cGU7XHJcblxyXG5cdEBJbnB1dCgpIHBsdWdpbnM6IFBsdWdpbjxUVHlwZT5bXTtcclxuXHJcblx0QElucHV0KCkgZm9udEZhbWlseTogc3RyaW5nO1xyXG5cclxuXHRASW5wdXQoKSBmb250U2l6ZTogbnVtYmVyO1xyXG5cclxuXHRAT3V0cHV0KCkgb25SZWFkeTogRXZlbnRFbWl0dGVyPENoYXJ0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblx0cHJvdGVjdGVkIF9jaGFydDogQ2hhcnQ7XHJcblxyXG5cdGdldENoYXJ0KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NoYXJ0O1xyXG5cdH1cclxuXHJcblx0cmVmcmVzaCgpIHtcclxuXHRcdGlmICh0aGlzLl9jaGFydCkge1xyXG5cdFx0XHR0aGlzLl9jaGFydC51cGRhdGUoKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL2NoYXJ0cy9jb21wb25lbnRzL2Jhc2UtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUcvRCxNQUFNLE9BQWdCLGtCQUF3RCxTQUFRLGNBQWM7SUFEcEc7O1FBVVcsWUFBTyxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO0tBYTVEO0lBVEEsUUFBUTtRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDO0lBRUQsT0FBTztRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3JCO0lBQ0YsQ0FBQzs7Z0hBckJvQixrQkFBa0I7b0dBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUR2QyxTQUFTO21CQUFDLEVBQUU7OEJBRUgsSUFBSTtzQkFBWixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoYXJ0VHlwZSwgUGx1Z2luIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgQ2hhcnQgZnJvbSAnY2hhcnQuanMvYXV0byc7XHJcblxyXG5pbXBvcnQgeyBEZXN0cm95U3ViamVjdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuXHJcbkBEaXJlY3RpdmUoe30pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ2hhcnRDb21wb25lbnQ8VFR5cGUgZXh0ZW5kcyBDaGFydFR5cGUgPSBDaGFydFR5cGU+IGV4dGVuZHMgRGVzdHJveVN1YmplY3Qge1xyXG5cdEBJbnB1dCgpIHR5cGU6IFRUeXBlO1xyXG5cclxuXHRASW5wdXQoKSBwbHVnaW5zOiBQbHVnaW48VFR5cGU+W107XHJcblxyXG5cdEBJbnB1dCgpIGZvbnRGYW1pbHk6IHN0cmluZztcclxuXHJcblx0QElucHV0KCkgZm9udFNpemU6IG51bWJlcjtcclxuXHJcblx0QE91dHB1dCgpIG9uUmVhZHk6IEV2ZW50RW1pdHRlcjxDaGFydD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdHByb3RlY3RlZCBfY2hhcnQ6IENoYXJ0O1xyXG5cclxuXHRnZXRDaGFydCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9jaGFydDtcclxuXHR9XHJcblxyXG5cdHJlZnJlc2goKSB7XHJcblx0XHRpZiAodGhpcy5fY2hhcnQpIHtcclxuXHRcdFx0dGhpcy5fY2hhcnQudXBkYXRlKCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==