@alfresco/adf-core 7.0.0-alpha.8-13284479643 → 7.0.0-alpha.8-13284816709

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 (388) hide show
  1. package/esm2022/api/lib/adf-http-client.service.mjs +5 -5
  2. package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +1 -1
  3. package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +1 -1
  4. package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +2 -2
  5. package/esm2022/api/lib/types.mjs +1 -2
  6. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +6 -7
  7. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +6 -6
  8. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +6 -6
  9. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +5 -5
  10. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +3 -3
  11. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +6 -6
  12. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +6 -6
  13. package/esm2022/feature-flags/lib/directives/features.directive.mjs +6 -6
  14. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +6 -6
  15. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +6 -6
  16. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +6 -6
  17. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +6 -6
  18. package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +1 -1
  19. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +5 -5
  20. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +3 -3
  21. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +5 -5
  22. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +6 -6
  23. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +3 -3
  24. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +3 -3
  25. package/esm2022/lib/about/about-module-list/module-list.component.mjs +3 -3
  26. package/esm2022/lib/about/about-package/package-list.component.mjs +4 -4
  27. package/esm2022/lib/about/about-panel.directive.mjs +3 -3
  28. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +4 -4
  29. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +4 -4
  30. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +3 -3
  31. package/esm2022/lib/about/about.component.mjs +3 -3
  32. package/esm2022/lib/about/about.module.mjs +4 -4
  33. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +7 -9
  34. package/esm2022/lib/app-config/app-config.loader.mjs +1 -2
  35. package/esm2022/lib/app-config/app-config.module.mjs +4 -4
  36. package/esm2022/lib/app-config/app-config.pipe.mjs +4 -4
  37. package/esm2022/lib/app-config/app-config.service.mjs +5 -5
  38. package/esm2022/lib/app-config/debug-app-config.service.mjs +5 -5
  39. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +8 -11
  40. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +5 -5
  41. package/esm2022/lib/auth/basic-auth/content-auth.mjs +6 -6
  42. package/esm2022/lib/auth/basic-auth/process-auth.mjs +7 -6
  43. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +1 -1
  44. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +1 -1
  45. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +2 -2
  46. package/esm2022/lib/auth/guard/auth-guard.mjs +1 -1
  47. package/esm2022/lib/auth/guard/auth-guard.service.mjs +5 -5
  48. package/esm2022/lib/auth/models/identity-role.model.mjs +1 -1
  49. package/esm2022/lib/auth/models/redirection.model.mjs +1 -1
  50. package/esm2022/lib/auth/oidc/auth-config.service.mjs +6 -6
  51. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +4 -4
  52. package/esm2022/lib/auth/oidc/auth.module.mjs +4 -4
  53. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +1 -1
  54. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +5 -5
  55. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +6 -6
  56. package/esm2022/lib/auth/oidc/retry-login.service.mjs +4 -4
  57. package/esm2022/lib/auth/oidc/token.interceptor.mjs +4 -4
  58. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +5 -5
  59. package/esm2022/lib/auth/services/authentication.service.mjs +5 -5
  60. package/esm2022/lib/auth/services/base-authentication.service.mjs +1 -1
  61. package/esm2022/lib/auth/services/identity-group.service.mjs +6 -6
  62. package/esm2022/lib/auth/services/identity-role.service.mjs +5 -5
  63. package/esm2022/lib/auth/services/identity-user.service.mjs +6 -8
  64. package/esm2022/lib/auth/services/jwt-helper.service.mjs +4 -4
  65. package/esm2022/lib/auth/services/oauth2.service.mjs +5 -5
  66. package/esm2022/lib/auth/services/time-sync.service.mjs +8 -8
  67. package/esm2022/lib/auth/services/user-access.service.mjs +9 -7
  68. package/esm2022/lib/avatar/avatar.component.mjs +3 -3
  69. package/esm2022/lib/blank-page/blank-page.component.mjs +3 -3
  70. package/esm2022/lib/blank-page/blank-page.module.mjs +4 -4
  71. package/esm2022/lib/button/button.component.mjs +5 -5
  72. package/esm2022/lib/card-view/card-view.module.mjs +4 -4
  73. package/esm2022/lib/card-view/components/base-card-view.mjs +5 -5
  74. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +3 -3
  75. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +4 -4
  76. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +4 -4
  77. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +6 -6
  78. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +6 -6
  79. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +4 -4
  80. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +3 -3
  81. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +4 -4
  82. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +6 -6
  83. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +6 -6
  84. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +1 -1
  85. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +1 -1
  86. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +1 -1
  87. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +1 -1
  88. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +1 -1
  89. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +1 -1
  90. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +1 -1
  91. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +1 -1
  92. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +1 -1
  93. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +1 -1
  94. package/esm2022/lib/card-view/services/card-item-types.service.mjs +3 -3
  95. package/esm2022/lib/card-view/services/card-view-update.service.mjs +3 -3
  96. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +1 -1
  97. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +2 -2
  98. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +1 -1
  99. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +1 -1
  100. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +1 -1
  101. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +1 -1
  102. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +2 -4
  103. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +1 -1
  104. package/esm2022/lib/clipboard/clipboard.directive.mjs +8 -8
  105. package/esm2022/lib/clipboard/clipboard.module.mjs +4 -4
  106. package/esm2022/lib/clipboard/clipboard.service.mjs +6 -6
  107. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +3 -3
  108. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +4 -4
  109. package/esm2022/lib/comments/comments.component.mjs +4 -4
  110. package/esm2022/lib/comments/comments.module.mjs +4 -4
  111. package/esm2022/lib/common/mock/app-config.service.mock.mjs +4 -4
  112. package/esm2022/lib/common/models/log-levels.model.mjs +1 -1
  113. package/esm2022/lib/common/services/cookie.service.mjs +8 -11
  114. package/esm2022/lib/common/services/download.service.mjs +6 -7
  115. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +1 -1
  116. package/esm2022/lib/common/services/highlight-transform.service.mjs +8 -5
  117. package/esm2022/lib/common/services/log.service.mjs +5 -5
  118. package/esm2022/lib/common/services/page-title.service.mjs +5 -5
  119. package/esm2022/lib/common/services/sort-by-category.service.mjs +4 -4
  120. package/esm2022/lib/common/services/storage.service.mjs +5 -5
  121. package/esm2022/lib/common/services/thumbnail.service.mjs +6 -6
  122. package/esm2022/lib/common/services/url.service.mjs +5 -5
  123. package/esm2022/lib/common/services/user-preferences.service.mjs +5 -5
  124. package/esm2022/lib/common/utils/date-fns-adapter.mjs +6 -6
  125. package/esm2022/lib/common/utils/date-fns-utils.mjs +1 -1
  126. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +16 -16
  127. package/esm2022/lib/common/utils/file-utils.mjs +1 -1
  128. package/esm2022/lib/common/utils/moment-date-adapter.mjs +5 -5
  129. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +1 -1
  130. package/esm2022/lib/common/utils/object-utils.mjs +8 -9
  131. package/esm2022/lib/common/utils/string-utils.mjs +2 -2
  132. package/esm2022/lib/context-menu/animations.mjs +1 -1
  133. package/esm2022/lib/context-menu/context-menu-list.component.mjs +6 -6
  134. package/esm2022/lib/context-menu/context-menu-overlay.mjs +1 -1
  135. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +10 -9
  136. package/esm2022/lib/context-menu/context-menu.directive.mjs +5 -5
  137. package/esm2022/lib/context-menu/context-menu.module.mjs +4 -4
  138. package/esm2022/lib/core.module.mjs +5 -5
  139. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +3 -3
  140. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +4 -4
  141. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +4 -4
  142. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +4 -4
  143. package/esm2022/lib/datatable/components/data-cell.event.mjs +1 -1
  144. package/esm2022/lib/datatable/components/data-row-action.event.mjs +1 -1
  145. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +6 -6
  146. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +4 -4
  147. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +6 -6
  148. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +4 -4
  149. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +14 -14
  150. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +3 -3
  151. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +5 -5
  152. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +6 -6
  153. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +5 -5
  154. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +2 -2
  155. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +4 -4
  156. package/esm2022/lib/datatable/data/data-row-event.model.mjs +1 -1
  157. package/esm2022/lib/datatable/data/data-sorting.model.mjs +1 -1
  158. package/esm2022/lib/datatable/data/data-table.schema.mjs +5 -5
  159. package/esm2022/lib/datatable/data/object-datarow.model.mjs +1 -1
  160. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +1 -1
  161. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +5 -5
  162. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +3 -3
  163. package/esm2022/lib/datatable/data-column/data-column.component.mjs +4 -4
  164. package/esm2022/lib/datatable/datatable.module.mjs +4 -4
  165. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +3 -3
  166. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +3 -3
  167. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +3 -3
  168. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +5 -5
  169. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +5 -5
  170. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +5 -5
  171. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +5 -5
  172. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +5 -5
  173. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +5 -5
  174. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +5 -5
  175. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +5 -5
  176. package/esm2022/lib/datatable/services/datatable.service.mjs +3 -3
  177. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +5 -5
  178. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +4 -4
  179. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +6 -6
  180. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +6 -6
  181. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +6 -23
  182. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +6 -6
  183. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
  184. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +5 -5
  185. package/esm2022/lib/directives/directive.module.mjs +4 -4
  186. package/esm2022/lib/directives/highlight.directive.mjs +5 -5
  187. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +6 -6
  188. package/esm2022/lib/directives/logout.directive.mjs +5 -5
  189. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +5 -5
  190. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +5 -5
  191. package/esm2022/lib/directives/upload.directive.mjs +5 -5
  192. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +5 -5
  193. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +4 -4
  194. package/esm2022/lib/events/base.event.mjs +1 -1
  195. package/esm2022/lib/form/components/form-base.component.mjs +4 -4
  196. package/esm2022/lib/form/components/form-custom-button.directive.mjs +3 -3
  197. package/esm2022/lib/form/components/form-field/form-field.component.mjs +4 -4
  198. package/esm2022/lib/form/components/form-renderer.component.mjs +8 -8
  199. package/esm2022/lib/form/components/form-section/form-section.component.mjs +3 -3
  200. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +5 -5
  201. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +4 -4
  202. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +6 -6
  203. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +5 -5
  204. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +5 -5
  205. package/esm2022/lib/form/components/widgets/core/container.model.mjs +1 -1
  206. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +1 -1
  207. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +1 -1
  208. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +1 -1
  209. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +2 -2
  210. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +1 -1
  211. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +1 -1
  212. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +1 -1
  213. package/esm2022/lib/form/components/widgets/core/form.model.mjs +1 -1
  214. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +1 -1
  215. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +4 -4
  216. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +4 -4
  217. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +4 -4
  218. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +4 -4
  219. package/esm2022/lib/form/components/widgets/error/error.component.mjs +5 -5
  220. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +4 -4
  221. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +5 -5
  222. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +4 -4
  223. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +4 -4
  224. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +5 -5
  225. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +7 -7
  226. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +5 -5
  227. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +4 -4
  228. package/esm2022/lib/form/components/widgets/widget.component.mjs +5 -5
  229. package/esm2022/lib/form/events/form-error.event.mjs +1 -1
  230. package/esm2022/lib/form/events/form-field.event.mjs +1 -1
  231. package/esm2022/lib/form/events/form-rules.event.mjs +1 -1
  232. package/esm2022/lib/form/events/form.event.mjs +1 -1
  233. package/esm2022/lib/form/events/validate-form-field.event.mjs +1 -1
  234. package/esm2022/lib/form/events/validate-form.event.mjs +1 -1
  235. package/esm2022/lib/form/form-base.module.mjs +4 -4
  236. package/esm2022/lib/form/models/form-rules.model.mjs +1 -1
  237. package/esm2022/lib/form/models/widget-visibility.model.mjs +1 -1
  238. package/esm2022/lib/form/pipes/field-style.pipe.mjs +4 -4
  239. package/esm2022/lib/form/services/form-rendering.service.mjs +4 -4
  240. package/esm2022/lib/form/services/form.service.mjs +5 -5
  241. package/esm2022/lib/form/services/widget-visibility.service.mjs +4 -4
  242. package/esm2022/lib/header/header.component.mjs +5 -5
  243. package/esm2022/lib/header/navbar/navbar-item.component.mjs +4 -4
  244. package/esm2022/lib/header/navbar/navbar.component.mjs +5 -5
  245. package/esm2022/lib/icon/icon.component.mjs +3 -3
  246. package/esm2022/lib/icon/icon.module.mjs +4 -4
  247. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +4 -4
  248. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +4 -4
  249. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +14 -14
  250. package/esm2022/lib/info-drawer/info-drawer.component.mjs +9 -9
  251. package/esm2022/lib/info-drawer/info-drawer.module.mjs +4 -4
  252. package/esm2022/lib/language-menu/language-menu.component.mjs +6 -6
  253. package/esm2022/lib/language-menu/language-menu.module.mjs +4 -4
  254. package/esm2022/lib/language-menu/language-picker.component.mjs +5 -5
  255. package/esm2022/lib/language-menu/service/language.service.mjs +5 -5
  256. package/esm2022/lib/layout/components/header/header.component.mjs +6 -6
  257. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +6 -6
  258. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +14 -14
  259. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +6 -6
  260. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +3 -3
  261. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +3 -3
  262. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +3 -3
  263. package/esm2022/lib/layout/layout.module.mjs +4 -4
  264. package/esm2022/lib/login/components/login/login.component.mjs +6 -6
  265. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +7 -12
  266. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +5 -9
  267. package/esm2022/lib/login/directives/login-footer.directive.mjs +5 -5
  268. package/esm2022/lib/login/directives/login-header.directive.mjs +5 -5
  269. package/esm2022/lib/login/login.module.mjs +4 -4
  270. package/esm2022/lib/login/models/login-submit.event.mjs +1 -1
  271. package/esm2022/lib/login/models/login-success.event.mjs +1 -1
  272. package/esm2022/lib/material.module.mjs +4 -4
  273. package/esm2022/lib/mock/cookie.service.mock.mjs +4 -4
  274. package/esm2022/lib/mock/data-column.mock.mjs +8 -40
  275. package/esm2022/lib/mock/event.mock.mjs +1 -1
  276. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +3 -3
  277. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +5 -5
  278. package/esm2022/lib/mock/form/form-definition.mock.mjs +7 -7
  279. package/esm2022/lib/mock/form/form.component.mock.mjs +5 -5
  280. package/esm2022/lib/mock/form/form.service.mock.mjs +5 -5
  281. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +83 -51
  282. package/esm2022/lib/mock/translation.service.mock.mjs +3 -3
  283. package/esm2022/lib/models/comment.model.mjs +1 -1
  284. package/esm2022/lib/models/decimal-number.model.mjs +1 -1
  285. package/esm2022/lib/models/general-user.model.mjs +1 -1
  286. package/esm2022/lib/models/pagination.model.mjs +1 -1
  287. package/esm2022/lib/models/path.model.mjs +1 -1
  288. package/esm2022/lib/models/product-version.model.mjs +1 -1
  289. package/esm2022/lib/models/request-pagination.model.mjs +1 -1
  290. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +4 -4
  291. package/esm2022/lib/notifications/components/notification-history.component.mjs +6 -6
  292. package/esm2022/lib/notifications/helpers/notification.factory.mjs +1 -1
  293. package/esm2022/lib/notifications/notification-history.module.mjs +4 -4
  294. package/esm2022/lib/notifications/services/notification.service.mjs +7 -7
  295. package/esm2022/lib/pagination/infinite-pagination.component.mjs +6 -6
  296. package/esm2022/lib/pagination/pagination.component.mjs +5 -5
  297. package/esm2022/lib/pagination/pagination.module.mjs +4 -4
  298. package/esm2022/lib/pipes/date-time.pipe.mjs +4 -4
  299. package/esm2022/lib/pipes/decimal-number.pipe.mjs +5 -5
  300. package/esm2022/lib/pipes/file-size.pipe.mjs +5 -5
  301. package/esm2022/lib/pipes/file-type.pipe.mjs +4 -4
  302. package/esm2022/lib/pipes/format-space.pipe.mjs +4 -4
  303. package/esm2022/lib/pipes/full-name.pipe.mjs +3 -3
  304. package/esm2022/lib/pipes/localized-date.pipe.mjs +5 -5
  305. package/esm2022/lib/pipes/multi-value.pipe.mjs +4 -4
  306. package/esm2022/lib/pipes/pipe.module.mjs +4 -4
  307. package/esm2022/lib/pipes/text-highlight.pipe.mjs +4 -4
  308. package/esm2022/lib/pipes/time-ago.pipe.mjs +5 -5
  309. package/esm2022/lib/pipes/truncate.pipe.mjs +3 -3
  310. package/esm2022/lib/pipes/user-initial.pipe.mjs +5 -5
  311. package/esm2022/lib/pipes/user-like.interface.mjs +1 -2
  312. package/esm2022/lib/progress/progress.component.mjs +4 -4
  313. package/esm2022/lib/search-text/animations.mjs +1 -1
  314. package/esm2022/lib/search-text/search-text-input.component.mjs +5 -5
  315. package/esm2022/lib/search-text/search-text-input.module.mjs +4 -4
  316. package/esm2022/lib/search-text/search-trigger.directive.mjs +6 -6
  317. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +6 -6
  318. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +8 -26
  319. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +4 -4
  320. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +5 -5
  321. package/esm2022/lib/templates/error-content/error-content.component.mjs +6 -6
  322. package/esm2022/lib/templates/template.module.mjs +4 -4
  323. package/esm2022/lib/testing/core.story.module.mjs +4 -4
  324. package/esm2022/lib/testing/core.testing.module.mjs +4 -4
  325. package/esm2022/lib/testing/noop-auth.module.mjs +10 -9
  326. package/esm2022/lib/testing/noop-translate.module.mjs +7 -7
  327. package/esm2022/lib/testing/unit-testing-utils.mjs +1 -1
  328. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +3 -3
  329. package/esm2022/lib/toolbar/toolbar-title.component.mjs +5 -5
  330. package/esm2022/lib/toolbar/toolbar.component.mjs +5 -5
  331. package/esm2022/lib/toolbar/toolbar.module.mjs +4 -4
  332. package/esm2022/lib/translation/translate-loader.service.mjs +5 -5
  333. package/esm2022/lib/translation/translation.service.mjs +6 -6
  334. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +3 -3
  335. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +5 -5
  336. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +5 -5
  337. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +6 -6
  338. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +5 -5
  339. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +5 -5
  340. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +6 -6
  341. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +5 -5
  342. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +3 -3
  343. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +5 -5
  344. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +5 -5
  345. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +6 -6
  346. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +5 -5
  347. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +5 -5
  348. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +5 -5
  349. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +5 -5
  350. package/esm2022/lib/viewer/components/viewer.component.mjs +6 -6
  351. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +5 -5
  352. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +4 -4
  353. package/esm2022/lib/viewer/services/view-util.service.mjs +5 -5
  354. package/esm2022/lib/viewer/viewer.module.mjs +4 -4
  355. package/esm2022/shell/lib/components/shell/shell.component.mjs +6 -6
  356. package/esm2022/shell/lib/shell.module.mjs +5 -5
  357. package/esm2022/shell/lib/shell.routes.mjs +1 -1
  358. package/fesm2022/adf-core.mjs +1180 -1232
  359. package/fesm2022/adf-core.mjs.map +1 -1
  360. package/fesm2022/alfresco-adf-core-api.mjs +6 -7
  361. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  362. package/fesm2022/alfresco-adf-core-auth.mjs +5 -6
  363. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  364. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +15 -15
  365. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  366. package/fesm2022/alfresco-adf-core-feature-flags.mjs +57 -57
  367. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  368. package/fesm2022/alfresco-adf-core-shell.mjs +10 -10
  369. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  370. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +3 -3
  371. package/lib/login/components/login/login.component.scss +0 -4
  372. package/lib/notifications/components/notification-history.component.scss +1 -0
  373. package/lib/prebuilt-themes/adf-blue-orange.css +1 -1
  374. package/lib/prebuilt-themes/adf-blue-purple.css +1 -1
  375. package/lib/prebuilt-themes/adf-cyan-orange.css +1 -1
  376. package/lib/prebuilt-themes/adf-cyan-purple.css +1 -1
  377. package/lib/prebuilt-themes/adf-green-orange.css +1 -1
  378. package/lib/prebuilt-themes/adf-green-purple.css +1 -1
  379. package/lib/prebuilt-themes/adf-indigo-pink.css +1 -1
  380. package/lib/prebuilt-themes/adf-pink-bluegrey.css +1 -1
  381. package/lib/prebuilt-themes/adf-purple-green.css +1 -1
  382. package/lib/styles/_mat-selectors.scss +2 -0
  383. package/lib/styles/material.theme.scss +4 -0
  384. package/lib/testing/noop-auth.module.d.ts +1 -1
  385. package/package.json +17 -17
  386. package/schematics/migrations/schematics/migrations/7_0_0/index.js.map +1 -1
  387. package/schematics/migrations/schematics/migrations/collection.json +8 -8
  388. package/schematics/migrations/package.json +0 -62
