geonetwork-ui 2.4.1-dev.7a0dc5e3f → 2.4.1-dev.89bb09dfa

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 (181) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +4 -3
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +5 -2
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +6 -62
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +19 -1
  6. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +27 -16
  7. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +27 -1
  8. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  9. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +7 -1
  10. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +3 -1
  11. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +18 -14
  12. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +15 -5
  13. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +10 -4
  14. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +6 -5
  15. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
  16. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +3 -3
  17. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +2 -2
  18. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +95 -12
  19. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +36 -23
  20. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +7 -12
  21. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +17 -12
  22. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +7 -13
  23. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +3 -3
  24. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +36 -60
  25. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +3 -3
  26. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +3 -3
  27. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +11 -15
  28. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +9 -5
  29. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +3 -4
  30. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +3 -3
  31. package/esm2022/libs/ui/elements/src/index.mjs +3 -2
  32. package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +213 -0
  33. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +19 -13
  34. package/esm2022/libs/ui/inputs/src/index.mjs +5 -6
  35. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -1
  36. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +5 -5
  37. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +19 -25
  38. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +6 -6
  39. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +9 -4
  40. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +10 -10
  41. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +40 -1
  42. package/esm2022/translations/de.json +52 -17
  43. package/esm2022/translations/en.json +32 -16
  44. package/esm2022/translations/es.json +50 -15
  45. package/esm2022/translations/fr.json +36 -20
  46. package/esm2022/translations/it.json +265 -228
  47. package/esm2022/translations/nl.json +50 -15
  48. package/esm2022/translations/pt.json +50 -15
  49. package/fesm2022/geonetwork-ui.mjs +1774 -1420
  50. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  51. package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -1
  52. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  53. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  54. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  55. package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -1
  56. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  57. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +4 -3
  58. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  59. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -1
  60. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  61. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +4 -3
  62. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  63. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +3 -0
  64. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  65. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +10 -2
  66. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  67. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +6 -2
  68. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  69. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +5 -2
  70. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  71. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +2 -1
  72. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  73. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +2 -1
  74. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  75. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +24 -4
  76. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  77. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +4 -4
  78. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  79. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +1 -4
  80. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
  81. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +6 -5
  82. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
  83. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +1 -4
  84. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  85. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +1 -1
  86. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  87. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  88. package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -1
  89. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  90. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +0 -1
  91. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  92. package/libs/ui/elements/src/index.d.ts +2 -1
  93. package/libs/ui/elements/src/index.d.ts.map +1 -1
  94. package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts.map +1 -0
  95. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  96. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  97. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  98. package/libs/ui/inputs/src/index.d.ts +4 -5
  99. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  100. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  101. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  102. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +1 -1
  103. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
  104. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +6 -7
  105. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  106. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +2 -2
  107. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
  108. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -1
  109. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  110. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -3
  111. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  112. package/libs/util/shared/src/lib/links/link-utils.d.ts +2 -1
  113. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  114. package/package.json +1 -1
  115. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +4 -3
  116. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +8 -1
  117. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  118. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.ts +9 -62
  119. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +18 -0
  120. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +53 -27
  121. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +29 -7
  122. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +5 -4
  123. package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.fixtures.ts +2 -2
  124. package/src/libs/common/fixtures/src/lib/elasticsearch/search-responses.fixtures.ts +16 -16
  125. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +163 -0
  126. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +24 -4
  127. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +10 -1
  128. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +57 -31
  129. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +15 -9
  130. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +18 -12
  131. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +13 -8
  132. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
  133. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +1 -1
  134. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +62 -6
  135. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +108 -4
  136. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +1 -1
  137. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +31 -19
  138. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +1 -10
  139. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +1 -7
  140. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +12 -25
  141. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +15 -10
  142. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +0 -9
  143. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +3 -9
  144. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +6 -6
  145. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +46 -74
  146. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +3 -3
  147. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +3 -6
  148. package/src/libs/feature/editor/src/lib/fields.config.ts +10 -14
  149. package/src/libs/feature/editor/src/lib/services/editor.service.ts +18 -16
  150. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +0 -1
  151. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +0 -3
  152. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +1 -0
  153. package/src/libs/ui/elements/src/index.ts +2 -1
  154. package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.html +4 -19
  155. package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.ts +13 -9
  156. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +13 -10
  157. package/src/libs/ui/inputs/src/index.ts +4 -5
  158. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -1
  159. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +1 -1
  160. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +22 -25
  161. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +5 -3
  162. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +1 -1
  163. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +12 -1
  164. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +4 -6
  165. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +23 -6
  166. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +6 -6
  167. package/src/libs/util/shared/src/lib/links/link-utils.ts +51 -1
  168. package/tailwind.base.config.js +2 -0
  169. package/translations/de.json +52 -17
  170. package/translations/en.json +32 -16
  171. package/translations/es.json +50 -15
  172. package/translations/fr.json +36 -20
  173. package/translations/it.json +265 -228
  174. package/translations/nl.json +50 -15
  175. package/translations/pt.json +50 -15
  176. package/translations/sk.json +50 -15
  177. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +0 -214
  178. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +0 -1
  179. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +0 -67
  180. /package/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.d.ts +0 -0
  181. /package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.css +0 -0
@@ -13,7 +13,8 @@ export class Gn4Converter extends BaseConverter {
13
13
  this.orgsService = orgsService;
14
14
  }
15
15
  readRecord(document) {
16
- const { _source } = document;
16
+ const { _source, ...rootDocument } = document;
17
+ const allKeys = { ..._source, ...rootDocument };
17
18
  const emptyRecord = {
18
19
  kind: 'dataset',
19
20
  status: null,
@@ -35,7 +36,7 @@ export class Gn4Converter extends BaseConverter {
35
36
  defaultLanguage: null,
36
37
  otherLanguages: [],
37
38
  };
38
- const record = Object.keys(_source).reduce((prev, fieldName) => this.fieldMapper.getMappingFn(fieldName)(prev, _source), emptyRecord);
39
+ const record = Object.keys(allKeys).reduce((prev, fieldName) => this.fieldMapper.getMappingFn(fieldName)(prev, allKeys), emptyRecord);
39
40
  return lastValueFrom(this.orgsService.addOrganizationToRecordFromSource(_source, record));
40
41
  }
41
42
  writeRecord(record) {
@@ -50,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
50
51
  providedIn: 'root',
51
52
  }]
52
53
  }], ctorParameters: () => [{ type: i1.Gn4FieldMapper }, { type: i2.OrganizationsServiceInterface }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2duNC9nbjQuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhFQUE4RSxDQUFBO0FBRTVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7O0FBTTFDLE1BQU0sT0FBTyxZQUFhLFNBQVEsYUFBd0I7SUFDeEQsWUFDVSxXQUEyQixFQUMzQixXQUEwQztRQUVsRCxLQUFLLEVBQUUsQ0FBQTtRQUhDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBK0I7SUFHcEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUFtQjtRQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFBO1FBQzVCLE1BQU0sV0FBVyxHQUEyQjtZQUMxQyxJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxJQUFJO1lBQ1osT0FBTyxFQUFFLElBQUk7WUFDYixhQUFhLEVBQUUsSUFBSTtZQUNuQixlQUFlLEVBQUUsSUFBSTtZQUNyQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFFBQVEsRUFBRSxFQUFFO1lBQ1osZ0JBQWdCLEVBQUUsRUFBRTtZQUNwQixtQkFBbUIsRUFBRSxFQUFFO1lBQ3ZCLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsUUFBUSxFQUFFLEVBQUU7WUFDWixtQkFBbUIsRUFBRSxFQUFFO1lBQ3ZCLFFBQVEsRUFBRSxFQUFFO1lBQ1osTUFBTSxFQUFFLEVBQUU7WUFDVixjQUFjLEVBQUUsRUFBRTtZQUNsQixlQUFlLEVBQUUsRUFBRTtZQUNuQixTQUFTLEVBQUUsRUFBRTtZQUNiLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGNBQWMsRUFBRSxFQUFFO1NBQ25CLENBQUE7UUFDRCxNQUFNLE1BQU0sR0FBa0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQ3ZELENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFDekQsV0FBVyxDQUNaLENBQUE7UUFDRCxPQUFPLGFBQWEsQ0FDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQ0FBaUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQ3BFLENBQUE7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXFCO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUNwQyxDQUFDOytHQTNDVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEduNEZpZWxkTWFwcGVyIH0gZnJvbSAnLi9nbjQuZmllbGQubWFwcGVyJ1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL29yZ2FuaXphdGlvbnMuc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBDYXRhbG9nUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgQmFzZUNvbnZlcnRlciB9IGZyb20gJy4uL2Jhc2UuY29udmVydGVyJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBHbjRSZWNvcmQgfSBmcm9tICcuL3R5cGVzJ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR240Q29udmVydGVyIGV4dGVuZHMgQmFzZUNvbnZlcnRlcjxHbjRSZWNvcmQ+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmaWVsZE1hcHBlcjogR240RmllbGRNYXBwZXIsXG4gICAgcHJpdmF0ZSBvcmdzU2VydmljZTogT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2VcbiAgKSB7XG4gICAgc3VwZXIoKVxuICB9XG5cbiAgcmVhZFJlY29yZChkb2N1bWVudDogR240UmVjb3JkKTogUHJvbWlzZTxDYXRhbG9nUmVjb3JkPiB7XG4gICAgY29uc3QgeyBfc291cmNlIH0gPSBkb2N1bWVudFxuICAgIGNvbnN0IGVtcHR5UmVjb3JkOiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+ID0ge1xuICAgICAga2luZDogJ2RhdGFzZXQnLFxuICAgICAgc3RhdHVzOiBudWxsLFxuICAgICAgbGluZWFnZTogbnVsbCxcbiAgICAgIHJlY29yZFVwZGF0ZWQ6IG51bGwsXG4gICAgICByZWNvcmRQdWJsaXNoZWQ6IG51bGwsXG4gICAgICBvd25lck9yZ2FuaXphdGlvbjogbnVsbCxcbiAgICAgIGxpY2Vuc2VzOiBbXSxcbiAgICAgIGxlZ2FsQ29uc3RyYWludHM6IFtdLFxuICAgICAgc2VjdXJpdHlDb25zdHJhaW50czogW10sXG4gICAgICBvdGhlckNvbnN0cmFpbnRzOiBbXSxcbiAgICAgIGNvbnRhY3RzOiBbXSxcbiAgICAgIGNvbnRhY3RzRm9yUmVzb3VyY2U6IFtdLFxuICAgICAga2V5d29yZHM6IFtdLFxuICAgICAgdG9waWNzOiBbXSxcbiAgICAgIHNwYXRpYWxFeHRlbnRzOiBbXSxcbiAgICAgIHRlbXBvcmFsRXh0ZW50czogW10sXG4gICAgICBvdmVydmlld3M6IFtdLFxuICAgICAgZGVmYXVsdExhbmd1YWdlOiBudWxsLFxuICAgICAgb3RoZXJMYW5ndWFnZXM6IFtdLFxuICAgIH1cbiAgICBjb25zdCByZWNvcmQ6IENhdGFsb2dSZWNvcmQgPSBPYmplY3Qua2V5cyhfc291cmNlKS5yZWR1Y2UoXG4gICAgICAocHJldiwgZmllbGROYW1lKSA9PlxuICAgICAgICB0aGlzLmZpZWxkTWFwcGVyLmdldE1hcHBpbmdGbihmaWVsZE5hbWUpKHByZXYsIF9zb3VyY2UpLFxuICAgICAgZW1wdHlSZWNvcmRcbiAgICApXG4gICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLm9yZ3NTZXJ2aWNlLmFkZE9yZ2FuaXphdGlvblRvUmVjb3JkRnJvbVNvdXJjZShfc291cmNlLCByZWNvcmQpXG4gICAgKVxuICB9XG5cbiAgd3JpdGVSZWNvcmQocmVjb3JkOiBDYXRhbG9nUmVjb3JkKTogUHJvbWlzZTxHbjRSZWNvcmQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpXG4gIH1cbn1cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2duNC9nbjQuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhFQUE4RSxDQUFBO0FBRTVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7O0FBTTFDLE1BQU0sT0FBTyxZQUFhLFNBQVEsYUFBd0I7SUFDeEQsWUFDVSxXQUEyQixFQUMzQixXQUEwQztRQUVsRCxLQUFLLEVBQUUsQ0FBQTtRQUhDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBK0I7SUFHcEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUFtQjtRQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsUUFBUSxDQUFBO1FBQzdDLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQTtRQUMvQyxNQUFNLFdBQVcsR0FBMkI7WUFDMUMsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsSUFBSTtZQUNaLE9BQU8sRUFBRSxJQUFJO1lBQ2IsYUFBYSxFQUFFLElBQUk7WUFDbkIsZUFBZSxFQUFFLElBQUk7WUFDckIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixRQUFRLEVBQUUsRUFBRTtZQUNaLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsbUJBQW1CLEVBQUUsRUFBRTtZQUN2QixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLFFBQVEsRUFBRSxFQUFFO1lBQ1osbUJBQW1CLEVBQUUsRUFBRTtZQUN2QixRQUFRLEVBQUUsRUFBRTtZQUNaLE1BQU0sRUFBRSxFQUFFO1lBQ1YsY0FBYyxFQUFFLEVBQUU7WUFDbEIsZUFBZSxFQUFFLEVBQUU7WUFDbkIsU0FBUyxFQUFFLEVBQUU7WUFDYixlQUFlLEVBQUUsSUFBSTtZQUNyQixjQUFjLEVBQUUsRUFBRTtTQUNuQixDQUFBO1FBQ0QsTUFBTSxNQUFNLEdBQWtCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUN2RCxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQ3pELFdBQVcsQ0FDWixDQUFBO1FBQ0QsT0FBTyxhQUFhLENBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsaUNBQWlDLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUNwRSxDQUFBO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFxQjtRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDcEMsQ0FBQzsrR0E1Q1UsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHbjRGaWVsZE1hcHBlciB9IGZyb20gJy4vZ240LmZpZWxkLm1hcHBlcidcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9vcmdhbml6YXRpb25zLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEJhc2VDb252ZXJ0ZXIgfSBmcm9tICcuLi9iYXNlLmNvbnZlcnRlcidcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgR240UmVjb3JkIH0gZnJvbSAnLi90eXBlcydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEduNENvbnZlcnRlciBleHRlbmRzIEJhc2VDb252ZXJ0ZXI8R240UmVjb3JkPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmllbGRNYXBwZXI6IEduNEZpZWxkTWFwcGVyLFxuICAgIHByaXZhdGUgb3Jnc1NlcnZpY2U6IE9yZ2FuaXphdGlvbnNTZXJ2aWNlSW50ZXJmYWNlXG4gICkge1xuICAgIHN1cGVyKClcbiAgfVxuXG4gIHJlYWRSZWNvcmQoZG9jdW1lbnQ6IEduNFJlY29yZCk6IFByb21pc2U8Q2F0YWxvZ1JlY29yZD4ge1xuICAgIGNvbnN0IHsgX3NvdXJjZSwgLi4ucm9vdERvY3VtZW50IH0gPSBkb2N1bWVudFxuICAgIGNvbnN0IGFsbEtleXMgPSB7IC4uLl9zb3VyY2UsIC4uLnJvb3REb2N1bWVudCB9XG4gICAgY29uc3QgZW1wdHlSZWNvcmQ6IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD4gPSB7XG4gICAgICBraW5kOiAnZGF0YXNldCcsXG4gICAgICBzdGF0dXM6IG51bGwsXG4gICAgICBsaW5lYWdlOiBudWxsLFxuICAgICAgcmVjb3JkVXBkYXRlZDogbnVsbCxcbiAgICAgIHJlY29yZFB1Ymxpc2hlZDogbnVsbCxcbiAgICAgIG93bmVyT3JnYW5pemF0aW9uOiBudWxsLFxuICAgICAgbGljZW5zZXM6IFtdLFxuICAgICAgbGVnYWxDb25zdHJhaW50czogW10sXG4gICAgICBzZWN1cml0eUNvbnN0cmFpbnRzOiBbXSxcbiAgICAgIG90aGVyQ29uc3RyYWludHM6IFtdLFxuICAgICAgY29udGFjdHM6IFtdLFxuICAgICAgY29udGFjdHNGb3JSZXNvdXJjZTogW10sXG4gICAgICBrZXl3b3JkczogW10sXG4gICAgICB0b3BpY3M6IFtdLFxuICAgICAgc3BhdGlhbEV4dGVudHM6IFtdLFxuICAgICAgdGVtcG9yYWxFeHRlbnRzOiBbXSxcbiAgICAgIG92ZXJ2aWV3czogW10sXG4gICAgICBkZWZhdWx0TGFuZ3VhZ2U6IG51bGwsXG4gICAgICBvdGhlckxhbmd1YWdlczogW10sXG4gICAgfVxuICAgIGNvbnN0IHJlY29yZDogQ2F0YWxvZ1JlY29yZCA9IE9iamVjdC5rZXlzKGFsbEtleXMpLnJlZHVjZShcbiAgICAgIChwcmV2LCBmaWVsZE5hbWUpID0+XG4gICAgICAgIHRoaXMuZmllbGRNYXBwZXIuZ2V0TWFwcGluZ0ZuKGZpZWxkTmFtZSkocHJldiwgYWxsS2V5cyksXG4gICAgICBlbXB0eVJlY29yZFxuICAgIClcbiAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMub3Jnc1NlcnZpY2UuYWRkT3JnYW5pemF0aW9uVG9SZWNvcmRGcm9tU291cmNlKF9zb3VyY2UsIHJlY29yZClcbiAgICApXG4gIH1cblxuICB3cml0ZVJlY29yZChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpOiBQcm9taXNlPEduNFJlY29yZD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJylcbiAgfVxufVxuIl19
@@ -158,7 +158,10 @@ export class Gn4FieldMapper {
158
158
  isOpenData: selectField(source, 'isOpenData') !== 'false',
159
159
  }, output),