@@ -33,10 +33,10 @@ export class CheckboxWidgetComponent extends WidgetComponent {
33
33
  super(formService);
34
34
  this.formService = formService;
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CheckboxWidgetComponent, deps: [{ token: i1.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CheckboxWidgetComponent, isStandalone: true, selector: "checkbox-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"field.className\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\">\n <mat-checkbox [id]=\"field.id\"\n color=\"primary\"\n class=\"adf-checkbox\"\n [required]=\"isRequired()\"\n [disabled]=\"field.readOnly || readOnly\"\n [(ngModel)]=\"field.value\"\n (ngModelChange)=\"onFieldChanged(field)\"\n [title]=\"field.tooltip\"\n (click)=\"markAsTouched()\">\n {{ field.name | translate }}\n <span class=\"adf-asterisk\" *ngIf=\"isRequired()\">*</span>\n </mat-checkbox>\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n</div>\n", styles: [".adf-checkbox{word-break:break-word}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i2.MatCheckboxRequiredValidator, selector: "mat-checkbox[required][formControlName], mat-checkbox[required][formControl], mat-checkbox[required][ngModel]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CheckboxWidgetComponent, deps: [{ token: i1.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: CheckboxWidgetComponent, isStandalone: true, selector: "checkbox-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"field.className\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\">\n <mat-checkbox [id]=\"field.id\"\n color=\"primary\"\n class=\"adf-checkbox\"\n [required]=\"isRequired()\"\n [disabled]=\"field.readOnly || readOnly\"\n [(ngModel)]=\"field.value\"\n (ngModelChange)=\"onFieldChanged(field)\"\n [title]=\"field.tooltip\"\n (click)=\"markAsTouched()\">\n {{ field.name | translate }}\n <span class=\"adf-asterisk\" *ngIf=\"isRequired()\">*</span>\n </mat-checkbox>\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n</div>\n", styles: [".adf-checkbox{word-break:break-word}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CheckboxWidgetComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CheckboxWidgetComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: 'checkbox-widget', standalone: true, host: {
42
42
  '(click)': 'event($event)',
@@ -49,5 +49,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
49
49
  '(invalid)': 'event($event)',
50
50
  '(select)': 'event($event)'
51
51
  }, imports: [NgClass, MatCheckboxModule, FormsModule, TranslateModule, ErrorWidgetComponent, NgIf], encapsulation: ViewEncapsulation.None, template: "<div [ngClass]=\"field.className\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\">\n <mat-checkbox [id]=\"field.id\"\n color=\"primary\"\n class=\"adf-checkbox\"\n [required]=\"isRequired()\"\n [disabled]=\"field.readOnly || readOnly\"\n [(ngModel)]=\"field.value\"\n (ngModelChange)=\"onFieldChanged(field)\"\n [title]=\"field.tooltip\"\n (click)=\"markAsTouched()\">\n {{ field.name | translate }}\n <span class=\"adf-asterisk\" *ngIf=\"isRequired()\">*</span>\n </mat-checkbox>\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n</div>\n", styles: [".adf-checkbox{word-break:break-word}\n"] }]
52
- }], ctorParameters: function () { return [{ type: i1.FormService }]; } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gud2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jaGVja2JveC9jaGVja2JveC53aWRnZXQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NoZWNrYm94L2NoZWNrYm94LndpZGdldC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHdGQUF3RjtBQUV4RixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUEyQnRELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxlQUFlO0lBR3hELFlBQW1CLFdBQXdCO1FBQ3ZDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQURKLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBRTNDLENBQUM7OEdBTFEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNldDckRwQywrMUJBa0JBLGdHRGdDYyxPQUFPLG1GQUFFLGlCQUFpQixxWEFBRSxXQUFXLDJqQkFBRSxlQUFlLDRGQUFFLG9CQUFvQix3RkFBRSxJQUFJOzsyRkFHckYsdUJBQXVCO2tCQXpCbkMsU0FBUzsrQkFDSSxpQkFBaUIsY0FDZixJQUFJLFFBU1Y7d0JBQ0YsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixVQUFVLEVBQUUsZUFBZTt3QkFDM0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixVQUFVLEVBQUUsZUFBZTtxQkFDOUIsV0FDUSxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxpQkFDaEYsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciwgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xuXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vZXJyb3IvZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL3dpZGdldC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NoZWNrYm94LXdpZGdldCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gud2lkZ2V0Lmh0bWwnLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICAuYWRmLWNoZWNrYm94IHtcbiAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGNoYW5nZSknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXMpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW52YWxpZCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoc2VsZWN0KSc6ICdldmVudCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE1hdENoZWNrYm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBFcnJvcldpZGdldENvbXBvbmVudCwgTmdJZl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveFdpZGdldENvbXBvbmVudCBleHRlbmRzIFdpZGdldENvbXBvbmVudCB7XG4gICAgY2hlY2tib3hWYWx1ZTogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiZmllbGQuY2xhc3NOYW1lXCJcbiAgICAgW2NsYXNzLmFkZi1pbnZhbGlkXT1cIiFmaWVsZC5pc1ZhbGlkICYmIGlzVG91Y2hlZCgpXCI+XG4gICAgPG1hdC1jaGVja2JveCBbaWRdPVwiZmllbGQuaWRcIlxuICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLnJlYWRPbmx5IHx8IHJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25GaWVsZENoYW5nZWQoZmllbGQpXCJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJmaWVsZC50b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtYXJrQXNUb3VjaGVkKClcIj5cbiAgICAgICAge3sgZmllbGQubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1hc3Rlcmlza1wiICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCI+Kjwvc3Bhbj5cbiAgICA8L21hdC1jaGVja2JveD5cbiAgICA8ZXJyb3Itd2lkZ2V0IFtlcnJvcl09XCJmaWVsZC52YWxpZGF0aW9uU3VtbWFyeVwiIC8+XG4gICAgPGVycm9yLXdpZGdldCAqbmdJZj1cImlzSW52YWxpZEZpZWxkUmVxdWlyZWQoKSAmJiBpc1RvdWNoZWQoKVwiXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZD1cInt7ICdGT1JNLkZJRUxELlJFUVVJUkVEJyB8IHRyYW5zbGF0ZSB9fVwiIC8+XG48L2Rpdj5cbiJdfQ==
52
+ }], ctorParameters: () => [{ type: i1.FormService }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gud2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jaGVja2JveC9jaGVja2JveC53aWRnZXQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NoZWNrYm94L2NoZWNrYm94LndpZGdldC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHdGQUF3RjtBQUV4RixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUEyQnRELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxlQUFlO0lBR3hELFlBQW1CLFdBQXdCO1FBQ3ZDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQURKLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBRTNDLENBQUM7OEdBTFEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNldDckRwQywrMUJBa0JBLGdHRGdDYyxPQUFPLG1GQUFFLGlCQUFpQiw2V0FBRSxXQUFXLDJqQkFBRSxlQUFlLDRGQUFFLG9CQUFvQix3RkFBRSxJQUFJOzsyRkFHckYsdUJBQXVCO2tCQXpCbkMsU0FBUzsrQkFDSSxpQkFBaUIsY0FDZixJQUFJLFFBU1Y7d0JBQ0YsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixVQUFVLEVBQUUsZUFBZTt3QkFDM0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixVQUFVLEVBQUUsZUFBZTtxQkFDOUIsV0FDUSxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxpQkFDaEYsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciwgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xuXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vZXJyb3IvZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL3dpZGdldC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NoZWNrYm94LXdpZGdldCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gud2lkZ2V0Lmh0bWwnLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICAuYWRmLWNoZWNrYm94IHtcbiAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGNoYW5nZSknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXMpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW52YWxpZCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoc2VsZWN0KSc6ICdldmVudCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE1hdENoZWNrYm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBFcnJvcldpZGdldENvbXBvbmVudCwgTmdJZl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveFdpZGdldENvbXBvbmVudCBleHRlbmRzIFdpZGdldENvbXBvbmVudCB7XG4gICAgY2hlY2tib3hWYWx1ZTogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiZmllbGQuY2xhc3NOYW1lXCJcbiAgICAgW2NsYXNzLmFkZi1pbnZhbGlkXT1cIiFmaWVsZC5pc1ZhbGlkICYmIGlzVG91Y2hlZCgpXCI+XG4gICAgPG1hdC1jaGVja2JveCBbaWRdPVwiZmllbGQuaWRcIlxuICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLnJlYWRPbmx5IHx8IHJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25GaWVsZENoYW5nZWQoZmllbGQpXCJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJmaWVsZC50b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtYXJrQXNUb3VjaGVkKClcIj5cbiAgICAgICAge3sgZmllbGQubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1hc3Rlcmlza1wiICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCI+Kjwvc3Bhbj5cbiAgICA8L21hdC1jaGVja2JveD5cbiAgICA8ZXJyb3Itd2lkZ2V0IFtlcnJvcl09XCJmaWVsZC52YWxpZGF0aW9uU3VtbWFyeVwiIC8+XG4gICAgPGVycm9yLXdpZGdldCAqbmdJZj1cImlzSW52YWxpZEZpZWxkUmVxdWlyZWQoKSAmJiBpc1RvdWNoZWQoKVwiXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZD1cInt7ICdGT1JNLkZJRUxELlJFUVVJUkVEJyB8IHRyYW5zbGF0ZSB9fVwiIC8+XG48L2Rpdj5cbiJdfQ==
@@ -47,4 +47,4 @@ export class ContainerModel extends FormWidgetModel {
47
47
  return this.isTypeFieldGroup && (this.field.params?.hideHeader ?? false);
48
48
  }
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2NvbnRhaW5lci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFLSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE1BQU0sT0FBTyxjQUFlLFNBQVEsZUFBZTtJQVEvQyxZQUFZLEtBQXFCO1FBQzdCLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQU56QixZQUFPLEdBQTJCLEVBQUUsQ0FBQztRQUM5QyxlQUFVLEdBQVksSUFBSSxDQUFDO1FBQ2xCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUt6QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztZQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGFBQWEsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxVQUFVLElBQUksS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEZvcm1GaWVsZE1vZGVsIH0gZnJvbSAnLi9mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZvcm1XaWRnZXRNb2RlbCB9IGZyb20gJy4vZm9ybS13aWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgQ29udGFpbmVyQ29sdW1uTW9kZWwgfSBmcm9tICcuL2NvbnRhaW5lci1jb2x1bW4ubW9kZWwnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZXMgfSBmcm9tICcuL2Zvcm0tZmllbGQtdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQ29udGFpbmVyTW9kZWwgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWwge1xuICAgIGZpZWxkOiBGb3JtRmllbGRNb2RlbDtcblxuICAgIHJlYWRvbmx5IGNvbHVtbnM6IENvbnRhaW5lckNvbHVtbk1vZGVsW10gPSBbXTtcbiAgICBpc0V4cGFuZGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgICByZWFkb25seSByb3dzcGFuOiBudW1iZXIgPSAxO1xuICAgIHJlYWRvbmx5IGNvbHNwYW46IG51bWJlciA9IDE7XG5cbiAgICBjb25zdHJ1Y3RvcihmaWVsZDogRm9ybUZpZWxkTW9kZWwpIHtcbiAgICAgICAgc3VwZXIoZmllbGQuZm9ybSwgZmllbGQuanNvbik7XG5cbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkID0gZmllbGQ7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnMgPSBmaWVsZC5jb2x1bW5zIHx8IFtdO1xuICAgICAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNDb2xsYXBzZWRCeURlZmF1bHQ7XG4gICAgICAgICAgICB0aGlzLmNvbHNwYW4gPSBmaWVsZC5jb2xzcGFuO1xuICAgICAgICAgICAgdGhpcy5yb3dzcGFuID0gZmllbGQucm93c3BhbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkLmlzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBnZXQgaXNUeXBlRmllbGRHcm91cCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuR1JPVVA7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ29sbGFwc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHlwZUZpZWxkR3JvdXAgJiYgKHRoaXMuZmllbGQucGFyYW1zPy5hbGxvd0NvbGxhcHNlID8/IGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgaXNDb2xsYXBzZWRCeURlZmF1bHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHlwZUZpZWxkR3JvdXAgJiYgKHRoaXMuZmllbGQucGFyYW1zPy5jb2xsYXBzZUJ5RGVmYXVsdCA/PyBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IGhpZGVIZWFkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHlwZUZpZWxkR3JvdXAgJiYgKHRoaXMuZmllbGQucGFyYW1zPy5oaWRlSGVhZGVyID8/IGZhbHNlKTtcbiAgICB9XG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2NvbnRhaW5lci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFLSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE1BQU0sT0FBTyxjQUFlLFNBQVEsZUFBZTtJQVEvQyxZQUFZLEtBQXFCO1FBQzdCLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQU56QixZQUFPLEdBQTJCLEVBQUUsQ0FBQztRQUM5QyxlQUFVLEdBQVksSUFBSSxDQUFDO1FBQ2xCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUt6QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLElBQUksS0FBSyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLElBQUksS0FBSyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsVUFBVSxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5pbXBvcnQgeyBGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4vZm9ybS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtV2lkZ2V0TW9kZWwgfSBmcm9tICcuL2Zvcm0td2lkZ2V0Lm1vZGVsJztcbmltcG9ydCB7IENvbnRhaW5lckNvbHVtbk1vZGVsIH0gZnJvbSAnLi9jb250YWluZXItY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IEZvcm1GaWVsZFR5cGVzIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXR5cGVzJztcblxuZXhwb3J0IGNsYXNzIENvbnRhaW5lck1vZGVsIGV4dGVuZHMgRm9ybVdpZGdldE1vZGVsIHtcbiAgICBmaWVsZDogRm9ybUZpZWxkTW9kZWw7XG5cbiAgICByZWFkb25seSBjb2x1bW5zOiBDb250YWluZXJDb2x1bW5Nb2RlbFtdID0gW107XG4gICAgaXNFeHBhbmRlZDogYm9vbGVhbiA9IHRydWU7XG4gICAgcmVhZG9ubHkgcm93c3BhbjogbnVtYmVyID0gMTtcbiAgICByZWFkb25seSBjb2xzcGFuOiBudW1iZXIgPSAxO1xuXG4gICAgY29uc3RydWN0b3IoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKSB7XG4gICAgICAgIHN1cGVyKGZpZWxkLmZvcm0sIGZpZWxkLmpzb24pO1xuXG4gICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgICAgdGhpcy5maWVsZCA9IGZpZWxkO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zID0gZmllbGQuY29sdW1ucyB8fCBbXTtcbiAgICAgICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9ICF0aGlzLmlzQ29sbGFwc2VkQnlEZWZhdWx0O1xuICAgICAgICAgICAgdGhpcy5jb2xzcGFuID0gZmllbGQuY29sc3BhbjtcbiAgICAgICAgICAgIHRoaXMucm93c3BhbiA9IGZpZWxkLnJvd3NwYW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZC5pc1Zpc2libGU7XG4gICAgfVxuXG4gICAgZ2V0IGlzVHlwZUZpZWxkR3JvdXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkdST1VQO1xuICAgIH1cblxuICAgIGdldCBpc0NvbGxhcHNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1R5cGVGaWVsZEdyb3VwICYmICh0aGlzLmZpZWxkLnBhcmFtcz8uYWxsb3dDb2xsYXBzZSA/PyBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ29sbGFwc2VkQnlEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1R5cGVGaWVsZEdyb3VwICYmICh0aGlzLmZpZWxkLnBhcmFtcz8uY29sbGFwc2VCeURlZmF1bHQgPz8gZmFsc2UpO1xuICAgIH1cblxuICAgIGdldCBoaWRlSGVhZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1R5cGVGaWVsZEdyb3VwICYmICh0aGlzLmZpZWxkLnBhcmFtcz8uaGlkZUhlYWRlciA/PyBmYWxzZSk7XG4gICAgfVxufVxuIl19
@@ -35,4 +35,4 @@ export class ErrorMessageModel {
35
35
  return result;
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9lcnJvci1tZXNzYWdlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUV2RCxNQUFNLE9BQU8saUJBQWlCO0lBSTFCLFlBQVksR0FBUztRQUhyQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLGVBQVUsR0FBd0IsSUFBSSxDQUFDO1FBR25DLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsVUFBVSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNuQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUUsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5leHBvcnQgY2xhc3MgRXJyb3JNZXNzYWdlTW9kZWwge1xuICAgIG1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICAgIGF0dHJpYnV0ZXM6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3Iob2JqPzogYW55KSB7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IG9iaj8ubWVzc2FnZSB8fCAnJztcbiAgICAgICAgdGhpcy5hdHRyaWJ1dGVzID0gb2JqPy5hdHRyaWJ1dGVzIHx8IG5ldyBNYXAoKTtcbiAgICB9XG5cbiAgICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5tZXNzYWdlO1xuICAgIH1cblxuICAgIGdldEF0dHJpYnV0ZXNBc0pzb25PYmooKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgICAgICBpZiAodGhpcy5hdHRyaWJ1dGVzLnNpemUgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9lcnJvci1tZXNzYWdlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUV2RCxNQUFNLE9BQU8saUJBQWlCO0lBSTFCLFlBQVksR0FBUztRQUhyQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLGVBQVUsR0FBd0IsSUFBSSxDQUFDO1FBR25DLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsVUFBVSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RSxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuZXhwb3J0IGNsYXNzIEVycm9yTWVzc2FnZU1vZGVsIHtcbiAgICBtZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgICBhdHRyaWJ1dGVzOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKG9iaj86IGFueSkge1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBvYmo/Lm1lc3NhZ2UgfHwgJyc7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlcyA9IG9iaj8uYXR0cmlidXRlcyB8fCBuZXcgTWFwKCk7XG4gICAgfVxuXG4gICAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubWVzc2FnZTtcbiAgICB9XG5cbiAgICBnZXRBdHRyaWJ1dGVzQXNKc29uT2JqKCkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICAgICAgaWYgKHRoaXMuYXR0cmlidXRlcy5zaXplID4gMCkge1xuICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
@@ -20,4 +20,4 @@ export const isNumberValue = (value) => {
20
20
  }
21
21
  return !isNaN(+value);
22
22
  };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLWZpZWxkLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQVUsRUFBVyxFQUFFO0lBQ2pELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7UUFDdkQsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgY29uc3QgaXNOdW1iZXJWYWx1ZSA9ICh2YWx1ZTogYW55KTogYm9vbGVhbiA9PiB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gIWlzTmFOKCt2YWx1ZSk7XG59O1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLWZpZWxkLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQVUsRUFBVyxFQUFFO0lBQ2pELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN4RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGNvbnN0IGlzTnVtYmVyVmFsdWUgPSAodmFsdWU6IGFueSk6IGJvb2xlYW4gPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuICFpc05hTigrdmFsdWUpO1xufTtcbiJdfQ==
@@ -263,4 +263,4 @@ export const FORM_FIELD_VALIDATORS = [
263
263
  new FixedValueFieldValidator(),
264
264
  new DecimalFieldValidator()
265
265
  ];
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS1maWVsZC12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRbkQsTUFBTSxPQUFPLHNCQUFzQjtJQUFuQztRQUNZLG1CQUFjLEdBQUc7WUFDckIsY0FBYyxDQUFDLElBQUk7WUFDbkIsY0FBYyxDQUFDLGNBQWM7WUFDN0IsY0FBYyxDQUFDLE1BQU07WUFDckIsY0FBYyxDQUFDLE9BQU87WUFDdEIsY0FBYyxDQUFDLFNBQVM7WUFDeEIsY0FBYyxDQUFDLE1BQU07WUFDckIsY0FBYyxDQUFDLGdCQUFnQjtZQUMvQixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsTUFBTTtZQUNyQixjQUFjLENBQUMsTUFBTTtZQUNyQixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsT0FBTztZQUN0QixjQUFjLENBQUMseUJBQXlCO1NBQzNDLENBQUM7SUErQk4sQ0FBQztJQTdCRyxXQUFXLENBQUMsS0FBcUI7UUFDN0IsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDbkYsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFxQjtRQUMxQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxD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SyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsQyxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxTQUFTLEVBQUU7WUFDaEMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxnREFBZ0QsQ0FBQztZQUNuRixLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFFMUUsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0o7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNqQyxJQUFJLHNCQUFzQixFQUFFO0lBQzVCLElBQUksb0JBQW9CLEVBQUU7SUFDMUIsSUFBSSx1QkFBdUIsRUFBRTtJQUM3QixJQUFJLHVCQUF1QixFQUFFO0lBQzdCLElBQUksc0JBQXNCLEVBQUU7SUFDNUIsSUFBSSxzQkFBc0IsRUFBRTtJQUM1QixJQUFJLG1CQUFtQixFQUFFO0lBQ3pCLElBQUksd0JBQXdCLEVBQUU7SUFDOUIsSUFBSSxxQkFBcUIsRUFBRTtDQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEZvcm1GaWVsZFR5cGVzIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXR5cGVzJztcbmltcG9ydCB7IGlzTnVtYmVyVmFsdWUgfSBmcm9tICcuL2Zvcm0tZmllbGQtdXRpbHMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTW9kZWwgfSBmcm9tICcuL2Zvcm0tZmllbGQubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgaXNTdXBwb3J0ZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbjtcbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgUmVxdWlyZWRGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuVEVYVCxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuTVVMVElMSU5FX1RFWFQsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLk5VTUJFUixcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuQk9PTEVBTixcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuVFlQRUFIRUFELFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5QRU9QTEUsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLkZVTkNUSU9OQUxfR1JPVVAsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLlJBRElPX0JVVFRPTlMsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLlVQTE9BRCxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuQU1PVU5ULFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5EWU5BTUlDX1RBQkxFLFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5BVFRBQ0hfRk9MREVSLFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5ERUNJTUFMLFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5ESVNQTEFZX0VYVEVSTkFMX1BST1BFUlRZXG4gICAgXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgZmllbGQucmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBGb3JtRmllbGRUeXBlcy5SQURJT19CVVRUT05TKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gZmllbGQub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5pZCA9PT0gZmllbGQudmFsdWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiAhIW9wdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLlVQTE9BRCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIWZpZWxkLnZhbHVlICYmIGZpZWxkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EWU5BTUlDX1RBQkxFKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhZmllbGQudmFsdWUgJiYgZmllbGQudmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJiBmaWVsZC52YWx1ZS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuQk9PTEVBTikge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIWZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQudmFsdWUgPT09IG51bGwgfHwgZmllbGQudmFsdWUgPT09IHVuZGVmaW5lZCB8fCBmaWVsZC52YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTnVtYmVyRmllbGRWYWxpZGF0b3IgaW1wbGVtZW50cyBGb3JtRmllbGRWYWxpZGF0b3Ige1xuICAgIHByaXZhdGUgc3VwcG9ydGVkVHlwZXMgPSBbRm9ybUZpZWxkVHlwZXMuTlVNQkVSLCBGb3JtRmllbGRUeXBlcy5BTU9VTlRdO1xuXG4gICAgc3RhdGljIGlzTnVtYmVyKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTnVtYmVyVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTE7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZSA9PT0gbnVsbCB8fCBmaWVsZC52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGZpZWxkLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdmFsdWVTdHIgPSAnJyArIGZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgbGV0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKC9eLT9cXGQrJC8pO1xuICAgICAgICAgICAgaWYgKGZpZWxkLmVuYWJsZUZyYWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHBhdHRlcm4gPSBuZXcgUmVnRXhwKC9eLT9bMC05XSsoXFwuWzAtOV17MSwyfSk/JC8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZhbHVlU3RyLm1hdGNoKHBhdHRlcm4pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJ0ZPUk0uRklFTEQuVkFMSURBVE9SLklOVkFMSURfTlVNQkVSJztcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNaW5MZW5ndGhGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5URVhULCBGb3JtRmllbGRUeXBlcy5NVUxUSUxJTkVfVEVYVF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmIGZpZWxkLm1pbkxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC52YWx1ZSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZS5sZW5ndGggPj0gZmllbGQubWluTGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gYEZPUk0uRklFTEQuVkFMSURBVE9SLkFUX0xFQVNUX0xPTkdgO1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkuYXR0cmlidXRlcy5zZXQoJ21pbkxlbmd0aCcsIGZpZWxkLm1pbkxlbmd0aC50b0xvY2FsZVN0cmluZygpKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNYXhMZW5ndGhGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5URVhULCBGb3JtRmllbGRUeXBlcy5NVUxUSUxJTkVfVEVYVF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmIGZpZWxkLm1heExlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC52YWx1ZSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZS5sZW5ndGggPD0gZmllbGQubWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gYEZPUk0uRklFTEQuVkFMSURBVE9SLk5PX0xPTkdFUl9USEFOYDtcbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5LmF0dHJpYnV0ZXMuc2V0KCdtYXhMZW5ndGgnLCBmaWVsZC5tYXhMZW5ndGgudG9Mb2NhbGVTdHJpbmcoKSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWluVmFsdWVGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5OVU1CRVIsIEZvcm1GaWVsZFR5cGVzLkRFQ0lNQUwsIEZvcm1GaWVsZFR5cGVzLkFNT1VOVF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmIE51bWJlckZpZWxkVmFsaWRhdG9yLmlzTnVtYmVyKGZpZWxkLm1pblZhbHVlKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLnZhbHVlICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWU6IG51bWJlciA9ICtmaWVsZC52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IG1pblZhbHVlOiBudW1iZXIgPSArZmllbGQubWluVmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZSA+PSBtaW5WYWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkubWVzc2FnZSA9IGBGT1JNLkZJRUxELlZBTElEQVRPUi5OT1RfTEVTU19USEFOYDtcbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5LmF0dHJpYnV0ZXMuc2V0KCdtaW5WYWx1ZScsIGZpZWxkLm1pblZhbHVlLnRvTG9jYWxlU3RyaW5nKCkpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWF4VmFsdWVGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5OVU1CRVIsIEZvcm1GaWVsZFR5cGVzLkRFQ0lNQUwsIEZvcm1GaWVsZFR5cGVzLkFNT1VOVF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmIE51bWJlckZpZWxkVmFsaWRhdG9yLmlzTnVtYmVyKGZpZWxkLm1heFZhbHVlKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLnZhbHVlICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWU6IG51bWJlciA9ICtmaWVsZC52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IG1heFZhbHVlOiBudW1iZXIgPSArZmllbGQubWF4VmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZSA8PSBtYXhWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkubWVzc2FnZSA9IGBGT1JNLkZJRUxELlZBTElEQVRPUi5OT1RfR1JFQVRFUl9USEFOYDtcbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5LmF0dHJpYnV0ZXMuc2V0KCdtYXhWYWx1ZScsIGZpZWxkLm1heFZhbHVlLnRvTG9jYWxlU3RyaW5nKCkpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVnRXhGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5URVhULCBGb3JtRmllbGRUeXBlcy5NVUxUSUxJTkVfVEVYVF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmICEhZmllbGQucmVnZXhQYXR0ZXJuO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc1N1cHBvcnRlZChmaWVsZCkgJiYgZmllbGQudmFsdWUgJiYgZmllbGQuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICBpZiAoZmllbGQudmFsdWUubGVuZ3RoID4gMCAmJiBmaWVsZC52YWx1ZS5tYXRjaChuZXcgUmVnRXhwKCdeJyArIGZpZWxkLnJlZ2V4UGF0dGVybiArICckJykpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJ0ZPUk0uRklFTEQuVkFMSURBVE9SLklOVkFMSURfVkFMVUUnO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpeGVkVmFsdWVGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5UWVBFQUhFQURdO1xuXG4gICAgaXNTdXBwb3J0ZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWVsZCAmJiB0aGlzLnN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZmllbGQudHlwZSkgPiAtMTtcbiAgICB9XG5cbiAgICBoYXNWYWxpZE5hbWVPclZhbGlkSWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc1ZhbGlkTmFtZShmaWVsZCkgfHwgdGhpcy5oYXNWYWxpZElkKGZpZWxkKTtcbiAgICB9XG5cbiAgICBoYXNWYWxpZE5hbWUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC5vcHRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmFtZSAmJiBpdGVtLm5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gZmllbGQudmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKSkgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgaGFzVmFsaWRJZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkLm9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gZmllbGQudmFsdWUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIGhhc1N0cmluZ1ZhbHVlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCkge1xuICAgICAgICByZXR1cm4gZmllbGQudmFsdWUgJiYgdHlwZW9mIGZpZWxkLnZhbHVlID09PSAnc3RyaW5nJztcbiAgICB9XG5cbiAgICBoYXNPcHRpb25zKGZpZWxkOiBGb3JtRmllbGRNb2RlbCkge1xuICAgICAgICByZXR1cm4gZmllbGQub3B0aW9ucyAmJiBmaWVsZC5vcHRpb25zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc1N0cmluZ1ZhbHVlKGZpZWxkKSAmJiB0aGlzLmhhc09wdGlvbnMoZmllbGQpICYmICF0aGlzLmhhc1ZhbGlkTmFtZU9yVmFsaWRJZChmaWVsZCkpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJ0ZPUk0uRklFTEQuVkFMSURBVE9SLklOVkFMSURfVkFMVUUnO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWNpbWFsRmllbGRWYWxpZGF0b3IgaW1wbGVtZW50cyBGb3JtRmllbGRWYWxpZGF0b3Ige1xuICAgIHByaXZhdGUgc3VwcG9ydGVkVHlwZXMgPSBbRm9ybUZpZWxkVHlwZXMuREVDSU1BTF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xICYmICEhZmllbGQudmFsdWU7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNob3VsZFZhbGlkYXRlRmllbGQgPSB0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC5pc1Zpc2libGU7XG5cbiAgICAgICAgaWYgKCFzaG91bGRWYWxpZGF0ZUZpZWxkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZWNpc2lvbiA9IGZpZWxkLnByZWNpc2lvbjtcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IGZpZWxkLnZhbHVlO1xuXG4gICAgICAgIGlmICghaXNOdW1iZXJWYWx1ZShmaWVsZFZhbHVlKSkge1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkubWVzc2FnZSA9ICdGT1JNLkZJRUxELlZBTElEQVRPUi5JTlZBTElEX0RFQ0lNQUxfTlVNQkVSJztcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdHlwZW9mIGZpZWxkVmFsdWUgPT09ICdzdHJpbmcnID8gZmllbGRWYWx1ZSA6IGZpZWxkVmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgdmFsdWVQYXJ0cyA9IHZhbHVlLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID0gdmFsdWVQYXJ0c1sxXTtcblxuICAgICAgICBpZiAoZGVjaW1hbFBhcnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGVjaW1hbFBhcnQubGVuZ3RoID4gcHJlY2lzaW9uKSB7XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJ0ZPUk0uRklFTEQuVkFMSURBVE9SLklOVkFMSURfREVDSU1BTF9QUkVDSVNJT04nO1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkuYXR0cmlidXRlcy5zZXQoJ3ByZWNpc2lvbicsIHByZWNpc2lvbi50b1N0cmluZygpKTtcblxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgRk9STV9GSUVMRF9WQUxJREFUT1JTID0gW1xuICAgIG5ldyBSZXF1aXJlZEZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IE51bWJlckZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IE1pbkxlbmd0aEZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IE1heExlbmd0aEZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IE1pblZhbHVlRmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgTWF4VmFsdWVGaWVsZFZhbGlkYXRvcigpLFxuICAgIG5ldyBSZWdFeEZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IEZpeGVkVmFsdWVGaWVsZFZhbGlkYXRvcigpLFxuICAgIG5ldyBEZWNpbWFsRmllbGRWYWxpZGF0b3IoKVxuXTtcbiJdfQ==
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS1maWVsZC12YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRbkQsTUFBTSxPQUFPLHNCQUFzQjtJQUFuQztRQUNZLG1CQUFjLEdBQUc7WUFDckIsY0FBYyxDQUFDLElBQUk7WUFDbkIsY0FBYyxDQUFDLGNBQWM7WUFDN0IsY0FBYyxDQUFDLE1BQU07WUFDckIsY0FBYyxDQUFDLE9BQU87WUFDdEIsY0FBYyxDQUFDLFNBQVM7WUFDeEIsY0FBYyxDQUFDLE1BQU07WUFDckIsY0FBYyxDQUFDLGdCQUFnQjtZQUMvQixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsTUFBTTtZQUNyQixjQUFjLENBQUMsTUFBTTtZQUNyQixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsYUFBYTtZQUM1QixjQUFjLENBQUMsT0FBTztZQUN0QixjQUFjLENBQUMseUJBQXlCO1NBQzNDLENBQUM7SUErQk4sQ0FBQztJQTdCRyxXQUFXLENBQUMsS0FBcUI7UUFDN0IsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDbkYsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFxQjtRQUMxQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxD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dCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZXMgfSBmcm9tICcuL2Zvcm0tZmllbGQtdHlwZXMnO1xuaW1wb3J0IHsgaXNOdW1iZXJWYWx1ZSB9IGZyb20gJy4vZm9ybS1maWVsZC11dGlscyc7XG5pbXBvcnQgeyBGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4vZm9ybS1maWVsZC5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuO1xuICAgIHZhbGlkYXRlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBSZXF1aXJlZEZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW1xuICAgICAgICBGb3JtRmllbGRUeXBlcy5URVhULFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5NVUxUSUxJTkVfVEVYVCxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuTlVNQkVSLFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5CT09MRUFOLFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5UWVBFQUhFQUQsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLlBFT1BMRSxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuRlVOQ1RJT05BTF9HUk9VUCxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuUkFESU9fQlVUVE9OUyxcbiAgICAgICAgRm9ybUZpZWxkVHlwZXMuVVBMT0FELFxuICAgICAgICBGb3JtRmllbGRUeXBlcy5BTU9VTlQsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLkRZTkFNSUNfVEFCTEUsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLkFUVEFDSF9GT0xERVIsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLkRFQ0lNQUwsXG4gICAgICAgIEZvcm1GaWVsZFR5cGVzLkRJU1BMQVlfRVhURVJOQUxfUFJPUEVSVFlcbiAgICBdO1xuXG4gICAgaXNTdXBwb3J0ZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWVsZCAmJiB0aGlzLnN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZmllbGQudHlwZSkgPiAtMSAmJiBmaWVsZC5yZXF1aXJlZDtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLlJBRElPX0JVVFRPTlMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBmaWVsZC5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmlkID09PSBmaWVsZC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhb3B0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuVVBMT0FEKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhZmllbGQudmFsdWUgJiYgZmllbGQudmFsdWUubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRZTkFNSUNfVEFCTEUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFmaWVsZC52YWx1ZSAmJiBmaWVsZC52YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIGZpZWxkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBGb3JtRmllbGRUeXBlcy5CT09MRUFOKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhZmllbGQudmFsdWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZSA9PT0gbnVsbCB8fCBmaWVsZC52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGZpZWxkLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOdW1iZXJGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5OVU1CRVIsIEZvcm1GaWVsZFR5cGVzLkFNT1VOVF07XG5cbiAgICBzdGF0aWMgaXNOdW1iZXIodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOdW1iZXJWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaXNTdXBwb3J0ZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWVsZCAmJiB0aGlzLnN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZmllbGQudHlwZSkgPiAtMTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLnZhbHVlID09PSBudWxsIHx8IGZpZWxkLnZhbHVlID09PSB1bmRlZmluZWQgfHwgZmllbGQudmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB2YWx1ZVN0ciA9ICcnICsgZmllbGQudmFsdWU7XG4gICAgICAgICAgICBsZXQgcGF0dGVybiA9IG5ldyBSZWdFeHAoL14tP1xcZCskLyk7XG4gICAgICAgICAgICBpZiAoZmllbGQuZW5hYmxlRnJhY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgcGF0dGVybiA9IG5ldyBSZWdFeHAoL14tP1swLTldKyhcXC5bMC05XXsxLDJ9KT8kLyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodmFsdWVTdHIubWF0Y2gocGF0dGVybikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnRk9STS5GSUVMRC5WQUxJREFUT1IuSU5WQUxJRF9OVU1CRVInO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1pbkxlbmd0aEZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLlRFWFQsIEZvcm1GaWVsZFR5cGVzLk1VTFRJTElORV9URVhUXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgZmllbGQubWluTGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLnZhbHVlICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLnZhbHVlLmxlbmd0aCA+PSBmaWVsZC5taW5MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSBgRk9STS5GSUVMRC5WQUxJREFUT1IuQVRfTEVBU1RfTE9OR2A7XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5hdHRyaWJ1dGVzLnNldCgnbWluTGVuZ3RoJywgZmllbGQubWluTGVuZ3RoLnRvTG9jYWxlU3RyaW5nKCkpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1heExlbmd0aEZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLlRFWFQsIEZvcm1GaWVsZFR5cGVzLk1VTFRJTElORV9URVhUXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgZmllbGQubWF4TGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLnZhbHVlICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLnZhbHVlLmxlbmd0aCA8PSBmaWVsZC5tYXhMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSBgRk9STS5GSUVMRC5WQUxJREFUT1IuTk9fTE9OR0VSX1RIQU5gO1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkuYXR0cmlidXRlcy5zZXQoJ21heExlbmd0aCcsIGZpZWxkLm1heExlbmd0aC50b0xvY2FsZVN0cmluZygpKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNaW5WYWx1ZUZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLk5VTUJFUiwgRm9ybUZpZWxkVHlwZXMuREVDSU1BTCwgRm9ybUZpZWxkVHlwZXMuQU1PVU5UXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgTnVtYmVyRmllbGRWYWxpZGF0b3IuaXNOdW1iZXIoZmllbGQubWluVmFsdWUpO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc1N1cHBvcnRlZChmaWVsZCkgJiYgZmllbGQudmFsdWUgJiYgZmllbGQuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZTogbnVtYmVyID0gK2ZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgY29uc3QgbWluVmFsdWU6IG51bWJlciA9ICtmaWVsZC5taW5WYWx1ZTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlID49IG1pblZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gYEZPUk0uRklFTEQuVkFMSURBVE9SLk5PVF9MRVNTX1RIQU5gO1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkuYXR0cmlidXRlcy5zZXQoJ21pblZhbHVlJywgZmllbGQubWluVmFsdWUudG9Mb2NhbGVTdHJpbmcoKSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNYXhWYWx1ZUZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLk5VTUJFUiwgRm9ybUZpZWxkVHlwZXMuREVDSU1BTCwgRm9ybUZpZWxkVHlwZXMuQU1PVU5UXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgTnVtYmVyRmllbGRWYWxpZGF0b3IuaXNOdW1iZXIoZmllbGQubWF4VmFsdWUpO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc1N1cHBvcnRlZChmaWVsZCkgJiYgZmllbGQudmFsdWUgJiYgZmllbGQuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZTogbnVtYmVyID0gK2ZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgY29uc3QgbWF4VmFsdWU6IG51bWJlciA9ICtmaWVsZC5tYXhWYWx1ZTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlIDw9IG1heFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gYEZPUk0uRklFTEQuVkFMSURBVE9SLk5PVF9HUkVBVEVSX1RIQU5gO1xuICAgICAgICAgICAgZmllbGQudmFsaWRhdGlvblN1bW1hcnkuYXR0cmlidXRlcy5zZXQoJ21heFZhbHVlJywgZmllbGQubWF4VmFsdWUudG9Mb2NhbGVTdHJpbmcoKSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZWdFeEZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLlRFWFQsIEZvcm1GaWVsZFR5cGVzLk1VTFRJTElORV9URVhUXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgISFmaWVsZC5yZWdleFBhdHRlcm47XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydGVkKGZpZWxkKSAmJiBmaWVsZC52YWx1ZSAmJiBmaWVsZC5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZS5sZW5ndGggPiAwICYmIGZpZWxkLnZhbHVlLm1hdGNoKG5ldyBSZWdFeHAoJ14nICsgZmllbGQucmVnZXhQYXR0ZXJuICsgJyQnKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnRk9STS5GSUVMRC5WQUxJREFUT1IuSU5WQUxJRF9WQUxVRSc7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRml4ZWRWYWx1ZUZpZWxkVmFsaWRhdG9yIGltcGxlbWVudHMgRm9ybUZpZWxkVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHN1cHBvcnRlZFR5cGVzID0gW0Zvcm1GaWVsZFR5cGVzLlRZUEVBSEVBRF07XG5cbiAgICBpc1N1cHBvcnRlZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIHRoaXMuc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihmaWVsZC50eXBlKSA+IC0xO1xuICAgIH1cblxuICAgIGhhc1ZhbGlkTmFtZU9yVmFsaWRJZChmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzVmFsaWROYW1lKGZpZWxkKSB8fCB0aGlzLmhhc1ZhbGlkSWQoZmllbGQpO1xuICAgIH1cblxuICAgIGhhc1ZhbGlkTmFtZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkLm9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lICYmIGl0ZW0ubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBmaWVsZC52YWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpKSA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBoYXNWYWxpZElkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQub3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBmaWVsZC52YWx1ZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgaGFzU3RyaW5nVmFsdWUoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC52YWx1ZSAmJiB0eXBlb2YgZmllbGQudmFsdWUgPT09ICdzdHJpbmcnO1xuICAgIH1cblxuICAgIGhhc09wdGlvbnMoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC5vcHRpb25zICYmIGZpZWxkLm9wdGlvbnMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU3RyaW5nVmFsdWUoZmllbGQpICYmIHRoaXMuaGFzT3B0aW9ucyhmaWVsZCkgJiYgIXRoaXMuaGFzVmFsaWROYW1lT3JWYWxpZElkKGZpZWxkKSkge1xuICAgICAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnRk9STS5GSUVMRC5WQUxJREFUT1IuSU5WQUxJRF9WQUxVRSc7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIERlY2ltYWxGaWVsZFZhbGlkYXRvciBpbXBsZW1lbnRzIEZvcm1GaWVsZFZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRUeXBlcyA9IFtGb3JtRmllbGRUeXBlcy5ERUNJTUFMXTtcblxuICAgIGlzU3VwcG9ydGVkKGZpZWxkOiBGb3JtRmllbGRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmllbGQgJiYgdGhpcy5zdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpZWxkLnR5cGUpID4gLTEgJiYgISFmaWVsZC52YWx1ZTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShmaWVsZDogRm9ybUZpZWxkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2hvdWxkVmFsaWRhdGVGaWVsZCA9IHRoaXMuaXNTdXBwb3J0ZWQoZmllbGQpICYmIGZpZWxkLmlzVmlzaWJsZTtcblxuICAgICAgICBpZiAoIXNob3VsZFZhbGlkYXRlRmllbGQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gZmllbGQucHJlY2lzaW9uO1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gZmllbGQudmFsdWU7XG5cbiAgICAgICAgaWYgKCFpc051bWJlclZhbHVlKGZpZWxkVmFsdWUpKSB7XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJ0ZPUk0uRklFTEQuVkFMSURBVE9SLklOVkFMSURfREVDSU1BTF9OVU1CRVInO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSB0eXBlb2YgZmllbGRWYWx1ZSA9PT0gJ3N0cmluZycgPyBmaWVsZFZhbHVlIDogZmllbGRWYWx1ZS50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB2YWx1ZVBhcnRzID0gdmFsdWUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPSB2YWx1ZVBhcnRzWzFdO1xuXG4gICAgICAgIGlmIChkZWNpbWFsUGFydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkZWNpbWFsUGFydC5sZW5ndGggPiBwcmVjaXNpb24pIHtcbiAgICAgICAgICAgIGZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnRk9STS5GSUVMRC5WQUxJREFUT1IuSU5WQUxJRF9ERUNJTUFMX1BSRUNJU0lPTic7XG4gICAgICAgICAgICBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5hdHRyaWJ1dGVzLnNldCgncHJlY2lzaW9uJywgcHJlY2lzaW9uLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBGT1JNX0ZJRUxEX1ZBTElEQVRPUlMgPSBbXG4gICAgbmV3IFJlcXVpcmVkRmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgTnVtYmVyRmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgTWluTGVuZ3RoRmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgTWF4TGVuZ3RoRmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgTWluVmFsdWVGaWVsZFZhbGlkYXRvcigpLFxuICAgIG5ldyBNYXhWYWx1ZUZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IFJlZ0V4RmllbGRWYWxpZGF0b3IoKSxcbiAgICBuZXcgRml4ZWRWYWx1ZUZpZWxkVmFsaWRhdG9yKCksXG4gICAgbmV3IERlY2ltYWxGaWVsZFZhbGlkYXRvcigpXG5dO1xuIl19
@@ -186,7 +186,7 @@ export class FormFieldModel extends FormWidgetModel {
186
186
  }
187
187
  getDefaultDateFormat(jsonField) {
188
188
  let originalType = jsonField.type;
189
- if (FormFieldTypes.isReadOnlyType(jsonField.type) && jsonField.params && jsonField.params.field) {
189
+ if (FormFieldTypes.isReadOnlyType(jsonField.type) && jsonField.params?.field) {
190
190
  originalType = jsonField.params.field.type;
191
191
  }
192
192
  return originalType === FormFieldTypes.DATETIME ? this.defaultDateTimeFormat : this.defaultDateFormat;
@@ -479,4 +479,4 @@ export class FormFieldModel extends FormWidgetModel {
479
479
  return json.params?.field?.type === FormFieldTypes.BOOLEAN || json.type === FormFieldTypes.BOOLEAN;
480
480
  }
481
481
  }
482
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLWZpZWxkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUduRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFNbEQsa0NBQWtDO0FBQ2xDLE1BQU0sT0FBTyxjQUFlLFNBQVEsZUFBZTtJQW9FL0MsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxDQUFNO1FBQ1osSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDckI7SUFDTCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFpQjtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLFVBQVUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBRWpELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUU7WUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1lBQ25ELEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztpQkFDeEI7YUFDSjtTQUNKO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsWUFBWSxJQUFTLEVBQUUsSUFBVTtRQUM3QixLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBdklkLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTFCLHNCQUFpQixHQUFXLFVBQVUsQ0FBQztRQUN2QywwQkFBcUIsR0FBVyxrQkFBa0IsQ0FBQztRQUMzQyx5QkFBb0IsR0FBRyxPQUFPLENBQUM7UUFDL0IsMkJBQXNCLEdBQUcsZUFBZSxDQUFDO1FBUzFELFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixZQUFPLEdBQVcsSUFBSSxDQUFDO1FBQ3ZCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFDdEIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUd0QixzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFDOUIsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBSTlCLFlBQU8sR0FBc0IsRUFBRSxDQUFDO1FBU2hDLFdBQU0sR0FBc0IsRUFBRSxDQUFDO1FBRy9CLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsd0JBQW1CLEdBQTBCLElBQUksQ0FBQztRQUNsRCxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLHNCQUFpQixHQUFXLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQU1uRCxlQUFVLEdBQVksS0FBSyxDQUFDO1FBTTVCLDBCQUEwQjtRQUMxQixvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUM1QixXQUFNLEdBQXFCLEVBQUUsQ0FBQztRQUM5QixZQUFPLEdBQTJCLEVBQUUsQ0FBQztRQTRFakMsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDaEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7WUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNoRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDaEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNoRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1lBQ2hFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksRUFBRSxhQUFhLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDL0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztZQUN4RCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBRXhCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLE1BQU0sRUFBRTtnQkFDNUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ3ZDO1lBRUQsSUFBSSxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRTtvQkFDcEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN0QzthQUNKO1lBRUQsSUFBSSxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNyQztTQUNKO1FBRUQsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUM7U0FDbkQ7UUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUEwQjtRQUM3QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVPLHVCQUF1QixDQUFDLElBQVM7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BFLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsU0FBYztRQUN2QyxJQUFJLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUM3RixZQUFZLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxZQUFZLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDMUcsQ0FBQztJQUVPLG9CQUFvQixDQUFDLElBQVk7UUFDckMsT0FBTyxJQUFJLEtBQUssV0FBVyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUFZO1FBQ3RDLE9BQU8sSUFBSSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRU8sdUJBQXVCLENBQUMsS0FBVSxFQUFFLElBQXNCO1FBQzlELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZDLFNBQVMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQVMsRUFBRSxJQUFTO1FBQ3pDLE1BQU0sRUFBRSxlQUFlLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFFakIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRTtnQkFDN0QsT0FBTzthQUNWO1lBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1lBQ3ZDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMvRixHQUFHLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFFMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMxQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzNDO1lBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE1BQXdCO1FBQ25ELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUF3QixFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVsSDs7O1dBR0c7UUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLFFBQVEsRUFBRTtZQUN2QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHO3dCQUNmLEVBQUUsRUFBRSxJQUFJLENBQUMsb0JBQW9CO3dCQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtxQkFDcEMsQ0FBQztvQkFDRixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQzFDO2dCQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVGLElBQUksWUFBWSxFQUFFO29CQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7aUJBQzlCO2FBQ0o7WUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ25ELE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNuQjtZQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUN4QixNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUUxSCxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3RDLE9BQU8sb0JBQW9CLENBQUM7YUFDL0I7WUFFRCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVEOzs7V0FHRztRQUNILElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsYUFBYSxFQUFFO1lBQzVDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDN0Q7WUFFRCxvR0FBb0c7WUFDcEcsNkVBQTZFO1lBQzdFLHdEQUF3RDtZQUN4RCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDcEMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssS0FBSyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2pILENBQUM7WUFFRixJQUFJLGNBQWMsRUFBRTtnQkFDaEIsT0FBTyxjQUFjLENBQUMsRUFBRSxDQUFDO2FBQzVCO1lBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRCxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDbkI7WUFFRCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RELElBQUksS0FBSyxFQUFFO2dCQUNQLElBQUksU0FBZSxDQUFDO2dCQUVwQixJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDdEIsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMvQjtxQkFBTTtvQkFDSCxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7d0JBQ2xDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQzt3QkFDckQsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztpQkFDakU7Z0JBRUQsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ3hCLE9BQU8sU0FBUyxDQUFDO2lCQUNwQjthQUNKO1lBRUQsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztTQUN2RDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWixPQUFPO1NBQ1Y7UUFFRCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZixLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDakMsTUFBTTtpQkFDVDtnQkFFRDs7O21CQUdHO2dCQUNILElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO29CQUN2QyxNQUFNO2lCQUNUO2dCQUVELElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtvQkFDaEMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRTt3QkFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQzt3QkFDakMsTUFBTTtxQkFDVDtvQkFFRCxNQUFNLGNBQWMsR0FBb0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUUxRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxJQUFJLElBQUksQ0FBQztpQkFDdEQ7Z0JBQ0QsTUFBTTthQUNUO1lBQ0QsS0FBSyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQy9CLE1BQU0sV0FBVyxHQUFvQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRXZGLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxNQUFNLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXO3dCQUNuQyxDQUFDLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTt3QkFDM0MsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3pEO3FCQUFNO29CQUNILElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2lCQUN2RTtnQkFFRCxNQUFNO2FBQ1Q7WUFDRCxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDdEg7cUJBQU07b0JBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztpQkFDcEM7Z0JBQ0QsTUFBTTthQUNUO1lBQ0QsS0FBSyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzNCLE1BQU0sY0FBYyxHQUFzQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6SCxJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNqRDtxQkFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztpQkFDcEM7Z0JBQ0QsTUFBTTthQUNUO1lBQ0QsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sRUFBRTtvQkFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2lCQUMzQjtnQkFFRCxJQUFJLFNBQVMsQ0FBQztnQkFDZCxJQUFJO29CQUNBLFNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7aUJBQzFFO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNSLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDakM7Z0JBRUQsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ3hCLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO29CQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxRQUFRLGdCQUFnQixDQUFDO2lCQUMzRDtxQkFBTTtvQkFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7aUJBQzVCO2dCQUNELE1BQU07YUFDVDtZQUNELEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxQixJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7b0JBQ3hELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztpQkFDM0I7Z0JBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBRXBGLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUMzRDtxQkFBTTtvQkFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7aUJBQzVCO2dCQUNELE1BQU07YUFDVDtZQUNELEtBQUssY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3JHLE1BQU07YUFDVDtZQUNELEtBQUssY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3JHLE1BQU07YUFDVDtZQUNELEtBQUssY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsTUFBTTthQUNUO1lBQ0QsS0FBSyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUNqRyxNQUFNO2FBQ1Q7WUFDRCxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDM0QsTUFBTTthQUNUO1lBQ0QsS0FBSyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDM0QsTUFBTTthQUNUO1lBQ0Q7Z0JBQ0ksSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztpQkFDMUM7U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksS0FBSyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWE7UUFDVCxNQUFNLE1BQU0sR0FBb0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBdUI7UUFDdEMsT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLE1BQU0sRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQzFFLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxJQUFJO1FBQy9CLE9BQU8sQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQTBCO1FBQ3pDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sU0FBUyxDQUFDLE1BQXVCO1FBQ3JDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxLQUFLLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQVk7UUFDbEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoRyxDQUFDO0lBRU8sWUFBWSxDQUFDLE9BQVksRUFBRSxVQUEyQjtRQUMxRCxPQUFPLFVBQVUsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBVztRQUM3QixPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsSUFBSSxDQUFDO0lBQzlGLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBUztRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQztJQUNqRyxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVM7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssY0FBYyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDekcsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFTO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxLQUFLLGNBQWMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ3ZHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuaW1wb3J0IHsgV2lkZ2V0VmlzaWJpbGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3dpZGdldC12aXNpYmlsaXR5Lm1vZGVsJztcbmltcG9ydCB7IENvbnRhaW5lckNvbHVtbk1vZGVsIH0gZnJvbSAnLi9jb250YWluZXItY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZU1vZGVsIH0gZnJvbSAnLi9lcnJvci1tZXNzYWdlLm1vZGVsJztcbmltcG9ydCB7IEZvcm1GaWVsZE1ldGFkYXRhIH0gZnJvbSAnLi9mb3JtLWZpZWxkLW1ldGFkYXRhJztcbmltcG9ydCB7IEZvcm1GaWVsZE9wdGlvbiB9IGZyb20gJy4vZm9ybS1maWVsZC1vcHRpb24nO1xuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZXMgfSBmcm9tICcuL2Zvcm0tZmllbGQtdHlwZXMnO1xuaW1wb3J0IHsgRm9ybVdpZGdldE1vZGVsIH0gZnJvbSAnLi9mb3JtLXdpZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtRmllbGRSdWxlIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXJ1bGUnO1xuaW1wb3J0IHsgUHJvY2Vzc0Zvcm1Nb2RlbCB9IGZyb20gJy4vcHJvY2Vzcy1mb3JtLW1vZGVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc051bWJlclZhbHVlIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXV0aWxzJztcbmltcG9ydCB7IFZhcmlhYmxlQ29uZmlnIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXZhcmlhYmxlLW9wdGlvbnMnO1xuaW1wb3J0IHsgRGF0YUNvbHVtbiB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGF0YWJsZS9kYXRhL2RhdGEtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IERhdGVGbnNVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBpc1ZhbGlkIGFzIGlzVmFsaWREYXRlIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5leHBvcnQgdHlwZSBGaWVsZE9wdGlvblR5cGUgPSAncmVzdCcgfCAnbWFudWFsJyB8ICd2YXJpYWJsZSc7XG5leHBvcnQgdHlwZSBGaWVsZFNlbGVjdGlvblR5cGUgPSAnc2luZ2xlJyB8ICdtdWx0aXBsZSc7XG5leHBvcnQgdHlwZSBGaWVsZEFsaWdubWVudFR5cGUgPSAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuXG4vLyBNYXBzIHRvIEZvcm1GaWVsZFJlcHJlc2VudGF0aW9uXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkTW9kZWwgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWwge1xuICAgIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc1ZhbGlkOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdERhdGVGb3JtYXQ6IHN0cmluZyA9ICdELU0tWVlZWSc7XG4gICAgcmVhZG9ubHkgZGVmYXVsdERhdGVUaW1lRm9ybWF0OiBzdHJpbmcgPSAnRC1NLVlZWVkgaGg6bW0gQSc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0RW1wdHlPcHRpb25JZCA9ICdlbXB0eSc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0RW1wdHlPcHRpb25OYW1lID0gJ0Nob29zZSBvbmUuLi4nO1xuXG4gICAgLy8gbW9kZWwgbWVtYmVyc1xuICAgIGZpZWxkVHlwZTogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBvdmVycmlkZUlkOiBib29sZWFuO1xuICAgIHRhYjogc3RyaW5nO1xuICAgIHJvd3NwYW46IG51bWJlciA9IDE7XG4gICAgY29sc3BhbjogbnVtYmVyID0gMTtcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcbiAgICB0b29sdGlwOiBzdHJpbmcgPSBudWxsO1xuICAgIG1pbkxlbmd0aDogbnVtYmVyID0gMDtcbiAgICBtYXhMZW5ndGg6IG51bWJlciA9IDA7XG4gICAgbWluVmFsdWU6IHN0cmluZztcbiAgICBtYXhWYWx1ZTogc3RyaW5nO1xuICAgIG1heERhdGVSYW5nZVZhbHVlOiBudW1iZXIgPSAwO1xuICAgIG1pbkRhdGVSYW5nZVZhbHVlOiBudW1iZXIgPSAwO1xuICAgIHByZWNpc2lvbjogbnVtYmVyO1xuICAgIGR5bmFtaWNEYXRlUmFuZ2VTZWxlY3Rpb246IGJvb2xlYW47XG4gICAgcmVnZXhQYXR0ZXJuOiBzdHJpbmc7XG4gICAgb3B0aW9uczogRm9ybUZpZWxkT3B0aW9uW10gPSBbXTtcbiAgICByZXN0VXJsOiBzdHJpbmc7XG4gICAgcm9sZXM6IHN0cmluZ1tdO1xuICAgIHJlc3RSZXNwb25zZVBhdGg6IHN0cmluZztcbiAgICByZXN0SWRQcm9wZXJ0eTogc3RyaW5nO1xuICAgIHJlc3RMYWJlbFByb3BlcnR5OiBzdHJpbmc7XG4gICAgaGFzRW1wdHlWYWx1ZTogYm9vbGVhbjtcbiAgICBjbGFzc05hbWU6IHN0cmluZztcbiAgICBvcHRpb25UeXBlOiBGaWVsZE9wdGlvblR5cGU7XG4gICAgcGFyYW1zOiBGb3JtRmllbGRNZXRhZGF0YSA9IHt9O1xuICAgIGh5cGVybGlua1VybDogc3RyaW5nO1xuICAgIGRpc3BsYXlUZXh0OiBzdHJpbmc7XG4gICAgaXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICB2aXNpYmlsaXR5Q29uZGl0aW9uOiBXaWRnZXRWaXNpYmlsaXR5TW9kZWwgPSBudWxsO1xuICAgIGVuYWJsZUZyYWN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGN1cnJlbmN5OiBzdHJpbmcgPSBudWxsO1xuICAgIGRhdGVEaXNwbGF5Rm9ybWF0OiBzdHJpbmcgPSB0aGlzLmRlZmF1bHREYXRlRm9ybWF0O1xuICAgIHNlbGVjdGlvblR5cGU6IEZpZWxkU2VsZWN0aW9uVHlwZTtcbiAgICBhbGlnbm1lbnRUeXBlOiBGaWVsZEFsaWdubWVudFR5cGU7XG4gICAgcnVsZT86IEZvcm1GaWVsZFJ1bGU7XG4gICAgc2VsZWN0TG9nZ2VkVXNlcjogYm9vbGVhbjtcbiAgICBncm91cHNSZXN0cmljdGlvbjogc3RyaW5nW107XG4gICAgbGVmdExhYmVsczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHZhcmlhYmxlQ29uZmlnOiBWYXJpYWJsZUNvbmZpZztcbiAgICBzY2hlbWFEZWZpbml0aW9uOiBEYXRhQ29sdW1uW107XG4gICAgZXh0ZXJuYWxQcm9wZXJ0eT86IHN0cmluZztcbiAgICBzdHlsZT86IHN0cmluZztcblxuICAgIC8vIGNvbnRhaW5lciBtb2RlbCBtZW1iZXJzXG4gICAgbnVtYmVyT2ZDb2x1bW5zOiBudW1iZXIgPSAxO1xuICAgIGZpZWxkczogRm9ybUZpZWxkTW9kZWxbXSA9IFtdO1xuICAgIGNvbHVtbnM6IENvbnRhaW5lckNvbHVtbk1vZGVsW10gPSBbXTtcblxuICAgIC8vIHV0aWwgbWVtYmVyc1xuICAgIGVtcHR5T3B0aW9uOiBGb3JtRmllbGRPcHRpb247XG4gICAgdmFsaWRhdGlvblN1bW1hcnk6IEVycm9yTWVzc2FnZU1vZGVsO1xuXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgICAgIGlmICh2ICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0/LnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZE9ubHk7XG4gICAgfVxuXG4gICAgc2V0IHJlYWRPbmx5KHJlYWRPbmx5OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlYWRPbmx5ID0gcmVhZE9ubHk7XG4gICAgICAgIHRoaXMudXBkYXRlRm9ybSgpO1xuICAgIH1cblxuICAgIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cblxuICAgIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm0oKTtcbiAgICB9XG5cbiAgICBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVmFsaWQ7XG4gICAgfVxuXG4gICAgZ2V0IGhhc011bHRpcGxlVmFsdWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25UeXBlID09PSAnbXVsdGlwbGUnO1xuICAgIH1cblxuICAgIG1hcmtBc0ludmFsaWQoKSB7XG4gICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBtYXJrQXNWYWxpZCgpIHtcbiAgICAgICAgdGhpcy5faXNWYWxpZCA9IHRydWU7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvblN1bW1hcnkgPSBuZXcgRXJyb3JNZXNzYWdlTW9kZWwoKTtcblxuICAgICAgICBpZiAodGhpcy5pc0ZpZWxkVmFsaWRhdGFibGUoKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMuZm9ybS5maWVsZFZhbGlkYXRvcnMgfHwgW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHZhbGlkYXRvciBvZiB2YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF2YWxpZGF0b3IudmFsaWRhdGUodGhpcykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5faXNWYWxpZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNWYWxpZCA9IHRydWU7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1ZhbGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGaWVsZFZhbGlkYXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVhZE9ubHkgfHwgRm9ybUZpZWxkVHlwZXMuaXNWYWxpZGF0YWJsZVR5cGUodGhpcy50eXBlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihmb3JtOiBhbnksIGpzb24/OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoZm9ybSwganNvbik7XG4gICAgICAgIGlmIChqc29uKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkVHlwZSA9IGpzb24uZmllbGRUeXBlO1xuICAgICAgICAgICAgdGhpcy5pZCA9IGpzb24uaWQ7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSBqc29uLm5hbWU7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSBqc29uLnR5cGU7XG4gICAgICAgICAgICB0aGlzLnJvbGVzID0ganNvbi5yb2xlcztcbiAgICAgICAgICAgIHRoaXMuX3JlcXVpcmVkID0ganNvbi5yZXF1aXJlZDtcbiAgICAgICAgICAgIHRoaXMuX3JlYWRPbmx5ID0ganNvbi5yZWFkT25seSB8fCBqc29uLnR5cGUgPT09ICdyZWFkb25seSc7XG4gICAgICAgICAgICB0aGlzLm92ZXJyaWRlSWQgPSBqc29uLm92ZXJyaWRlSWQ7XG4gICAgICAgICAgICB0aGlzLnRhYiA9IGpzb24udGFiO1xuICAgICAgICAgICAgdGhpcy5yZXN0VXJsID0ganNvbi5yZXN0VXJsO1xuICAgICAgICAgICAgdGhpcy5yZXN0UmVzcG9uc2VQYXRoID0ganNvbi5yZXN0UmVzcG9uc2VQYXRoO1xuICAgICAgICAgICAgdGhpcy5yZXN0SWRQcm9wZXJ0eSA9IGpzb24ucmVzdElkUHJvcGVydHk7XG4gICAgICAgICAgICB0aGlzLnJlc3RMYWJlbFByb3BlcnR5ID0ganNvbi5yZXN0TGFiZWxQcm9wZXJ0eTtcbiAgICAgICAgICAgIHRoaXMuY29sc3BhbiA9IGpzb24uY29sc3BhbjtcbiAgICAgICAgICAgIHRoaXMucm93c3BhbiA9IGpzb24ucm93c3BhbjtcbiAgICAgICAgICAgIHRoaXMubWluTGVuZ3RoID0ganNvbi5taW5MZW5ndGggfHwgMDtcbiAgICAgICAgICAgIHRoaXMubWF4TGVuZ3RoID0ganNvbi5tYXhMZW5ndGggfHwgMDtcbiAgICAgICAgICAgIHRoaXMubWluVmFsdWUgPSBqc29uLm1pblZhbHVlO1xuICAgICAgICAgICAgdGhpcy5tYXhWYWx1ZSA9IGpzb24ubWF4VmFsdWU7XG4gICAgICAgICAgICB0aGlzLm1pbkRhdGVSYW5nZVZhbHVlID0ganNvbi5taW5EYXRlUmFuZ2VWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMubWF4RGF0ZVJhbmdlVmFsdWUgPSBqc29uLm1heERhdGVSYW5nZVZhbHVlO1xuICAgICAgICAgICAgdGhpcy5keW5hbWljRGF0ZVJhbmdlU2VsZWN0aW9uID0ganNvbi5keW5hbWljRGF0ZVJhbmdlU2VsZWN0aW9uO1xuICAgICAgICAgICAgdGhpcy5yZWdleFBhdHRlcm4gPSBqc29uLnJlZ2V4UGF0dGVybjtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMucGFyc2VPcHRpb25zKGpzb24ub3B0aW9ucywganNvbi5vcHRpb25UeXBlKTtcbiAgICAgICAgICAgIHRoaXMuZW1wdHlPcHRpb24gPSB0aGlzLmdldEVtcHR5T3B0aW9uKHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLmhhc0VtcHR5VmFsdWUgPSBqc29uPy5oYXNFbXB0eVZhbHVlID8/ICEhdGhpcy5lbXB0eU9wdGlvbjtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NOYW1lID0ganNvbi5jbGFzc05hbWU7XG4gICAgICAgICAgICB0aGlzLm9wdGlvblR5cGUgPSBqc29uLm9wdGlvblR5cGU7XG4gICAgICAgICAgICB0aGlzLnBhcmFtcyA9IGpzb24ucGFyYW1zIHx8IHt9O1xuICAgICAgICAgICAgdGhpcy5oeXBlcmxpbmtVcmwgPSBqc29uLmh5cGVybGlua1VybDtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVRleHQgPSBqc29uLmRpc3BsYXlUZXh0O1xuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5Q29uZGl0aW9uID0ganNvbi52aXNpYmlsaXR5Q29uZGl0aW9uID8gbmV3IFdpZGdldFZpc2liaWxpdHlNb2RlbChqc29uLnZpc2liaWxpdHlDb25kaXRpb24pIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5lbmFibGVGcmFjdGlvbnMgPSBqc29uLmVuYWJsZUZyYWN0aW9ucztcbiAgICAgICAgICAgIHRoaXMuY3VycmVuY3kgPSBqc29uLmN1cnJlbmN5O1xuICAgICAgICAgICAgdGhpcy5kYXRlRGlzcGxheUZvcm1hdCA9IGpzb24uZGF0ZURpc3BsYXlGb3JtYXQgfHwgdGhpcy5nZXREZWZhdWx0RGF0ZUZvcm1hdChqc29uKTtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN1bW1hcnkgPSBuZXcgRXJyb3JNZXNzYWdlTW9kZWwoKTtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcCA9IGpzb24udG9vbHRpcDtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uVHlwZSA9IGpzb24uc2VsZWN0aW9uVHlwZTtcbiAgICAgICAgICAgIHRoaXMuYWxpZ25tZW50VHlwZSA9IGpzb24uYWxpZ25tZW50VHlwZTtcbiAgICAgICAgICAgIHRoaXMucnVsZSA9IGpzb24ucnVsZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0TG9nZ2VkVXNlciA9IGpzb24uc2VsZWN0TG9nZ2VkVXNlcjtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBzUmVzdHJpY3Rpb24gPSBqc29uLmdyb3Vwc1Jlc3RyaWN0aW9uPy5ncm91cHM7XG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlQ29uZmlnID0ganNvbi52YXJpYWJsZUNvbmZpZztcbiAgICAgICAgICAgIHRoaXMuc2NoZW1hRGVmaW5pdGlvbiA9IGpzb24uc2NoZW1hRGVmaW5pdGlvbjtcbiAgICAgICAgICAgIHRoaXMucHJlY2lzaW9uID0ganNvbi5wcmVjaXNpb247XG4gICAgICAgICAgICB0aGlzLmV4dGVybmFsUHJvcGVydHkgPSBqc29uLmV4dGVybmFsUHJvcGVydHk7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMucGFyc2VWYWx1ZShqc29uKTtcbiAgICAgICAgICAgIHRoaXMuc3R5bGUgPSBqc29uLnN0eWxlO1xuXG4gICAgICAgICAgICBpZiAoanNvbi5wbGFjZWhvbGRlciAmJiBqc29uLnBsYWNlaG9sZGVyICE9PSAnJyAmJiBqc29uLnBsYWNlaG9sZGVyICE9PSAnbnVsbCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0ganNvbi5wbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKEZvcm1GaWVsZFR5cGVzLmlzUmVhZE9ubHlUeXBlKHRoaXMudHlwZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYXJhbXM/LmZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVGb3JSZWFkb25seVR5cGUoZm9ybSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoRm9ybUZpZWxkVHlwZXMuaXNDb250YWluZXJUeXBlKHRoaXMudHlwZSkgfHwgRm9ybUZpZWxkVHlwZXMuaXNTZWN0aW9uVHlwZSh0aGlzLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJGYWN0b3J5KGpzb24sIGZvcm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm0/Lmpzb24pIHtcbiAgICAgICAgICAgIHRoaXMubGVmdExhYmVscyA9IGZvcm0uanNvbi5sZWZ0TGFiZWxzIHx8IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFbXB0eU9wdGlvbihvcHRpb25zOiBGb3JtRmllbGRPcHRpb25bXSk6IEZvcm1GaWVsZE9wdGlvbiB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uPy5pZCA9PT0gdGhpcy5kZWZhdWx0RW1wdHlPcHRpb25JZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZUZvclJlYWRvbmx5VHlwZShmb3JtOiBhbnkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFByb2Nlc3NWYXJpYWJsZVZhbHVlKHRoaXMucGFyYW1zLmZpZWxkLCBmb3JtKTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHREYXRlRm9ybWF0KGpzb25GaWVsZDogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG9yaWdpbmFsVHlwZSA9IGpzb25GaWVsZC50eXBlO1xuICAgICAgICBpZiAoRm9ybUZpZWxkVHlwZXMuaXNSZWFkT25seVR5cGUoanNvbkZpZWxkLnR5cGUpICYmIGpzb25GaWVsZC5wYXJhbXMgJiYganNvbkZpZWxkLnBhcmFtcy5maWVsZCkge1xuICAgICAgICAgICAgb3JpZ2luYWxUeXBlID0ganNvbkZpZWxkLnBhcmFtcy5maWVsZC50eXBlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvcmlnaW5hbFR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRBVEVUSU1FID8gdGhpcy5kZWZhdWx0RGF0ZVRpbWVGb3JtYXQgOiB0aGlzLmRlZmF1bHREYXRlRm9ybWF0O1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNUeXBlYWhlYWRGaWVsZFR5cGUodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlID09PSAndHlwZWFoZWFkJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpZWxkTmFtZVdpdGhMYWJlbChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbmFtZSArICdfTEFCRUwnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvY2Vzc1ZhcmlhYmxlVmFsdWUoZmllbGQ6IGFueSwgZm9ybTogUHJvY2Vzc0Zvcm1Nb2RlbCk6IGFueSB7XG4gICAgICAgIGxldCBmaWVsZE5hbWUgPSBmaWVsZC5uYW1lO1xuICAgICAgICBpZiAodGhpcy5pc1R5cGVhaGVhZEZpZWxkVHlwZShmaWVsZC50eXBlKSkge1xuICAgICAgICAgICAgZmllbGROYW1lID0gdGhpcy5nZXRGaWVsZE5hbWVXaXRoTGFiZWwoZmllbGQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmb3JtLmdldFByb2Nlc3NWYXJpYWJsZVZhbHVlKGZpZWxkTmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb250YWluZXJGYWN0b3J5KGpzb246IGFueSwgZm9ybTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgbnVtYmVyT2ZDb2x1bW5zID0gMSwgZmllbGRzID0ge30gfSA9IGpzb247XG4gICAgICAgIHRoaXMubnVtYmVyT2ZDb2x1bW5zID0gbnVtYmVyT2ZDb2x1bW5zO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICAgICAgdGhpcy5yb3dzcGFuID0gMTtcbiAgICAgICAgdGhpcy5jb2xzcGFuID0gMTtcblxuICAgICAgICBPYmplY3Qua2V5cyhmaWVsZHMpLmZvckVhY2goKGN1cnJlbnRGaWVsZCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZmllbGRzLCBjdXJyZW50RmllbGQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb2wgPSBuZXcgQ29udGFpbmVyQ29sdW1uTW9kZWwoKTtcbiAgICAgICAgICAgIGNvbC5maWVsZHMgPSAoZmllbGRzW2N1cnJlbnRGaWVsZF0gfHwgW10pLm1hcCgoZmllbGQ6IGFueSkgPT4gbmV3IEZvcm1GaWVsZE1vZGVsKGZvcm0sIGZpZWxkKSk7XG4gICAgICAgICAgICBjb2wucm93c3BhbiA9IGZpZWxkc1tjdXJyZW50RmllbGRdLmxlbmd0aDtcblxuICAgICAgICAgICAgaWYgKCFGb3JtRmllbGRUeXBlcy5pc1NlY3Rpb25UeXBlKHRoaXMudHlwZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRhaW5lckNvbHNwYW4oY29sLmZpZWxkcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucm93c3BhbiA9IE1hdGgubWF4KHRoaXMucm93c3BhbiwgY29sLnJvd3NwYW4pO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zLnB1c2goY29sKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDb250YWluZXJDb2xzcGFuKGZpZWxkczogRm9ybUZpZWxkTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBmaWVsZHMuZm9yRWFjaCgoY29sRmllbGQ6IEZvcm1GaWVsZE1vZGVsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbHNwYW4gPSBNYXRoLm1heCh0aGlzLmNvbHNwYW4sIGNvbEZpZWxkLmNvbHNwYW4pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwYXJzZVZhbHVlKGpzb246IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGpzb24sICd2YWx1ZScpICYmIGpzb24udmFsdWUgIT09IHVuZGVmaW5lZCA/IGpzb24udmFsdWUgOiBudWxsO1xuXG4gICAgICAgIC8qXG4gICAgICAgICBUaGlzIGlzIG5lZWRlZCBkdWUgdG8gQWN0aXZpdGkgaXNzdWUgcmVsYXRlZCB0byByZWFkaW5nIGRyb3Bkb3duIHZhbHVlcyBhcyB2YWx1ZSBzdHJpbmdcbiAgICAgICAgIGJ1dCBzYXZpbmcgYmFjayBhcyBvYmplY3Q6IHsgaWQ6IDxpZD4sIG5hbWU6IDxuYW1lPiB9XG4gICAgICAgICAqL1xuICAgICAgICBpZiAoanNvbi50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EUk9QRE9XTikge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzRW1wdHlWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5lbXB0eU9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtcHR5T3B0aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMuZGVmYXVsdEVtcHR5T3B0aW9uSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLmRlZmF1bHRFbXB0eU9wdGlvbk5hbWVcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnVuc2hpZnQodGhpcy5lbXB0eU9wdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgaXNFbXB0eVZhbHVlID0gIXZhbHVlIHx8IFt0aGlzLmVtcHR5T3B0aW9uLmlkLCB0aGlzLmVtcHR5T3B0aW9uLm5hbWVdLmluY2x1ZGVzKHZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVtcHR5T3B0aW9uLmlkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZE9wdGlvbih2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZE9wdGlvbih7IGlkOiB2YWx1ZS5pZCwgbmFtZTogdmFsdWUubmFtZSB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuaWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhhc011bHRpcGxlVmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsaWRTZWxlY3RlZE9wdGlvbnMgPSAoQXJyYXkuaXNBcnJheShqc29uLnZhbHVlKSA/IGpzb24udmFsdWUgOiBbXSkuZmlsdGVyKChvcHRpb24pID0+IHRoaXMuaXNWYWxpZE9wdGlvbihvcHRpb24pKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuYWRkT3B0aW9ucyh2YWxpZFNlbGVjdGVkT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkU2VsZWN0ZWRPcHRpb25zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICAgVGhpcyBpcyBuZWVkZWQgZHVlIHRvIEFjdGl2aXRpIGlzc3VlIHJlbGF0ZWQgdG8gcmVhZGluZyByYWRpbyBidXR0b24gdmFsdWVzIGFzIHZhbHVlIHN0cmluZ1xuICAgICAgICAgYnV0IHNhdmluZyBiYWNrIGFzIG9iamVjdDogeyBpZDogPGlkPiwgbmFtZTogPG5hbWU+IH1cbiAgICAgICAgICovXG4gICAgICAgIGlmIChqc29uLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLlJBRElPX0JVVFRPTlMpIHtcbiAgICAgICAgICAgIGlmIChqc29uLnZhbHVlPy5vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5wYXJzZVZhbGlkT3B0aW9ucyhqc29uLnZhbHVlLm9wdGlvbnMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBY3Rpdml0aSBoYXMgYSBidWcgd2l0aCBkZWZhdWx0IHJhZGlvIGJ1dHRvbiB2YWx1ZSB3aGVyZSBpbml0aWFsIHNlbGVjdGlvbiBwYXNzZWQgYXMgYG5hbWVgIHZhbHVlXG4gICAgICAgICAgICAvLyBzbyB0cnkgcmVzb2x2aW5nIGN1cnJlbnQgb25lIHdpdGggYSBmYWxsYmFjayB0byBmaXJzdCBlbnRyeSB2aWEgbmFtZSBvciBpZFxuICAgICAgICAgICAgLy8gVE9ETzogbmVlZHMgdG8gYmUgcmVwb3J0ZWQgYW5kIGZpeGVkIGF0IEFjdGl2aXRpIHNpZGVcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoaW5nT3B0aW9uID0gdGhpcy5vcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgICAgKG9wdCkgPT4gb3B0LmlkID09PSB2YWx1ZSB8fCBvcHQubmFtZSA9PT0gdmFsdWUgfHwgKHZhbHVlICYmIChvcHQuaWQgPT09IHZhbHVlLmlkIHx8IG9wdC5uYW1lID09PSB2YWx1ZS5uYW1lKSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChtYXRjaGluZ09wdGlvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaGluZ09wdGlvbi5pZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZE9wdGlvbih2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZE9wdGlvbih7IGlkOiB2YWx1ZS5pZCwgbmFtZTogdmFsdWUubmFtZSB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuaWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRGF0ZUZpZWxkKGpzb24pIHx8IHRoaXMuaXNEYXRlVGltZUZpZWxkKGpzb24pKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBsZXQgZGF0ZVZhbHVlOiBEYXRlO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzTnVtYmVyVmFsdWUodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVWYWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkYXRlVmFsdWUgPSB0aGlzLmlzRGF0ZVRpbWVGaWVsZChqc29uKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBEYXRlRm5zVXRpbHMucGFyc2VEYXRlKHZhbHVlLCAnWVlZWS1NTS1ERCBoaDptbSBBJylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogRGF0ZUZuc1V0aWxzLnBhcnNlRGF0ZSh2YWx1ZS5zcGxpdCgnVCcpWzBdLCAnWVlZWS1NLUQnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZERhdGUoZGF0ZVZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZVZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDaGVja2JveEZpZWxkKGpzb24pKSB7XG4gICAgICAgICAgICByZXR1cm4ganNvbi52YWx1ZSA9PT0gJ3RydWUnIHx8IGpzb24udmFsdWUgPT09IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgdXBkYXRlRm9ybSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLkRST1BET1dOOiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICBUaGlzIGlzIG5lZWRlZCBkdWUgdG8gQWN0aXZpdGkgcmVhZGluZyBkcm9wZG93biB2YWx1ZXMgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgIGJ1dCBzYXZpbmcgYmFjayBhcyBvYmplY3Q6IHsgaWQ6IDxpZD4sIG5hbWU6IDxuYW1lPiB9XG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09ICdlbXB0eScgfHwgdGhpcy52YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZ09wdGlvbjogRm9ybUZpZWxkT3B0aW9uID0gdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmlkID09PSB0aGlzLnZhbHVlKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gbWF0Y2hpbmdPcHRpb24gfHwgbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLlJBRElPX0JVVFRPTlM6IHtcbiAgICAgICAgICAgICAgICBjb25zdCByYWRpb0J1dHRvbjogRm9ybUZpZWxkT3B0aW9uID0gdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmlkID09PSB0aGlzLnZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvblR5cGUgPT09ICdyZXN0Jykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gcmFkaW9CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgID8geyAuLi5yYWRpb0J1dHRvbiwgb3B0aW9uczogdGhpcy5vcHRpb25zIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDogeyBpZDogbnVsbCwgbmFtZTogbnVsbCwgb3B0aW9uczogdGhpcy5vcHRpb25zIH07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHJhZGlvQnV0dG9uID8geyAuLi5yYWRpb0J1dHRvbiB9IDogbnVsbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuVVBMT0FEOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLmhhc1VwbG9hZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZS5tYXAoKGVsZW0pID0+IGVsZW0uaWQpLmpvaW4oJywnKSA6IFt0aGlzLnZhbHVlXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLlRZUEVBSEVBRDoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVBaGVhZEVudHJ5OiBGb3JtRmllbGRPcHRpb25bXSA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKG9wdCkgPT4gb3B0LmlkID09PSB0aGlzLnZhbHVlIHx8IG9wdC5uYW1lID09PSB0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZUFoZWFkRW50cnkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gdHlwZUFoZWFkRW50cnlbMF07XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLkRBVEU6IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMudmFsdWUgPT09ICd0b2RheScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IGRhdGVWYWx1ZTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBkYXRlVmFsdWUgPSBEYXRlRm5zVXRpbHMucGFyc2VEYXRlKHRoaXMudmFsdWUsIHRoaXMuZGF0ZURpc3BsYXlGb3JtYXQpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZVZhbHVlID0gbmV3IERhdGUoJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGlzVmFsaWREYXRlKGRhdGVWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZVBhcnQgPSBEYXRlRm5zVXRpbHMuZm9ybWF0RGF0ZShkYXRlVmFsdWUsICd5eXl5LU1NLWRkJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBgJHtkYXRlUGFydH1UMDA6MDA6MDAuMDAwWmA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLkRBVEVUSU1FOiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnc3RyaW5nJyAmJiB0aGlzLnZhbHVlID09PSAnbm93Jykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlVGltZVZhbHVlID0gdGhpcy52YWx1ZSAhPT0gbnVsbCA/IERhdGVGbnNVdGlscy5nZXREYXRlKHRoaXMudmFsdWUpIDogbnVsbDtcblxuICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkRGF0ZShkYXRlVGltZVZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gZGF0ZVRpbWVWYWx1ZS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5OVU1CRVI6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gdGhpcy5lbmFibGVGcmFjdGlvbnMgPyBwYXJzZUZsb2F0KHRoaXMudmFsdWUpIDogcGFyc2VJbnQodGhpcy52YWx1ZSwgMTApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5BTU9VTlQ6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gdGhpcy5lbmFibGVGcmFjdGlvbnMgPyBwYXJzZUZsb2F0KHRoaXMudmFsdWUpIDogcGFyc2VJbnQodGhpcy52YWx1ZSwgMTApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5ERUNJTUFMOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHBhcnNlRmxvYXQodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLkJPT0xFQU46IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gdGhpcy52YWx1ZSAhPT0gbnVsbCAmJiB0aGlzLnZhbHVlICE9PSB1bmRlZmluZWQgPyB0aGlzLnZhbHVlIDogZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLlBFT1BMRToge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6IG51bGw7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLkZVTkNUSU9OQUxfR1JPVVA6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgOiBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zaG91bGRVcGRhdGVGb3JtVmFsdWVzKHRoaXMudHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb3JtLm9uRm9ybUZpZWxkQ2hhbmdlZCh0aGlzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZmllbGQgdHlwZSBpcyBpbnZhbGlkLCByZXF1aXJlcyBhIHR5cGUgdG8gYmUgYSBgY29udGFpbmVyYFxuICAgICAqXG4gICAgICogQHBhcmFtIHR5cGUgZmllbGQgdHlwZVxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0eXBlIGlzIGEgYGNvbnRhaW5lcmAsIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgaXNJbnZhbGlkRmllbGRUeXBlKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZSA9PT0gJ2NvbnRhaW5lcic7XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9uTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBvcHRpb246IEZvcm1GaWVsZE9wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5pZCA9PT0gdGhpcy52YWx1ZSk7XG4gICAgICAgIHJldHVybiBvcHRpb24gPyBvcHRpb24ubmFtZSA6IG51bGw7XG4gICAgfVxuXG4gICAgaGFzT3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucz8ubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBpc0VtcHR5VmFsdWVPcHRpb24ob3B0aW9uOiBGb3JtRmllbGRPcHRpb24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzRW1wdHlWYWx1ZSAmJiBvcHRpb24/LmlkID09PSB0aGlzLmRlZmF1bHRFbXB0eU9wdGlvbklkO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvdWxkVXBkYXRlRm9ybVZhbHVlcyh0eXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhRm9ybUZpZWxkVHlwZXMuaXNSZWFkT25seVR5cGUodHlwZSkgJiYgIXRoaXMuaXNJbnZhbGlkRmllbGRUeXBlKHR5cGUpICYmICFGb3JtRmllbGRUeXBlcy5pc1NlY3Rpb25UeXBlKHR5cGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkT3B0aW9ucyhvcHRpb25zOiBGb3JtRmllbGRPcHRpb25bXSkge1xuICAgICAgICBvcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4gdGhpcy5hZGRPcHRpb24ob3B0aW9uKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRPcHRpb24ob3B0aW9uOiBGb3JtRmllbGRPcHRpb24pIHtcbiAgICAgICAgY29uc3QgYWxyZWFkeUV4aXN0cyA9IHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdD8uaWQgPT09IG9wdGlvbj8uaWQpO1xuICAgICAgICBpZiAoIWFscmVhZHlFeGlzdHMpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHBhcnNlVmFsaWRPcHRpb25zKG9wdGlvbnM6IGFueSk6IEZvcm1GaWVsZE9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkob3B0aW9ucykgPyBvcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiB0aGlzLmlzVmFsaWRPcHRpb24ob3B0aW9uKSkgOiBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBhcnNlT3B0aW9ucyhvcHRpb25zOiBhbnksIG9wdGlvblR5cGU6IEZpZWxkT3B0aW9uVHlwZSk6IEZvcm1GaWVsZE9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvblR5cGUgPT09ICdyZXN0JyA/IFtdIDogdGhpcy5wYXJzZVZhbGlkT3B0aW9ucyhvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWRPcHRpb24ob3B0aW9uOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KG9wdGlvbikgJiYgb3B0aW9uPy5pZCAmJiBvcHRpb24/Lm5hbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0RhdGVGaWVsZChqc29uOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIGpzb24ucGFyYW1zPy5maWVsZD8udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuREFURSB8fCBqc29uLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRBVEU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0RhdGVUaW1lRmllbGQoanNvbjogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBqc29uLnBhcmFtcz8uZmllbGQ/LnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRBVEVUSU1FIHx8IGpzb24udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuREFURVRJTUU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0NoZWNrYm94RmllbGQoanNvbjogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBqc29uLnBhcmFtcz8uZmllbGQ/LnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkJPT0xFQU4gfHwganNvbi50eXBlID09PSBGb3JtRmllbGRUeXBlcy5CT09MRUFOO1xuICAgIH1cbn1cbiJdfQ==
482
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLWZpZWxkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUduRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFNbEQsa0NBQWtDO0FBQ2xDLE1BQU0sT0FBTyxjQUFlLFNBQVEsZUFBZTtJQW9FL0MsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxDQUFNO1FBQ1osSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FB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QUMsTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsSUFBSSxDQUFDO0lBQzlGLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBUztRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQztJQUNqRyxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVM7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssY0FBYyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDekcsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFTO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxLQUFLLGNBQWMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ3ZHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuaW1wb3J0IHsgV2lkZ2V0VmlzaWJpbGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3dpZGdldC12aXNpYmlsaXR5Lm1vZGVsJztcbmltcG9ydCB7IENvbnRhaW5lckNvbHVtbk1vZGVsIH0gZnJvbSAnLi9jb250YWluZXItY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZU1vZGVsIH0gZnJvbSAnLi9lcnJvci1tZXNzYWdlLm1vZGVsJztcbmltcG9ydCB7IEZvcm1GaWVsZE1ldGFkYXRhIH0gZnJvbSAnLi9mb3JtLWZpZWxkLW1ldGFkYXRhJztcbmltcG9ydCB7IEZvcm1GaWVsZE9wdGlvbiB9IGZyb20gJy4vZm9ybS1maWVsZC1vcHRpb24nO1xuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZXMgfSBmcm9tICcuL2Zvcm0tZmllbGQtdHlwZXMnO1xuaW1wb3J0IHsgRm9ybVdpZGdldE1vZGVsIH0gZnJvbSAnLi9mb3JtLXdpZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtRmllbGRSdWxlIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXJ1bGUnO1xuaW1wb3J0IHsgUHJvY2Vzc0Zvcm1Nb2RlbCB9IGZyb20gJy4vcHJvY2Vzcy1mb3JtLW1vZGVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc051bWJlclZhbHVlIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXV0aWxzJztcbmltcG9ydCB7IFZhcmlhYmxlQ29uZmlnIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXZhcmlhYmxlLW9wdGlvbnMnO1xuaW1wb3J0IHsgRGF0YUNvbHVtbiB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGF0YWJsZS9kYXRhL2RhdGEtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IERhdGVGbnNVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBpc1ZhbGlkIGFzIGlzVmFsaWREYXRlIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5leHBvcnQgdHlwZSBGaWVsZE9wdGlvblR5cGUgPSAncmVzdCcgfCAnbWFudWFsJyB8ICd2YXJpYWJsZSc7XG5leHBvcnQgdHlwZSBGaWVsZFNlbGVjdGlvblR5cGUgPSAnc2luZ2xlJyB8ICdtdWx0aXBsZSc7XG5leHBvcnQgdHlwZSBGaWVsZEFsaWdubWVudFR5cGUgPSAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuXG4vLyBNYXBzIHRvIEZvcm1GaWVsZFJlcHJlc2VudGF0aW9uXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkTW9kZWwgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWwge1xuICAgIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc1ZhbGlkOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdERhdGVGb3JtYXQ6IHN0cmluZyA9ICdELU0tWVlZWSc7XG4gICAgcmVhZG9ubHkgZGVmYXVsdERhdGVUaW1lRm9ybWF0OiBzdHJpbmcgPSAnRC1NLVlZWVkgaGg6bW0gQSc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0RW1wdHlPcHRpb25JZCA9ICdlbXB0eSc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0RW1wdHlPcHRpb25OYW1lID0gJ0Nob29zZSBvbmUuLi4nO1xuXG4gICAgLy8gbW9kZWwgbWVtYmVyc1xuICAgIGZpZWxkVHlwZTogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBvdmVycmlkZUlkOiBib29sZWFuO1xuICAgIHRhYjogc3RyaW5nO1xuICAgIHJvd3NwYW46IG51bWJlciA9IDE7XG4gICAgY29sc3BhbjogbnVtYmVyID0gMTtcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcbiAgICB0b29sdGlwOiBzdHJpbmcgPSBudWxsO1xuICAgIG1pbkxlbmd0aDogbnVtYmVyID0gMDtcbiAgICBtYXhMZW5ndGg6IG51bWJlciA9IDA7XG4gICAgbWluVmFsdWU6IHN0cmluZztcbiAgICBtYXhWYWx1ZTogc3RyaW5nO1xuICAgIG1heERhdGVSYW5nZVZhbHVlOiBudW1iZXIgPSAwO1xuICAgIG1pbkRhdGVSYW5nZVZhbHVlOiBudW1iZXIgPSAwO1xuICAgIHByZWNpc2lvbjogbnVtYmVyO1xuICAgIGR5bmFtaWNEYXRlUmFuZ2VTZWxlY3Rpb246IGJvb2xlYW47XG4gICAgcmVnZXhQYXR0ZXJuOiBzdHJpbmc7XG4gICAgb3B0aW9uczogRm9ybUZpZWxkT3B0aW9uW10gPSBbXTtcbiAgICByZXN0VXJsOiBzdHJpbmc7XG4gICAgcm9sZXM6IHN0cmluZ1tdO1xuICAgIHJlc3RSZXNwb25zZVBhdGg6IHN0cmluZztcbiAgICByZXN0SWRQcm9wZXJ0eTogc3RyaW5nO1xuICAgIHJlc3RMYWJlbFByb3BlcnR5OiBzdHJpbmc7XG4gICAgaGFzRW1wdHlWYWx1ZTogYm9vbGVhbjtcbiAgICBjbGFzc05hbWU6IHN0cmluZztcbiAgICBvcHRpb25UeXBlOiBGaWVsZE9wdGlvblR5cGU7XG4gICAgcGFyYW1zOiBGb3JtRmllbGRNZXRhZGF0YSA9IHt9O1xuICAgIGh5cGVybGlua1VybDogc3RyaW5nO1xuICAgIGRpc3BsYXlUZXh0OiBzdHJpbmc7XG4gICAgaXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICB2aXNpYmlsaXR5Q29uZGl0aW9uOiBXaWRnZXRWaXNpYmlsaXR5TW9kZWwgPSBudWxsO1xuICAgIGVuYWJsZUZyYWN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGN1cnJlbmN5OiBzdHJpbmcgPSBudWxsO1xuICAgIGRhdGVEaXNwbGF5Rm9ybWF0OiBzdHJpbmcgPSB0aGlzLmRlZmF1bHREYXRlRm9ybWF0O1xuICAgIHNlbGVjdGlvblR5cGU6IEZpZWxkU2VsZWN0aW9uVHlwZTtcbiAgICBhbGlnbm1lbnRUeXBlOiBGaWVsZEFsaWdubWVudFR5cGU7XG4gICAgcnVsZT86IEZvcm1GaWVsZFJ1bGU7XG4gICAgc2VsZWN0TG9nZ2VkVXNlcjogYm9vbGVhbjtcbiAgICBncm91cHNSZXN0cmljdGlvbjogc3RyaW5nW107XG4gICAgbGVmdExhYmVsczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHZhcmlhYmxlQ29uZmlnOiBWYXJpYWJsZUNvbmZpZztcbiAgICBzY2hlbWFEZWZpbml0aW9uOiBEYXRhQ29sdW1uW107XG4gICAgZXh0ZXJuYWxQcm9wZXJ0eT86IHN0cmluZztcbiAgICBzdHlsZT86IHN0cmluZztcblxuICAgIC8vIGNvbnRhaW5lciBtb2RlbCBtZW1iZXJzXG4gICAgbnVtYmVyT2ZDb2x1bW5zOiBudW1iZXIgPSAxO1xuICAgIGZpZWxkczogRm9ybUZpZWxkTW9kZWxbXSA9IFtdO1xuICAgIGNvbHVtbnM6IENvbnRhaW5lckNvbHVtbk1vZGVsW10gPSBbXTtcblxuICAgIC8vIHV0aWwgbWVtYmVyc1xuICAgIGVtcHR5T3B0aW9uOiBGb3JtRmllbGRPcHRpb247XG4gICAgdmFsaWRhdGlvblN1bW1hcnk6IEVycm9yTWVzc2FnZU1vZGVsO1xuXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgICAgIGlmICh2ICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0/LnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZE9ubHk7XG4gICAgfVxuXG4gICAgc2V0IHJlYWRPbmx5KHJlYWRPbmx5OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlYWRPbmx5ID0gcmVhZE9ubHk7XG4gICAgICAgIHRoaXMudXBkYXRlRm9ybSgpO1xuICAgIH1cblxuICAgIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cblxuICAgIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm0oKTtcbiAgICB9XG5cbiAgICBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVmFsaWQ7XG4gICAgfVxuXG4gICAgZ2V0IGhhc011bHRpcGxlVmFsdWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25UeXBlID09PSAnbXVsdGlwbGUnO1xuICAgIH1cblxuICAgIG1hcmtBc0ludmFsaWQoKSB7XG4gICAgICAgIHRoaXMuX2lzVmFsaWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBtYXJrQXNWYWxpZCgpIHtcbiAgICAgICAgdGhpcy5faXNWYWxpZCA9IHRydWU7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvblN1bW1hcnkgPSBuZXcgRXJyb3JNZXNzYWdlTW9kZWwoKTtcblxuICAgICAgICBpZiAodGhpcy5pc0ZpZWxkVmFsaWRhdGFibGUoKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMuZm9ybS5maWVsZFZhbGlkYXRvcnMgfHwgW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHZhbGlkYXRvciBvZiB2YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF2YWxpZGF0b3IudmFsaWRhdGUodGhpcykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5faXNWYWxpZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNWYWxpZCA9IHRydWU7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1ZhbGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGaWVsZFZhbGlkYXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVhZE9ubHkgfHwgRm9ybUZpZWxkVHlwZXMuaXNWYWxpZGF0YWJsZVR5cGUodGhpcy50eXBlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihmb3JtOiBhbnksIGpzb24/OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoZm9ybSwganNvbik7XG4gICAgICAgIGlmIChqc29uKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkVHlwZSA9IGpzb24uZmllbGRUeXBlO1xuICAgICAgICAgICAgdGhpcy5pZCA9IGpzb24uaWQ7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSBqc29uLm5hbWU7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSBqc29uLnR5cGU7XG4gICAgICAgICAgICB0aGlzLnJvbGVzID0ganNvbi5yb2xlcztcbiAgICAgICAgICAgIHRoaXMuX3JlcXVpcmVkID0ganNvbi5yZXF1aXJlZDtcbiAgICAgICAgICAgIHRoaXMuX3JlYWRPbmx5ID0ganNvbi5yZWFkT25seSB8fCBqc29uLnR5cGUgPT09ICdyZWFkb25seSc7XG4gICAgICAgICAgICB0aGlzLm92ZXJyaWRlSWQgPSBqc29uLm92ZXJyaWRlSWQ7XG4gICAgICAgICAgICB0aGlzLnRhYiA9IGpzb24udGFiO1xuICAgICAgICAgICAgdGhpcy5yZXN0VXJsID0ganNvbi5yZXN0VXJsO1xuICAgICAgICAgICAgdGhpcy5yZXN0UmVzcG9uc2VQYXRoID0ganNvbi5yZXN0UmVzcG9uc2VQYXRoO1xuICAgICAgICAgICAgdGhpcy5yZXN0SWRQcm9wZXJ0eSA9IGpzb24ucmVzdElkUHJvcGVydHk7XG4gICAgICAgICAgICB0aGlzLnJlc3RMYWJlbFByb3BlcnR5ID0ganNvbi5yZXN0TGFiZWxQcm9wZXJ0eTtcbiAgICAgICAgICAgIHRoaXMuY29sc3BhbiA9IGpzb24uY29sc3BhbjtcbiAgICAgICAgICAgIHRoaXMucm93c3BhbiA9IGpzb24ucm93c3BhbjtcbiAgICAgICAgICAgIHRoaXMubWluTGVuZ3RoID0ganNvbi5taW5MZW5ndGggfHwgMDtcbiAgICAgICAgICAgIHRoaXMubWF4TGVuZ3RoID0ganNvbi5tYXhMZW5ndGggfHwgMDtcbiAgICAgICAgICAgIHRoaXMubWluVmFsdWUgPSBqc29uLm1pblZhbHVlO1xuICAgICAgICAgICAgdGhpcy5tYXhWYWx1ZSA9IGpzb24ubWF4VmFsdWU7XG4gICAgICAgICAgICB0aGlzLm1pbkRhdGVSYW5nZVZhbHVlID0ganNvbi5taW5EYXRlUmFuZ2VWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMubWF4RGF0ZVJhbmdlVmFsdWUgPSBqc29uLm1heERhdGVSYW5nZVZhbHVlO1xuICAgICAgICAgICAgdGhpcy5keW5hbWljRGF0ZVJhbmdlU2VsZWN0aW9uID0ganNvbi5keW5hbWljRGF0ZVJhbmdlU2VsZWN0aW9uO1xuICAgICAgICAgICAgdGhpcy5yZWdleFBhdHRlcm4gPSBqc29uLnJlZ2V4UGF0dGVybjtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMucGFyc2VPcHRpb25zKGpzb24ub3B0aW9ucywganNvbi5vcHRpb25UeXBlKTtcbiAgICAgICAgICAgIHRoaXMuZW1wdHlPcHRpb24gPSB0aGlzLmdldEVtcHR5T3B0aW9uKHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLmhhc0VtcHR5VmFsdWUgPSBqc29uPy5oYXNFbXB0eVZhbHVlID8/ICEhdGhpcy5lbXB0eU9wdGlvbjtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NOYW1lID0ganNvbi5jbGFzc05hbWU7XG4gICAgICAgICAgICB0aGlzLm9wdGlvblR5cGUgPSBqc29uLm9wdGlvblR5cGU7XG4gICAgICAgICAgICB0aGlzLnBhcmFtcyA9IGpzb24ucGFyYW1zIHx8IHt9O1xuICAgICAgICAgICAgdGhpcy5oeXBlcmxpbmtVcmwgPSBqc29uLmh5cGVybGlua1VybDtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVRleHQgPSBqc29uLmRpc3BsYXlUZXh0O1xuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5Q29uZGl0aW9uID0ganNvbi52aXNpYmlsaXR5Q29uZGl0aW9uID8gbmV3IFdpZGdldFZpc2liaWxpdHlNb2RlbChqc29uLnZpc2liaWxpdHlDb25kaXRpb24pIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5lbmFibGVGcmFjdGlvbnMgPSBqc29uLmVuYWJsZUZyYWN0aW9ucztcbiAgICAgICAgICAgIHRoaXMuY3VycmVuY3kgPSBqc29uLmN1cnJlbmN5O1xuICAgICAgICAgICAgdGhpcy5kYXRlRGlzcGxheUZvcm1hdCA9IGpzb24uZGF0ZURpc3BsYXlGb3JtYXQgfHwgdGhpcy5nZXREZWZhdWx0RGF0ZUZvcm1hdChqc29uKTtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN1bW1hcnkgPSBuZXcgRXJyb3JNZXNzYWdlTW9kZWwoKTtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcCA9IGpzb24udG9vbHRpcDtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uVHlwZSA9IGpzb24uc2VsZWN0aW9uVHlwZTtcbiAgICAgICAgICAgIHRoaXMuYWxpZ25tZW50VHlwZSA9IGpzb24uYWxpZ25tZW50VHlwZTtcbiAgICAgICAgICAgIHRoaXMucnVsZSA9IGpzb24ucnVsZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0TG9nZ2VkVXNlciA9IGpzb24uc2VsZWN0TG9nZ2VkVXNlcjtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBzUmVzdHJpY3Rpb24gPSBqc29uLmdyb3Vwc1Jlc3RyaWN0aW9uPy5ncm91cHM7XG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlQ29uZmlnID0ganNvbi52YXJpYWJsZUNvbmZpZztcbiAgICAgICAgICAgIHRoaXMuc2NoZW1hRGVmaW5pdGlvbiA9IGpzb24uc2NoZW1hRGVmaW5pdGlvbjtcbiAgICAgICAgICAgIHRoaXMucHJlY2lzaW9uID0ganNvbi5wcmVjaXNpb247XG4gICAgICAgICAgICB0aGlzLmV4dGVybmFsUHJvcGVydHkgPSBqc29uLmV4dGVybmFsUHJvcGVydHk7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMucGFyc2VWYWx1ZShqc29uKTtcbiAgICAgICAgICAgIHRoaXMuc3R5bGUgPSBqc29uLnN0eWxlO1xuXG4gICAgICAgICAgICBpZiAoanNvbi5wbGFjZWhvbGRlciAmJiBqc29uLnBsYWNlaG9sZGVyICE9PSAnJyAmJiBqc29uLnBsYWNlaG9sZGVyICE9PSAnbnVsbCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0ganNvbi5wbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKEZvcm1GaWVsZFR5cGVzLmlzUmVhZE9ubHlUeXBlKHRoaXMudHlwZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYXJhbXM/LmZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVGb3JSZWFkb25seVR5cGUoZm9ybSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoRm9ybUZpZWxkVHlwZXMuaXNDb250YWluZXJUeXBlKHRoaXMudHlwZSkgfHwgRm9ybUZpZWxkVHlwZXMuaXNTZWN0aW9uVHlwZSh0aGlzLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJGYWN0b3J5KGpzb24sIGZvcm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm0/Lmpzb24pIHtcbiAgICAgICAgICAgIHRoaXMubGVmdExhYmVscyA9IGZvcm0uanNvbi5sZWZ0TGFiZWxzIHx8IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFbXB0eU9wdGlvbihvcHRpb25zOiBGb3JtRmllbGRPcHRpb25bXSk6IEZvcm1GaWVsZE9wdGlvbiB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uPy5pZCA9PT0gdGhpcy5kZWZhdWx0RW1wdHlPcHRpb25JZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZUZvclJlYWRvbmx5VHlwZShmb3JtOiBhbnkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFByb2Nlc3NWYXJpYWJsZVZhbHVlKHRoaXMucGFyYW1zLmZpZWxkLCBmb3JtKTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHREYXRlRm9ybWF0KGpzb25GaWVsZDogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG9yaWdpbmFsVHlwZSA9IGpzb25GaWVsZC50eXBlO1xuICAgICAgICBpZiAoRm9ybUZpZWxkVHlwZXMuaXNSZWFkT25seVR5cGUoanNvbkZpZWxkLnR5cGUpICYmIGpzb25GaWVsZC5wYXJhbXM/LmZpZWxkKSB7XG4gICAgICAgICAgICBvcmlnaW5hbFR5cGUgPSBqc29uRmllbGQucGFyYW1zLmZpZWxkLnR5cGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsVHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuREFURVRJTUUgPyB0aGlzLmRlZmF1bHREYXRlVGltZUZvcm1hdCA6IHRoaXMuZGVmYXVsdERhdGVGb3JtYXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1R5cGVhaGVhZEZpZWxkVHlwZSh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICd0eXBlYWhlYWQnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmllbGROYW1lV2l0aExhYmVsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBuYW1lICsgJ19MQUJFTCc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzVmFyaWFibGVWYWx1ZShmaWVsZDogYW55LCBmb3JtOiBQcm9jZXNzRm9ybU1vZGVsKTogYW55IHtcbiAgICAgICAgbGV0IGZpZWxkTmFtZSA9IGZpZWxkLm5hbWU7XG4gICAgICAgIGlmICh0aGlzLmlzVHlwZWFoZWFkRmllbGRUeXBlKGZpZWxkLnR5cGUpKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgPSB0aGlzLmdldEZpZWxkTmFtZVdpdGhMYWJlbChmaWVsZC5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvcm0uZ2V0UHJvY2Vzc1ZhcmlhYmxlVmFsdWUoZmllbGROYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnRhaW5lckZhY3RvcnkoanNvbjogYW55LCBmb3JtOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBudW1iZXJPZkNvbHVtbnMgPSAxLCBmaWVsZHMgPSB7fSB9ID0ganNvbjtcbiAgICAgICAgdGhpcy5udW1iZXJPZkNvbHVtbnMgPSBudW1iZXJPZkNvbHVtbnM7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgICAgICB0aGlzLnJvd3NwYW4gPSAxO1xuICAgICAgICB0aGlzLmNvbHNwYW4gPSAxO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKGZpZWxkcykuZm9yRWFjaCgoY3VycmVudEZpZWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChmaWVsZHMsIGN1cnJlbnRGaWVsZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IG5ldyBDb250YWluZXJDb2x1bW5Nb2RlbCgpO1xuICAgICAgICAgICAgY29sLmZpZWxkcyA9IChmaWVsZHNbY3VycmVudEZpZWxkXSB8fCBbXSkubWFwKChmaWVsZDogYW55KSA9PiBuZXcgRm9ybUZpZWxkTW9kZWwoZm9ybSwgZmllbGQpKTtcbiAgICAgICAgICAgIGNvbC5yb3dzcGFuID0gZmllbGRzW2N1cnJlbnRGaWVsZF0ubGVuZ3RoO1xuXG4gICAgICAgICAgICBpZiAoIUZvcm1GaWVsZFR5cGVzLmlzU2VjdGlvblR5cGUodGhpcy50eXBlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGFpbmVyQ29sc3Bhbihjb2wuZmllbGRzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5yb3dzcGFuID0gTWF0aC5tYXgodGhpcy5yb3dzcGFuLCBjb2wucm93c3Bhbik7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnMucHVzaChjb2wpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNvbnRhaW5lckNvbHNwYW4oZmllbGRzOiBGb3JtRmllbGRNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGZpZWxkcy5mb3JFYWNoKChjb2xGaWVsZDogRm9ybUZpZWxkTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29sc3BhbiA9IE1hdGgubWF4KHRoaXMuY29sc3BhbiwgY29sRmllbGQuY29sc3Bhbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHBhcnNlVmFsdWUoanNvbjogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoanNvbiwgJ3ZhbHVlJykgJiYganNvbi52YWx1ZSAhPT0gdW5kZWZpbmVkID8ganNvbi52YWx1ZSA6IG51bGw7XG5cbiAgICAgICAgLypcbiAgICAgICAgIFRoaXMgaXMgbmVlZGVkIGR1ZSB0byBBY3Rpdml0aSBpc3N1ZSByZWxhdGVkIHRvIHJlYWRpbmcgZHJvcGRvd24gdmFsdWVzIGFzIHZhbHVlIHN0cmluZ1xuICAgICAgICAgYnV0IHNhdmluZyBiYWNrIGFzIG9iamVjdDogeyBpZDogPGlkPiwgbmFtZTogPG5hbWU+IH1cbiAgICAgICAgICovXG4gICAgICAgIGlmIChqc29uLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkRST1BET1dOKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNFbXB0eVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmVtcHR5T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW1wdHlPcHRpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy5kZWZhdWx0RW1wdHlPcHRpb25JZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuZGVmYXVsdEVtcHR5T3B0aW9uTmFtZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMudW5zaGlmdCh0aGlzLmVtcHR5T3B0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBpc0VtcHR5VmFsdWUgPSAhdmFsdWUgfHwgW3RoaXMuZW1wdHlPcHRpb24uaWQsIHRoaXMuZW1wdHlPcHRpb24ubmFtZV0uaW5jbHVkZXModmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmIChpc0VtcHR5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZW1wdHlPcHRpb24uaWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkT3B0aW9uKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkT3B0aW9uKHsgaWQ6IHZhbHVlLmlkLCBuYW1lOiB2YWx1ZS5uYW1lIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5pZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzTXVsdGlwbGVWYWx1ZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZFNlbGVjdGVkT3B0aW9ucyA9IChBcnJheS5pc0FycmF5KGpzb24udmFsdWUpID8ganNvbi52YWx1ZSA6IFtdKS5maWx0ZXIoKG9wdGlvbikgPT4gdGhpcy5pc1ZhbGlkT3B0aW9uKG9wdGlvbikpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRPcHRpb25zKHZhbGlkU2VsZWN0ZWRPcHRpb25zKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRTZWxlY3RlZE9wdGlvbnM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qXG4gICAgICAgICBUaGlzIGlzIG5lZWRlZCBkdWUgdG8gQWN0aXZpdGkgaXNzdWUgcmVsYXRlZCB0byByZWFkaW5nIHJhZGlvIGJ1dHRvbiB2YWx1ZXMgYXMgdmFsdWUgc3RyaW5nXG4gICAgICAgICBidXQgc2F2aW5nIGJhY2sgYXMgb2JqZWN0OiB7IGlkOiA8aWQ+LCBuYW1lOiA8bmFtZT4gfVxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKGpzb24udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuUkFESU9fQlVUVE9OUykge1xuICAgICAgICAgICAgaWYgKGpzb24udmFsdWU/Lm9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLnBhcnNlVmFsaWRPcHRpb25zKGpzb24udmFsdWUub3B0aW9ucyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFjdGl2aXRpIGhhcyBhIGJ1ZyB3aXRoIGRlZmF1bHQgcmFkaW8gYnV0dG9uIHZhbHVlIHdoZXJlIGluaXRpYWwgc2VsZWN0aW9uIHBhc3NlZCBhcyBgbmFtZWAgdmFsdWVcbiAgICAgICAgICAgIC8vIHNvIHRyeSByZXNvbHZpbmcgY3VycmVudCBvbmUgd2l0aCBhIGZhbGxiYWNrIHRvIGZpcnN0IGVudHJ5IHZpYSBuYW1lIG9yIGlkXG4gICAgICAgICAgICAvLyBUT0RPOiBuZWVkcyB0byBiZSByZXBvcnRlZCBhbmQgZml4ZWQgYXQgQWN0aXZpdGkgc2lkZVxuICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmdPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgICAob3B0KSA9PiBvcHQuaWQgPT09IHZhbHVlIHx8IG9wdC5uYW1lID09PSB2YWx1ZSB8fCAodmFsdWUgJiYgKG9wdC5pZCA9PT0gdmFsdWUuaWQgfHwgb3B0Lm5hbWUgPT09IHZhbHVlLm5hbWUpKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKG1hdGNoaW5nT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoaW5nT3B0aW9uLmlkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkT3B0aW9uKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkT3B0aW9uKHsgaWQ6IHZhbHVlLmlkLCBuYW1lOiB2YWx1ZS5uYW1lIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5pZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNEYXRlRmllbGQoanNvbikgfHwgdGhpcy5pc0RhdGVUaW1lRmllbGQoanNvbikpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGxldCBkYXRlVmFsdWU6IERhdGU7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNOdW1iZXJWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZVZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVWYWx1ZSA9IHRoaXMuaXNEYXRlVGltZUZpZWxkKGpzb24pXG4gICAgICAgICAgICAgICAgICAgICAgICA/IERhdGVGbnNVdGlscy5wYXJzZURhdGUodmFsdWUsICdZWVlZLU1NLUREIGhoOm1tIEEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBEYXRlRm5zVXRpbHMucGFyc2VEYXRlKHZhbHVlLnNwbGl0KCdUJylbMF0sICdZWVlZLU0tRCcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkRGF0ZShkYXRlVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0NoZWNrYm94RmllbGQoanNvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBqc29uLnZhbHVlID09PSAndHJ1ZScgfHwganNvbi52YWx1ZSA9PT0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICB1cGRhdGVGb3JtKCkge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuRFJPUERPV046IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgIFRoaXMgaXMgbmVlZGVkIGR1ZSB0byBBY3Rpdml0aSByZWFkaW5nIGRyb3Bkb3duIHZhbHVlcyBhcyBzdHJpbmdcbiAgICAgICAgICAgICAgICAgYnV0IHNhdmluZyBiYWNrIGFzIG9iamVjdDogeyBpZDogPGlkPiwgbmFtZTogPG5hbWU+IH1cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy52YWx1ZSA9PT0gJ2VtcHR5JyB8fCB0aGlzLnZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoaW5nT3B0aW9uOiBGb3JtRmllbGRPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQuaWQgPT09IHRoaXMudmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBtYXRjaGluZ09wdGlvbiB8fCBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuUkFESU9fQlVUVE9OUzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJhZGlvQnV0dG9uOiBGb3JtRmllbGRPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQuaWQgPT09IHRoaXMudmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9uVHlwZSA9PT0gJ3Jlc3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSByYWRpb0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgPyB7IC4uLnJhZGlvQnV0dG9uLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB7IGlkOiBudWxsLCBuYW1lOiBudWxsLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gcmFkaW9CdXR0b24gPyB7IC4uLnJhZGlvQnV0dG9uIH0gOiBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBGb3JtRmllbGRUeXBlcy5VUExPQUQ6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0uaGFzVXBsb2FkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgPyB0aGlzLnZhbHVlLm1hcCgoZWxlbSkgPT4gZWxlbS5pZCkuam9pbignLCcpIDogW3RoaXMudmFsdWVdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuVFlQRUFIRUFEOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZUFoZWFkRW50cnk6IEZvcm1GaWVsZE9wdGlvbltdID0gdGhpcy5vcHRpb25zLmZpbHRlcigob3B0KSA9PiBvcHQuaWQgPT09IHRoaXMudmFsdWUgfHwgb3B0Lm5hbWUgPT09IHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlQWhlYWRFbnRyeS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSB0eXBlQWhlYWRFbnRyeVswXTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuREFURToge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycgJiYgdGhpcy52YWx1ZSA9PT0gJ3RvZGF5Jykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgZGF0ZVZhbHVlO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVWYWx1ZSA9IERhdGVGbnNVdGlscy5wYXJzZURhdGUodGhpcy52YWx1ZSwgdGhpcy5kYXRlRGlzcGxheUZvcm1hdCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBkYXRlVmFsdWUgPSBuZXcgRGF0ZSgnZXJyb3InKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZERhdGUoZGF0ZVZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRlUGFydCA9IERhdGVGbnNVdGlscy5mb3JtYXREYXRlKGRhdGVWYWx1ZSwgJ3l5eXktTU0tZGQnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IGAke2RhdGVQYXJ0fVQwMDowMDowMC4wMDBaYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuREFURVRJTUU6IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMudmFsdWUgPT09ICdub3cnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVUaW1lVmFsdWUgPSB0aGlzLnZhbHVlICE9PSBudWxsID8gRGF0ZUZuc1V0aWxzLmdldERhdGUodGhpcy52YWx1ZSkgOiBudWxsO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzVmFsaWREYXRlKGRhdGVUaW1lVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSBkYXRlVGltZVZhbHVlLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLk5VTUJFUjoge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSB0aGlzLmVuYWJsZUZyYWN0aW9ucyA/IHBhcnNlRmxvYXQodGhpcy52YWx1ZSkgOiBwYXJzZUludCh0aGlzLnZhbHVlLCAxMCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLkFNT1VOVDoge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSB0aGlzLmVuYWJsZUZyYWN0aW9ucyA/IHBhcnNlRmxvYXQodGhpcy52YWx1ZSkgOiBwYXJzZUludCh0aGlzLnZhbHVlLCAxMCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEZvcm1GaWVsZFR5cGVzLkRFQ0lNQUw6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gcGFyc2VGbG9hdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuQk9PTEVBTjoge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSB0aGlzLnZhbHVlICE9PSBudWxsICYmIHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZCA/IHRoaXMudmFsdWUgOiBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuUEVPUExFOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbHVlc1t0aGlzLmlkXSA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRm9ybUZpZWxkVHlwZXMuRlVOQ1RJT05BTF9HUk9VUDoge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZXNbdGhpcy5pZF0gPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6IG51bGw7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZFVwZGF0ZUZvcm1WYWx1ZXModGhpcy50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsdWVzW3RoaXMuaWRdID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvcm0ub25Gb3JtRmllbGRDaGFuZ2VkKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBmaWVsZCB0eXBlIGlzIGludmFsaWQsIHJlcXVpcmVzIGEgdHlwZSB0byBiZSBhIGBjb250YWluZXJgXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHlwZSBmaWVsZCB0eXBlXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHR5cGUgaXMgYSBgY29udGFpbmVyYCwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc0ludmFsaWRGaWVsZFR5cGUodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlID09PSAnY29udGFpbmVyJztcbiAgICB9XG5cbiAgICBnZXRPcHRpb25OYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG9wdGlvbjogRm9ybUZpZWxkT3B0aW9uID0gdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmlkID09PSB0aGlzLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG9wdGlvbiA/IG9wdGlvbi5uYW1lIDogbnVsbDtcbiAgICB9XG5cbiAgICBoYXNPcHRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGlzRW1wdHlWYWx1ZU9wdGlvbihvcHRpb246IEZvcm1GaWVsZE9wdGlvbik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNFbXB0eVZhbHVlICYmIG9wdGlvbj8uaWQgPT09IHRoaXMuZGVmYXVsdEVtcHR5T3B0aW9uSWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG91bGRVcGRhdGVGb3JtVmFsdWVzKHR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFGb3JtRmllbGRUeXBlcy5pc1JlYWRPbmx5VHlwZSh0eXBlKSAmJiAhdGhpcy5pc0ludmFsaWRGaWVsZFR5cGUodHlwZSkgJiYgIUZvcm1GaWVsZFR5cGVzLmlzU2VjdGlvblR5cGUodHlwZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRPcHRpb25zKG9wdGlvbnM6IEZvcm1GaWVsZE9wdGlvbltdKSB7XG4gICAgICAgIG9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiB0aGlzLmFkZE9wdGlvbihvcHRpb24pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZE9wdGlvbihvcHRpb246IEZvcm1GaWVsZE9wdGlvbikge1xuICAgICAgICBjb25zdCBhbHJlYWR5RXhpc3RzID0gdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0Py5pZCA9PT0gb3B0aW9uPy5pZCk7XG4gICAgICAgIGlmICghYWxyZWFkeUV4aXN0cykge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnB1c2gob3B0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VWYWxpZE9wdGlvbnMob3B0aW9uczogYW55KTogRm9ybUZpZWxkT3B0aW9uW10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKSA/IG9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IHRoaXMuaXNWYWxpZE9wdGlvbihvcHRpb24pKSA6IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VPcHRpb25zKG9wdGlvbnM6IGFueSwgb3B0aW9uVHlwZTogRmllbGRPcHRpb25UeXBlKTogRm9ybUZpZWxkT3B0aW9uW10ge1xuICAgICAgICByZXR1cm4gb3B0aW9uVHlwZSA9PT0gJ3Jlc3QnID8gW10gOiB0aGlzLnBhcnNlVmFsaWRPcHRpb25zKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZE9wdGlvbihvcHRpb246IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkob3B0aW9uKSAmJiBvcHRpb24/LmlkICYmIG9wdGlvbj8ubmFtZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRGF0ZUZpZWxkKGpzb246IGFueSkge1xuICAgICAgICByZXR1cm4ganNvbi5wYXJhbXM/LmZpZWxkPy50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EQVRFIHx8IGpzb24udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuREFURTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRGF0ZVRpbWVGaWVsZChqc29uOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGpzb24ucGFyYW1zPy5maWVsZD8udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuREFURVRJTUUgfHwganNvbi50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EQVRFVElNRTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQ2hlY2tib3hGaWVsZChqc29uOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGpzb24ucGFyYW1zPy5maWVsZD8udHlwZSA9PT0gRm9ybUZpZWxkVHlwZXMuQk9PTEVBTiB8fCBqc29uLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLkJPT0xFQU47XG4gICAgfVxufVxuIl19
@@ -29,4 +29,4 @@ export class FormOutcomeEvent {
29
29
  this._defaultPrevented = true;
30
30
  }
31
31
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdXRjb21lLWV2ZW50Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tb3V0Y29tZS1ldmVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWdCO0lBS3pCLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksT0FBeUI7UUFWN0Isc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBV3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbiAvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEZvcm1PdXRjb21lTW9kZWwgfSBmcm9tICcuL2Zvcm0tb3V0Y29tZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtT3V0Y29tZUV2ZW50IHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX291dGNvbWU6IEZvcm1PdXRjb21lTW9kZWw7XG4gICAgcHJpdmF0ZSBfZGVmYXVsdFByZXZlbnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IG91dGNvbWUoKTogRm9ybU91dGNvbWVNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdXRjb21lO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0UHJldmVudGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFByZXZlbnRlZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsKSB7XG4gICAgICAgIHRoaXMuX291dGNvbWUgPSBvdXRjb21lO1xuICAgIH1cblxuICAgIHByZXZlbnREZWZhdWx0KCkge1xuICAgICAgICB0aGlzLl9kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcbiAgICB9XG5cbn1cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdXRjb21lLWV2ZW50Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tb3V0Y29tZS1ldmVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWdCO0lBSXpCLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksT0FBeUI7UUFWN0Isc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBV3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHsgRm9ybU91dGNvbWVNb2RlbCB9IGZyb20gJy4vZm9ybS1vdXRjb21lLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEZvcm1PdXRjb21lRXZlbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX291dGNvbWU6IEZvcm1PdXRjb21lTW9kZWw7XG4gICAgcHJpdmF0ZSBfZGVmYXVsdFByZXZlbnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IG91dGNvbWUoKTogRm9ybU91dGNvbWVNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdXRjb21lO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0UHJldmVudGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFByZXZlbnRlZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsKSB7XG4gICAgICAgIHRoaXMuX291dGNvbWUgPSBvdXRjb21lO1xuICAgIH1cblxuICAgIHByZXZlbnREZWZhdWx0KCkge1xuICAgICAgICB0aGlzLl9kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
@@ -35,4 +35,4 @@ export class FormOutcomeModel extends FormWidgetModel {
35
35
  }
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdXRjb21lLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tb3V0Y29tZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO2FBQzFDLGdCQUFXLEdBQVcsTUFBTSxBQUFqQixDQUFrQixHQUFDLDhCQUE4QjthQUM1RCxvQkFBZSxHQUFXLFVBQVUsQUFBckIsQ0FBc0IsR0FBQyxrQ0FBa0M7YUFDeEUseUJBQW9CLEdBQVcsZUFBZSxBQUExQixDQUEyQixHQUFDLHVDQUF1QztJQVE5RixZQUFZLElBQVMsRUFBRSxJQUFVO1FBQzdCLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFQdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFNNUIsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUM7WUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM1RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUNsRjtJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHsgRm9ybVdpZGdldE1vZGVsIH0gZnJvbSAnLi9mb3JtLXdpZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBXaWRnZXRWaXNpYmlsaXR5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvd2lkZ2V0LXZpc2liaWxpdHkubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRm9ybU91dGNvbWVNb2RlbCBleHRlbmRzIEZvcm1XaWRnZXRNb2RlbCB7XG4gICAgc3RhdGljIFNBVkVfQUNUSU9OOiBzdHJpbmcgPSAnU0FWRSc7IC8vIEFjdGl2aXRpICdTYXZlJyBhY3Rpb24gbmFtZVxuICAgIHN0YXRpYyBDT01QTEVURV9BQ1RJT046IHN0cmluZyA9ICdDT01QTEVURSc7IC8vIEFjdGl2aXRpICdDb21wbGV0ZScgYWN0aW9uIG5hbWVcbiAgICBzdGF0aWMgU1RBUlRfUFJPQ0VTU19BQ1RJT046IHN0cmluZyA9ICdTVEFSVCBQUk9DRVNTJzsgLy8gQWN0aXZpdGkgJ1N0YXJ0IFByb2Nlc3MnIGFjdGlvbiBuYW1lXG5cbiAgICBpc1N5c3RlbTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBpc1Zpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHNraXBWYWxpZGF0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gICAgdmlzaWJpbGl0eUNvbmRpdGlvbjogV2lkZ2V0VmlzaWJpbGl0eU1vZGVsO1xuXG4gICAgY29uc3RydWN0b3IoZm9ybTogYW55LCBqc29uPzogYW55KSB7XG4gICAgICAgIHN1cGVyKGZvcm0sIGpzb24pO1xuXG4gICAgICAgIGlmIChqc29uKSB7XG4gICAgICAgICAgICB0aGlzLmlzU3lzdGVtID0ganNvbi5pc1N5c3RlbSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2tpcFZhbGlkYXRpb24gPSBqc29uLnNraXBWYWxpZGF0aW9uID8/IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gZm9ybSAmJiBqc29uLm5hbWUgPT09IGZvcm0uc2VsZWN0ZWRPdXRjb21lID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5Q29uZGl0aW9uID0gbmV3IFdpZGdldFZpc2liaWxpdHlNb2RlbChqc29uLnZpc2liaWxpdHlDb25kaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdXRjb21lLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tb3V0Y29tZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO2FBQzFDLGdCQUFXLEdBQVcsTUFBTSxBQUFqQixDQUFrQixHQUFDLDhCQUE4QjthQUM1RCxvQkFBZSxHQUFXLFVBQVUsQUFBckIsQ0FBc0IsR0FBQyxrQ0FBa0M7YUFDeEUseUJBQW9CLEdBQVcsZUFBZSxBQUExQixDQUEyQixHQUFDLHVDQUF1QztJQVE5RixZQUFZLElBQVMsRUFBRSxJQUFVO1FBQzdCLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFQdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFNNUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDN0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQztZQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzVFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ25GLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEZvcm1XaWRnZXRNb2RlbCB9IGZyb20gJy4vZm9ybS13aWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgV2lkZ2V0VmlzaWJpbGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3dpZGdldC12aXNpYmlsaXR5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEZvcm1PdXRjb21lTW9kZWwgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWwge1xuICAgIHN0YXRpYyBTQVZFX0FDVElPTjogc3RyaW5nID0gJ1NBVkUnOyAvLyBBY3Rpdml0aSAnU2F2ZScgYWN0aW9uIG5hbWVcbiAgICBzdGF0aWMgQ09NUExFVEVfQUNUSU9OOiBzdHJpbmcgPSAnQ09NUExFVEUnOyAvLyBBY3Rpdml0aSAnQ29tcGxldGUnIGFjdGlvbiBuYW1lXG4gICAgc3RhdGljIFNUQVJUX1BST0NFU1NfQUNUSU9OOiBzdHJpbmcgPSAnU1RBUlQgUFJPQ0VTUyc7IC8vIEFjdGl2aXRpICdTdGFydCBQcm9jZXNzJyBhY3Rpb24gbmFtZVxuXG4gICAgaXNTeXN0ZW06IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgaXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICBza2lwVmFsaWRhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHZpc2liaWxpdHlDb25kaXRpb246IFdpZGdldFZpc2liaWxpdHlNb2RlbDtcblxuICAgIGNvbnN0cnVjdG9yKGZvcm06IGFueSwganNvbj86IGFueSkge1xuICAgICAgICBzdXBlcihmb3JtLCBqc29uKTtcblxuICAgICAgICBpZiAoanNvbikge1xuICAgICAgICAgICAgdGhpcy5pc1N5c3RlbSA9IGpzb24uaXNTeXN0ZW0gPyB0cnVlIDogZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNraXBWYWxpZGF0aW9uID0ganNvbi5za2lwVmFsaWRhdGlvbiA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZvcm0gJiYganNvbi5uYW1lID09PSBmb3JtLnNlbGVjdGVkT3V0Y29tZSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eUNvbmRpdGlvbiA9IG5ldyBXaWRnZXRWaXNpYmlsaXR5TW9kZWwoanNvbi52aXNpYmlsaXR5Q29uZGl0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -30,4 +30,4 @@ export class FormWidgetModel {
30
30
  }
31
31
  }
32
32
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS13aWRnZXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS13aWRnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE1BQU0sT0FBZ0IsZUFBZTtJQVlqQyxZQUFzQixJQUFTLEVBQUUsSUFBUztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVqQixJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMzQjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybVdpZGdldE1vZGVsIHtcbiAgICByZWFkb25seSBmaWVsZFR5cGU6IHN0cmluZztcbiAgICByZWFkb25seSBpZDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdGFiOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc3R5bGU/OiBzdHJpbmc7XG5cbiAgICByZWFkb25seSBmb3JtOiBhbnk7XG4gICAgcmVhZG9ubHkganNvbjogYW55O1xuICAgIHJlYWRvbmx5IGZpZWxkOiBhbnk7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZm9ybTogYW55LCBqc29uOiBhbnkpIHtcbiAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICAgICAgdGhpcy5qc29uID0ganNvbjtcblxuICAgICAgICBpZiAoanNvbikge1xuICAgICAgICAgICAgdGhpcy5maWVsZFR5cGUgPSBqc29uLmZpZWxkVHlwZTtcbiAgICAgICAgICAgIHRoaXMuaWQgPSBqc29uLmlkO1xuICAgICAgICAgICAgdGhpcy5uYW1lID0ganNvbi5uYW1lO1xuICAgICAgICAgICAgdGhpcy50eXBlID0ganNvbi50eXBlO1xuICAgICAgICAgICAgdGhpcy50YWIgPSBqc29uLnRhYjtcbiAgICAgICAgICAgIHRoaXMuZmllbGQgPSBqc29uLmZpZWxkO1xuICAgICAgICAgICAgdGhpcy5zdHlsZSA9IGpzb24uc3R5bGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVdpZGdldE1vZGVsQ2FjaGU8VCBleHRlbmRzIEZvcm1XaWRnZXRNb2RlbD4ge1xuICAgIFtrZXk6IHN0cmluZ106IFQ7XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS13aWRnZXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS13aWRnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE1BQU0sT0FBZ0IsZUFBZTtJQVlqQyxZQUFzQixJQUFTLEVBQUUsSUFBUztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVqQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1XaWRnZXRNb2RlbCB7XG4gICAgcmVhZG9ubHkgZmllbGRUeXBlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRhYjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHN0eWxlPzogc3RyaW5nO1xuXG4gICAgcmVhZG9ubHkgZm9ybTogYW55O1xuICAgIHJlYWRvbmx5IGpzb246IGFueTtcbiAgICByZWFkb25seSBmaWVsZDogYW55O1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGZvcm06IGFueSwganNvbjogYW55KSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgICAgIHRoaXMuanNvbiA9IGpzb247XG5cbiAgICAgICAgaWYgKGpzb24pIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGRUeXBlID0ganNvbi5maWVsZFR5cGU7XG4gICAgICAgICAgICB0aGlzLmlkID0ganNvbi5pZDtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IGpzb24ubmFtZTtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IGpzb24udHlwZTtcbiAgICAgICAgICAgIHRoaXMudGFiID0ganNvbi50YWI7XG4gICAgICAgICAgICB0aGlzLmZpZWxkID0ganNvbi5maWVsZDtcbiAgICAgICAgICAgIHRoaXMuc3R5bGUgPSBqc29uLnN0eWxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1XaWRnZXRNb2RlbENhY2hlPFQgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWw+IHtcbiAgICBba2V5OiBzdHJpbmddOiBUO1xufVxuIl19