160
160
  isPublishedToAll: (output, source) => this.addExtra({
161
- isPublishedToAll: selectField(source, 'isPublishedToAll') !== 'false',
161
+ isPublishedToAll: selectField(source, 'isPublishedToAll'),
162
+ }, output),
163
+ edit: (output, source) => this.addExtra({
164
+ edit: selectField(source, 'edit'),
162
165
  }, output),
163
166
  userinfo: (output, source) => this.addExtra({
164
167
  ownerInfo: selectField(source, 'userinfo'),
@@ -324,4 +327,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
324
327
  providedIn: 'root',
325
328
  }]
326
329
  }], ctorParameters: () => [{ type: i1.MetadataUrlService }, { type: i2.LangService }] });
327
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LmZpZWxkLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2duNC9nbjQuZmllbGQubWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLFFBQVEsRUFDUixhQUFhLEVBQ2IsVUFBVSxFQUNWLFdBQVcsRUFDWCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIscUJBQXFCLEVBRXJCLE1BQU0sR0FDUCxNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDekUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFRL0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7O0FBWXhFLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ1Usa0JBQXNDLEVBQ3RDLFdBQXdCO1FBRHhCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFHMUIsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFBO1FBRTdCLFdBQU0sR0FBb0M7WUFDbEQsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQ3JCLElBQUks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b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2V0QXJyYXlJdGVtLFxuICBnZXRBc0FycmF5LFxuICBnZXRBc1VybCxcbiAgZ2V0Rmlyc3RWYWx1ZSxcbiAgbWFwQ29udGFjdCxcbiAgbWFwS2V5d29yZHMsXG4gIHNlbGVjdEZhbGxiYWNrLFxuICBzZWxlY3RGYWxsYmFja0ZpZWxkcyxcbiAgc2VsZWN0RmllbGQsXG4gIHNlbGVjdFRyYW5zbGF0ZWRGaWVsZCxcbiAgc2VsZWN0VHJhbnNsYXRlZFZhbHVlLFxuICBTb3VyY2VXaXRoVW5rbm93blByb3BzLFxuICB0b0RhdGUsXG59IGZyb20gJy4vYXRvbWljLW9wZXJhdGlvbnMnXG5pbXBvcnQgeyBNZXRhZGF0YVVybFNlcnZpY2UgfSBmcm9tICcuL21ldGFkYXRhLXVybC5zZXJ2aWNlJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBnZXRTdGF0dXNGcm9tU3RhdHVzQ29kZSB9IGZyb20gJy4uL2lzbzE5MTM5L3V0aWxzL3N0YXR1cy5tYXBwZXInXG5pbXBvcnQgeyBnZXRVcGRhdGVGcmVxdWVuY3lGcm9tRnJlcXVlbmN5Q29kZSB9IGZyb20gJy4uL2lzbzE5MTM5L3V0aWxzL3VwZGF0ZS1mcmVxdWVuY3kubWFwcGVyJ1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZCxcbiAgQ29uc3RyYWludCxcbiAgRGF0YXNldFNwYXRpYWxFeHRlbnQsXG4gIE9ubGluZVJlc291cmNlLFxuICBPbmxpbmVSZXNvdXJjZVR5cGUsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IG1hdGNoUHJvdG9jb2wgfSBmcm9tICcuLi9jb21tb24vZGlzdHJpYnV0aW9uLm1hcHBlcidcbmltcG9ydCB7IFRoZXNhdXJ1cyB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBMQU5HXzNfVE9fMl9NQVBQRVIsIExhbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VUeXBlLCBnZXRSZXVzZVR5cGUgfSBmcm9tICcuLi9jb21tb24vcmVzb3VyY2UtdHlwZXMnXG5cbnR5cGUgRVNSZXNwb25zZVNvdXJjZSA9IFNvdXJjZVdpdGhVbmtub3duUHJvcHNcblxudHlwZSBFc0ZpZWxkTWFwcGVyRm4gPSAoXG4gIG91dHB1dDogUGFydGlhbDxDYXRhbG9nUmVjb3JkPixcbiAgc291cmNlOiBFU1Jlc3BvbnNlU291cmNlXG4pID0+IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEduNEZpZWxkTWFwcGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZXRhZGF0YVVybFNlcnZpY2U6IE1ldGFkYXRhVXJsU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZVxuICApIHt9XG5cbiAgcHJpdmF0ZSBsYW5nMyA9IHRoaXMubGFuZ1NlcnZpY2UuZ25MYW5nXG5cbiAgcHJvdGVjdGVkIGZpZWxkczogUmVjb3JkPHN0cmluZywgRXNGaWVsZE1hcHBlckZuPiA9IHtcbiAgICBpZDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYSh7IGlkOiBzZWxlY3RGaWVsZChzb3VyY2UsICdpZCcpIH0sIG91dHB1dCksXG4gICAgdXVpZDogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCB1dWlkID0gc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2UsICd1dWlkJylcbiAgICAgIGNvbnN0IGxhbmRpbmdQYWdlID0gZ2V0QXNVcmwodGhpcy5tZXRhZGF0YVVybFNlcnZpY2UuZ2V0VXJsKHV1aWQpKVxuICAgICAgcmV0dXJuIHsgLi4ub3V0cHV0LCB1bmlxdWVJZGVudGlmaWVyOiB1dWlkLCBsYW5kaW5nUGFnZSB9XG4gICAgfSxcbiAgICBxdWFsaXR5U2NvcmU6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuYWRkRXh0cmEoXG4gICAgICAgIHsgcXVhbGl0eVNjb3JlOiBzZWxlY3RGaWVsZChzb3VyY2UsICdxdWFsaXR5U2NvcmUnKSB9LFxuICAgICAgICBvdXRwdXRcbiAgICAgICksXG4gICAgcmVzb3VyY2VUaXRsZU9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgdGl0bGU6IHNlbGVjdEZhbGxiYWNrKFxuICAgICAgICBzZWxlY3RUcmFuc2xhdGVkRmllbGQoc291cmNlLCAncmVzb3VyY2VUaXRsZU9iamVjdCcsIHRoaXMubGFuZzMpLFxuICAgICAgICAnbm8gdGl0bGUnXG4gICAgICApLFxuICAgIH0pLFxuICAgIHJlc291cmNlQWJzdHJhY3RPYmplY3Q6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIGFic3RyYWN0OiBzZWxlY3RGYWxsYmFjayhcbiAgICAgICAgc2VsZWN0VHJhbnNsYXRlZEZpZWxkKHNvdXJjZSwgJ3Jlc291cmNlQWJzdHJhY3RPYmplY3QnLCB0aGlzLmxhbmczKSxcbiAgICAgICAgJ25vIHRpdGxlJ1xuICAgICAgKSxcbiAgICB9KSxcbiAgICBvdmVydmlldzogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCBmaXJzdE92ZXJ2aWV3ID0gZ2V0Rmlyc3RWYWx1ZShzZWxlY3RGaWVsZChzb3VyY2UsICdvdmVydmlldycpKVxuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBzZWxlY3RUcmFuc2xhdGVkVmFsdWU8c3RyaW5nPihcbiAgICAgICAgc2VsZWN0RmllbGQoZmlyc3RPdmVydmlldywgJ3RleHQnKSxcbiAgICAgICAgdGhpcy5sYW5nM1xuICAgICAgKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBvdmVydmlld3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1cmw6IGdldEFzVXJsKHNlbGVjdEZhbGxiYWNrRmllbGRzKGZpcnN0T3ZlcnZpZXcsICd1cmwnLCAnZGF0YScpKSxcbiAgICAgICAgICAgIC4uLihkZXNjcmlwdGlvbiA/IHsgZGVzY3JpcHRpb24gfSA6IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfVxuICAgIH0sXG4gICAgY2xfdG9waWM6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIHRvcGljczogW1xuICAgICAgICAuLi4ob3V0cHV0LnRvcGljcyB8fCBbXSksXG4gICAgICAgIC4uLmdldEFzQXJyYXkoXG4gICAgICAgICAgc2VsZWN0RmllbGQ8U291cmNlV2l0aFVua25vd25Qcm9wc1tdPihzb3VyY2UsICdjbF90b3BpYycpXG4gICAgICAgICkubWFwKCh0b3BpYykgPT4gc2VsZWN0VHJhbnNsYXRlZFZhbHVlPHN0cmluZz4odG9waWMsIHRoaXMubGFuZzMpKSxcbiAgICAgIF0sXG4gICAgfSksXG4gICAgY2xfc3RhdHVzOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICBzdGF0dXM6IGdldFN0YXR1c0Zyb21TdGF0dXNDb2RlKFxuICAgICAgICBzZWxlY3RGaWVsZChnZXRGaXJzdFZhbHVlKHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2NsX3N0YXR1cycpKSwgJ2tleScpXG4gICAgICApLFxuICAgIH0pLFxuICAgIGNsX21haW50ZW5hbmNlQW5kVXBkYXRlRnJlcXVlbmN5OiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICB1cGRhdGVGcmVxdWVuY3k6IGdldFVwZGF0ZUZyZXF1ZW5jeUZyb21GcmVxdWVuY3lDb2RlKFxuICAgICAgICBzZWxlY3RGaWVsZChcbiAgICAgICAgICBnZXRGaXJzdFZhbHVlKFxuICAgICAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAnY2xfbWFpbnRlbmFuY2VBbmRVcGRhdGVGcmVxdWVuY3knKVxuICAgICAgICAgICksXG4gICAgICAgICAgJ2tleSdcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICB9KSxcbiAgICBjcmVhdGlvbkRhdGVGb3JSZXNvdXJjZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgcmVzb3VyY2VDcmVhdGVkOiB0b0RhdGUoXG4gICAgICAgIGdldEZpcnN0VmFsdWUoc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2UsICdjcmVhdGlvbkRhdGVGb3JSZXNvdXJjZScpKVxuICAgICAgKSxcbiAgICB9KSxcbiAgICByZXZpc2lvbkRhdGVGb3JSZXNvdXJjZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgcmVzb3VyY2VVcGRhdGVkOiB0b0RhdGUoXG4gICAgICAgIGdldEZpcnN0VmFsdWUoc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2UsICdyZXZpc2lvbkRhdGVGb3JSZXNvdXJjZScpKVxuICAgICAgKSxcbiAgICB9KSxcbiAgICBwdWJsaWNhdGlvbkRhdGVGb3JSZXNvdXJjZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgcmVzb3VyY2VQdWJsaXNoZWQ6IHRvRGF0ZShcbiAgICAgICAgc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2UsICdwdWJsaWNhdGlvbkRhdGVGb3JSZXNvdXJjZScpXG4gICAgICApLFxuICAgIH0pLFxuICAgIGNyZWF0ZURhdGU6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIHJlY29yZENyZWF0ZWQ6IHRvRGF0ZShzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ2NyZWF0ZURhdGUnKSksXG4gICAgfSksXG4gICAgY2hhbmdlRGF0ZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgcmVjb3JkVXBkYXRlZDogdG9EYXRlKHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlLCAnY2hhbmdlRGF0ZScpKSxcbiAgICB9KSxcbiAgICBwdWJsaWNhdGlvbkRhdGU6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIHJlY29yZFB1Ymxpc2hlZDogdG9EYXRlKHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlLCAncHVibGljYXRpb25EYXRlJykpLFxuICAgIH0pLFxuICAgIHJlc291cmNlTGFuZ3VhZ2U6IChvdXRwdXQsIHNvdXJjZSkgPT4ge1xuICAgICAgY29uc3QgbGFuZ0xpc3QgPSBnZXRBc0FycmF5KFxuICAgICAgICBzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ3Jlc291cmNlTGFuZ3VhZ2UnKVxuICAgICAgKVxuICAgICAgY29uc3QgbGFuZ3VhZ2VzID0gbGFuZ0xpc3QubWFwKChsYW5nKSA9PiBMQU5HXzNfVE9fMl9NQVBQRVJbbGFuZ10pXG4gICAgICBjb25zdCBkZWZhdWx0TGFuZ3VhZ2UgPSBvdXRwdXQuZGVmYXVsdExhbmd1YWdlID8/IGxhbmd1YWdlc1swXSA/PyBudWxsIC8vIHNldCB0aGUgZmlyc3QgbGFuZ3VhZ2UgYXMgbWFpbiBvbmUgYXMgZmFsbGJhY2tcbiAgICAgIGNvbnN0IG90aGVyTGFuZ3VhZ2VzID0gbGFuZ3VhZ2VzLmZpbHRlcihcbiAgICAgICAgKGxhbmcpID0+IGxhbmcgIT09IGRlZmF1bHRMYW5ndWFnZVxuICAgICAgKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBkZWZhdWx0TGFuZ3VhZ2UsXG4gICAgICAgIG90aGVyTGFuZ3VhZ2VzLFxuICAgICAgfVxuICAgIH0sXG4gICAgbWFpbkxhbmd1YWdlOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IGxhbmd1YWdlID0gc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2UsICdtYWluTGFuZ3VhZ2UnKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBkZWZhdWx0TGFuZ3VhZ2U6IGxhbmd1YWdlID8gTEFOR18zX1RPXzJfTUFQUEVSW2xhbmd1YWdlXSA6IG51bGwsXG4gICAgICB9XG4gICAgfSxcbiAgICBsaW5rOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IHJhd0xpbmtzID0gZ2V0QXNBcnJheShcbiAgICAgICAgc2VsZWN0RmllbGQ8U291cmNlV2l0aFVua25vd25Qcm9wc1tdPihzb3VyY2UsICdsaW5rJylcbiAgICAgIClcbiAgICAgIGNvbnN0IG9ubGluZVJlc291cmNlcyA9IHJhd0xpbmtzXG4gICAgICAgIC5tYXAoKGxpbmspID0+IHRoaXMubWFwTGluayhsaW5rKSlcbiAgICAgICAgLmZpbHRlcigodikgPT4gdiAhPT0gbnVsbClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm91dHB1dCxcbiAgICAgICAgb25saW5lUmVzb3VyY2VzLFxuICAgICAgfSBhcyBDYXRhbG9nUmVjb3JkXG4gICAgfSxcbiAgICBjb250YWN0OiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICBjb250YWN0czogW1xuICAgICAgICBtYXBDb250YWN0KGdldEZpcnN0VmFsdWUoc2VsZWN0RmllbGQoc291cmNlLCAnY29udGFjdCcpKSwgdGhpcy5sYW5nMyksXG4gICAgICBdLFxuICAgIH0pLFxuICAgIGNvbnRhY3RGb3JSZXNvdXJjZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgY29udGFjdHNGb3JSZXNvdXJjZTogW1xuICAgICAgICAuLi4oJ2NvbnRhY3RzRm9yUmVzb3VyY2UnIGluIG91dHB1dCAmJlxuICAgICAgICBBcnJheS5pc0FycmF5KG91dHB1dC5jb250YWN0c0ZvclJlc291cmNlKVxuICAgICAgICAgID8gb3V0cHV0LmNvbnRhY3RzRm9yUmVzb3VyY2VcbiAgICAgICAgICA6IFtdKSxcbiAgICAgICAgLi4uZ2V0QXNBcnJheShzZWxlY3RGaWVsZChzb3VyY2UsICdjb250YWN0Rm9yUmVzb3VyY2UnKSkubWFwKFxuICAgICAgICAgIChjb250YWN0KSA9PiBtYXBDb250YWN0KGNvbnRhY3QsIHRoaXMubGFuZzMpXG4gICAgICAgICksXG4gICAgICBdLFxuICAgIH0pLFxuICAgIHNvdXJjZUNhdGFsb2d1ZTogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIGNhdGFsb2dVdWlkOiBzZWxlY3RGYWxsYmFjayhcbiAgICAgICAgICAgIHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3NvdXJjZUNhdGFsb2d1ZScpLFxuICAgICAgICAgICAgJ25vIHRpdGxlJ1xuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dFxuICAgICAgKVxuICAgIH0sXG4gICAgYWxsS2V5d29yZHM6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIGtleXdvcmRzOiBtYXBLZXl3b3JkcyhcbiAgICAgICAgc2VsZWN0RmllbGQ8VGhlc2F1cnVzW10+KHNvdXJjZSwgJ2FsbEtleXdvcmRzJyksXG4gICAgICAgIHRoaXMubGFuZzNcbiAgICAgICksXG4gICAgfSksXG4gICAgaW5zcGlyZVRoZW1lOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICB0b3BpY3M6IFtcbiAgICAgICAgLi4uKG91dHB1dC50b3BpY3MgfHwgW10pLFxuICAgICAgICAuLi5nZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2luc3BpcmVUaGVtZV9zeW4nKSksXG4gICAgICBdLFxuICAgIH0pLFxuICAgIE1EX0NvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5jb25zdHJhaW50RmllbGQoXG4gICAgICAgICdvdGhlcicsXG4gICAgICAgIG91dHB1dCxcbiAgICAgICAgZ2V0QXNBcnJheShzZWxlY3RGaWVsZChzb3VyY2UsICdNRF9Db25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3QnKSlcbiAgICAgICksXG4gICAgTURfTGVnYWxDb25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3Q6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuY29uc3RyYWludEZpZWxkKFxuICAgICAgICAnbGVnYWwnLFxuICAgICAgICBvdXRwdXQsXG4gICAgICAgIGdldEFzQXJyYXkoXG4gICAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAnTURfTGVnYWxDb25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3QnKVxuICAgICAgICApXG4gICAgICApLFxuICAgIE1EX0xlZ2FsQ29uc3RyYWludHNPdGhlckNvbnN0cmFpbnRzT2JqZWN0OiAob3V0cHV0LCBzb3VyY2UpID0+XG4gICAgICB0aGlzLmNvbnN0cmFpbnRGaWVsZChcbiAgICAgICAgJ2xlZ2FsJyxcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICBnZXRBc0FycmF5KFxuICAgICAgICAgIHNlbGVjdEZpZWxkKHNvdXJjZSwgJ01EX0xlZ2FsQ29uc3RyYWludHNPdGhlckNvbnN0cmFpbnRzT2JqZWN0JylcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICBNRF9TZWN1cml0eUNvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5jb25zdHJhaW50RmllbGQoXG4gICAgICAgICdzZWN1cml0eScsXG4gICAgICAgIG91dHB1dCxcbiAgICAgICAgZ2V0QXNBcnJheShcbiAgICAgICAgICBzZWxlY3RGaWVsZChzb3VyY2UsICdNRF9TZWN1cml0eUNvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdCcpXG4gICAgICAgIClcbiAgICAgICksXG4gICAgbGljZW5zZU9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5jb25zdHJhaW50RmllbGQoXG4gICAgICAgICdsaWNlbnNlJyxcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICBnZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2xpY2Vuc2VPYmplY3QnKSlcbiAgICAgICksXG4gICAgbGluZWFnZU9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgbGluZWFnZTogc2VsZWN0VHJhbnNsYXRlZEZpZWxkKHNvdXJjZSwgJ2xpbmVhZ2VPYmplY3QnLCB0aGlzLmxhbmczKSxcbiAgICB9KSxcbiAgICB1c2VyU2F2ZWRDb3VudDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIGZhdm9yaXRlQ291bnQ6IHBhcnNlSW50KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3VzZXJTYXZlZENvdW50JykpLFxuICAgICAgICB9LFxuICAgICAgICBvdXRwdXRcbiAgICAgICksXG4gICAgaXNPcGVuRGF0YTogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIGlzT3BlbkRhdGE6IHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2lzT3BlbkRhdGEnKSAhPT0gJ2ZhbHNlJyxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0XG4gICAgICApLFxuICAgIGlzUHVibGlzaGVkVG9BbGw6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuYWRkRXh0cmEoXG4gICAgICAgIHtcbiAgICAgICAgICBpc1B1Ymxpc2hlZFRvQWxsOiBzZWxlY3RGaWVsZChzb3VyY2UsICdpc1B1Ymxpc2hlZFRvQWxsJykgIT09ICdmYWxzZScsXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dFxuICAgICAgKSxcbiAgICB1c2VyaW5mbzogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIG93bmVySW5mbzogc2VsZWN0RmllbGQoc291cmNlLCAndXNlcmluZm8nKSxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0XG4gICAgICApLFxuICAgIHJlc291cmNlVHlwZTogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCByZXNvdXJjZVR5cGUgPSBnZXRGaXJzdFZhbHVlKHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3Jlc291cmNlVHlwZScpKVxuICAgICAgY29uc3Qga2luZCA9IGdldFJlc291cmNlVHlwZShyZXNvdXJjZVR5cGUpXG4gICAgICBjb25zdCByZXVzZVR5cGUgPSBnZXRSZXVzZVR5cGUocmVzb3VyY2VUeXBlKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBraW5kLFxuICAgICAgICAuLi4ocmV1c2VUeXBlICYmIHsgcmV1c2VUeXBlIH0pLFxuICAgICAgfSBhcyBDYXRhbG9nUmVjb3JkXG4gICAgfSxcbiAgICBnZW9tOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IGdlb21zID0gZ2V0QXNBcnJheShzZWxlY3RGaWVsZChzb3VyY2UsICdnZW9tJykpXG4gICAgICBjb25zdCBzaGFwZXMgPSBnZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3NoYXBlJykpXG4gICAgICBjb25zdCBleHRlbnREZXNjcmlwdGlvbnMgPSBnZXRBc0FycmF5KFxuICAgICAgICBzZWxlY3RGaWVsZChzb3VyY2UsICdleHRlbnREZXNjcmlwdGlvbk9iamVjdCcpXG4gICAgICApXG4gICAgICBjb25zdCBzcGF0aWFsRXh0ZW50cyA9IGdldEFzQXJyYXkoc2VsZWN0RmllbGQoc291cmNlLCAnc3BhdGlhbEV4dGVudHMnKSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm91dHB1dCxcbiAgICAgICAgc3BhdGlhbEV4dGVudHM6IFtcbiAgICAgICAgICAuLi5zcGF0aWFsRXh0ZW50cyxcbiAgICAgICAgICAuLi5nZW9tcy5tYXAoKGdlb20sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IHNlbGVjdFRyYW5zbGF0ZWRWYWx1ZShcbiAgICAgICAgICAgICAgZ2V0QXJyYXlJdGVtKGV4dGVudERlc2NyaXB0aW9ucywgaW5kZXgpLFxuICAgICAgICAgICAgICB0aGlzLmxhbmczXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBjb25zdCBnZW9tZXRyeSA9IHNoYXBlc1tpbmRleF0gPz8gZ2VvbVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uKGRlc2NyaXB0aW9uICE9PSBudWxsID8geyBkZXNjcmlwdGlvbiB9IDogbnVsbCksXG4gICAgICAgICAgICAgIGdlb21ldHJ5LFxuICAgICAgICAgICAgfSBhcyBEYXRhc2V0U3BhdGlhbEV4dGVudFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfVxuICAgIH0sXG4gICAgcmVzb3VyY2VUZW1wb3JhbEV4dGVudERhdGVSYW5nZTogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCByYW5nZXMgPSBnZXRBc0FycmF5KFxuICAgICAgICBzZWxlY3RGaWVsZChzb3VyY2UsICdyZXNvdXJjZVRlbXBvcmFsRXh0ZW50RGF0ZVJhbmdlJylcbiAgICAgIClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm91dHB1dCxcbiAgICAgICAgdGVtcG9yYWxFeHRlbnRzOiByYW5nZXMubWFwKChyYW5nZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gc2VsZWN0RmllbGQocmFuZ2UsICdndGUnKVxuICAgICAgICAgIGNvbnN0IGVuZCA9IHNlbGVjdEZpZWxkKHJhbmdlLCAnbHRlJylcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uKHN0YXJ0ICE9PSBudWxsID8geyBzdGFydDogdG9EYXRlKHN0YXJ0KSB9IDogbnVsbCksXG4gICAgICAgICAgICAuLi4oZW5kICE9PSBudWxsID8geyBlbmQ6IHRvRGF0ZShlbmQpIH0gOiBudWxsKSxcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgfVxuICAgIH0sXG4gIH1cblxuICBwcml2YXRlIGdlbmVyaWNGaWVsZCA9IChvdXRwdXQpID0+IG91dHB1dFxuXG4gIHByaXZhdGUgY29uc3RyYWludEZpZWxkID0gKFxuICAgIHR5cGU6ICdsaWNlbnNlJyB8ICdsZWdhbCcgfCAnc2VjdXJpdHknIHwgJ290aGVyJyxcbiAgICBvdXRwdXQ6IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD4sXG4gICAgY29uc3RyYWludEFycmF5OiBTb3VyY2VXaXRoVW5rbm93blByb3BzW11cbiAgKSA9PiB7XG4gICAgbGV0IG91dHB1dEZpZWxkOiBzdHJpbmdcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2xpY2Vuc2UnOlxuICAgICAgICBvdXRwdXRGaWVsZCA9ICdsaWNlbnNlcydcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2xlZ2FsJzpcbiAgICAgICAgb3V0cHV0RmllbGQgPSAnbGVnYWxDb25zdHJhaW50cydcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3NlY3VyaXR5JzpcbiAgICAgICAgb3V0cHV0RmllbGQgPSAnc2VjdXJpdHlDb25zdHJhaW50cydcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ290aGVyJzpcbiAgICAgICAgb3V0cHV0RmllbGQgPSAnb3RoZXJDb25zdHJhaW50cydcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgY29uc3Qgb3V0cHV0QXJyYXk6IENvbnN0cmFpbnRbXSA9XG4gICAgICBvdXRwdXRGaWVsZCBpbiBvdXRwdXQgPyBvdXRwdXRbb3V0cHV0RmllbGRdIDogW11cbiAgICBvdXRwdXRBcnJheS5wdXNoKFxuICAgICAgLi4uY29uc3RyYWludEFycmF5Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB0ZXh0ID0gc2VsZWN0VHJhbnNsYXRlZFZhbHVlKGl0ZW0sIHRoaXMubGFuZzMpIGFzIHN0cmluZ1xuICAgICAgICBjb25zdCB1cmwgPSBnZXRBc1VybChzZWxlY3RGaWVsZChpdGVtLCAnbGluaycpKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHRleHQsXG4gICAgICAgICAgLi4uKHVybCA/IHsgdXJsIH0gOiB7fSksXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIFtvdXRwdXRGaWVsZF06IG91dHB1dEFycmF5LFxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBnZXRNYXBwaW5nRm4oZmllbGROYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZmllbGROYW1lIGluIHRoaXMuZmllbGRzID8gdGhpcy5maWVsZHNbZmllbGROYW1lXSA6IHRoaXMuZ2VuZXJpY0ZpZWxkXG4gIH1cblxuICBnZXRMaW5rVHlwZSh1cmw6IHN0cmluZywgcHJvdG9jb2w/OiBzdHJpbmcpOiBPbmxpbmVSZXNvdXJjZVR5cGUge1xuICAgIGlmICghcHJvdG9jb2wpIHtcbiAgICAgIHJldHVybiAnbGluaydcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKC9eRVNSSTpSRVNULy50ZXN0KHByb3RvY29sKSAmJiAvRmVhdHVyZVNlcnZlci8udGVzdCh1cmwpKSB8fFxuICAgICAgL15PR0M6V01TLy50ZXN0KHByb3RvY29sKSB8fFxuICAgICAgL15PR0M6V0ZTLy50ZXN0KHByb3RvY29sKSB8fFxuICAgICAgL15PR0M6V01UUy8udGVzdChwcm90b2NvbCkgfHxcbiAgICAgIC9vZ2NcXFcqYXBpXFxXKmZlYXR1cmVzL2kudGVzdChwcm90b2NvbCkgfHxcbiAgICAgICgvXldXVzpET1dOTE9BRC0vLnRlc3QocHJvdG9jb2wpICYmIC9kYXRhLmdlb3BmLmZyLy50ZXN0KHVybCkpIC8vIFRPIERPIDogY2hhbmdlIHdpdGggdGhlIGdvb2QgcHJvdG9jb2wgd2hlbiBkZWNpZGVkXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ3NlcnZpY2UnXG4gICAgfVxuICAgIGlmICgvXldXVzpET1dOTE9BRC8udGVzdChwcm90b2NvbCkpIHtcbiAgICAgIHJldHVybiAnZG93bmxvYWQnXG4gICAgfVxuICAgIHJldHVybiAnbGluaydcbiAgfVxuXG4gIG1hcExpbmsgPSAoc291cmNlTGluazogU291cmNlV2l0aFVua25vd25Qcm9wcyk6IE9ubGluZVJlc291cmNlIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgdXJsID0gZ2V0QXNVcmwoXG4gICAgICBzZWxlY3RGYWxsYmFjayhcbiAgICAgICAgc2VsZWN0VHJhbnNsYXRlZEZpZWxkPHN0cmluZz4oc291cmNlTGluaywgJ3VybE9iamVjdCcsIHRoaXMubGFuZzMpLFxuICAgICAgICBzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZUxpbmssICd1cmwnKVxuICAgICAgKVxuICAgIClcbiAgICBjb25zdCBuYW1lID0gc2VsZWN0RmFsbGJhY2soXG4gICAgICBzZWxlY3RUcmFuc2xhdGVkRmllbGQ8c3RyaW5nPihzb3VyY2VMaW5rLCAnbmFtZU9iamVjdCcsIHRoaXMubGFuZzMpLFxuICAgICAgc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2VMaW5rLCAnbmFtZScpXG4gICAgKVxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gc2VsZWN0RmFsbGJhY2soXG4gICAgICBzZWxlY3RUcmFuc2xhdGVkRmllbGQ8c3RyaW5nPihcbiAgICAgICAgc291cmNlTGluayxcbiAgICAgICAgJ2Rlc2NyaXB0aW9uT2JqZWN0JyxcbiAgICAgICAgdGhpcy5sYW5nM1xuICAgICAgKSxcbiAgICAgIHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlTGluaywgJ2Rlc2NyaXB0aW9uJylcbiAgICApXG4gICAgLy8gbm8gdXJsOiBmYWlsIGVhcmx5XG4gICAgaWYgKHVybCA9PT0gbnVsbCkge1xuICAgICAgLy8gVE9ETzogY29sbGVjdCBlcnJvcnMgYXQgdGhlIHJlY29yZCBsZXZlbD9cbiAgICAgIGNvbnNvbGUud2FybignQSBsaW5rIHdpdGhvdXQgdmFsaWQgVVJMIHdhcyBmb3VuZCcsIHNvdXJjZUxpbmspXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IHByb3RvY29sID0gc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2VMaW5rLCAncHJvdG9jb2wnKVxuICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldExpbmtUeXBlKHVybC50b1N0cmluZygpLCBwcm90b2NvbClcbiAgICBjb25zdCBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPSBtYXRjaFByb3RvY29sKHByb3RvY29sKVxuICAgIGNvbnN0IG1pbWVUeXBlTWF0Y2hlcyA9XG4gICAgICBwcm90b2NvbCAmJiBwcm90b2NvbC5tYXRjaCgvXldXVzpET1dOTE9BRDooLitcXC8uKykkLylcbiAgICBjb25zdCBtaW1lVHlwZSA9IG1pbWVUeXBlTWF0Y2hlcyAmJiBtaW1lVHlwZU1hdGNoZXNbMV1cblxuICAgIGNvbnN0IGRpc3RyaWJ1dGlvbiA9IHtcbiAgICAgIC4uLihuYW1lICYmIHsgbmFtZSB9KSxcbiAgICAgIC4uLihkZXNjcmlwdGlvbiAmJiB7IGRlc2NyaXB0aW9uIH0pLFxuICAgIH1cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRpc3RyaWJ1dGlvbixcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIHVybDogdXJsLFxuICAgICAgICAgIGFjY2Vzc1NlcnZpY2VQcm90b2NvbCxcbiAgICAgICAgfVxuICAgICAgY2FzZSAnbGluayc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZGlzdHJpYnV0aW9uLFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kaXN0cmlidXRpb24sXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAuLi4obWltZVR5cGUgJiYgeyBtaW1lVHlwZSB9KSxcbiAgICAgICAgfVxuICAgICAgY2FzZSAnZW5kcG9pbnQnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRpc3RyaWJ1dGlvbixcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIGVuZHBvaW50VXJsOiB1cmwsXG4gICAgICAgICAgcHJvdG9jb2w6IGFjY2Vzc1NlcnZpY2VQcm90b2NvbCxcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkRXh0cmEgPSAodmFsdWU6IG9iamVjdCwgb3V0cHV0OiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+KSA9PiAoe1xuICAgIC4uLm91dHB1dCxcbiAgICBleHRyYXM6IHsgLi4uKG91dHB1dC5leHRyYXMgfHwge30pLCAuLi52YWx1ZSB9LFxuICB9KVxufVxuIl19
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LmZpZWxkLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2duNC9nbjQuZmllbGQubWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLFFBQVEsRUFDUixhQUFhLEVBQ2IsVUFBVSxFQUNWLFdBQVcsRUFDWCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIscUJBQXFCLEVBRXJCLE1BQU0sR0FDUCxNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDekUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFRL0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7O0FBWXhFLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ1Usa0JBQXNDLEVBQ3RDLFdBQXdCO1FBRHhCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFHMUIsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFBO1FBRTdCLFdBQU0sR0FBb0M7WUFDbEQsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQ3JCLElBQUks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QUM7WUFDbkMsT0FBTyxVQUFVLENBQUE7UUFDbkIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQzsrR0F2WFUsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBnZXRBcnJheUl0ZW0sXG4gIGdldEFzQXJyYXksXG4gIGdldEFzVXJsLFxuICBnZXRGaXJzdFZhbHVlLFxuICBtYXBDb250YWN0LFxuICBtYXBLZXl3b3JkcyxcbiAgc2VsZWN0RmFsbGJhY2ssXG4gIHNlbGVjdEZhbGxiYWNrRmllbGRzLFxuICBzZWxlY3RGaWVsZCxcbiAgc2VsZWN0VHJhbnNsYXRlZEZpZWxkLFxuICBzZWxlY3RUcmFuc2xhdGVkVmFsdWUsXG4gIFNvdXJjZVdpdGhVbmtub3duUHJvcHMsXG4gIHRvRGF0ZSxcbn0gZnJvbSAnLi9hdG9taWMtb3BlcmF0aW9ucydcbmltcG9ydCB7IE1ldGFkYXRhVXJsU2VydmljZSB9IGZyb20gJy4vbWV0YWRhdGEtdXJsLnNlcnZpY2UnXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGdldFN0YXR1c0Zyb21TdGF0dXNDb2RlIH0gZnJvbSAnLi4vaXNvMTkxMzkvdXRpbHMvc3RhdHVzLm1hcHBlcidcbmltcG9ydCB7IGdldFVwZGF0ZUZyZXF1ZW5jeUZyb21GcmVxdWVuY3lDb2RlIH0gZnJvbSAnLi4vaXNvMTkxMzkvdXRpbHMvdXBkYXRlLWZyZXF1ZW5jeS5tYXBwZXInXG5pbXBvcnQge1xuICBDYXRhbG9nUmVjb3JkLFxuICBDb25zdHJhaW50LFxuICBEYXRhc2V0U3BhdGlhbEV4dGVudCxcbiAgT25saW5lUmVzb3VyY2UsXG4gIE9ubGluZVJlc291cmNlVHlwZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgbWF0Y2hQcm90b2NvbCB9IGZyb20gJy4uL2NvbW1vbi9kaXN0cmlidXRpb24ubWFwcGVyJ1xuaW1wb3J0IHsgVGhlc2F1cnVzIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IExBTkdfM19UT18yX01BUFBFUiwgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5pbXBvcnQgeyBnZXRSZXNvdXJjZVR5cGUsIGdldFJldXNlVHlwZSB9IGZyb20gJy4uL2NvbW1vbi9yZXNvdXJjZS10eXBlcydcblxudHlwZSBFU1Jlc3BvbnNlU291cmNlID0gU291cmNlV2l0aFVua25vd25Qcm9wc1xuXG50eXBlIEVzRmllbGRNYXBwZXJGbiA9IChcbiAgb3V0cHV0OiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+LFxuICBzb3VyY2U6IEVTUmVzcG9uc2VTb3VyY2VcbikgPT4gUGFydGlhbDxDYXRhbG9nUmVjb3JkPlxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR240RmllbGRNYXBwZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1ldGFkYXRhVXJsU2VydmljZTogTWV0YWRhdGFVcmxTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ1NlcnZpY2U6IExhbmdTZXJ2aWNlXG4gICkge31cblxuICBwcml2YXRlIGxhbmczID0gdGhpcy5sYW5nU2VydmljZS5nbkxhbmdcblxuICBwcm90ZWN0ZWQgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBFc0ZpZWxkTWFwcGVyRm4+ID0ge1xuICAgIGlkOiAob3V0cHV0LCBzb3VyY2UpID0+XG4gICAgICB0aGlzLmFkZEV4dHJhKHsgaWQ6IHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2lkJykgfSwgb3V0cHV0KSxcbiAgICB1dWlkOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IHV1aWQgPSBzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ3V1aWQnKVxuICAgICAgY29uc3QgbGFuZGluZ1BhZ2UgPSBnZXRBc1VybCh0aGlzLm1ldGFkYXRhVXJsU2VydmljZS5nZXRVcmwodXVpZCkpXG4gICAgICByZXR1cm4geyAuLi5vdXRwdXQsIHVuaXF1ZUlkZW50aWZpZXI6IHV1aWQsIGxhbmRpbmdQYWdlIH1cbiAgICB9LFxuICAgIHF1YWxpdHlTY29yZTogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAgeyBxdWFsaXR5U2NvcmU6IHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3F1YWxpdHlTY29yZScpIH0sXG4gICAgICAgIG91dHB1dFxuICAgICAgKSxcbiAgICByZXNvdXJjZVRpdGxlT2JqZWN0OiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICB0aXRsZTogc2VsZWN0RmFsbGJhY2soXG4gICAgICAgIHNlbGVjdFRyYW5zbGF0ZWRGaWVsZChzb3VyY2UsICdyZXNvdXJjZVRpdGxlT2JqZWN0JywgdGhpcy5sYW5nMyksXG4gICAgICAgICdubyB0aXRsZSdcbiAgICAgICksXG4gICAgfSksXG4gICAgcmVzb3VyY2VBYnN0cmFjdE9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgYWJzdHJhY3Q6IHNlbGVjdEZhbGxiYWNrKFxuICAgICAgICBzZWxlY3RUcmFuc2xhdGVkRmllbGQoc291cmNlLCAncmVzb3VyY2VBYnN0cmFjdE9iamVjdCcsIHRoaXMubGFuZzMpLFxuICAgICAgICAnbm8gdGl0bGUnXG4gICAgICApLFxuICAgIH0pLFxuICAgIG92ZXJ2aWV3OiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IGZpcnN0T3ZlcnZpZXcgPSBnZXRGaXJzdFZhbHVlKHNlbGVjdEZpZWxkKHNvdXJjZSwgJ292ZXJ2aWV3JykpXG4gICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IHNlbGVjdFRyYW5zbGF0ZWRWYWx1ZTxzdHJpbmc+KFxuICAgICAgICBzZWxlY3RGaWVsZChmaXJzdE92ZXJ2aWV3LCAndGV4dCcpLFxuICAgICAgICB0aGlzLmxhbmczXG4gICAgICApXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vdXRwdXQsXG4gICAgICAgIG92ZXJ2aWV3czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHVybDogZ2V0QXNVcmwoc2VsZWN0RmFsbGJhY2tGaWVsZHMoZmlyc3RPdmVydmlldywgJ3VybCcsICdkYXRhJykpLFxuICAgICAgICAgICAgLi4uKGRlc2NyaXB0aW9uID8geyBkZXNjcmlwdGlvbiB9IDoge30pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9XG4gICAgfSxcbiAgICBjbF90b3BpYzogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgdG9waWNzOiBbXG4gICAgICAgIC4uLihvdXRwdXQudG9waWNzIHx8IFtdKSxcbiAgICAgICAgLi4uZ2V0QXNBcnJheShcbiAgICAgICAgICBzZWxlY3RGaWVsZDxTb3VyY2VXaXRoVW5rbm93blByb3BzW10+KHNvdXJjZSwgJ2NsX3RvcGljJylcbiAgICAgICAgKS5tYXAoKHRvcGljKSA9PiBzZWxlY3RUcmFuc2xhdGVkVmFsdWU8c3RyaW5nPih0b3BpYywgdGhpcy5sYW5nMykpLFxuICAgICAgXSxcbiAgICB9KSxcbiAgICBjbF9zdGF0dXM6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIHN0YXR1czogZ2V0U3RhdHVzRnJvbVN0YXR1c0NvZGUoXG4gICAgICAgIHNlbGVjdEZpZWxkKGdldEZpcnN0VmFsdWUoc2VsZWN0RmllbGQoc291cmNlLCAnY2xfc3RhdHVzJykpLCAna2V5JylcbiAgICAgICksXG4gICAgfSksXG4gICAgY2xfbWFpbnRlbmFuY2VBbmRVcGRhdGVGcmVxdWVuY3k6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIHVwZGF0ZUZyZXF1ZW5jeTogZ2V0VXBkYXRlRnJlcXVlbmN5RnJvbUZyZXF1ZW5jeUNvZGUoXG4gICAgICAgIHNlbGVjdEZpZWxkKFxuICAgICAgICAgIGdldEZpcnN0VmFsdWUoXG4gICAgICAgICAgICBzZWxlY3RGaWVsZChzb3VyY2UsICdjbF9tYWludGVuYW5jZUFuZFVwZGF0ZUZyZXF1ZW5jeScpXG4gICAgICAgICAgKSxcbiAgICAgICAgICAna2V5J1xuICAgICAgICApXG4gICAgICApLFxuICAgIH0pLFxuICAgIGNyZWF0aW9uRGF0ZUZvclJlc291cmNlOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICByZXNvdXJjZUNyZWF0ZWQ6IHRvRGF0ZShcbiAgICAgICAgZ2V0Rmlyc3RWYWx1ZShzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ2NyZWF0aW9uRGF0ZUZvclJlc291cmNlJykpXG4gICAgICApLFxuICAgIH0pLFxuICAgIHJldmlzaW9uRGF0ZUZvclJlc291cmNlOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICByZXNvdXJjZVVwZGF0ZWQ6IHRvRGF0ZShcbiAgICAgICAgZ2V0Rmlyc3RWYWx1ZShzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ3JldmlzaW9uRGF0ZUZvclJlc291cmNlJykpXG4gICAgICApLFxuICAgIH0pLFxuICAgIHB1YmxpY2F0aW9uRGF0ZUZvclJlc291cmNlOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICByZXNvdXJjZVB1Ymxpc2hlZDogdG9EYXRlKFxuICAgICAgICBzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ3B1YmxpY2F0aW9uRGF0ZUZvclJlc291cmNlJylcbiAgICAgICksXG4gICAgfSksXG4gICAgY3JlYXRlRGF0ZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgcmVjb3JkQ3JlYXRlZDogdG9EYXRlKHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlLCAnY3JlYXRlRGF0ZScpKSxcbiAgICB9KSxcbiAgICBjaGFuZ2VEYXRlOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICByZWNvcmRVcGRhdGVkOiB0b0RhdGUoc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2UsICdjaGFuZ2VEYXRlJykpLFxuICAgIH0pLFxuICAgIHB1YmxpY2F0aW9uRGF0ZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgcmVjb3JkUHVibGlzaGVkOiB0b0RhdGUoc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2UsICdwdWJsaWNhdGlvbkRhdGUnKSksXG4gICAgfSksXG4gICAgcmVzb3VyY2VMYW5ndWFnZTogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCBsYW5nTGlzdCA9IGdldEFzQXJyYXkoXG4gICAgICAgIHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlLCAncmVzb3VyY2VMYW5ndWFnZScpXG4gICAgICApXG4gICAgICBjb25zdCBsYW5ndWFnZXMgPSBsYW5nTGlzdC5tYXAoKGxhbmcpID0+IExBTkdfM19UT18yX01BUFBFUltsYW5nXSlcbiAgICAgIGNvbnN0IGRlZmF1bHRMYW5ndWFnZSA9IG91dHB1dC5kZWZhdWx0TGFuZ3VhZ2UgPz8gbGFuZ3VhZ2VzWzBdID8/IG51bGwgLy8gc2V0IHRoZSBmaXJzdCBsYW5ndWFnZSBhcyBtYWluIG9uZSBhcyBmYWxsYmFja1xuICAgICAgY29uc3Qgb3RoZXJMYW5ndWFnZXMgPSBsYW5ndWFnZXMuZmlsdGVyKFxuICAgICAgICAobGFuZykgPT4gbGFuZyAhPT0gZGVmYXVsdExhbmd1YWdlXG4gICAgICApXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vdXRwdXQsXG4gICAgICAgIGRlZmF1bHRMYW5ndWFnZSxcbiAgICAgICAgb3RoZXJMYW5ndWFnZXMsXG4gICAgICB9XG4gICAgfSxcbiAgICBtYWluTGFuZ3VhZ2U6IChvdXRwdXQsIHNvdXJjZSkgPT4ge1xuICAgICAgY29uc3QgbGFuZ3VhZ2UgPSBzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ21haW5MYW5ndWFnZScpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vdXRwdXQsXG4gICAgICAgIGRlZmF1bHRMYW5ndWFnZTogbGFuZ3VhZ2UgPyBMQU5HXzNfVE9fMl9NQVBQRVJbbGFuZ3VhZ2VdIDogbnVsbCxcbiAgICAgIH1cbiAgICB9LFxuICAgIGxpbms6IChvdXRwdXQsIHNvdXJjZSkgPT4ge1xuICAgICAgY29uc3QgcmF3TGlua3MgPSBnZXRBc0FycmF5KFxuICAgICAgICBzZWxlY3RGaWVsZDxTb3VyY2VXaXRoVW5rbm93blByb3BzW10+KHNvdXJjZSwgJ2xpbmsnKVxuICAgICAgKVxuICAgICAgY29uc3Qgb25saW5lUmVzb3VyY2VzID0gcmF3TGlua3NcbiAgICAgICAgLm1hcCgobGluaykgPT4gdGhpcy5tYXBMaW5rKGxpbmspKVxuICAgICAgICAuZmlsdGVyKCh2KSA9PiB2ICE9PSBudWxsKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBvbmxpbmVSZXNvdXJjZXMsXG4gICAgICB9IGFzIENhdGFsb2dSZWNvcmRcbiAgICB9LFxuICAgIGNvbnRhY3Q6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIGNvbnRhY3RzOiBbXG4gICAgICAgIG1hcENvbnRhY3QoZ2V0Rmlyc3RWYWx1ZShzZWxlY3RGaWVsZChzb3VyY2UsICdjb250YWN0JykpLCB0aGlzLmxhbmczKSxcbiAgICAgIF0sXG4gICAgfSksXG4gICAgY29udGFjdEZvclJlc291cmNlOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICBjb250YWN0c0ZvclJlc291cmNlOiBbXG4gICAgICAgIC4uLignY29udGFjdHNGb3JSZXNvdXJjZScgaW4gb3V0cHV0ICYmXG4gICAgICAgIEFycmF5LmlzQXJyYXkob3V0cHV0LmNvbnRhY3RzRm9yUmVzb3VyY2UpXG4gICAgICAgICAgPyBvdXRwdXQuY29udGFjdHNGb3JSZXNvdXJjZVxuICAgICAgICAgIDogW10pLFxuICAgICAgICAuLi5nZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2NvbnRhY3RGb3JSZXNvdXJjZScpKS5tYXAoXG4gICAgICAgICAgKGNvbnRhY3QpID0+IG1hcENvbnRhY3QoY29udGFjdCwgdGhpcy5sYW5nMylcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgfSksXG4gICAgc291cmNlQ2F0YWxvZ3VlOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmFkZEV4dHJhKFxuICAgICAgICB7XG4gICAgICAgICAgY2F0YWxvZ1V1aWQ6IHNlbGVjdEZhbGxiYWNrKFxuICAgICAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAnc291cmNlQ2F0YWxvZ3VlJyksXG4gICAgICAgICAgICAnbm8gdGl0bGUnXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0XG4gICAgICApXG4gICAgfSxcbiAgICBhbGxLZXl3b3JkczogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAga2V5d29yZHM6IG1hcEtleXdvcmRzKFxuICAgICAgICBzZWxlY3RGaWVsZDxUaGVzYXVydXNbXT4oc291cmNlLCAnYWxsS2V5d29yZHMnKSxcbiAgICAgICAgdGhpcy5sYW5nM1xuICAgICAgKSxcbiAgICB9KSxcbiAgICBpbnNwaXJlVGhlbWU6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIHRvcGljczogW1xuICAgICAgICAuLi4ob3V0cHV0LnRvcGljcyB8fCBbXSksXG4gICAgICAgIC4uLmdldEFzQXJyYXkoc2VsZWN0RmllbGQoc291cmNlLCAnaW5zcGlyZVRoZW1lX3N5bicpKSxcbiAgICAgIF0sXG4gICAgfSksXG4gICAgTURfQ29uc3RyYWludHNVc2VMaW1pdGF0aW9uT2JqZWN0OiAob3V0cHV0LCBzb3VyY2UpID0+XG4gICAgICB0aGlzLmNvbnN0cmFpbnRGaWVsZChcbiAgICAgICAgJ290aGVyJyxcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICBnZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ01EX0NvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdCcpKVxuICAgICAgKSxcbiAgICBNRF9MZWdhbENvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5jb25zdHJhaW50RmllbGQoXG4gICAgICAgICdsZWdhbCcsXG4gICAgICAgIG91dHB1dCxcbiAgICAgICAgZ2V0QXNBcnJheShcbiAgICAgICAgICBzZWxlY3RGaWVsZChzb3VyY2UsICdNRF9MZWdhbENvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdCcpXG4gICAgICAgIClcbiAgICAgICksXG4gICAgTURfTGVnYWxDb25zdHJhaW50c090aGVyQ29uc3RyYWludHNPYmplY3Q6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuY29uc3RyYWludEZpZWxkKFxuICAgICAgICAnbGVnYWwnLFxuICAgICAgICBvdXRwdXQsXG4gICAgICAgIGdldEFzQXJyYXkoXG4gICAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAnTURfTGVnYWxDb25zdHJhaW50c090aGVyQ29uc3RyYWludHNPYmplY3QnKVxuICAgICAgICApXG4gICAgICApLFxuICAgIE1EX1NlY3VyaXR5Q29uc3RyYWludHNVc2VMaW1pdGF0aW9uT2JqZWN0OiAob3V0cHV0LCBzb3VyY2UpID0+XG4gICAgICB0aGlzLmNvbnN0cmFpbnRGaWVsZChcbiAgICAgICAgJ3NlY3VyaXR5JyxcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICBnZXRBc0FycmF5KFxuICAgICAgICAgIHNlbGVjdEZpZWxkKHNvdXJjZSwgJ01EX1NlY3VyaXR5Q29uc3RyYWludHNVc2VMaW1pdGF0aW9uT2JqZWN0JylcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICBsaWNlbnNlT2JqZWN0OiAob3V0cHV0LCBzb3VyY2UpID0+XG4gICAgICB0aGlzLmNvbnN0cmFpbnRGaWVsZChcbiAgICAgICAgJ2xpY2Vuc2UnLFxuICAgICAgICBvdXRwdXQsXG4gICAgICAgIGdldEFzQXJyYXkoc2VsZWN0RmllbGQoc291cmNlLCAnbGljZW5zZU9iamVjdCcpKVxuICAgICAgKSxcbiAgICBsaW5lYWdlT2JqZWN0OiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICBsaW5lYWdlOiBzZWxlY3RUcmFuc2xhdGVkRmllbGQoc291cmNlLCAnbGluZWFnZU9iamVjdCcsIHRoaXMubGFuZzMpLFxuICAgIH0pLFxuICAgIHVzZXJTYXZlZENvdW50OiAob3V0cHV0LCBzb3VyY2UpID0+XG4gICAgICB0aGlzLmFkZEV4dHJhKFxuICAgICAgICB7XG4gICAgICAgICAgZmF2b3JpdGVDb3VudDogcGFyc2VJbnQoc2VsZWN0RmllbGQoc291cmNlLCAndXNlclNhdmVkQ291bnQnKSksXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dFxuICAgICAgKSxcbiAgICBpc09wZW5EYXRhOiAob3V0cHV0LCBzb3VyY2UpID0+XG4gICAgICB0aGlzLmFkZEV4dHJhKFxuICAgICAgICB7XG4gICAgICAgICAgaXNPcGVuRGF0YTogc2VsZWN0RmllbGQoc291cmNlLCAnaXNPcGVuRGF0YScpICE9PSAnZmFsc2UnLFxuICAgICAgICB9LFxuICAgICAgICBvdXRwdXRcbiAgICAgICksXG4gICAgaXNQdWJsaXNoZWRUb0FsbDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIGlzUHVibGlzaGVkVG9BbGw6IHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2lzUHVibGlzaGVkVG9BbGwnKSxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0XG4gICAgICApLFxuICAgIGVkaXQ6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuYWRkRXh0cmEoXG4gICAgICAgIHtcbiAgICAgICAgICBlZGl0OiBzZWxlY3RGaWVsZChzb3VyY2UsICdlZGl0JyksXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dFxuICAgICAgKSxcbiAgICB1c2VyaW5mbzogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIG93bmVySW5mbzogc2VsZWN0RmllbGQoc291cmNlLCAndXNlcmluZm8nKSxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0XG4gICAgICApLFxuICAgIHJlc291cmNlVHlwZTogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCByZXNvdXJjZVR5cGUgPSBnZXRGaXJzdFZhbHVlKHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3Jlc291cmNlVHlwZScpKVxuICAgICAgY29uc3Qga2luZCA9IGdldFJlc291cmNlVHlwZShyZXNvdXJjZVR5cGUpXG4gICAgICBjb25zdCByZXVzZVR5cGUgPSBnZXRSZXVzZVR5cGUocmVzb3VyY2VUeXBlKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBraW5kLFxuICAgICAgICAuLi4ocmV1c2VUeXBlICYmIHsgcmV1c2VUeXBlIH0pLFxuICAgICAgfSBhcyBDYXRhbG9nUmVjb3JkXG4gICAgfSxcbiAgICBnZW9tOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IGdlb21zID0gZ2V0QXNBcnJheShzZWxlY3RGaWVsZChzb3VyY2UsICdnZW9tJykpXG4gICAgICBjb25zdCBzaGFwZXMgPSBnZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3NoYXBlJykpXG4gICAgICBjb25zdCBleHRlbnREZXNjcmlwdGlvbnMgPSBnZXRBc0FycmF5KFxuICAgICAgICBzZWxlY3RGaWVsZChzb3VyY2UsICdleHRlbnREZXNjcmlwdGlvbk9iamVjdCcpXG4gICAgICApXG4gICAgICBjb25zdCBzcGF0aWFsRXh0ZW50cyA9IGdldEFzQXJyYXkoc2VsZWN0RmllbGQoc291cmNlLCAnc3BhdGlhbEV4dGVudHMnKSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm91dHB1dCxcbiAgICAgICAgc3BhdGlhbEV4dGVudHM6IFtcbiAgICAgICAgICAuLi5zcGF0aWFsRXh0ZW50cyxcbiAgICAgICAgICAuLi5nZW9tcy5tYXAoKGdlb20sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IHNlbGVjdFRyYW5zbGF0ZWRWYWx1ZShcbiAgICAgICAgICAgICAgZ2V0QXJyYXlJdGVtKGV4dGVudERlc2NyaXB0aW9ucywgaW5kZXgpLFxuICAgICAgICAgICAgICB0aGlzLmxhbmczXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBjb25zdCBnZW9tZXRyeSA9IHNoYXBlc1tpbmRleF0gPz8gZ2VvbVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uKGRlc2NyaXB0aW9uICE9PSBudWxsID8geyBkZXNjcmlwdGlvbiB9IDogbnVsbCksXG4gICAgICAgICAgICAgIGdlb21ldHJ5LFxuICAgICAgICAgICAgfSBhcyBEYXRhc2V0U3BhdGlhbEV4dGVudFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfVxuICAgIH0sXG4gICAgcmVzb3VyY2VUZW1wb3JhbEV4dGVudERhdGVSYW5nZTogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCByYW5nZXMgPSBnZXRBc0FycmF5KFxuICAgICAgICBzZWxlY3RGaWVsZChzb3VyY2UsICdyZXNvdXJjZVRlbXBvcmFsRXh0ZW50RGF0ZVJhbmdlJylcbiAgICAgIClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm91dHB1dCxcbiAgICAgICAgdGVtcG9yYWxFeHRlbnRzOiByYW5nZXMubWFwKChyYW5nZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gc2VsZWN0RmllbGQocmFuZ2UsICdndGUnKVxuICAgICAgICAgIGNvbnN0IGVuZCA9IHNlbGVjdEZpZWxkKHJhbmdlLCAnbHRlJylcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uKHN0YXJ0ICE9PSBudWxsID8geyBzdGFydDogdG9EYXRlKHN0YXJ0KSB9IDogbnVsbCksXG4gICAgICAgICAgICAuLi4oZW5kICE9PSBudWxsID8geyBlbmQ6IHRvRGF0ZShlbmQpIH0gOiBudWxsKSxcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgfVxuICAgIH0sXG4gIH1cblxuICBwcml2YXRlIGdlbmVyaWNGaWVsZCA9IChvdXRwdXQpID0+IG91dHB1dFxuXG4gIHByaXZhdGUgY29uc3RyYWludEZpZWxkID0gKFxuICAgIHR5cGU6ICdsaWNlbnNlJyB8ICdsZWdhbCcgfCAnc2VjdXJpdHknIHwgJ290aGVyJyxcbiAgICBvdXRwdXQ6IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD4sXG4gICAgY29uc3RyYWludEFycmF5OiBTb3VyY2VXaXRoVW5rbm93blByb3BzW11cbiAgKSA9PiB7XG4gICAgbGV0IG91dHB1dEZpZWxkOiBzdHJpbmdcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2xpY2Vuc2UnOlxuICAgICAgICBvdXRwdXRGaWVsZCA9ICdsaWNlbnNlcydcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2xlZ2FsJzpcbiAgICAgICAgb3V0cHV0RmllbGQgPSAnbGVnYWxDb25zdHJhaW50cydcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3NlY3VyaXR5JzpcbiAgICAgICAgb3V0cHV0RmllbGQgPSAnc2VjdXJpdHlDb25zdHJhaW50cydcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ290aGVyJzpcbiAgICAgICAgb3V0cHV0RmllbGQgPSAnb3RoZXJDb25zdHJhaW50cydcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgY29uc3Qgb3V0cHV0QXJyYXk6IENvbnN0cmFpbnRbXSA9XG4gICAgICBvdXRwdXRGaWVsZCBpbiBvdXRwdXQgPyBvdXRwdXRbb3V0cHV0RmllbGRdIDogW11cbiAgICBvdXRwdXRBcnJheS5wdXNoKFxuICAgICAgLi4uY29uc3RyYWludEFycmF5Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB0ZXh0ID0gc2VsZWN0VHJhbnNsYXRlZFZhbHVlKGl0ZW0sIHRoaXMubGFuZzMpIGFzIHN0cmluZ1xuICAgICAgICBjb25zdCB1cmwgPSBnZXRBc1VybChzZWxlY3RGaWVsZChpdGVtLCAnbGluaycpKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHRleHQsXG4gICAgICAgICAgLi4uKHVybCA/IHsgdXJsIH0gOiB7fSksXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIFtvdXRwdXRGaWVsZF06IG91dHB1dEFycmF5LFxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBnZXRNYXBwaW5nRm4oZmllbGROYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZmllbGROYW1lIGluIHRoaXMuZmllbGRzID8gdGhpcy5maWVsZHNbZmllbGROYW1lXSA6IHRoaXMuZ2VuZXJpY0ZpZWxkXG4gIH1cblxuICBnZXRMaW5rVHlwZSh1cmw6IHN0cmluZywgcHJvdG9jb2w/OiBzdHJpbmcpOiBPbmxpbmVSZXNvdXJjZVR5cGUge1xuICAgIGlmICghcHJvdG9jb2wpIHtcbiAgICAgIHJldHVybiAnbGluaydcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKC9eRVNSSTpSRVNULy50ZXN0KHByb3RvY29sKSAmJiAvRmVhdHVyZVNlcnZlci8udGVzdCh1cmwpKSB8fFxuICAgICAgL15PR0M6V01TLy50ZXN0KHByb3RvY29sKSB8fFxuICAgICAgL15PR0M6V0ZTLy50ZXN0KHByb3RvY29sKSB8fFxuICAgICAgL15PR0M6V01UUy8udGVzdChwcm90b2NvbCkgfHxcbiAgICAgIC9vZ2NcXFcqYXBpXFxXKmZlYXR1cmVzL2kudGVzdChwcm90b2NvbCkgfHxcbiAgICAgICgvXldXVzpET1dOTE9BRC0vLnRlc3QocHJvdG9jb2wpICYmIC9kYXRhLmdlb3BmLmZyLy50ZXN0KHVybCkpIC8vIFRPIERPIDogY2hhbmdlIHdpdGggdGhlIGdvb2QgcHJvdG9jb2wgd2hlbiBkZWNpZGVkXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ3NlcnZpY2UnXG4gICAgfVxuICAgIGlmICgvXldXVzpET1dOTE9BRC8udGVzdChwcm90b2NvbCkpIHtcbiAgICAgIHJldHVybiAnZG93bmxvYWQnXG4gICAgfVxuICAgIHJldHVybiAnbGluaydcbiAgfVxuXG4gIG1hcExpbmsgPSAoc291cmNlTGluazogU291cmNlV2l0aFVua25vd25Qcm9wcyk6IE9ubGluZVJlc291cmNlIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgdXJsID0gZ2V0QXNVcmwoXG4gICAgICBzZWxlY3RGYWxsYmFjayhcbiAgICAgICAgc2VsZWN0VHJhbnNsYXRlZEZpZWxkPHN0cmluZz4oc291cmNlTGluaywgJ3VybE9iamVjdCcsIHRoaXMubGFuZzMpLFxuICAgICAgICBzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZUxpbmssICd1cmwnKVxuICAgICAgKVxuICAgIClcbiAgICBjb25zdCBuYW1lID0gc2VsZWN0RmFsbGJhY2soXG4gICAgICBzZWxlY3RUcmFuc2xhdGVkRmllbGQ8c3RyaW5nPihzb3VyY2VMaW5rLCAnbmFtZU9iamVjdCcsIHRoaXMubGFuZzMpLFxuICAgICAgc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2VMaW5rLCAnbmFtZScpXG4gICAgKVxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gc2VsZWN0RmFsbGJhY2soXG4gICAgICBzZWxlY3RUcmFuc2xhdGVkRmllbGQ8c3RyaW5nPihcbiAgICAgICAgc291cmNlTGluayxcbiAgICAgICAgJ2Rlc2NyaXB0aW9uT2JqZWN0JyxcbiAgICAgICAgdGhpcy5sYW5nM1xuICAgICAgKSxcbiAgICAgIHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlTGluaywgJ2Rlc2NyaXB0aW9uJylcbiAgICApXG4gICAgLy8gbm8gdXJsOiBmYWlsIGVhcmx5XG4gICAgaWYgKHVybCA9PT0gbnVsbCkge1xuICAgICAgLy8gVE9ETzogY29sbGVjdCBlcnJvcnMgYXQgdGhlIHJlY29yZCBsZXZlbD9cbiAgICAgIGNvbnNvbGUud2FybignQSBsaW5rIHdpdGhvdXQgdmFsaWQgVVJMIHdhcyBmb3VuZCcsIHNvdXJjZUxpbmspXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IHByb3RvY29sID0gc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2VMaW5rLCAncHJvdG9jb2wnKVxuICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldExpbmtUeXBlKHVybC50b1N0cmluZygpLCBwcm90b2NvbClcbiAgICBjb25zdCBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPSBtYXRjaFByb3RvY29sKHByb3RvY29sKVxuICAgIGNvbnN0IG1pbWVUeXBlTWF0Y2hlcyA9XG4gICAgICBwcm90b2NvbCAmJiBwcm90b2NvbC5tYXRjaCgvXldXVzpET1dOTE9BRDooLitcXC8uKykkLylcbiAgICBjb25zdCBtaW1lVHlwZSA9IG1pbWVUeXBlTWF0Y2hlcyAmJiBtaW1lVHlwZU1hdGNoZXNbMV1cblxuICAgIGNvbnN0IGRpc3RyaWJ1dGlvbiA9IHtcbiAgICAgIC4uLihuYW1lICYmIHsgbmFtZSB9KSxcbiAgICAgIC4uLihkZXNjcmlwdGlvbiAmJiB7IGRlc2NyaXB0aW9uIH0pLFxuICAgIH1cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRpc3RyaWJ1dGlvbixcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIHVybDogdXJsLFxuICAgICAgICAgIGFjY2Vzc1NlcnZpY2VQcm90b2NvbCxcbiAgICAgICAgfVxuICAgICAgY2FzZSAnbGluayc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZGlzdHJpYnV0aW9uLFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kaXN0cmlidXRpb24sXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAuLi4obWltZVR5cGUgJiYgeyBtaW1lVHlwZSB9KSxcbiAgICAgICAgfVxuICAgICAgY2FzZSAnZW5kcG9pbnQnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRpc3RyaWJ1dGlvbixcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIGVuZHBvaW50VXJsOiB1cmwsXG4gICAgICAgICAgcHJvdG9jb2w6IGFjY2Vzc1NlcnZpY2VQcm90b2NvbCxcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkRXh0cmEgPSAodmFsdWU6IG9iamVjdCwgb3V0cHV0OiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+KSA9PiAoe1xuICAgIC4uLm91dHB1dCxcbiAgICBleHRyYXM6IHsgLi4uKG91dHB1dC5leHRyYXMgfHwge30pLCAuLi52YWx1ZSB9LFxuICB9KVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9nbjQvdHlwZXMvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnZ2VvanNvbidcblxudHlwZSBMYW5nQ29kZSA9IHN0cmluZ1xudHlwZSBNdWx0aWxpbmd1YWxGaWVsZCA9IHtcbiAgW0sgaW4gYGxhbmcke0xhbmdDb2RlfWBdOiBzdHJpbmdcbn0gJiB7XG4gIGRlZmF1bHQ6IHN0cmluZ1xuICBsaW5rPzogc3RyaW5nXG59XG5cbnR5cGUgQm9vbGVhblN0cmluZyA9ICd0cnVlJyB8ICdmYWxzZSdcbmludGVyZmFjZSBDb2RlTGlzdEVudHJ5IGV4dGVuZHMgTXVsdGlsaW5ndWFsRmllbGQge1xuICBrZXk6IHN0cmluZ1xuICBsaW5rPzogc3RyaW5nXG59XG5cbnR5cGUgTWF5YmVBcnJheTxUPiA9IFQgfCBUW11cblxuaW50ZXJmYWNlIENvbnRhY3Qge1xuICBvcmdhbmlzYXRpb24/OiBzdHJpbmdcbiAgb3JnYW5pc2F0aW9uT2JqZWN0PzogTXVsdGlsaW5ndWFsRmllbGRcbiAgcm9sZTogc3RyaW5nXG4gIGVtYWlsOiBzdHJpbmdcbiAgd2Vic2l0ZTogc3RyaW5nXG4gIGxvZ286IHN0cmluZ1xuICBpbmRpdmlkdWFsOiBzdHJpbmdcbiAgcG9zaXRpb246IHN0cmluZ1xuICBwaG9uZTogc3RyaW5nXG4gIGFkZHJlc3M6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgT3ZlcnZpZXcge1xuICBkYXRhPzogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xuICB0ZXh0PzogTXVsdGlsaW5ndWFsRmllbGRcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlRGF0ZSB7XG4gIHR5cGU6IHN0cmluZ1xuICBkYXRlOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2Uge1xuICBndGU/OiBzdHJpbmdcbiAgbHRlPzogc3RyaW5nXG59XG5cbmludGVyZmFjZSBSZXNvdXJjZUlkZW50aWZpZXIge1xuICBjb2RlOiBzdHJpbmdcbiAgY29kZVNwYWNlOiBzdHJpbmdcbiAgbGluazogc3RyaW5nXG59XG5cbmludGVyZmFjZSBTcGVjaWZpY2F0aW9uQ29uZm9ybWFuY2Uge1xuICB0aXRsZTogc3RyaW5nXG4gIGRhdGU6IHN0cmluZ1xuICBleHBsYW5hdGlvbjogc3RyaW5nXG4gIHBhc3M6IEJvb2xlYW5TdHJpbmdcbn1cblxudHlwZSBUaGVzYXVydXNOYW1lID0gc3RyaW5nXG5leHBvcnQgaW50ZXJmYWNlIFRoZXNhdXJ1cyB7XG4gIGlkPzogc3RyaW5nXG4gIHRpdGxlPzogc3RyaW5nXG4gIHRoZW1lPzogc3RyaW5nXG4gIGxpbms/OiBzdHJpbmdcbiAga2V5d29yZHM6IE11bHRpbGluZ3VhbEZpZWxkW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rIHtcbiAgcHJvdG9jb2w/OiBzdHJpbmdcbiAgbWltZVR5cGU/OiBzdHJpbmdcbiAgdXJsPzogc3RyaW5nXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgZnVuY3Rpb24/OiBzdHJpbmdcbiAgYXBwbGljYXRpb25Qcm9maWxlPzogc3RyaW5nXG4gIGdyb3VwPzogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIE1ldGFkYXRhT2JqZWN0ID0gUGFydGlhbDx7XG4gIE1EX0NvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBNRF9MZWdhbENvbnN0cmFpbnRzT3RoZXJDb25zdHJhaW50c09iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBPcmc6IHN0cmluZ1xuICBPcmdGb3JSZXNvdXJjZTogc3RyaW5nW11cbiAgYWxsS2V5d29yZHM6IFJlY29yZDxUaGVzYXVydXNOYW1lLCBUaGVzYXVydXM+XG4gIGNoYW5nZURhdGU6IHN0cmluZ1xuICBjbF9jaGFyYWN0ZXJTZXQ6IENvZGVMaXN0RW50cnlbXVxuICBjbF9mdW5jdGlvbjogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX2hpZXJhcmNoeUxldmVsOiBDb2RlTGlzdEVudHJ5W11cbiAgY2xfcmVzb3VyY2VDaGFyYWN0ZXJTZXQ6IENvZGVMaXN0RW50cnlbXVxuICBjbF9zdGF0dXM6IENvZGVMaXN0RW50cnlbXVxuICBjbF90b3BpYzogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX3R5cGU6IENvZGVMaXN0RW50cnlbXVxuICBjb25mb3JtVG9fVGl0cmVkdW5lc3BjaWZpY2F0aW9ubGFxdWVsbGVsYXNyaWVkZWRvbm5lc2VzdGNvbmZvcm1lb3Vub246IHN0cmluZ1xuICBjb250YWN0OiBDb250YWN0W11cbiAgY29udGFjdEZvclJlc291cmNlOiBDb250YWN0W11cbiAgY3JlYXRlRGF0ZTogc3RyaW5nXG4gIGNyZWF0aW9uRGF0ZUZvclJlc291cmNlOiBzdHJpbmdbXVxuICBjcmVhdGlvbk1vbnRoRm9yUmVzb3VyY2U6IHN0cmluZ1xuICBjcmVhdGlvblllYXJGb3JSZXNvdXJjZTogc3RyaW5nXG4gIGRhdGVTdGFtcDogc3RyaW5nXG4gIGRpc3BsYXlPcmRlcjogc3RyaW5nXG4gIGRvY1R5cGU6IHN0cmluZ1xuICBkb2N1bWVudDogc3RyaW5nXG4gIGRvY3VtZW50U3RhbmRhcmQ6IHN0cmluZ1xuICBkcmFmdDogc3RyaW5nXG4gIGV4dGVudERlc2NyaXB0aW9uT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFtdXG4gIGV4dHJhOiBzdHJpbmdcbiAgZmVhdHVyZU9mUmVjb3JkOiBzdHJpbmdcbiAgZmVlZGJhY2tDb3VudDogc3RyaW5nXG4gIGdlb206IEdlb21ldHJ5IHwgR2VvbWV0cnlbXVxuICBncm91cE93bmVyOiBzdHJpbmdcbiAgZ3JvdXBQdWJsaXNoZWQ6IHN0cmluZyB8IHN0cmluZ1tdXG4gIGdyb3VwUHVibGlzaGVkSWQ6IHN0cmluZyB8IHN0cmluZ1tdXG4gIGhhcnZlc3RlclV1aWQ6IHN0cmluZ1xuICBoYXNJbnNwaXJlVGhlbWU6IEJvb2xlYW5TdHJpbmdcbiAgaGFzT3ZlcnZpZXc6IEJvb2xlYW5TdHJpbmdcbiAgaGFzeGxpbmtzOiBCb29sZWFuU3RyaW5nXG4gIGlkOiBzdHJpbmdcbiAgaW5kZXhpbmdEYXRlOiBzdHJpbmcgfCBudW1iZXJcbiAgaW5kZXhpbmdFcnJvcjogc3RyaW5nIHwgc3RyaW5nW11cbiAgaW5kZXhpbmdFcnJvck1zZzogc3RyaW5nW11cbiAgaW5zcGlyZUFubmV4OiBzdHJpbmdbXVxuICBpbnNwaXJlQW5uZXhGb3JGaXJzdFRoZW1lOiBzdHJpbmdcbiAgaW5zcGlyZVRoZW1lOiBzdHJpbmdbXVxuICBpbnNwaXJlVGhlbWVGaXJzdDogc3RyaW5nXG4gIGluc3BpcmVUaGVtZUZpcnN0X3N5bjogc3RyaW5nXG4gIGluc3BpcmVUaGVtZU51bWJlcjogc3RyaW5nXG4gIGluc3BpcmVUaGVtZVVyaTogc3RyaW5nW11cbiAgaW5zcGlyZVRoZW1lX3N5bjogc3RyaW5nW11cbiAgaXNIYXJ2ZXN0ZWQ6IHN0cmluZ1xuICBpc09wZW5EYXRhOiBzdHJpbmdcbiAgaXNQdWJsaXNoZWRUb0FsbDogc3RyaW5nXG4gIGlzVGVtcGxhdGU6IHN0cmluZ1xuICBrZXl3b3JkVHlwZTogUmVjb3JkPHN0cmluZywgTXVsdGlsaW5ndWFsRmllbGRbXT5cbiAgbGljZW5zZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBsaW5lYWdlT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICBsaW5rOiBMaW5rW11cbiAgbGlua1Byb3RvY29sOiBzdHJpbmdbXVxuICBsaW5rVXJsOiBzdHJpbmcgfCBzdHJpbmdbXVxuICBsaW5rVXJsUHJvdG9jb2xPR0NXRlM6IHN0cmluZyB8IHN0cmluZ1tdXG4gIGxpbmtVcmxQcm90b2NvbE9HQ1dNUzogc3RyaW5nW11cbiAgbGlua1VybFByb3RvY29sV1dXTElOSzEwaHR0cGxpbms6IE1heWJlQXJyYXk8c3RyaW5nPlxuICBsaW5rVXJsUHJvdG9jb2xXV1dMSU5LMTBodHRwcmVsYXRlZDogc3RyaW5nXG4gIGxvY2F0aW9uOiBzdHJpbmdcbiAgbG9nbzogc3RyaW5nXG4gIG1haW5MYW5ndWFnZTogc3RyaW5nXG4gIG1ldGFkYXRhSWRlbnRpZmllcjogc3RyaW5nXG4gIG92ZXJ2aWV3OiBPdmVydmlld1tdXG4gIG93bmVyOiBzdHJpbmdcbiAgcG9pbnRPZkNvbnRhY3RPcmc6IHN0cmluZ1xuICBwb2ludE9mQ29udGFjdE9yZ0ZvclJlc291cmNlOiBzdHJpbmdcbiAgcG9wdWxhcml0eTogbnVtYmVyXG4gIHB1YmxpY2F0aW9uRGF0ZUZvclJlc291cmNlOiBzdHJpbmcgfCBzdHJpbmdbXVxuICByYXRpbmc6IHN0cmluZ1xuICByZWNvcmQ6IHN0cmluZ1xuICByZWNvcmRHcm91cDogc3RyaW5nXG4gIHJlY29yZE93bmVyOiBzdHJpbmdcbiAgcmVzb2x1dGlvbkRpc3RhbmNlOiBzdHJpbmdbXVxuICByZXNvbHV0aW9uU2NhbGVEZW5vbWluYXRvcjogc3RyaW5nW11cbiAgcmVzb3VyY2VBYnN0cmFjdE9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgcmVzb3VyY2VEYXRlOiBSZXNvdXJjZURhdGVbXVxuICByZXNvdXJjZUVkaXRpb246IHN0cmluZ1xuICByZXNvdXJjZUlkZW50aWZpZXI6IFJlc291cmNlSWRlbnRpZmllcltdXG4gIHJlc291cmNlTGFuZ3VhZ2U6IHN0cmluZ1tdXG4gIHJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2U6IFJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2VbXVxuICByZXNvdXJjZVRlbXBvcmFsRXh0ZW50RGF0ZVJhbmdlOiBSZXNvdXJjZVRlbXBvcmFsRGF0ZVJhbmdlW11cbiAgcmVzb3VyY2VUaXRsZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgcmVzb3VyY2VUeXBlOiBzdHJpbmdbXVxuICByZXNvdXJjZVR5cGVOYW1lT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICByZXZpc2lvbkRhdGVGb3JSZXNvdXJjZTogc3RyaW5nW11cbiAgcmV2aXNpb25Nb250aEZvclJlc291cmNlOiBzdHJpbmdcbiAgcmV2aXNpb25ZZWFyRm9yUmVzb3VyY2U6IHN0cmluZ1xuICBzb3VyY2VDYXRhbG9ndWU6IHN0cmluZ1xuICBzcGVjaWZpY2F0aW9uQ29uZm9ybWFuY2U6IE1heWJlQXJyYXk8U3BlY2lmaWNhdGlvbkNvbmZvcm1hbmNlPlxuICBzdGFuZGFyZE5hbWVPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIHN0YW5kYXJkVmVyc2lvbk9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgdGFnOiBNdWx0aWxpbmd1YWxGaWVsZFtdXG4gIHRhZ051bWJlcjogc3RyaW5nXG4gIHVzZXJTYXZlZENvdW50OiBzdHJpbmdcbiAgdXNlcmluZm86IHN0cmluZ1xuICB1dWlkOiBzdHJpbmdcbiAgdmFsaWQ6IHN0cmluZ1xuICB4bGluazogc3RyaW5nW11cbn0+XG5cbmV4cG9ydCBpbnRlcmZhY2UgR240UmVjb3JkIHtcbiAgX2luZGV4OiBzdHJpbmdcbiAgX3R5cGU/OiBzdHJpbmdcbiAgX2lkOiBzdHJpbmdcbiAgX3Njb3JlOiBudW1iZXJcbiAgX3NvdXJjZTogTWV0YWRhdGFPYmplY3RcbiAgZWRpdD86IGJvb2xlYW5cbiAgb3duZXI/OiBib29sZWFuXG4gIGlzUHVibGlzaGVkVG9BbGw/OiBib29sZWFuXG4gIHZpZXc/OiBib29sZWFuXG4gIG5vdGlmeT86IGJvb2xlYW5cbiAgZG93bmxvYWQ/OiBib29sZWFuXG4gIGR5bmFtaWM/OiBib29sZWFuXG4gIGZlYXR1cmVkPzogYm9vbGVhblxuICBndWVzdGRvd25sb2FkPzogYm9vbGVhblxuICBzZWxlY3RlZD86IGJvb2xlYW5cbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9nbjQvdHlwZXMvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnZ2VvanNvbidcblxudHlwZSBMYW5nQ29kZSA9IHN0cmluZ1xudHlwZSBNdWx0aWxpbmd1YWxGaWVsZCA9IHtcbiAgW0sgaW4gYGxhbmcke0xhbmdDb2RlfWBdOiBzdHJpbmdcbn0gJiB7XG4gIGRlZmF1bHQ6IHN0cmluZ1xuICBsaW5rPzogc3RyaW5nXG59XG5cbnR5cGUgQm9vbGVhblN0cmluZyA9ICd0cnVlJyB8ICdmYWxzZSdcbmludGVyZmFjZSBDb2RlTGlzdEVudHJ5IGV4dGVuZHMgTXVsdGlsaW5ndWFsRmllbGQge1xuICBrZXk6IHN0cmluZ1xuICBsaW5rPzogc3RyaW5nXG59XG5cbnR5cGUgTWF5YmVBcnJheTxUPiA9IFQgfCBUW11cblxuaW50ZXJmYWNlIENvbnRhY3Qge1xuICBvcmdhbmlzYXRpb24/OiBzdHJpbmdcbiAgb3JnYW5pc2F0aW9uT2JqZWN0PzogTXVsdGlsaW5ndWFsRmllbGRcbiAgcm9sZTogc3RyaW5nXG4gIGVtYWlsOiBzdHJpbmdcbiAgd2Vic2l0ZTogc3RyaW5nXG4gIGxvZ286IHN0cmluZ1xuICBpbmRpdmlkdWFsOiBzdHJpbmdcbiAgcG9zaXRpb246IHN0cmluZ1xuICBwaG9uZTogc3RyaW5nXG4gIGFkZHJlc3M6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgT3ZlcnZpZXcge1xuICBkYXRhPzogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xuICB0ZXh0PzogTXVsdGlsaW5ndWFsRmllbGRcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlRGF0ZSB7XG4gIHR5cGU6IHN0cmluZ1xuICBkYXRlOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2Uge1xuICBndGU/OiBzdHJpbmdcbiAgbHRlPzogc3RyaW5nXG59XG5cbmludGVyZmFjZSBSZXNvdXJjZUlkZW50aWZpZXIge1xuICBjb2RlOiBzdHJpbmdcbiAgY29kZVNwYWNlOiBzdHJpbmdcbiAgbGluazogc3RyaW5nXG59XG5cbmludGVyZmFjZSBTcGVjaWZpY2F0aW9uQ29uZm9ybWFuY2Uge1xuICB0aXRsZTogc3RyaW5nXG4gIGRhdGU6IHN0cmluZ1xuICBleHBsYW5hdGlvbjogc3RyaW5nXG4gIHBhc3M6IEJvb2xlYW5TdHJpbmdcbn1cblxudHlwZSBUaGVzYXVydXNOYW1lID0gc3RyaW5nXG5leHBvcnQgaW50ZXJmYWNlIFRoZXNhdXJ1cyB7XG4gIGlkPzogc3RyaW5nXG4gIHRpdGxlPzogc3RyaW5nXG4gIHRoZW1lPzogc3RyaW5nXG4gIGxpbms/OiBzdHJpbmdcbiAga2V5d29yZHM6IE11bHRpbGluZ3VhbEZpZWxkW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rIHtcbiAgcHJvdG9jb2w/OiBzdHJpbmdcbiAgbWltZVR5cGU/OiBzdHJpbmdcbiAgdXJsPzogc3RyaW5nXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgZnVuY3Rpb24/OiBzdHJpbmdcbiAgYXBwbGljYXRpb25Qcm9maWxlPzogc3RyaW5nXG4gIGdyb3VwPzogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIE1ldGFkYXRhT2JqZWN0ID0gUGFydGlhbDx7XG4gIE1EX0NvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBNRF9MZWdhbENvbnN0cmFpbnRzT3RoZXJDb25zdHJhaW50c09iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBPcmc6IHN0cmluZ1xuICBPcmdGb3JSZXNvdXJjZTogc3RyaW5nW11cbiAgYWxsS2V5d29yZHM6IFJlY29yZDxUaGVzYXVydXNOYW1lLCBUaGVzYXVydXM+XG4gIGNoYW5nZURhdGU6IHN0cmluZ1xuICBjbF9jaGFyYWN0ZXJTZXQ6IENvZGVMaXN0RW50cnlbXVxuICBjbF9mdW5jdGlvbjogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX2hpZXJhcmNoeUxldmVsOiBDb2RlTGlzdEVudHJ5W11cbiAgY2xfcmVzb3VyY2VDaGFyYWN0ZXJTZXQ6IENvZGVMaXN0RW50cnlbXVxuICBjbF9zdGF0dXM6IENvZGVMaXN0RW50cnlbXVxuICBjbF90b3BpYzogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX3R5cGU6IENvZGVMaXN0RW50cnlbXVxuICBjb25mb3JtVG9fVGl0cmVkdW5lc3BjaWZpY2F0aW9ubGFxdWVsbGVsYXNyaWVkZWRvbm5lc2VzdGNvbmZvcm1lb3Vub246IHN0cmluZ1xuICBjb250YWN0OiBDb250YWN0W11cbiAgY29udGFjdEZvclJlc291cmNlOiBDb250YWN0W11cbiAgY3JlYXRlRGF0ZTogc3RyaW5nXG4gIGNyZWF0aW9uRGF0ZUZvclJlc291cmNlOiBzdHJpbmdbXVxuICBjcmVhdGlvbk1vbnRoRm9yUmVzb3VyY2U6IHN0cmluZ1xuICBjcmVhdGlvblllYXJGb3JSZXNvdXJjZTogc3RyaW5nXG4gIGRhdGVTdGFtcDogc3RyaW5nXG4gIGRpc3BsYXlPcmRlcjogc3RyaW5nXG4gIGRvY1R5cGU6IHN0cmluZ1xuICBkb2N1bWVudDogc3RyaW5nXG4gIGRvY3VtZW50U3RhbmRhcmQ6IHN0cmluZ1xuICBkcmFmdDogc3RyaW5nXG4gIGV4dGVudERlc2NyaXB0aW9uT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFtdXG4gIGV4dHJhOiBzdHJpbmdcbiAgZmVhdHVyZU9mUmVjb3JkOiBzdHJpbmdcbiAgZmVlZGJhY2tDb3VudDogc3RyaW5nXG4gIGdlb206IEdlb21ldHJ5IHwgR2VvbWV0cnlbXVxuICBncm91cE93bmVyOiBzdHJpbmdcbiAgZ3JvdXBQdWJsaXNoZWQ6IHN0cmluZyB8IHN0cmluZ1tdXG4gIGdyb3VwUHVibGlzaGVkSWQ6IHN0cmluZyB8IHN0cmluZ1tdXG4gIGhhcnZlc3RlclV1aWQ6IHN0cmluZ1xuICBoYXNJbnNwaXJlVGhlbWU6IEJvb2xlYW5TdHJpbmdcbiAgaGFzT3ZlcnZpZXc6IEJvb2xlYW5TdHJpbmdcbiAgaGFzeGxpbmtzOiBCb29sZWFuU3RyaW5nXG4gIGlkOiBzdHJpbmdcbiAgaW5kZXhpbmdEYXRlOiBzdHJpbmcgfCBudW1iZXJcbiAgaW5kZXhpbmdFcnJvcjogc3RyaW5nIHwgc3RyaW5nW11cbiAgaW5kZXhpbmdFcnJvck1zZzogc3RyaW5nW11cbiAgaW5zcGlyZUFubmV4OiBzdHJpbmdbXVxuICBpbnNwaXJlQW5uZXhGb3JGaXJzdFRoZW1lOiBzdHJpbmdcbiAgaW5zcGlyZVRoZW1lOiBzdHJpbmdbXVxuICBpbnNwaXJlVGhlbWVGaXJzdDogc3RyaW5nXG4gIGluc3BpcmVUaGVtZUZpcnN0X3N5bjogc3RyaW5nXG4gIGluc3BpcmVUaGVtZU51bWJlcjogc3RyaW5nXG4gIGluc3BpcmVUaGVtZVVyaTogc3RyaW5nW11cbiAgaW5zcGlyZVRoZW1lX3N5bjogc3RyaW5nW11cbiAgaXNIYXJ2ZXN0ZWQ6IHN0cmluZ1xuICBpc09wZW5EYXRhOiBzdHJpbmdcbiAgZWRpdDogYm9vbGVhblxuICBpc1B1Ymxpc2hlZFRvQWxsOiBzdHJpbmdcbiAgaXNUZW1wbGF0ZTogc3RyaW5nXG4gIGtleXdvcmRUeXBlOiBSZWNvcmQ8c3RyaW5nLCBNdWx0aWxpbmd1YWxGaWVsZFtdPlxuICBsaWNlbnNlT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFtdXG4gIGxpbmVhZ2VPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIGxpbms6IExpbmtbXVxuICBsaW5rUHJvdG9jb2w6IHN0cmluZ1tdXG4gIGxpbmtVcmw6IHN0cmluZyB8IHN0cmluZ1tdXG4gIGxpbmtVcmxQcm90b2NvbE9HQ1dGUzogc3RyaW5nIHwgc3RyaW5nW11cbiAgbGlua1VybFByb3RvY29sT0dDV01TOiBzdHJpbmdbXVxuICBsaW5rVXJsUHJvdG9jb2xXV1dMSU5LMTBodHRwbGluazogTWF5YmVBcnJheTxzdHJpbmc+XG4gIGxpbmtVcmxQcm90b2NvbFdXV0xJTksxMGh0dHByZWxhdGVkOiBzdHJpbmdcbiAgbG9jYXRpb246IHN0cmluZ1xuICBsb2dvOiBzdHJpbmdcbiAgbWFpbkxhbmd1YWdlOiBzdHJpbmdcbiAgbWV0YWRhdGFJZGVudGlmaWVyOiBzdHJpbmdcbiAgb3ZlcnZpZXc6IE92ZXJ2aWV3W11cbiAgb3duZXI6IHN0cmluZ1xuICBwb2ludE9mQ29udGFjdE9yZzogc3RyaW5nXG4gIHBvaW50T2ZDb250YWN0T3JnRm9yUmVzb3VyY2U6IHN0cmluZ1xuICBwb3B1bGFyaXR5OiBudW1iZXJcbiAgcHVibGljYXRpb25EYXRlRm9yUmVzb3VyY2U6IHN0cmluZyB8IHN0cmluZ1tdXG4gIHJhdGluZzogc3RyaW5nXG4gIHJlY29yZDogc3RyaW5nXG4gIHJlY29yZEdyb3VwOiBzdHJpbmdcbiAgcmVjb3JkT3duZXI6IHN0cmluZ1xuICByZXNvbHV0aW9uRGlzdGFuY2U6IHN0cmluZ1tdXG4gIHJlc29sdXRpb25TY2FsZURlbm9taW5hdG9yOiBzdHJpbmdbXVxuICByZXNvdXJjZUFic3RyYWN0T2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICByZXNvdXJjZURhdGU6IFJlc291cmNlRGF0ZVtdXG4gIHJlc291cmNlRWRpdGlvbjogc3RyaW5nXG4gIHJlc291cmNlSWRlbnRpZmllcjogUmVzb3VyY2VJZGVudGlmaWVyW11cbiAgcmVzb3VyY2VMYW5ndWFnZTogc3RyaW5nW11cbiAgcmVzb3VyY2VUZW1wb3JhbERhdGVSYW5nZTogUmVzb3VyY2VUZW1wb3JhbERhdGVSYW5nZVtdXG4gIHJlc291cmNlVGVtcG9yYWxFeHRlbnREYXRlUmFuZ2U6IFJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2VbXVxuICByZXNvdXJjZVRpdGxlT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICByZXNvdXJjZVR5cGU6IHN0cmluZ1tdXG4gIHJlc291cmNlVHlwZU5hbWVPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIHJldmlzaW9uRGF0ZUZvclJlc291cmNlOiBzdHJpbmdbXVxuICByZXZpc2lvbk1vbnRoRm9yUmVzb3VyY2U6IHN0cmluZ1xuICByZXZpc2lvblllYXJGb3JSZXNvdXJjZTogc3RyaW5nXG4gIHNvdXJjZUNhdGFsb2d1ZTogc3RyaW5nXG4gIHNwZWNpZmljYXRpb25Db25mb3JtYW5jZTogTWF5YmVBcnJheTxTcGVjaWZpY2F0aW9uQ29uZm9ybWFuY2U+XG4gIHN0YW5kYXJkTmFtZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgc3RhbmRhcmRWZXJzaW9uT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICB0YWc6IE11bHRpbGluZ3VhbEZpZWxkW11cbiAgdGFnTnVtYmVyOiBzdHJpbmdcbiAgdXNlclNhdmVkQ291bnQ6IHN0cmluZ1xuICB1c2VyaW5mbzogc3RyaW5nXG4gIHV1aWQ6IHN0cmluZ1xuICB2YWxpZDogc3RyaW5nXG4gIHhsaW5rOiBzdHJpbmdbXVxufT5cblxuZXhwb3J0IGludGVyZmFjZSBHbjRSZWNvcmQge1xuICBfaW5kZXg6IHN0cmluZ1xuICBfdHlwZT86IHN0cmluZ1xuICBfaWQ6IHN0cmluZ1xuICBfc2NvcmU6IG51bWJlclxuICBfc291cmNlOiBNZXRhZGF0YU9iamVjdFxuICBlZGl0PzogYm9vbGVhblxuICBvd25lcj86IGJvb2xlYW5cbiAgaXNQdWJsaXNoZWRUb0FsbD86IGJvb2xlYW5cbiAgdmlldz86IGJvb2xlYW5cbiAgbm90aWZ5PzogYm9vbGVhblxuICBkb3dubG9hZD86IGJvb2xlYW5cbiAgZHluYW1pYz86IGJvb2xlYW5cbiAgZmVhdHVyZWQ/OiBib29sZWFuXG4gIGd1ZXN0ZG93bmxvYWQ/OiBib29sZWFuXG4gIHNlbGVjdGVkPzogYm9vbGVhblxufVxuIl19
@@ -1,64 +1,8 @@
1
+ import { updateFrequencyCodeValues, } from '../../../../../../../libs/common/domain/src/lib/model/record';
1
2
  export function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
2
- switch (frequencyCode) {
3
- case 'asNeeded':
4
- return 'asNeeded';
5
- case 'unknown':
6
- return 'unknown';
7
- case 'irregular':
8
- return 'irregular';
9
- case 'notPlanned':
10
- return 'notPlanned';
11
- case 'continual':
12
- return 'continual';
13
- case 'periodic':
14
- return 'periodic';
15
- case 'daily':
16
- return {
17
- updatedTimes: 1,
18
- per: 'day',
19
- };
20
- case 'weekly':
21
- return {
22
- updatedTimes: 1,
23
- per: 'week',
24
- };
25
- case 'fortnightly':
26
- return {
27
- updatedTimes: 0.5,
28
- per: 'week',
29
- };
30
- case 'semimonthly':
31
- return {
32
- updatedTimes: 2,
33
- per: 'month',
34
- };
35
- case 'monthly':
36
- return {
37
- updatedTimes: 1,
38
- per: 'month',
39
- };
40
- case 'quarterly':
41
- return {
42
- updatedTimes: 4,
43
- per: 'year',
44
- };
45
- case 'biannually':
46
- return {
47
- updatedTimes: 2,
48
- per: 'year',
49
- };
50
- case 'annually':
51
- return {
52
- updatedTimes: 1,
53
- per: 'year',
54
- };
55
- case 'biennially':
56
- return {
57
- updatedTimes: 0.5,
58
- per: 'year',
59
- };
60
- default:
61
- return null;
62
- }
3
+ return frequencyCode &&
4
+ updateFrequencyCodeValues.includes(frequencyCode)
5
+ ? frequencyCode
6
+ : null;
63
7
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZyZXF1ZW5jeS5tYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9pc28xOTEzOS91dGlscy91cGRhdGUtZnJlcXVlbmN5Lm1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsbUNBQW1DLENBQ2pELGFBQXFCO0lBRXJCLFFBQVEsYUFBYSxFQUFFLENBQUM7UUFDdEIsS0FBSyxVQUFVO1lBQ2IsT0FBTyxVQUFVLENBQUE7UUFDbkIsS0FBSyxTQUFTO1lBQ1osT0FBTyxTQUFTLENBQUE7UUFDbEIsS0FBSyxXQUFXO1lBQ2QsT0FBTyxXQUFXLENBQUE7UUFDcEIsS0FBSyxZQUFZO1lBQ2YsT0FBTyxZQUFZLENBQUE7UUFDckIsS0FBSyxXQUFXO1lBQ2QsT0FBTyxXQUFXLENBQUE7UUFDcEIsS0FBSyxVQUFVO1lBQ2IsT0FBTyxVQUFVLENBQUE7UUFDbkIsS0FBSyxPQUFPO1lBQ1YsT0FBTztnQkFDTCxZQUFZLEVBQUUsQ0FBQztnQkFDZixHQUFHLEVBQUUsS0FBSzthQUNYLENBQUE7UUFDSCxLQUFLLFFBQVE7WUFDWCxPQUFPO2dCQUNMLFlBQVksRUFBRSxDQUFDO2dCQUNmLEdBQUcsRUFBRSxNQUFNO2FBQ1osQ0FBQTtRQUNILEtBQUssYUFBYTtZQUNoQixPQUFPO2dCQUNMLFlBQVksRUFBRSxHQUFHO2dCQUNqQixHQUFHLEVBQUUsTUFBTTthQUNaLENBQUE7UUFDSCxLQUFLLGFBQWE7WUFDaEIsT0FBTztnQkFDTCxZQUFZLEVBQUUsQ0FBQztnQkFDZixHQUFHLEVBQUUsT0FBTzthQUNiLENBQUE7UUFDSCxLQUFLLFNBQVM7WUFDWixPQUFPO2dCQUNMLFlBQVksRUFBRSxDQUFDO2dCQUNmLEdBQUcsRUFBRSxPQUFPO2FBQ2IsQ0FBQTtRQUNILEtBQUssV0FBVztZQUNkLE9BQU87Z0JBQ0wsWUFBWSxFQUFFLENBQUM7Z0JBQ2YsR0FBRyxFQUFFLE1BQU07YUFDWixDQUFBO1FBQ0gsS0FBSyxZQUFZO1lBQ2YsT0FBTztnQkFDTCxZQUFZLEVBQUUsQ0FBQztnQkFDZixHQUFHLEVBQUUsTUFBTTthQUNaLENBQUE7UUFDSCxLQUFLLFVBQVU7WUFDYixPQUFPO2dCQUNMLFlBQVksRUFBRSxDQUFDO2dCQUNmLEdBQUcsRUFBRSxNQUFNO2FBQ1osQ0FBQTtRQUNILEtBQUssWUFBWTtZQUNmLE9BQU87Z0JBQ0wsWUFBWSxFQUFFLEdBQUc7Z0JBQ2pCLEdBQUcsRUFBRSxNQUFNO2FBQ1osQ0FBQTtRQUNIO1lBQ0UsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVwZGF0ZUZyZXF1ZW5jeSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVwZGF0ZUZyZXF1ZW5jeUZyb21GcmVxdWVuY3lDb2RlKFxuICBmcmVxdWVuY3lDb2RlOiBzdHJpbmdcbik6IFVwZGF0ZUZyZXF1ZW5jeSB7XG4gIHN3aXRjaCAoZnJlcXVlbmN5Q29kZSkge1xuICAgIGNhc2UgJ2FzTmVlZGVkJzpcbiAgICAgIHJldHVybiAnYXNOZWVkZWQnXG4gICAgY2FzZSAndW5rbm93bic6XG4gICAgICByZXR1cm4gJ3Vua25vd24nXG4gICAgY2FzZSAnaXJyZWd1bGFyJzpcbiAgICAgIHJldHVybiAnaXJyZWd1bGFyJ1xuICAgIGNhc2UgJ25vdFBsYW5uZWQnOlxuICAgICAgcmV0dXJuICdub3RQbGFubmVkJ1xuICAgIGNhc2UgJ2NvbnRpbnVhbCc6XG4gICAgICByZXR1cm4gJ2NvbnRpbnVhbCdcbiAgICBjYXNlICdwZXJpb2RpYyc6XG4gICAgICByZXR1cm4gJ3BlcmlvZGljJ1xuICAgIGNhc2UgJ2RhaWx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVwZGF0ZWRUaW1lczogMSxcbiAgICAgICAgcGVyOiAnZGF5JyxcbiAgICAgIH1cbiAgICBjYXNlICd3ZWVrbHknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdXBkYXRlZFRpbWVzOiAxLFxuICAgICAgICBwZXI6ICd3ZWVrJyxcbiAgICAgIH1cbiAgICBjYXNlICdmb3J0bmlnaHRseSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB1cGRhdGVkVGltZXM6IDAuNSxcbiAgICAgICAgcGVyOiAnd2VlaycsXG4gICAgICB9XG4gICAgY2FzZSAnc2VtaW1vbnRobHknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdXBkYXRlZFRpbWVzOiAyLFxuICAgICAgICBwZXI6ICdtb250aCcsXG4gICAgICB9XG4gICAgY2FzZSAnbW9udGhseSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB1cGRhdGVkVGltZXM6IDEsXG4gICAgICAgIHBlcjogJ21vbnRoJyxcbiAgICAgIH1cbiAgICBjYXNlICdxdWFydGVybHknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdXBkYXRlZFRpbWVzOiA0LFxuICAgICAgICBwZXI6ICd5ZWFyJyxcbiAgICAgIH1cbiAgICBjYXNlICdiaWFubnVhbGx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVwZGF0ZWRUaW1lczogMixcbiAgICAgICAgcGVyOiAneWVhcicsXG4gICAgICB9XG4gICAgY2FzZSAnYW5udWFsbHknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdXBkYXRlZFRpbWVzOiAxLFxuICAgICAgICBwZXI6ICd5ZWFyJyxcbiAgICAgIH1cbiAgICBjYXNlICdiaWVubmlhbGx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVwZGF0ZWRUaW1lczogMC41LFxuICAgICAgICBwZXI6ICd5ZWFyJyxcbiAgICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGxcbiAgfVxufVxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZyZXF1ZW5jeS5tYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9pc28xOTEzOS91dGlscy91cGRhdGUtZnJlcXVlbmN5Lm1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wseUJBQXlCLEdBQzFCLE1BQU0sOERBQThELENBQUE7QUFFckUsTUFBTSxVQUFVLG1DQUFtQyxDQUNqRCxhQUFxQjtJQUVyQixPQUFPLGFBQWE7UUFDbEIseUJBQXlCLENBQUMsUUFBUSxDQUFDLGFBQW9DLENBQUM7UUFDeEUsQ0FBQyxDQUFFLGFBQXFDO1FBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgVXBkYXRlRnJlcXVlbmN5LFxuICBVcGRhdGVGcmVxdWVuY3lDb2RlLFxuICB1cGRhdGVGcmVxdWVuY3lDb2RlVmFsdWVzLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVcGRhdGVGcmVxdWVuY3lGcm9tRnJlcXVlbmN5Q29kZShcbiAgZnJlcXVlbmN5Q29kZTogc3RyaW5nXG4pOiBVcGRhdGVGcmVxdWVuY3kge1xuICByZXR1cm4gZnJlcXVlbmN5Q29kZSAmJlxuICAgIHVwZGF0ZUZyZXF1ZW5jeUNvZGVWYWx1ZXMuaW5jbHVkZXMoZnJlcXVlbmN5Q29kZSBhcyBVcGRhdGVGcmVxdWVuY3lDb2RlKVxuICAgID8gKGZyZXF1ZW5jeUNvZGUgYXMgVXBkYXRlRnJlcXVlbmN5Q29kZSlcbiAgICA6IG51bGxcbn1cbiJdfQ==