@veloceapps/sdk 11.0.0-13 → 11.0.0-130

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 (162) hide show
  1. package/cms/cms.actions.d.ts +94 -29
  2. package/cms/components/element-renderer/element-renderer.component.d.ts +3 -10
  3. package/cms/components/preview/preview.component.d.ts +5 -6
  4. package/cms/components/preview/preview.types.d.ts +0 -4
  5. package/cms/services/element-context.service.d.ts +0 -1
  6. package/cms/types/common.types.d.ts +2 -0
  7. package/cms/types/index.d.ts +0 -1
  8. package/cms/utils/path.utils.d.ts +1 -2
  9. package/cms/vendor-map.d.ts +21 -40
  10. package/core/index.d.ts +1 -1
  11. package/core/modules/configuration/index.d.ts +4 -4
  12. package/core/modules/configuration/services/configuration-runtime.service.d.ts +8 -17
  13. package/core/modules/configuration/services/configuration-state.service.d.ts +5 -4
  14. package/core/modules/configuration/services/configuration.service.d.ts +24 -47
  15. package/core/modules/configuration/services/guided-selling.service.d.ts +15 -0
  16. package/core/modules/configuration/services/test-mode-configuration.service.d.ts +26 -0
  17. package/core/modules/configuration/types/configuration-runtime.types.d.ts +0 -5
  18. package/core/modules/configuration/types/configuration.types.d.ts +8 -2
  19. package/core/modules/configuration/types/index.d.ts +2 -0
  20. package/core/modules/flow-configuration/index.d.ts +0 -3
  21. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +11 -17
  22. package/core/operators/filter-successful-execute.operator.d.ts +3 -0
  23. package/core/operators/index.d.ts +1 -0
  24. package/core/services/flow-info.service.d.ts +11 -9
  25. package/core/services/flow-state-configuration.service.d.ts +14 -8
  26. package/core/services/flow-state.service.d.ts +6 -15
  27. package/core/services/index.d.ts +1 -1
  28. package/core/services/integration.state.d.ts +1 -1
  29. package/core/services/product-images.service.d.ts +3 -3
  30. package/core/services/runtime-settings.service.d.ts +1 -1
  31. package/core/services/sales-transaction.service.d.ts +9 -10
  32. package/core/types/flow-customization.types.d.ts +2 -2
  33. package/core/types/index.d.ts +0 -1
  34. package/core/utils/index.d.ts +3 -2
  35. package/core/utils/pcm.utils.d.ts +5 -0
  36. package/core/utils/transaction-item.utils.d.ts +10 -0
  37. package/core/utils/transaction-item.worker.d.ts +8 -0
  38. package/esm2020/cms/cms.actions.mjs +93 -71
  39. package/esm2020/cms/cms.default.mjs +2 -3
  40. package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +7 -64
  41. package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +3 -3
  42. package/esm2020/cms/components/preview/preview.component.mjs +19 -28
  43. package/esm2020/cms/components/preview/preview.types.mjs +1 -1
  44. package/esm2020/cms/services/element-context.service.mjs +1 -1
  45. package/esm2020/cms/types/common.types.mjs +1 -1
  46. package/esm2020/cms/types/index.mjs +1 -2
  47. package/esm2020/cms/utils/element.utils.mjs +3 -3
  48. package/esm2020/cms/utils/elements-resolver.mjs +16 -5
  49. package/esm2020/cms/utils/path.utils.mjs +1 -10
  50. package/esm2020/cms/vendor-map.mjs +21 -18
  51. package/esm2020/core/core.module.mjs +3 -6
  52. package/esm2020/core/index.mjs +2 -2
  53. package/esm2020/core/modules/configuration/configuration.module.mjs +17 -4
  54. package/esm2020/core/modules/configuration/index.mjs +5 -5
  55. package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +16 -64
  56. package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +65 -62
  57. package/esm2020/core/modules/configuration/services/configuration.service.mjs +123 -229
  58. package/esm2020/core/modules/configuration/services/guided-selling.service.mjs +62 -0
  59. package/esm2020/core/modules/configuration/services/test-mode-configuration.service.mjs +97 -0
  60. package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +1 -1
  61. package/esm2020/core/modules/configuration/types/configuration.types.mjs +1 -1
  62. package/esm2020/core/modules/configuration/types/index.mjs +3 -0
  63. package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +3 -4
  64. package/esm2020/core/modules/flow-configuration/index.mjs +1 -4
  65. package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +31 -39
  66. package/esm2020/core/operators/filter-successful-execute.operator.mjs +5 -0
  67. package/esm2020/core/operators/index.mjs +2 -0
  68. package/esm2020/core/services/flow-info.service.mjs +31 -22
  69. package/esm2020/core/services/flow-state-configuration.service.mjs +91 -24
  70. package/esm2020/core/services/flow-state.service.mjs +34 -82
  71. package/esm2020/core/services/index.mjs +2 -2
  72. package/esm2020/core/services/integration.state.mjs +2 -2
  73. package/esm2020/core/services/product-images.service.mjs +8 -8
  74. package/esm2020/core/services/runtime-settings.service.mjs +3 -3
  75. package/esm2020/core/services/sales-transaction.service.mjs +18 -13
  76. package/esm2020/core/types/flow-customization.types.mjs +1 -1
  77. package/esm2020/core/types/index.mjs +1 -2
  78. package/esm2020/core/utils/index.mjs +4 -3
  79. package/esm2020/core/utils/pcm.utils.mjs +15 -0
  80. package/esm2020/core/utils/transaction-item.utils.mjs +136 -0
  81. package/esm2020/core/utils/transaction-item.worker.mjs +16 -0
  82. package/esm2020/src/components/flow-header/flow-header.component.mjs +7 -8
  83. package/esm2020/src/components/guided-selling/guided-selling.component.mjs +7 -8
  84. package/esm2020/src/flow-routing.module.mjs +10 -8
  85. package/esm2020/src/guards/flow.guard.mjs +5 -7
  86. package/esm2020/src/guards/product-unload.guard.mjs +10 -8
  87. package/esm2020/src/index.mjs +1 -2
  88. package/esm2020/src/pages/assets/assets.component.mjs +7 -8
  89. package/esm2020/src/pages/catalog/catalog.component.mjs +7 -8
  90. package/esm2020/src/pages/debug/debug.component.mjs +12 -17
  91. package/esm2020/src/pages/product/product.component.mjs +39 -69
  92. package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +5 -6
  93. package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +7 -8
  94. package/esm2020/src/resolvers/pcm-model.resolver.mjs +12 -0
  95. package/esm2020/src/resolvers/sales-transaction.resolver.mjs +64 -0
  96. package/esm2020/src/resolvers/ui-definition.resolver.mjs +44 -0
  97. package/esm2020/src/services/flow-dialog.service.mjs +3 -24
  98. package/esm2020/src/services/flow-router.service.mjs +26 -33
  99. package/esm2020/src/services/flow.service.mjs +11 -17
  100. package/esm2020/src/types/index.mjs +2 -3
  101. package/esm2020/src/types/route.types.mjs +1 -1
  102. package/fesm2015/veloceapps-sdk-cms.mjs +166 -309
  103. package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
  104. package/fesm2015/veloceapps-sdk-core.mjs +706 -1179
  105. package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
  106. package/fesm2015/veloceapps-sdk.mjs +194 -250
  107. package/fesm2015/veloceapps-sdk.mjs.map +1 -1
  108. package/fesm2020/veloceapps-sdk-cms.mjs +162 -300
  109. package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
  110. package/fesm2020/veloceapps-sdk-core.mjs +764 -1204
  111. package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
  112. package/fesm2020/veloceapps-sdk.mjs +193 -247
  113. package/fesm2020/veloceapps-sdk.mjs.map +1 -1
  114. package/package.json +1 -1
  115. package/src/components/flow-header/flow-header.component.d.ts +3 -3
  116. package/src/components/guided-selling/guided-selling.component.d.ts +3 -3
  117. package/src/guards/product-unload.guard.d.ts +3 -3
  118. package/src/index.d.ts +0 -1
  119. package/src/pages/assets/assets.component.d.ts +3 -3
  120. package/src/pages/catalog/catalog.component.d.ts +3 -3
  121. package/src/pages/debug/debug.component.d.ts +2 -4
  122. package/src/pages/product/product.component.d.ts +14 -13
  123. package/src/pages/record-not-found/record-not-found.component.d.ts +2 -3
  124. package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
  125. package/src/resolvers/pcm-model.resolver.d.ts +3 -0
  126. package/src/resolvers/sales-transaction.resolver.d.ts +18 -0
  127. package/src/resolvers/ui-definition.resolver.d.ts +3 -0
  128. package/src/services/flow-dialog.service.d.ts +3 -5
  129. package/src/services/flow-router.service.d.ts +8 -8
  130. package/src/services/flow.service.d.ts +3 -3
  131. package/src/types/index.d.ts +1 -2
  132. package/src/types/route.types.d.ts +0 -5
  133. package/cms/plugins/configuration.plugin.d.ts +0 -23
  134. package/cms/types/configuration.types.d.ts +0 -21
  135. package/core/modules/configuration/helpers.d.ts +0 -7
  136. package/core/modules/configuration/services/runtime-context.service.d.ts +0 -12
  137. package/core/modules/flow-configuration/services/flow-update.service.d.ts +0 -13
  138. package/core/modules/flow-configuration/types/update.types.d.ts +0 -12
  139. package/core/services/quote-draft.service.d.ts +0 -50
  140. package/core/types/runtime.types.d.ts +0 -30
  141. package/core/utils/line-item.utils.d.ts +0 -25
  142. package/core/utils/line-item.worker.d.ts +0 -9
  143. package/esm2020/cms/plugins/configuration.plugin.mjs +0 -109
  144. package/esm2020/cms/types/configuration.types.mjs +0 -2
  145. package/esm2020/core/modules/configuration/helpers.mjs +0 -67
  146. package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +0 -45
  147. package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +0 -138
  148. package/esm2020/core/modules/flow-configuration/types/update.types.mjs +0 -2
  149. package/esm2020/core/services/quote-draft.service.mjs +0 -174
  150. package/esm2020/core/types/runtime.types.mjs +0 -16
  151. package/esm2020/core/utils/line-item.utils.mjs +0 -187
  152. package/esm2020/core/utils/line-item.worker.mjs +0 -19
  153. package/esm2020/src/resolvers/quote.resolver.mjs +0 -82
  154. package/esm2020/src/types/context-route.types.mjs +0 -2
  155. package/esm2020/src/types/metrics.types.mjs +0 -2
  156. package/esm2020/src/utils/flow.utils.mjs +0 -14
  157. package/esm2020/src/utils/index.mjs +0 -2
  158. package/src/resolvers/quote.resolver.d.ts +0 -18
  159. package/src/types/context-route.types.d.ts +0 -5
  160. package/src/types/metrics.types.d.ts +0 -5
  161. package/src/utils/flow.utils.d.ts +0 -1
  162. package/src/utils/index.d.ts +0 -1
@@ -46,10 +46,10 @@ export class FlowDialogService {
46
46
  primaryButton: 'Ok',
47
47
  });
48
48
  }
49
- showQuoteOutsideShoppingCartDialog() {
49
+ showQuoteInConfiguratorDialog() {
50
50
  return this.show({
51
51
  title: 'Quote Cannot be Saved',
52
- description: 'It is only possible to save quotes from the Shopping Cart. To proceed, go to the Shopping Cart.',
52
+ description: 'It not possible to save quotes from the Configurator. To proceed, finish configuring product.',
53
53
  primaryButton: 'Ok',
54
54
  });
55
55
  }
@@ -69,27 +69,6 @@ export class FlowDialogService {
69
69
  oppositeButtonActions: true,
70
70
  });
71
71
  }
72
- showReadonlyQuoteSubmitFailureDialog() {
73
- return this.show({
74
- title: 'Cannot Submit for Approval',
75
- description: 'It is only possible to submit for approval quotes with the “Draft“ status. Please create a new quote to proceed.',
76
- primaryButton: 'Ok',
77
- });
78
- }
79
- showOutsideShoppingCartQuoteSubmitFailureDialog() {
80
- return this.show({
81
- title: 'Cannot Submit for Approval',
82
- description: 'It is only possible to submit quotes for approval from the Shopping Cart. To proceed, go to the Shopping Cart.',
83
- primaryButton: 'Ok',
84
- });
85
- }
86
- showAccountSubmitFailureDialog() {
87
- return this.show({
88
- title: 'Save Changes',
89
- description: 'To submit for approval, save the quote first, and then submit it for approval from the Shopping Cart.',
90
- primaryButton: 'Ok',
91
- });
92
- }
93
72
  showTermsLimitReachedDialog() {
94
73
  const shoppingCartSettings = mapShoppingCartSettings(this.runtimeSettings.getShoppingCartSettings() || []);
95
74
  const maxRenewalTerms = getMaxRenewalTermsValue(shoppingCartSettings);
@@ -109,4 +88,4 @@ FlowDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
109
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowDialogService, decorators: [{
110
89
  type: Injectable
111
90
  }], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.RuntimeSettingsService }, { type: i2.FlowInfoService }]; } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9zZXJ2aWNlcy9mbG93LWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQUk1RSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQ1UsYUFBNEIsRUFDNUIsZUFBdUMsRUFDdkMsZUFBZ0M7UUFGaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN2QyxDQUFDO0lBRUcsSUFBSSxDQUFDLE1BQXdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDbEQsZUFBZSxFQUFFLElBQUk7WUFDckIsYUFBYSxFQUFFLElBQUk7WUFDbkIsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQUUsS0FBSztZQUNqQixLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRTtZQUNoQixVQUFVLEVBQUUsYUFBYTtTQUMxQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ2IsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsc0JBQXNCO1lBQzdCLFdB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QyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs4R0FqSFUsaUJBQWlCO2tIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldE1heFJlbmV3YWxUZXJtc1ZhbHVlLCBtYXBTaG9wcGluZ0NhcnRTZXR0aW5ncyB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRmxvd0luZm9TZXJ2aWNlLCBSdW50aW1lU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGbG93RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbG93RGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnR5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dEaWFsb2dTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNldHRpbmdzOiBSdW50aW1lU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgc2hvdyhjb25maWc6IEZsb3dEaWFsb2dDb25maWcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oRmxvd0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGlzbWlzc2FibGVNYXNrOiB0cnVlLFxuICAgICAgY2xvc2VPbkVzY2FwZTogdHJ1ZSxcbiAgICAgIGNsb3NhYmxlOiB0cnVlLFxuICAgICAgc2hvd0hlYWRlcjogZmFsc2UsXG4gICAgICB3aWR0aDogJzMyMHB4JyxcbiAgICAgIGRhdGE6IHsgY29uZmlnIH0sXG4gICAgICBzdHlsZUNsYXNzOiAnZmxvdy1kaWFsb2cnLFxuICAgIH0pLm9uQ2xvc2U7XG4gIH1cblxuICBwdWJsaWMgc2hvd0VtcHR5Q2FydERpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnTm8gUHJvZHVjdHMgaW4gUXVvdGUnLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGVyZSBhcmUgbm8gcHJvZHVjdHMgaW4geW91ciBRdW90ZS4gVG8gc2F2ZSBhIFF1b3RlLCBhZGQgYXQgbGVhc3Qgb25lIHByb2R1Y3QuJyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1JlYWRvbmx5TW9kZURpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBtb2RlID0gdGhpcy5mbG93SW5mb1NlcnZpY2UuY29udGV4dC5tb2RlO1xuICAgIGNvbnN0IG9iamVjdE5hbWUgPSBtb2RlID8gbW9kZVswXT8udG9VcHBlckNhc2UoKSArIG1vZGUuc3Vic3RyaW5nKDEpLnRvTG93ZXJDYXNlKCkgOiAnT2JqZWN0JztcblxuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdFcnJvcicsXG4gICAgICBkZXNjcmlwdGlvbjogYCR7b2JqZWN0TmFtZX0gQ2Fubm90IGJlIFNhdmVkYCxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1F1b3RlUmVhZG9ubHlNb2RlRGlhbG9nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdRdW90ZSBDYW5ub3QgYmUgU2F2ZWQnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdJdCBpcyBvbmx5IHBvc3NpYmxlIHRvIHNhdmUgcXVvdGVzIHdpdGggdGhlIOKAnERyYWZ04oCdIHN0YXR1cy4gUGxlYXNlIGNyZWF0ZSBhIG5ldyBxdW90ZSB0byBtYWtlIGFuZCBzYXZlIGNoYW5nZXMuJyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1F1b3RlT3V0c2lkZVNob3BwaW5nQ2FydERpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnUXVvdGUgQ2Fubm90IGJlIFNhdmVkJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSXQgaXMgb25seSBwb3NzaWJsZSB0byBzYXZlIHF1b3RlcyBmcm9tIHRoZSBTaG9wcGluZyBDYXJ0LiBUbyBwcm9jZWVkLCBnbyB0byB0aGUgU2hvcHBpbmcgQ2FydC4nLFxuICAgICAgcHJpbWFyeUJ1dHRvbjogJ09rJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93QWNjb3VudE5vQ2hhbmdlc0RpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnTm8gQ2hhbmdlcyB0byBTYXZlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlcmUgYXJlIG5vIGNoYW5nZXMgc2luY2UgdGhlIGxhc3QgdXBkYXRlLiBQbGVhc2UgbWFrZSBjaGFuZ2VzIHRvIHByb2NlZWQuJyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1Vuc2F2ZWRDaGFuZ2VzRGlhbG9nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdVbnNhdmVkIENoYW5nZXMnLFxuICAgICAgZGVzY3JpcHRpb246ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbGVhdmUgdGhpcyBwYWdlIGFuZCBkaXNjYXJkIHlvdXIgdW5zYXZlZCBjaGFuZ2VzPycsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnS2VlcCBFZGl0aW5nJyxcbiAgICAgIHNlY29uZGFyeUJ1dHRvbjogJ0Rpc2NhcmQgQ2hhbmdlcycsXG4gICAgICBvcHBvc2l0ZUJ1dHRvbkFjdGlvbnM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1JlYWRvbmx5UXVvdGVTdWJtaXRGYWlsdXJlRGlhbG9nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdDYW5ub3QgU3VibWl0IGZvciBBcHByb3ZhbCcsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0l0IGlzIG9ubHkgcG9zc2libGUgdG8gc3VibWl0IGZvciBhcHByb3ZhbCBxdW90ZXMgd2l0aCB0aGUg4oCcRHJhZnTigJwgc3RhdHVzLiBQbGVhc2UgY3JlYXRlIGEgbmV3IHF1b3RlIHRvIHByb2NlZWQuJyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd091dHNpZGVTaG9wcGluZ0NhcnRRdW90ZVN1Ym1pdEZhaWx1cmVEaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ0Nhbm5vdCBTdWJtaXQgZm9yIEFwcHJvdmFsJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnSXQgaXMgb25seSBwb3NzaWJsZSB0byBzdWJtaXQgcXVvdGVzIGZvciBhcHByb3ZhbCBmcm9tIHRoZSBTaG9wcGluZyBDYXJ0LiBUbyBwcm9jZWVkLCBnbyB0byB0aGUgU2hvcHBpbmcgQ2FydC4nLFxuICAgICAgcHJpbWFyeUJ1dHRvbjogJ09rJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93QWNjb3VudFN1Ym1pdEZhaWx1cmVEaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ1NhdmUgQ2hhbmdlcycsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ1RvIHN1Ym1pdCBmb3IgYXBwcm92YWwsIHNhdmUgdGhlIHF1b3RlIGZpcnN0LCBhbmQgdGhlbiBzdWJtaXQgaXQgZm9yIGFwcHJvdmFsIGZyb20gdGhlIFNob3BwaW5nIENhcnQuJyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1Rlcm1zTGltaXRSZWFjaGVkRGlhbG9nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHNob3BwaW5nQ2FydFNldHRpbmdzID0gbWFwU2hvcHBpbmdDYXJ0U2V0dGluZ3ModGhpcy5ydW50aW1lU2V0dGluZ3MuZ2V0U2hvcHBpbmdDYXJ0U2V0dGluZ3MoKSB8fCBbXSk7XG4gICAgY29uc3QgbWF4UmVuZXdhbFRlcm1zID0gZ2V0TWF4UmVuZXdhbFRlcm1zVmFsdWUoc2hvcHBpbmdDYXJ0U2V0dGluZ3MpO1xuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdUZXJtcyBMaW1pdCBSZWFjaGVkJyxcbiAgICAgIGRlc2NyaXB0aW9uOiBgWW91IGhhdmUgcmVhY2hlZCB0aGUgdGVybSBxdWFudGl0eSBsaW1pdDogJHttYXhSZW5ld2FsVGVybXN9LiBZb3UgY2FuIGluY3JlYXNlIHRoZSBsaW1pdCBpbiB0aGUgU2hvcHBpbmcgQ2FydCBTZXR0aW5ncy5gLFxuICAgICAgcHJpbWFyeUJ1dHRvbjogJ09rJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93RGlhbG9nKGRpYWxvZzoga2V5b2YgT21pdDxGbG93RGlhbG9nU2VydmljZSwgJ3Nob3cnIHwgJ2NvbnN0cnVjdG9yJz4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkaWFsb2dGdW5jdGlvbiA9IHRoaXNbZGlhbG9nXS5iaW5kKHRoaXMpO1xuICAgIHJldHVybiBkaWFsb2dGdW5jdGlvbihkaWFsb2cpO1xuICB9XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9zZXJ2aWNlcy9mbG93LWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQU01RSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQ1UsYUFBNEIsRUFDNUIsZUFBdUMsRUFDdkMsZUFBZ0M7UUFGaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN2QyxDQUFDO0lBRUcsSUFBSSxDQUFDLE1BQXdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDbEQsZUFBZSxFQUFFLElBQUk7WUFDckIsYUFBYSxFQUFFLElBQUk7WUFDbkIsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQUUsS0FBSztZQUNqQixLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRTtZQUNoQixVQUFVLEVBQUUsYUFBYTtTQUMxQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ2IsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsc0JBQXNCO1lBQzdCLFdBQVcsRUFBRSxpRkFBaUY7WUFDOUYsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRTlGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNmLEtBQUssRUFBRSxPQUFPO1lBQ2QsV0FBVyxFQUFFLEdBQUcsVUFBVSxrQkFBa0I7WUFDNUMsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLFdBQVcsRUFDVCxpSEFBaUg7WUFDbkgsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLDZCQUE2QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLFdBQVcsRUFBRSwrRkFBK0Y7WUFDNUcsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLDBCQUEwQjtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsb0JBQW9CO1lBQzNCLFdBQVcsRUFBRSw2RUFBNkU7WUFDMUYsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFdBQVcsRUFBRSw0RUFBNEU7WUFDekYsYUFBYSxFQUFFLGNBQWM7WUFDN0IsZUFBZSxFQUFFLGlCQUFpQjtZQUNsQyxxQkFBcUIsRUFBRSxJQUFJO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSwyQkFBMkI7UUFDaEMsTUFBTSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0csTUFBTSxlQUFlLEdBQUcsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUscUJBQXFCO1lBQzVCLFdBQVcsRUFBRSw2Q0FBNkMsZUFBZSw2REFBNkQ7WUFDdEksYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUFvQjtRQUNwQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OzhHQXRGVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0TWF4UmVuZXdhbFRlcm1zVmFsdWUsIG1hcFNob3BwaW5nQ2FydFNldHRpbmdzIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBGbG93SW5mb1NlcnZpY2UsIFJ1bnRpbWVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZsb3dEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEZsb3dEaWFsb2dDb25maWcgfSBmcm9tICcuLi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cudHlwZXMnO1xuXG5leHBvcnQgdHlwZSBGbG93RGlhbG9nRm4gPSBrZXlvZiBPbWl0PEZsb3dEaWFsb2dTZXJ2aWNlLCAnc2hvdycgfCAnY29uc3RydWN0b3InPjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dEaWFsb2dTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNldHRpbmdzOiBSdW50aW1lU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgc2hvdyhjb25maWc6IEZsb3dEaWFsb2dDb25maWcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oRmxvd0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGlzbWlzc2FibGVNYXNrOiB0cnVlLFxuICAgICAgY2xvc2VPbkVzY2FwZTogdHJ1ZSxcbiAgICAgIGNsb3NhYmxlOiB0cnVlLFxuICAgICAgc2hvd0hlYWRlcjogZmFsc2UsXG4gICAgICB3aWR0aDogJzMyMHB4JyxcbiAgICAgIGRhdGE6IHsgY29uZmlnIH0sXG4gICAgICBzdHlsZUNsYXNzOiAnZmxvdy1kaWFsb2cnLFxuICAgIH0pLm9uQ2xvc2U7XG4gIH1cblxuICBwdWJsaWMgc2hvd0VtcHR5Q2FydERpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnTm8gUHJvZHVjdHMgaW4gUXVvdGUnLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGVyZSBhcmUgbm8gcHJvZHVjdHMgaW4geW91ciBRdW90ZS4gVG8gc2F2ZSBhIFF1b3RlLCBhZGQgYXQgbGVhc3Qgb25lIHByb2R1Y3QuJyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1JlYWRvbmx5TW9kZURpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBtb2RlID0gdGhpcy5mbG93SW5mb1NlcnZpY2UuY29udGV4dC5tb2RlO1xuICAgIGNvbnN0IG9iamVjdE5hbWUgPSBtb2RlID8gbW9kZVswXT8udG9VcHBlckNhc2UoKSArIG1vZGUuc3Vic3RyaW5nKDEpLnRvTG93ZXJDYXNlKCkgOiAnT2JqZWN0JztcblxuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdFcnJvcicsXG4gICAgICBkZXNjcmlwdGlvbjogYCR7b2JqZWN0TmFtZX0gQ2Fubm90IGJlIFNhdmVkYCxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1F1b3RlUmVhZG9ubHlNb2RlRGlhbG9nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdRdW90ZSBDYW5ub3QgYmUgU2F2ZWQnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdJdCBpcyBvbmx5IHBvc3NpYmxlIHRvIHNhdmUgcXVvdGVzIHdpdGggdGhlIOKAnERyYWZ04oCdIHN0YXR1cy4gUGxlYXNlIGNyZWF0ZSBhIG5ldyBxdW90ZSB0byBtYWtlIGFuZCBzYXZlIGNoYW5nZXMuJyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1F1b3RlSW5Db25maWd1cmF0b3JEaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ1F1b3RlIENhbm5vdCBiZSBTYXZlZCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0l0IG5vdCBwb3NzaWJsZSB0byBzYXZlIHF1b3RlcyBmcm9tIHRoZSBDb25maWd1cmF0b3IuIFRvIHByb2NlZWQsIGZpbmlzaCBjb25maWd1cmluZyBwcm9kdWN0LicsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT2snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dBY2NvdW50Tm9DaGFuZ2VzRGlhbG9nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdObyBDaGFuZ2VzIHRvIFNhdmUnLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGVyZSBhcmUgbm8gY2hhbmdlcyBzaW5jZSB0aGUgbGFzdCB1cGRhdGUuIFBsZWFzZSBtYWtlIGNoYW5nZXMgdG8gcHJvY2VlZC4nLFxuICAgICAgcHJpbWFyeUJ1dHRvbjogJ09rJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VW5zYXZlZENoYW5nZXNEaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ1Vuc2F2ZWQgQ2hhbmdlcycsXG4gICAgICBkZXNjcmlwdGlvbjogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBsZWF2ZSB0aGlzIHBhZ2UgYW5kIGRpc2NhcmQgeW91ciB1bnNhdmVkIGNoYW5nZXM/JyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdLZWVwIEVkaXRpbmcnLFxuICAgICAgc2Vjb25kYXJ5QnV0dG9uOiAnRGlzY2FyZCBDaGFuZ2VzJyxcbiAgICAgIG9wcG9zaXRlQnV0dG9uQWN0aW9uczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VGVybXNMaW1pdFJlYWNoZWREaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3Qgc2hvcHBpbmdDYXJ0U2V0dGluZ3MgPSBtYXBTaG9wcGluZ0NhcnRTZXR0aW5ncyh0aGlzLnJ1bnRpbWVTZXR0aW5ncy5nZXRTaG9wcGluZ0NhcnRTZXR0aW5ncygpIHx8IFtdKTtcbiAgICBjb25zdCBtYXhSZW5ld2FsVGVybXMgPSBnZXRNYXhSZW5ld2FsVGVybXNWYWx1ZShzaG9wcGluZ0NhcnRTZXR0aW5ncyk7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ1Rlcm1zIExpbWl0IFJlYWNoZWQnLFxuICAgICAgZGVzY3JpcHRpb246IGBZb3UgaGF2ZSByZWFjaGVkIHRoZSB0ZXJtIHF1YW50aXR5IGxpbWl0OiAke21heFJlbmV3YWxUZXJtc30uIFlvdSBjYW4gaW5jcmVhc2UgdGhlIGxpbWl0IGluIHRoZSBTaG9wcGluZyBDYXJ0IFNldHRpbmdzLmAsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT2snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dEaWFsb2coZGlhbG9nOiBGbG93RGlhbG9nRm4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkaWFsb2dGdW5jdGlvbiA9IHRoaXNbZGlhbG9nXS5iaW5kKHRoaXMpO1xuICAgIHJldHVybiBkaWFsb2dGdW5jdGlvbihkaWFsb2cpO1xuICB9XG59XG4iXX0=
@@ -1,19 +1,19 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { ActivatedRoute, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, } from '@angular/router';
3
- import { SalesforceIdUtils, UITemplateType } from '@veloceapps/core';
3
+ import { SalesforceIdUtils } from '@veloceapps/core';
4
4
  import { FlowAction } from '@veloceapps/sdk/cms';
5
- import { FlowStateService, IntegrationState } from '@veloceapps/sdk/core';
6
- import { distinctUntilChanged, filter, from, map, shareReplay, startWith, tap } from 'rxjs';
5
+ import { FlowInfoService, IntegrationState } from '@veloceapps/sdk/core';
6
+ import { distinctUntilChanged, filter, from, map, shareReplay, startWith } from 'rxjs';
7
7
  import { VELOCE_FLOW_ROOT_ROUTE } from '../constants';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/router";
10
10
  import * as i2 from "@veloceapps/sdk/core";
11
11
  export class FlowRouterService {
12
- constructor(router, route, integrationState, flowStateService) {
12
+ constructor(router, route, integrationState, flowInfoService) {
13
13
  this.router = router;
14
14
  this.route = route;
15
15
  this.integrationState = integrationState;
16
- this.flowStateService = flowStateService;
16
+ this.flowInfoService = flowInfoService;
17
17
  this.urlHistory = [];
18
18
  this.getLastChildRoute = (route) => {
19
19
  return route.firstChild ? this.getLastChildRoute(route.firstChild) : route;
@@ -56,6 +56,15 @@ export class FlowRouterService {
56
56
  this.integrationState.dispatch(FlowAction.CloseGuidedSelling({ keepState: true }));
57
57
  });
58
58
  }
59
+ get route$() {
60
+ return this.lastChildRoute$;
61
+ }
62
+ get params$() {
63
+ return this.lastChildParams$;
64
+ }
65
+ get params() {
66
+ return this.getLastChildParams(this.route.snapshot);
67
+ }
59
68
  getFlowRootRoute(route) {
60
69
  const path = [...route.pathFromRoot];
61
70
  while (path.length) {
@@ -80,15 +89,6 @@ export class FlowRouterService {
80
89
  .join('/');
81
90
  return '/' + path;
82
91
  }
83
- get route$() {
84
- return this.lastChildRoute$;
85
- }
86
- get params$() {
87
- return this.lastChildParams$;
88
- }
89
- get params() {
90
- return this.getLastChildParams(this.route.snapshot);
91
- }
92
92
  isConfigurationRoute$() {
93
93
  return this.getFlowSubpath$().pipe(map(url => url.startsWith('product')));
94
94
  }
@@ -107,7 +107,7 @@ export class FlowRouterService {
107
107
  this.router.navigateByUrl(prevUrl);
108
108
  }
109
109
  }
110
- navigateTo(path, productId, lineItemId) {
110
+ navigateTo(path, productId, transactionItemId) {
111
111
  if (path === 'shopping-cart') {
112
112
  this.navigateToShoppingCart();
113
113
  }
@@ -118,23 +118,16 @@ export class FlowRouterService {
118
118
  this.navigateToAssets();
119
119
  }
120
120
  else if (path === 'product' && productId) {
121
- this.navigateToProductConfiguration(productId, lineItemId);
121
+ this.navigateToProductConfiguration(productId, transactionItemId);
122
122
  }
123
123
  }
124
- navigateToProductConfiguration(productId, lineItemId) {
125
- this.flowStateService
126
- .dispatch$(UITemplateType.FLOW_ENGINE, 'UPDATE_CONTEXT_PROPERTIES', {
127
- productId,
128
- lineItemId: lineItemId ?? '',
129
- })
130
- .pipe(tap(() => {
131
- const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);
132
- const flowRouteUrl = this.getFlowRootPath(routeSnapshot);
133
- this.router.navigate([flowRouteUrl, 'product'], {
134
- queryParams: { ...routeSnapshot.queryParams, productId },
135
- });
136
- }))
137
- .subscribe();
124
+ navigateToProductConfiguration(productId, transactionItemId) {
125
+ this.flowInfoService.updateContext({ productId, transactionItemId });
126
+ const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);
127
+ const flowRouteUrl = this.getFlowRootPath(routeSnapshot);
128
+ this.router.navigate([flowRouteUrl, 'product'], {
129
+ queryParams: { ...routeSnapshot.queryParams, productId, transactionItemId },
130
+ });
138
131
  }
139
132
  navigateToShoppingCart() {
140
133
  const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);
@@ -171,10 +164,10 @@ export class FlowRouterService {
171
164
  this.router.navigate([], { relativeTo: route, queryParams: { ...routeSnapshot.queryParams, ...queryParams } });
172
165
  }
173
166
  }
174
- FlowRouterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowRouterService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.IntegrationState }, { token: i2.FlowStateService }], target: i0.ɵɵFactoryTarget.Injectable });
167
+ FlowRouterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowRouterService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.IntegrationState }, { token: i2.FlowInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
175
168
  FlowRouterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowRouterService, providedIn: 'root' });
176
169
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowRouterService, decorators: [{
177
170
  type: Injectable,
178
171
  args: [{ providedIn: 'root' }]
179
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.IntegrationState }, { type: i2.FlowStateService }]; } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1yb3V0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9zZXJ2aWNlcy9mbG93LXJvdXRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLGNBQWMsRUFHZCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFDZixlQUFlLEVBRWYsTUFBTSxHQUNQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBSXRELE1BQU0sT0FBTyxpQkFBaUI7SUFRNUIsWUFDVSxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZ0JBQWtDLEVBQ2xDLGdCQUFrQztRQUhsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBUnBDLGVBQVUsR0FBYSxFQUFFLENBQUM7UUF5RjNCLHNCQUFpQixHQUFHLENBQUMsS0FBcUIsRUFBa0IsRUFBRTtZQUNuRSxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM3RSxDQUFDLENBQUM7UUFFSyxxQkFBZ0IsR0FBRyxDQUFDLEtBQXFCLEVBQUUsS0FBYSxFQUFrQixFQUFFO1lBQ2pGLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtnQkFDZCxPQUFPLEtBQUssQ0FBQzthQUNkO1lBRUQsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN2RixDQUFDLENBQUM7UUFFSyw4QkFBeUIsR0FBRyxDQUFDLEtBQTZCLEVBQTBCLEVBQUU7WUFDM0YsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckYsQ0FBQyxDQUFDO1FBRUsseUJBQW9CLEdBQUcsQ0FBQyxLQUFxQixFQUFzQyxFQUFFO1lBQzFGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNGLENBQUMsQ0FBQztRQUVLLHVCQUFrQixHQUFHLENBQUMsS0FBNkIsRUFBVSxFQUFFO1lBQ3BFLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNyRixDQUFDLENBQUM7UUFFSywwQkFBcUIsR0FBRyxDQUFDLEtBQXFCLEVBQXNCLEVBQUU7WUFDM0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEYsQ0FBQyxDQUFDO1FBRUssb0JBQWUsR0FBRyxHQUF1QixFQUFFO1lBQ2hELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3JCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDVixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEQsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBbkhBLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksYUFBYSxDQUFDLEVBQ3ZDLFdBQVcsRUFBRSxDQUNkLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ2pFLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUN2RCxXQUFXLEVBQUUsQ0FDZCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDL0QsU0FBUyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQzlELFdBQVcsRUFBRSxDQUNkLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDckMsTUFBTSxDQUNKLENBQUMsQ0FBQyxFQUFFLENBQ0YsQ0FBQyxZQUFZLGVBQWU7WUFDNUIsQ0FBQyxZQUFZLGdCQUFnQjtZQUM3QixDQUFDLFlBQVksYUFBYTtZQUMxQixDQUFDLFlBQVksZUFBZSxDQUMvQixFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxlQUFlLENBQUMsRUFDdEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUNoQixvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFdEMsZ0VBQWdFO1lBQ2hFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUE2QjtRQUNuRCxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFMUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxNQUFNO2FBQ1A7WUFFRCxJQUFLLE1BQU0sQ0FBQyxXQUEyQixFQUFFLEVBQUUsS0FBSyxzQkFBc0IsRUFBRTtnQkFDdEUsT0FBTyxNQUFNLENBQUM7YUFDZjtTQUNGO1FBRUQsT0FBTztJQUNULENBQUM7SUFFTSxlQUFlLENBQUMsS0FBNkI7UUFDbEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFlBQVk7YUFDaEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNsQixNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWIsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBd0NNLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLFlBQVk7UUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU1RCxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFZLEVBQUUsU0FBa0IsRUFBRSxVQUFtQjtRQUNyRSxJQUFJLElBQUksS0FBSyxlQUFlLEVBQUU7WUFDNUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDL0I7YUFBTSxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7YUFBTSxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDekI7YUFBTSxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksU0FBUyxFQUFFO1lBQzFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRU0sOEJBQThCLENBQUMsU0FBaUIsRUFBRSxVQUFtQjtRQUMxRSxJQUFJLENBQUMsZ0JBQWdCO2FBQ2xCLFNBQVMsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFO1lBQ2xFLFNBQVM7WUFDVCxVQUFVLEVBQUUsVUFBVSxJQUFJLEVBQUU7U0FDN0IsQ0FBQzthQUNELElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUV6RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsRUFBRTtnQkFDOUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRTthQUN6RCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFTSxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQWtCO1FBQ3ZELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFekQsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDMUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDOUQsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxZQUFZLENBQUMsRUFBVTtRQUM1QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpELE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTFELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE9BQU8sRUFBRSxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDN0MsU0FBUyxFQUFFLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNqRCxPQUFPLEVBQUUsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQzlDLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxHQUFHLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqSCxDQUFDOzs4R0F2T1UsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FESixNQUFNOzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGUsXG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIEV2ZW50LFxuICBOYXZpZ2F0aW9uQ2FuY2VsLFxuICBOYXZpZ2F0aW9uRW5kLFxuICBOYXZpZ2F0aW9uRXJyb3IsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgUGFyYW1zLFxuICBSb3V0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTYWxlc2ZvcmNlSWRVdGlscywgVUlUZW1wbGF0ZVR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IEZsb3dBY3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7IEZsb3dTdGF0ZVNlcnZpY2UsIEludGVncmF0aW9uU3RhdGUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmcm9tLCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVkVMT0NFX0ZMT1dfUk9PVF9ST1VURSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSb3V0ZVdpdGhJZCB9IGZyb20gJy4uL3R5cGVzL3JvdXRlLnR5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGbG93Um91dGVyU2VydmljZSB7XG4gIHByaXZhdGUgcm91dGVDaGFuZ2UkOiBPYnNlcnZhYmxlPEV2ZW50PjtcbiAgcHJpdmF0ZSBsYXN0Q2hpbGRQYXJhbXMkOiBPYnNlcnZhYmxlPFBhcmFtcz47XG4gIHByaXZhdGUgbGFzdENoaWxkUm91dGUkOiBPYnNlcnZhYmxlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+O1xuICBwcml2YXRlIHVybEhpc3Rvcnk6IHN0cmluZ1tdID0gW107XG5cbiAgcHVibGljIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBpbnRlZ3JhdGlvblN0YXRlOiBJbnRlZ3JhdGlvblN0YXRlLFxuICAgIHByaXZhdGUgZmxvd1N0YXRlU2VydmljZTogRmxvd1N0YXRlU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5yb3V0ZUNoYW5nZSQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgIGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcblxuICAgIHRoaXMubGFzdENoaWxkUGFyYW1zJCA9IHRoaXMud2F0Y2hMYXN0Q2hpbGRQYXJhbXMkKHRoaXMucm91dGUpLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5nZXRMYXN0Q2hpbGRQYXJhbXModGhpcy5yb3V0ZS5zbmFwc2hvdCkpLFxuICAgICAgc2hhcmVSZXBsYXkoKSxcbiAgICApO1xuICAgIHRoaXMubGFzdENoaWxkUm91dGUkID0gdGhpcy53YXRjaExhc3RDaGlsZFJvdXRlJCh0aGlzLnJvdXRlKS5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuZ2V0TGFzdENoaWxkUm91dGVTbmFwc2hvdCh0aGlzLnJvdXRlLnNuYXBzaG90KSksXG4gICAgICBzaGFyZVJlcGxheSgpLFxuICAgICk7XG5cbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICBmaWx0ZXIoXG4gICAgICAgIGUgPT5cbiAgICAgICAgICBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0IHx8XG4gICAgICAgICAgZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwgfHxcbiAgICAgICAgICBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fFxuICAgICAgICAgIGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IsXG4gICAgICApLFxuICAgICAgbWFwKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksXG4gICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuXG4gICAgdGhpcy5yb3V0ZUNoYW5nZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXJsSGlzdG9yeS5wdXNoKHRoaXMucm91dGVyLnVybCk7XG5cbiAgICAgIC8vIENsb3NlIEd1aWRlZCBTZWxsaW5nIHdoZW4gdXNlciBuYXZpZ2F0ZXMgdG8gYW5vdGhlciBmbG93IHBhZ2VcbiAgICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5kaXNwYXRjaChGbG93QWN0aW9uLkNsb3NlR3VpZGVkU2VsbGluZyh7IGtlZXBTdGF0ZTogdHJ1ZSB9KSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Rmxvd1Jvb3RSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHBhdGggPSBbLi4ucm91dGUucGF0aEZyb21Sb290XTtcblxuICAgIHdoaWxlIChwYXRoLmxlbmd0aCkge1xuICAgICAgY29uc3QgcGFyZW50ID0gcGF0aC5wb3AoKTtcblxuICAgICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICgocGFyZW50LnJvdXRlQ29uZmlnIGFzIFJvdXRlV2l0aElkKT8uaWQgPT09IFZFTE9DRV9GTE9XX1JPT1RfUk9VVEUpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgZ2V0Rmxvd1Jvb3RQYXRoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogc3RyaW5nIHtcbiAgICBjb25zdCByb290Um91dGUgPSB0aGlzLmdldEZsb3dSb290Um91dGUocm91dGUpO1xuICAgIGlmICghcm9vdFJvdXRlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aCA9IHJvb3RSb3V0ZS5wYXRoRnJvbVJvb3RcbiAgICAgIC5tYXAociA9PiByLnVybFswXSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIC5qb2luKCcvJyk7XG5cbiAgICByZXR1cm4gJy8nICsgcGF0aDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcm91dGUkKCk6IE9ic2VydmFibGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4ge1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGlsZFJvdXRlJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFyYW1zJCgpOiBPYnNlcnZhYmxlPFBhcmFtcz4ge1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGlsZFBhcmFtcyQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmFtcygpOiBQYXJhbXMge1xuICAgIHJldHVybiB0aGlzLmdldExhc3RDaGlsZFBhcmFtcyh0aGlzLnJvdXRlLnNuYXBzaG90KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMYXN0Q2hpbGRSb3V0ZSA9IChyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBBY3RpdmF0ZWRSb3V0ZSA9PiB7XG4gICAgcmV0dXJuIHJvdXRlLmZpcnN0Q2hpbGQgPyB0aGlzLmdldExhc3RDaGlsZFJvdXRlKHJvdXRlLmZpcnN0Q2hpbGQpIDogcm91dGU7XG4gIH07XG5cbiAgcHVibGljIGdldE50aENoaWxkUm91dGUgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlLCBpbmRleDogbnVtYmVyKTogQWN0aXZhdGVkUm91dGUgPT4ge1xuICAgIGlmIChpbmRleCA8PSAwKSB7XG4gICAgICByZXR1cm4gcm91dGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvdXRlLmZpcnN0Q2hpbGQgPyB0aGlzLmdldE50aENoaWxkUm91dGUocm91dGUuZmlyc3RDaGlsZCwgaW5kZXggLSAxKSA6IHJvdXRlO1xuICB9O1xuXG4gIHB1YmxpYyBnZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90ID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9PiB7XG4gICAgcmV0dXJuIHJvdXRlLmZpcnN0Q2hpbGQgPyB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3Qocm91dGUuZmlyc3RDaGlsZCkgOiByb3V0ZTtcbiAgfTtcblxuICBwdWJsaWMgd2F0Y2hMYXN0Q2hpbGRSb3V0ZSQgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogT2JzZXJ2YWJsZTxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVDaGFuZ2UkLnBpcGUobWFwKCgpID0+IHRoaXMuZ2V0TGFzdENoaWxkUm91dGVTbmFwc2hvdChyb3V0ZS5zbmFwc2hvdCkpKTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0TGFzdENoaWxkUGFyYW1zID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogUGFyYW1zID0+IHtcbiAgICByZXR1cm4gcm91dGUuZmlyc3RDaGlsZCA/IHRoaXMuZ2V0TGFzdENoaWxkUGFyYW1zKHJvdXRlLmZpcnN0Q2hpbGQpIDogcm91dGUucGFyYW1zO1xuICB9O1xuXG4gIHB1YmxpYyB3YXRjaExhc3RDaGlsZFBhcmFtcyQgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogT2JzZXJ2YWJsZTxQYXJhbXM+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZUNoYW5nZSQucGlwZShtYXAoKCkgPT4gdGhpcy5nZXRMYXN0Q2hpbGRQYXJhbXMocm91dGUuc25hcHNob3QpKSk7XG4gIH07XG5cbiAgcHVibGljIGdldEZsb3dTdWJwYXRoJCA9ICgpOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlJC5waXBlKFxuICAgICAgbWFwKHJvdXRlID0+IHtcbiAgICAgICAgY29uc3QgdXJsID0gcm91dGUudXJsLmpvaW4oJy8nKTtcbiAgICAgICAgY29uc3QgZmxvd1Jvb3RVcmwgPSB0aGlzLmdldEZsb3dSb290UGF0aChyb3V0ZSk7XG4gICAgICAgIHJldHVybiB1cmwucmVwbGFjZShmbG93Um9vdFVybCwgJycpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfTtcblxuICBwdWJsaWMgaXNDb25maWd1cmF0aW9uUm91dGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEZsb3dTdWJwYXRoJCgpLnBpcGUobWFwKHVybCA9PiB1cmwuc3RhcnRzV2l0aCgncHJvZHVjdCcpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNDYXJ0Um91dGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEZsb3dTdWJwYXRoJCgpLnBpcGUobWFwKHVybCA9PiB1cmwuc3RhcnRzV2l0aCgnY2FydCcpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNDYXRhbG9nUm91dGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEZsb3dTdWJwYXRoJCgpLnBpcGUobWFwKHVybCA9PiB1cmwuc3RhcnRzV2l0aCgnY2F0YWxvZycpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNBc3NldHNSb3V0ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rmxvd1N1YnBhdGgkKCkucGlwZShtYXAodXJsID0+IHVybC5zdGFydHNXaXRoKCdhc3NldHMnKSkpO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlQmFjaygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2VXJsID0gdGhpcy51cmxIaXN0b3J5W3RoaXMudXJsSGlzdG9yeS5sZW5ndGggLSAyXTtcblxuICAgIGlmIChwcmV2VXJsKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHByZXZVcmwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvKHBhdGg6IHN0cmluZywgcHJvZHVjdElkPzogc3RyaW5nLCBsaW5lSXRlbUlkPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBhdGggPT09ICdzaG9wcGluZy1jYXJ0Jykge1xuICAgICAgdGhpcy5uYXZpZ2F0ZVRvU2hvcHBpbmdDYXJ0KCk7XG4gICAgfSBlbHNlIGlmIChwYXRoID09PSAnY2F0YWxvZycpIHtcbiAgICAgIHRoaXMubmF2aWdhdGVUb0NhdGFsb2coKTtcbiAgICB9IGVsc2UgaWYgKHBhdGggPT09ICdhc3NldHMnKSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9Bc3NldHMoKTtcbiAgICB9IGVsc2UgaWYgKHBhdGggPT09ICdwcm9kdWN0JyAmJiBwcm9kdWN0SWQpIHtcbiAgICAgIHRoaXMubmF2aWdhdGVUb1Byb2R1Y3RDb25maWd1cmF0aW9uKHByb2R1Y3RJZCwgbGluZUl0ZW1JZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9Qcm9kdWN0Q29uZmlndXJhdGlvbihwcm9kdWN0SWQ6IHN0cmluZywgbGluZUl0ZW1JZD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZmxvd1N0YXRlU2VydmljZVxuICAgICAgLmRpc3BhdGNoJChVSVRlbXBsYXRlVHlwZS5GTE9XX0VOR0lORSwgJ1VQREFURV9DT05URVhUX1BST1BFUlRJRVMnLCB7XG4gICAgICAgIHByb2R1Y3RJZCxcbiAgICAgICAgbGluZUl0ZW1JZDogbGluZUl0ZW1JZCA/PyAnJyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCByb3V0ZVNuYXBzaG90ID0gdGhpcy5nZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90KHRoaXMucm91dGUuc25hcHNob3QpO1xuICAgICAgICAgIGNvbnN0IGZsb3dSb3V0ZVVybCA9IHRoaXMuZ2V0Rmxvd1Jvb3RQYXRoKHJvdXRlU25hcHNob3QpO1xuXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Zsb3dSb3V0ZVVybCwgJ3Byb2R1Y3QnXSwge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgLi4ucm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtcywgcHJvZHVjdElkIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9TaG9wcGluZ0NhcnQoKTogdm9pZCB7XG4gICAgY29uc3Qgcm91dGVTbmFwc2hvdCA9IHRoaXMuZ2V0TGFzdENoaWxkUm91dGVTbmFwc2hvdCh0aGlzLnJvdXRlLnNuYXBzaG90KTtcbiAgICBjb25zdCBmbG93Um91dGVVcmwgPSB0aGlzLmdldEZsb3dSb290UGF0aChyb3V0ZVNuYXBzaG90KTtcblxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtmbG93Um91dGVVcmwsICdjYXJ0J10sIHsgcXVlcnlQYXJhbXM6IHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXMgfSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUb0NhdGFsb2coKTogdm9pZCB7XG4gICAgY29uc3Qgcm91dGVTbmFwc2hvdCA9IHRoaXMuZ2V0TGFzdENoaWxkUm91dGVTbmFwc2hvdCh0aGlzLnJvdXRlLnNuYXBzaG90KTtcbiAgICBjb25zdCBmbG93Um91dGVVcmwgPSB0aGlzLmdldEZsb3dSb290UGF0aChyb3V0ZVNuYXBzaG90KTtcblxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtmbG93Um91dGVVcmwsICdjYXRhbG9nJ10sIHsgcXVlcnlQYXJhbXM6IHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXMgfSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUb0Fzc2V0cygpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0ZVNuYXBzaG90ID0gdGhpcy5nZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90KHRoaXMucm91dGUuc25hcHNob3QpO1xuICAgIGNvbnN0IGZsb3dSb3V0ZVVybCA9IHRoaXMuZ2V0Rmxvd1Jvb3RQYXRoKHJvdXRlU25hcHNob3QpO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Zsb3dSb3V0ZVVybCwgJ2Fzc2V0cyddLCB7IHF1ZXJ5UGFyYW1zOiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dFcnJvclBhZ2UkKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlscz86IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxmYWxzZT4ge1xuICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3QodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3QgZmxvd1JvdXRlVXJsID0gdGhpcy5nZXRGbG93Um9vdFBhdGgocm91dGVTbmFwc2hvdCk7XG5cbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtmbG93Um91dGVVcmwsICc0MDQnXSwge1xuICAgICAgICBzdGF0ZTogeyBtZXNzYWdlLCB0eXBlOiAnZXJyb3InLCAuLi4oZGV0YWlscyAmJiB7IGRldGFpbHMgfSkgfSxcbiAgICAgICAgcmVwbGFjZVVybDogdHJ1ZSxcbiAgICAgIH0pLFxuICAgICkucGlwZShtYXAoKCkgPT4gZmFsc2UpKTtcbiAgfVxuXG4gIHB1YmxpYyBzd2l0Y2hPYmplY3QoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3QodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3Qgcm91dGUgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlKHRoaXMucm91dGUpO1xuXG4gICAgY29uc3Qgb2JqTmFtZSA9IFNhbGVzZm9yY2VJZFV0aWxzLmdldFNmT2JqZWN0TmFtZUJ5SWQoaWQpO1xuXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7XG4gICAgICBxdW90ZUlkOiBvYmpOYW1lID09PSAnUXVvdGUnID8gaWQgOiB1bmRlZmluZWQsXG4gICAgICBhY2NvdW50SWQ6IG9iak5hbWUgPT09ICdBY2NvdW50JyA/IGlkIDogdW5kZWZpbmVkLFxuICAgICAgb3JkZXJJZDogb2JqTmFtZSA9PT0gJ09yZGVyJyA/IGlkIDogdW5kZWZpbmVkLFxuICAgIH07XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHsgcmVsYXRpdmVUbzogcm91dGUsIHF1ZXJ5UGFyYW1zOiB7IC4uLnJvdXRlU25hcHNob3QucXVlcnlQYXJhbXMsIC4uLnF1ZXJ5UGFyYW1zIH0gfSk7XG4gIH1cbn1cbiJdfQ==
172
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.IntegrationState }, { type: i2.FlowInfoService }]; } });
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1yb3V0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9zZXJ2aWNlcy9mbG93LXJvdXRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLGNBQWMsRUFHZCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFDZixlQUFlLEVBRWYsTUFBTSxHQUNQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFJdEQsTUFBTSxPQUFPLGlCQUFpQjtJQU81QixZQUNVLE1BQWMsRUFDZCxLQUFxQixFQUNyQixnQkFBa0MsRUFDbEMsZUFBZ0M7UUFIaEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTmxDLGVBQVUsR0FBYSxFQUFFLENBQUM7UUF1RjNCLHNCQUFpQixHQUFHLENBQUMsS0FBcUIsRUFBa0IsRUFBRTtZQUNuRSxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFL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LFNBQVMsRUFBRSxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDakQsT0FBTyxFQUFFLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUM5QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLGFBQWEsQ0FBQyxXQUFXLEVBQUUsR0FBRyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakgsQ0FBQzs7OEdBN05VLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREosTUFBTTsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlLFxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBFdmVudCxcbiAgTmF2aWdhdGlvbkNhbmNlbCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgTmF2aWdhdGlvbkVycm9yLFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIFBhcmFtcyxcbiAgUm91dGVyLFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2FsZXNmb3JjZUlkVXRpbHMgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IEZsb3dBY3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSwgSW50ZWdyYXRpb25TdGF0ZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZyb20sIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVkVMT0NFX0ZMT1dfUk9PVF9ST1VURSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSb3V0ZVdpdGhJZCB9IGZyb20gJy4uL3R5cGVzL3JvdXRlLnR5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGbG93Um91dGVyU2VydmljZSB7XG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHJpdmF0ZSByb3V0ZUNoYW5nZSQ6IE9ic2VydmFibGU8RXZlbnQ+O1xuICBwcml2YXRlIGxhc3RDaGlsZFBhcmFtcyQ6IE9ic2VydmFibGU8UGFyYW1zPjtcbiAgcHJpdmF0ZSBsYXN0Q2hpbGRSb3V0ZSQ6IE9ic2VydmFibGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD47XG4gIHByaXZhdGUgdXJsSGlzdG9yeTogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgICBwcml2YXRlIGZsb3dJbmZvU2VydmljZTogRmxvd0luZm9TZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnJvdXRlQ2hhbmdlJCA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgc2hhcmVSZXBsYXkoKSxcbiAgICApO1xuXG4gICAgdGhpcy5sYXN0Q2hpbGRQYXJhbXMkID0gdGhpcy53YXRjaExhc3RDaGlsZFBhcmFtcyQodGhpcy5yb3V0ZSkucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmdldExhc3RDaGlsZFBhcmFtcyh0aGlzLnJvdXRlLnNuYXBzaG90KSksXG4gICAgICBzaGFyZVJlcGxheSgpLFxuICAgICk7XG4gICAgdGhpcy5sYXN0Q2hpbGRSb3V0ZSQgPSB0aGlzLndhdGNoTGFzdENoaWxkUm91dGUkKHRoaXMucm91dGUpLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5nZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90KHRoaXMucm91dGUuc25hcHNob3QpKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcblxuICAgIHRoaXMubG9hZGluZyQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgZSA9PlxuICAgICAgICAgIGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgfHxcbiAgICAgICAgICBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCB8fFxuICAgICAgICAgIGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8XG4gICAgICAgICAgZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvcixcbiAgICAgICksXG4gICAgICBtYXAoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcbiAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICk7XG5cbiAgICB0aGlzLnJvdXRlQ2hhbmdlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cmxIaXN0b3J5LnB1c2godGhpcy5yb3V0ZXIudXJsKTtcblxuICAgICAgLy8gQ2xvc2UgR3VpZGVkIFNlbGxpbmcgd2hlbiB1c2VyIG5hdmlnYXRlcyB0byBhbm90aGVyIGZsb3cgcGFnZVxuICAgICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlLmRpc3BhdGNoKEZsb3dBY3Rpb24uQ2xvc2VHdWlkZWRTZWxsaW5nKHsga2VlcFN0YXRlOiB0cnVlIH0pKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcm91dGUkKCk6IE9ic2VydmFibGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4ge1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGlsZFJvdXRlJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFyYW1zJCgpOiBPYnNlcnZhYmxlPFBhcmFtcz4ge1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGlsZFBhcmFtcyQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmFtcygpOiBQYXJhbXMge1xuICAgIHJldHVybiB0aGlzLmdldExhc3RDaGlsZFBhcmFtcyh0aGlzLnJvdXRlLnNuYXBzaG90KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGbG93Um9vdFJvdXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcGF0aCA9IFsuLi5yb3V0ZS5wYXRoRnJvbVJvb3RdO1xuXG4gICAgd2hpbGUgKHBhdGgubGVuZ3RoKSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBwYXRoLnBvcCgpO1xuXG4gICAgICBpZiAoIXBhcmVudCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKChwYXJlbnQucm91dGVDb25maWcgYXMgUm91dGVXaXRoSWQpPy5pZCA9PT0gVkVMT0NFX0ZMT1dfUk9PVF9ST1VURSkge1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGbG93Um9vdFBhdGgocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJvb3RSb3V0ZSA9IHRoaXMuZ2V0Rmxvd1Jvb3RSb3V0ZShyb3V0ZSk7XG4gICAgaWYgKCFyb290Um91dGUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBwYXRoID0gcm9vdFJvdXRlLnBhdGhGcm9tUm9vdFxuICAgICAgLm1hcChyID0+IHIudXJsWzBdKVxuICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgLmpvaW4oJy8nKTtcblxuICAgIHJldHVybiAnLycgKyBwYXRoO1xuICB9XG5cbiAgcHVibGljIGdldExhc3RDaGlsZFJvdXRlID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IEFjdGl2YXRlZFJvdXRlID0+IHtcbiAgICByZXR1cm4gcm91dGUuZmlyc3RDaGlsZCA/IHRoaXMuZ2V0TGFzdENoaWxkUm91dGUocm91dGUuZmlyc3RDaGlsZCkgOiByb3V0ZTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0TnRoQ2hpbGRSb3V0ZSA9IChyb3V0ZTogQWN0aXZhdGVkUm91dGUsIGluZGV4OiBudW1iZXIpOiBBY3RpdmF0ZWRSb3V0ZSA9PiB7XG4gICAgaWYgKGluZGV4IDw9IDApIHtcbiAgICAgIHJldHVybiByb3V0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm91dGUuZmlyc3RDaGlsZCA/IHRoaXMuZ2V0TnRoQ2hpbGRSb3V0ZShyb3V0ZS5maXJzdENoaWxkLCBpbmRleCAtIDEpIDogcm91dGU7XG4gIH07XG5cbiAgcHVibGljIGdldExhc3RDaGlsZFJvdXRlU25hcHNob3QgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90ID0+IHtcbiAgICByZXR1cm4gcm91dGUuZmlyc3RDaGlsZCA/IHRoaXMuZ2V0TGFzdENoaWxkUm91dGVTbmFwc2hvdChyb3V0ZS5maXJzdENoaWxkKSA6IHJvdXRlO1xuICB9O1xuXG4gIHB1YmxpYyB3YXRjaExhc3RDaGlsZFJvdXRlJCA9IChyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBPYnNlcnZhYmxlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZUNoYW5nZSQucGlwZShtYXAoKCkgPT4gdGhpcy5nZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90KHJvdXRlLnNuYXBzaG90KSkpO1xuICB9O1xuXG4gIHB1YmxpYyBnZXRMYXN0Q2hpbGRQYXJhbXMgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBQYXJhbXMgPT4ge1xuICAgIHJldHVybiByb3V0ZS5maXJzdENoaWxkID8gdGhpcy5nZXRMYXN0Q2hpbGRQYXJhbXMocm91dGUuZmlyc3RDaGlsZCkgOiByb3V0ZS5wYXJhbXM7XG4gIH07XG5cbiAgcHVibGljIHdhdGNoTGFzdENoaWxkUGFyYW1zJCA9IChyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBPYnNlcnZhYmxlPFBhcmFtcz4gPT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlQ2hhbmdlJC5waXBlKG1hcCgoKSA9PiB0aGlzLmdldExhc3RDaGlsZFBhcmFtcyhyb3V0ZS5zbmFwc2hvdCkpKTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0Rmxvd1N1YnBhdGgkID0gKCk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGUkLnBpcGUoXG4gICAgICBtYXAocm91dGUgPT4ge1xuICAgICAgICBjb25zdCB1cmwgPSByb3V0ZS51cmwuam9pbignLycpO1xuICAgICAgICBjb25zdCBmbG93Um9vdFVybCA9IHRoaXMuZ2V0Rmxvd1Jvb3RQYXRoKHJvdXRlKTtcbiAgICAgICAgcmV0dXJuIHVybC5yZXBsYWNlKGZsb3dSb290VXJsLCAnJyk7XG4gICAgICB9KSxcbiAgICApO1xuICB9O1xuXG4gIHB1YmxpYyBpc0NvbmZpZ3VyYXRpb25Sb3V0ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rmxvd1N1YnBhdGgkKCkucGlwZShtYXAodXJsID0+IHVybC5zdGFydHNXaXRoKCdwcm9kdWN0JykpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0NhcnRSb3V0ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rmxvd1N1YnBhdGgkKCkucGlwZShtYXAodXJsID0+IHVybC5zdGFydHNXaXRoKCdjYXJ0JykpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0NhdGFsb2dSb3V0ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rmxvd1N1YnBhdGgkKCkucGlwZShtYXAodXJsID0+IHVybC5zdGFydHNXaXRoKCdjYXRhbG9nJykpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0Fzc2V0c1JvdXRlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRGbG93U3VicGF0aCQoKS5waXBlKG1hcCh1cmwgPT4gdXJsLnN0YXJ0c1dpdGgoJ2Fzc2V0cycpKSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVCYWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZVcmwgPSB0aGlzLnVybEhpc3RvcnlbdGhpcy51cmxIaXN0b3J5Lmxlbmd0aCAtIDJdO1xuXG4gICAgaWYgKHByZXZVcmwpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocHJldlVybCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG8ocGF0aDogc3RyaW5nLCBwcm9kdWN0SWQ/OiBzdHJpbmcsIHRyYW5zYWN0aW9uSXRlbUlkPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBhdGggPT09ICdzaG9wcGluZy1jYXJ0Jykge1xuICAgICAgdGhpcy5uYXZpZ2F0ZVRvU2hvcHBpbmdDYXJ0KCk7XG4gICAgfSBlbHNlIGlmIChwYXRoID09PSAnY2F0YWxvZycpIHtcbiAgICAgIHRoaXMubmF2aWdhdGVUb0NhdGFsb2coKTtcbiAgICB9IGVsc2UgaWYgKHBhdGggPT09ICdhc3NldHMnKSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9Bc3NldHMoKTtcbiAgICB9IGVsc2UgaWYgKHBhdGggPT09ICdwcm9kdWN0JyAmJiBwcm9kdWN0SWQpIHtcbiAgICAgIHRoaXMubmF2aWdhdGVUb1Byb2R1Y3RDb25maWd1cmF0aW9uKHByb2R1Y3RJZCwgdHJhbnNhY3Rpb25JdGVtSWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvUHJvZHVjdENvbmZpZ3VyYXRpb24ocHJvZHVjdElkOiBzdHJpbmcsIHRyYW5zYWN0aW9uSXRlbUlkPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5mbG93SW5mb1NlcnZpY2UudXBkYXRlQ29udGV4dCh7IHByb2R1Y3RJZCwgdHJhbnNhY3Rpb25JdGVtSWQgfSk7XG4gICAgY29uc3Qgcm91dGVTbmFwc2hvdCA9IHRoaXMuZ2V0TGFzdENoaWxkUm91dGVTbmFwc2hvdCh0aGlzLnJvdXRlLnNuYXBzaG90KTtcbiAgICBjb25zdCBmbG93Um91dGVVcmwgPSB0aGlzLmdldEZsb3dSb290UGF0aChyb3V0ZVNuYXBzaG90KTtcblxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtmbG93Um91dGVVcmwsICdwcm9kdWN0J10sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IC4uLnJvdXRlU25hcHNob3QucXVlcnlQYXJhbXMsIHByb2R1Y3RJZCwgdHJhbnNhY3Rpb25JdGVtSWQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvU2hvcHBpbmdDYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3QodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3QgZmxvd1JvdXRlVXJsID0gdGhpcy5nZXRGbG93Um9vdFBhdGgocm91dGVTbmFwc2hvdCk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmxvd1JvdXRlVXJsLCAnY2FydCddLCB7IHF1ZXJ5UGFyYW1zOiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9DYXRhbG9nKCk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZFJvdXRlU25hcHNob3QodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3QgZmxvd1JvdXRlVXJsID0gdGhpcy5nZXRGbG93Um9vdFBhdGgocm91dGVTbmFwc2hvdCk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmxvd1JvdXRlVXJsLCAnY2F0YWxvZyddLCB7IHF1ZXJ5UGFyYW1zOiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9Bc3NldHMoKTogdm9pZCB7XG4gICAgY29uc3Qgcm91dGVTbmFwc2hvdCA9IHRoaXMuZ2V0TGFzdENoaWxkUm91dGVTbmFwc2hvdCh0aGlzLnJvdXRlLnNuYXBzaG90KTtcbiAgICBjb25zdCBmbG93Um91dGVVcmwgPSB0aGlzLmdldEZsb3dSb290UGF0aChyb3V0ZVNuYXBzaG90KTtcblxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtmbG93Um91dGVVcmwsICdhc3NldHMnXSwgeyBxdWVyeVBhcmFtczogcm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtcyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93RXJyb3JQYWdlJChtZXNzYWdlOiBzdHJpbmcsIGRldGFpbHM/OiBzdHJpbmdbXSk6IE9ic2VydmFibGU8ZmFsc2U+IHtcbiAgICBjb25zdCByb3V0ZVNuYXBzaG90ID0gdGhpcy5nZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90KHRoaXMucm91dGUuc25hcHNob3QpO1xuICAgIGNvbnN0IGZsb3dSb3V0ZVVybCA9IHRoaXMuZ2V0Rmxvd1Jvb3RQYXRoKHJvdXRlU25hcHNob3QpO1xuXG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZmxvd1JvdXRlVXJsLCAnNDA0J10sIHtcbiAgICAgICAgc3RhdGU6IHsgbWVzc2FnZSwgdHlwZTogJ2Vycm9yJywgLi4uKGRldGFpbHMgJiYgeyBkZXRhaWxzIH0pIH0sXG4gICAgICAgIHJlcGxhY2VVcmw6IHRydWUsXG4gICAgICB9KSxcbiAgICApLnBpcGUobWFwKCgpID0+IGZhbHNlKSk7XG4gIH1cblxuICBwdWJsaWMgc3dpdGNoT2JqZWN0KGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0ZVNuYXBzaG90ID0gdGhpcy5nZXRMYXN0Q2hpbGRSb3V0ZVNuYXBzaG90KHRoaXMucm91dGUuc25hcHNob3QpO1xuICAgIGNvbnN0IHJvdXRlID0gdGhpcy5nZXRMYXN0Q2hpbGRSb3V0ZSh0aGlzLnJvdXRlKTtcblxuICAgIGNvbnN0IG9iak5hbWUgPSBTYWxlc2ZvcmNlSWRVdGlscy5nZXRTZk9iamVjdE5hbWVCeUlkKGlkKTtcblxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge1xuICAgICAgcXVvdGVJZDogb2JqTmFtZSA9PT0gJ1F1b3RlJyA/IGlkIDogdW5kZWZpbmVkLFxuICAgICAgYWNjb3VudElkOiBvYmpOYW1lID09PSAnQWNjb3VudCcgPyBpZCA6IHVuZGVmaW5lZCxcbiAgICAgIG9yZGVySWQ6IG9iak5hbWUgPT09ICdPcmRlcicgPyBpZCA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7IHJlbGF0aXZlVG86IHJvdXRlLCBxdWVyeVBhcmFtczogeyAuLi5yb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zLCAuLi5xdWVyeVBhcmFtcyB9IH0pO1xuICB9XG59XG4iXX0=
@@ -1,8 +1,8 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { UITemplateType } from '@veloceapps/core';
3
3
  import { FlowAction, IntegrationState } from '@veloceapps/sdk/cms';
4
- import { ConfigurationService, ConfigurationStateService, FlowStateService } from '@veloceapps/sdk/core';
5
- import { map, of, Subject, switchMap, take, takeUntil, tap } from 'rxjs';
4
+ import { ConfigurationService, ConfigurationStateService, FlowInfoService, FlowStateService, } from '@veloceapps/sdk/core';
5
+ import { map, Subject, switchMap, take, takeUntil, tap } from 'rxjs';
6
6
  import { FlowDialogService } from './flow-dialog.service';
7
7
  import { FlowRouterService } from './flow-router.service';
8
8
  import * as i0 from "@angular/core";
@@ -11,13 +11,14 @@ import * as i2 from "./flow-router.service";
11
11
  import * as i3 from "@veloceapps/sdk/core";
12
12
  import * as i4 from "./flow-dialog.service";
13
13
  export class FlowService {
14
- constructor(integrationState, flowRouterService, configurationService, configurationStateService, flowDialogService, flowStateService) {
14
+ constructor(integrationState, flowRouterService, configurationService, configurationStateService, flowDialogService, flowStateService, flowInfoService) {
15
15
  this.integrationState = integrationState;
16
16
  this.flowRouterService = flowRouterService;
17
17
  this.configurationService = configurationService;
18
18
  this.configurationStateService = configurationStateService;
19
19
  this.flowDialogService = flowDialogService;
20
20
  this.flowStateService = flowStateService;
21
+ this.flowInfoService = flowInfoService;
21
22
  this.cleanup$ = new Subject();
22
23
  }
23
24
  cleanup() {
@@ -26,9 +27,10 @@ export class FlowService {
26
27
  initSubscriptions() {
27
28
  this.integrationState
28
29
  .listen$(FlowAction.FLOW_CONFIGURE_PRODUCT)
29
- .pipe(switchMap(payload => this.prepareConfiguration$(payload.lineItemId).pipe(map(() => payload))), tap(payload => {
30
+ .pipe(tap(payload => {
30
31
  if (payload.productId) {
31
- this.flowRouterService.navigateToProductConfiguration(payload.productId, payload.lineItemId);
32
+ this.flowInfoService.updateContext({ newProductQty: payload.qty });
33
+ this.flowRouterService.navigateToProductConfiguration(payload.productId, payload.transactionItemId);
32
34
  }
33
35
  else {
34
36
  console.warn("Parameter 'productId' is needed to start configuration");
@@ -52,7 +54,7 @@ export class FlowService {
52
54
  this.integrationState.dispatch(FlowAction.ConfigureProductAction(payload));
53
55
  }
54
56
  else {
55
- this.flowRouterService.navigateTo(payload.path, payload.productId, payload.lineItemId);
57
+ this.flowRouterService.navigateTo(payload.path, payload.productId, payload.transactionItemId);
56
58
  }
57
59
  }), takeUntil(this.cleanup$))
58
60
  .subscribe();
@@ -91,18 +93,10 @@ export class FlowService {
91
93
  .pipe(map(path => path.queryParams['productId']), takeUntil(this.cleanup$))
92
94
  .subscribe(productId => this.integrationState.patchState({ productId }));
93
95
  }
94
- prepareConfiguration$(lineItemId) {
95
- if (!lineItemId) {
96
- return of(undefined);
97
- }
98
- return this.flowStateService.dispatch$(UITemplateType.FLOW_ENGINE, 'UPDATE_PRICE_LIST', {
99
- lineItemId,
100
- });
101
- }
102
96
  }
103
- FlowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowService, deps: [{ token: i1.IntegrationState }, { token: i2.FlowRouterService }, { token: i3.ConfigurationService }, { token: i3.ConfigurationStateService }, { token: i4.FlowDialogService }, { token: i3.FlowStateService }], target: i0.ɵɵFactoryTarget.Injectable });
97
+ FlowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowService, deps: [{ token: i1.IntegrationState }, { token: i2.FlowRouterService }, { token: i3.ConfigurationService }, { token: i3.ConfigurationStateService }, { token: i4.FlowDialogService }, { token: i3.FlowStateService }, { token: i3.FlowInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
104
98
  FlowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowService });
105
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowService, decorators: [{
106
100
  type: Injectable
107
- }], ctorParameters: function () { return [{ type: i1.IntegrationState }, { type: i2.FlowRouterService }, { type: i3.ConfigurationService }, { type: i3.ConfigurationStateService }, { type: i4.FlowDialogService }, { type: i3.FlowStateService }]; } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL3NlcnZpY2VzL2Zsb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekcsT0FBTyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBRzFELE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQ1UsZ0JBQWtDLEVBQ2xDLGlCQUFvQyxFQUNwQyxvQkFBMEMsRUFDMUMseUJBQW9ELEVBQ3BELGlCQUFvQyxFQUNwQyxnQkFBa0M7UUFMbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNwRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFScEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFTcEMsQ0FBQztJQUVHLE9B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LENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEI7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRTtZQUN0RixVQUFVO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7d0dBM0lVLFdBQVc7NEdBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVUlUZW1wbGF0ZVR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IEZsb3dBY3Rpb24sIEludGVncmF0aW9uU3RhdGUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlLCBDb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlLCBGbG93U3RhdGVTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmxvd0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2Zsb3ctZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmxvd1JvdXRlclNlcnZpY2UgfSBmcm9tICcuL2Zsb3ctcm91dGVyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmxvd1NlcnZpY2Uge1xuICBwcml2YXRlIGNsZWFudXAkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGludGVncmF0aW9uU3RhdGU6IEludGVncmF0aW9uU3RhdGUsXG4gICAgcHJpdmF0ZSBmbG93Um91dGVyU2VydmljZTogRmxvd1JvdXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlOiBDb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0RpYWxvZ1NlcnZpY2U6IEZsb3dEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd1N0YXRlU2VydmljZTogRmxvd1N0YXRlU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBjbGVhbnVwKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYW51cCQubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIGluaXRTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZVxuICAgICAgLmxpc3RlbiQ8UGFyYW1ldGVyczx0eXBlb2YgRmxvd0FjdGlvbi5Db25maWd1cmVQcm9kdWN0QWN0aW9uPlswXT4oRmxvd0FjdGlvbi5GTE9XX0NPTkZJR1VSRV9QUk9EVUNUKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChwYXlsb2FkID0+IHRoaXMucHJlcGFyZUNvbmZpZ3VyYXRpb24kKHBheWxvYWQubGluZUl0ZW1JZCkucGlwZShtYXAoKCkgPT4gcGF5bG9hZCkpKSxcbiAgICAgICAgdGFwKHBheWxvYWQgPT4ge1xuICAgICAgICAgIGlmIChwYXlsb2FkLnByb2R1Y3RJZCkge1xuICAgICAgICAgICAgdGhpcy5mbG93Um91dGVyU2VydmljZS5uYXZpZ2F0ZVRvUHJvZHVjdENvbmZpZ3VyYXRpb24ocGF5bG9hZC5wcm9kdWN0SWQsIHBheWxvYWQubGluZUl0ZW1JZCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlBhcmFtZXRlciAncHJvZHVjdElkJyBpcyBuZWVkZWQgdG8gc3RhcnQgY29uZmlndXJhdGlvblwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jbGVhbnVwJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kPHsgaWQ6IHN0cmluZyB9PihGbG93QWN0aW9uLkZMT1dfU1dJVENIX09CSkVDVClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAocGF5bG9hZCA9PiB7XG4gICAgICAgICAgdGhpcy5mbG93Um91dGVyU2VydmljZS5zd2l0Y2hPYmplY3QocGF5bG9hZC5pZCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jbGVhbnVwJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kKEZsb3dBY3Rpb24uRkxPV19OQVZJR0FURV9CQUNLKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UuY2FuY2VsQ29uZmlndXJhdGlvbigpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZmxvd1JvdXRlclNlcnZpY2UubmF2aWdhdGVCYWNrKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jbGVhbnVwJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kKEZsb3dBY3Rpb24uRkxPV19OQVZJR0FURV9UTylcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAocGF5bG9hZCA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UuY2FuY2VsQ29uZmlndXJhdGlvbigpLnBpcGUobWFwKCgpID0+IHBheWxvYWQpKSksXG4gICAgICAgIHRhcChwYXlsb2FkID0+IHtcbiAgICAgICAgICBpZiAocGF5bG9hZC5wYXRoID09PSAncHJvZHVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5kaXNwYXRjaChGbG93QWN0aW9uLkNvbmZpZ3VyZVByb2R1Y3RBY3Rpb24ocGF5bG9hZCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZsb3dSb3V0ZXJTZXJ2aWNlLm5hdmlnYXRlVG8ocGF5bG9hZC5wYXRoLCBwYXlsb2FkLnByb2R1Y3RJZCwgcGF5bG9hZC5saW5lSXRlbUlkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jbGVhbnVwJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kKEZsb3dBY3Rpb24uT1BFTl9ESUFMT0cpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHBheWxvYWQgPT4gdGhpcy5mbG93RGlhbG9nU2VydmljZS5zaG93RGlhbG9nKHBheWxvYWQuZGlhbG9nKS5waXBlKHRha2UoMSkpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShkaWFsb2dSZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmludGVncmF0aW9uU3RhdGUucGF0Y2hTdGF0ZSh7IGRpYWxvZ1Jlc3VsdCB9KTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJChGbG93QWN0aW9uLkZMT1dfTkFWSUdBVEVfVE9fQ0FUQUxPRylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5mbG93Um91dGVyU2VydmljZS5uYXZpZ2F0ZVRvQ2F0YWxvZygpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJChGbG93QWN0aW9uLkZMT1dfTkFWSUdBVEVfVE9fU0hPUFBJTkdfQ0FSVClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5mbG93Um91dGVyU2VydmljZS5uYXZpZ2F0ZVRvU2hvcHBpbmdDYXJ0KCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jbGVhbnVwJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kKEZsb3dBY3Rpb24uRkxPV19BUFBMWV9QUk9EVUNUX0NPTkZJR1VSQVRJT04pXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblN0YXRlU2VydmljZS5zYXZlQ29uZmlndXJhdGlvbigpKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblN0YXRlU2VydmljZS5jYW5jZWxDb25maWd1cmF0aW9uKCkpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICB0aGlzLmZsb3dTdGF0ZVNlcnZpY2UuZGlzcGF0Y2gkKFVJVGVtcGxhdGVUeXBlLkZMT1dfRU5HSU5FLCAnTU9ESUZZX0FTU0VUUycsIHtcbiAgICAgICAgICAgIGFkZENvbmZpZ3VyaW5nQXNzZXRJZDogdHJ1ZSxcbiAgICAgICAgICAgIGVuYWJsZTogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5mbG93Um91dGVyU2VydmljZS5uYXZpZ2F0ZVRvU2hvcHBpbmdDYXJ0KCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jbGVhbnVwJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLnVwZGF0ZUZsb3dQYXJhbXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmxvd1BhcmFtcygpOiB2b2lkIHtcbiAgICB0aGlzLmZsb3dSb3V0ZXJTZXJ2aWNlXG4gICAgICAuZ2V0Rmxvd1N1YnBhdGgkKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocGF0aCA9PiBwYXRoLnNwbGl0KCcvJyk/LlswXSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmNsZWFudXAkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZmxvd1BhdGggPT4gdGhpcy5pbnRlZ3JhdGlvblN0YXRlLnBhdGNoU3RhdGUoeyBmbG93UGF0aCB9KSk7XG5cbiAgICB0aGlzLmZsb3dSb3V0ZXJTZXJ2aWNlLnJvdXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChwYXRoID0+IHBhdGgucXVlcnlQYXJhbXNbJ3Byb2R1Y3RJZCddKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShwcm9kdWN0SWQgPT4gdGhpcy5pbnRlZ3JhdGlvblN0YXRlLnBhdGNoU3RhdGUoeyBwcm9kdWN0SWQgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVwYXJlQ29uZmlndXJhdGlvbiQobGluZUl0ZW1JZD86IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGlmICghbGluZUl0ZW1JZCkge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmxvd1N0YXRlU2VydmljZS5kaXNwYXRjaCQoVUlUZW1wbGF0ZVR5cGUuRkxPV19FTkdJTkUsICdVUERBVEVfUFJJQ0VfTElTVCcsIHtcbiAgICAgIGxpbmVJdGVtSWQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
101
+ }], ctorParameters: function () { return [{ type: i1.IntegrationState }, { type: i2.FlowRouterService }, { type: i3.ConfigurationService }, { type: i3.ConfigurationStateService }, { type: i4.FlowDialogService }, { type: i3.FlowStateService }, { type: i3.FlowInfoService }]; } });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL3NlcnZpY2VzL2Zsb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUNMLG9CQUFvQixFQUNwQix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLGdCQUFnQixHQUNqQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQWdCLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUcxRCxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUNVLGdCQUFrQyxFQUNsQyxpQkFBb0MsRUFDcEMsb0JBQTBDLEVBQzFDLHlCQUFvRCxFQUNwRCxpQkFBb0MsRUFDcEMsZ0JBQWtDLEVBQ2xDLGVBQWdDO1FBTmhDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFDcEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVRsQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVVwQyxDQUFDO0lBRUcsT0FBTztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsZ0JBQWdCO2FBQ2xCLE9BQU8sQ0FBa0UsVUFBVSxDQUFDLHNCQUFzQixDQUFDO2FBQzNHLElBQUksQ0FDSCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDWixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUNyRztpQkFBTTtnQkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLHdEQUF3RCxDQUFDLENBQUM7YUFDeEU7UUFDSCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFDLGdCQUFnQjthQUNsQixPQUFPLENBQThELFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQzthQUNuRyxJQUFJLENBQ0gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQzthQUN0QyxJQUFJLENBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEVBQ3JFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUMsRUFDaEQsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsT0FBTyxDQUE0RCxVQUFVLENBQUMsZ0JBQWdCLENBQUM7YUFDL0YsSUFBSSxDQUNILFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNuRyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDWixJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO2dCQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQzVFO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQy9GO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsT0FBTyxDQUFzRCxVQUFVLENBQUMsV0FBVyxDQUFDO2FBQ3BGLElBQUksQ0FDSCxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3JHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCO2FBQ0EsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLGdCQUFnQjthQUNsQixPQUFPLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDO2FBQzVDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUMsRUFDckQsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQzthQUNsRCxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEVBQzFELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsZ0JBQWdCO2FBQ2xCLE9BQU8sQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLENBQUM7YUFDcEQsSUFBSSxDQUNILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxFQUNuRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixFQUFFLENBQUMsRUFDckUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUU7WUFDM0UscUJBQXFCLEVBQUUsSUFBSTtZQUMzQixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FDSCxFQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUI7YUFDbkIsZUFBZSxFQUFFO2FBQ2pCLElBQUksQ0FDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXpFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNO2FBQzFCLElBQUksQ0FDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQzFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCO2FBQ0EsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDOzt3R0FsSVUsV0FBVzs0R0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVRlbXBsYXRlVHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRmxvd0FjdGlvbiwgSW50ZWdyYXRpb25TdGF0ZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jbXMnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIENvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UsXG4gIEZsb3dJbmZvU2VydmljZSxcbiAgRmxvd1N0YXRlU2VydmljZSxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGbG93RGlhbG9nRm4sIEZsb3dEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9mbG93LWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IEZsb3dSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9mbG93LXJvdXRlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjbGVhbnVwJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbnRlZ3JhdGlvblN0YXRlOiBJbnRlZ3JhdGlvblN0YXRlLFxuICAgIHByaXZhdGUgZmxvd1JvdXRlclNlcnZpY2U6IEZsb3dSb3V0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblN0YXRlU2VydmljZTogQ29uZmlndXJhdGlvblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dEaWFsb2dTZXJ2aWNlOiBGbG93RGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dTdGF0ZVNlcnZpY2U6IEZsb3dTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93SW5mb1NlcnZpY2U6IEZsb3dJbmZvU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBjbGVhbnVwKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYW51cCQubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIGluaXRTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZVxuICAgICAgLmxpc3RlbiQ8UmV0dXJuVHlwZTx0eXBlb2YgRmxvd0FjdGlvbi5Db25maWd1cmVQcm9kdWN0QWN0aW9uPlsncGF5bG9hZCddPihGbG93QWN0aW9uLkZMT1dfQ09ORklHVVJFX1BST0RVQ1QpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHBheWxvYWQgPT4ge1xuICAgICAgICAgIGlmIChwYXlsb2FkLnByb2R1Y3RJZCkge1xuICAgICAgICAgICAgdGhpcy5mbG93SW5mb1NlcnZpY2UudXBkYXRlQ29udGV4dCh7IG5ld1Byb2R1Y3RRdHk6IHBheWxvYWQucXR5IH0pO1xuICAgICAgICAgICAgdGhpcy5mbG93Um91dGVyU2VydmljZS5uYXZpZ2F0ZVRvUHJvZHVjdENvbmZpZ3VyYXRpb24ocGF5bG9hZC5wcm9kdWN0SWQsIHBheWxvYWQudHJhbnNhY3Rpb25JdGVtSWQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJQYXJhbWV0ZXIgJ3Byb2R1Y3RJZCcgaXMgbmVlZGVkIHRvIHN0YXJ0IGNvbmZpZ3VyYXRpb25cIik7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJDxSZXR1cm5UeXBlPHR5cGVvZiBGbG93QWN0aW9uLlN3aXRjaE9iamVjdEFjdGlvbj5bJ3BheWxvYWQnXT4oRmxvd0FjdGlvbi5GTE9XX1NXSVRDSF9PQkpFQ1QpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHBheWxvYWQgPT4ge1xuICAgICAgICAgIHRoaXMuZmxvd1JvdXRlclNlcnZpY2Uuc3dpdGNoT2JqZWN0KHBheWxvYWQuaWQpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJChGbG93QWN0aW9uLkZMT1dfTkFWSUdBVEVfQkFDSylcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlLmNhbmNlbENvbmZpZ3VyYXRpb24oKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmZsb3dSb3V0ZXJTZXJ2aWNlLm5hdmlnYXRlQmFjaygpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJDxSZXR1cm5UeXBlPHR5cGVvZiBGbG93QWN0aW9uLk5hdmlnYXRlVG9BY3Rpb24+WydwYXlsb2FkJ10+KEZsb3dBY3Rpb24uRkxPV19OQVZJR0FURV9UTylcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAocGF5bG9hZCA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UuY2FuY2VsQ29uZmlndXJhdGlvbigpLnBpcGUobWFwKCgpID0+IHBheWxvYWQpKSksXG4gICAgICAgIHRhcChwYXlsb2FkID0+IHtcbiAgICAgICAgICBpZiAocGF5bG9hZC5wYXRoID09PSAncHJvZHVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5kaXNwYXRjaChGbG93QWN0aW9uLkNvbmZpZ3VyZVByb2R1Y3RBY3Rpb24ocGF5bG9hZCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZsb3dSb3V0ZXJTZXJ2aWNlLm5hdmlnYXRlVG8ocGF5bG9hZC5wYXRoLCBwYXlsb2FkLnByb2R1Y3RJZCwgcGF5bG9hZC50cmFuc2FjdGlvbkl0ZW1JZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJDxSZXR1cm5UeXBlPHR5cGVvZiBGbG93QWN0aW9uLk9wZW5EaWFsb2c+WydwYXlsb2FkJ10+KEZsb3dBY3Rpb24uT1BFTl9ESUFMT0cpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHBheWxvYWQgPT4gdGhpcy5mbG93RGlhbG9nU2VydmljZS5zaG93RGlhbG9nKHBheWxvYWQuZGlhbG9nIGFzIEZsb3dEaWFsb2dGbikucGlwZSh0YWtlKDEpKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmNsZWFudXAkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZGlhbG9nUmVzdWx0ID0+IHtcbiAgICAgICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlLnBhdGNoU3RhdGUoeyBkaWFsb2dSZXN1bHQgfSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZVxuICAgICAgLmxpc3RlbiQoRmxvd0FjdGlvbi5GTE9XX05BVklHQVRFX1RPX0NBVEFMT0cpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZmxvd1JvdXRlclNlcnZpY2UubmF2aWdhdGVUb0NhdGFsb2coKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmNsZWFudXAkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZVxuICAgICAgLmxpc3RlbiQoRmxvd0FjdGlvbi5GTE9XX05BVklHQVRFX1RPX1NIT1BQSU5HX0NBUlQpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZmxvd1JvdXRlclNlcnZpY2UubmF2aWdhdGVUb1Nob3BwaW5nQ2FydCgpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJChGbG93QWN0aW9uLkZMT1dfQVBQTFlfUFJPRFVDVF9DT05GSUdVUkFUSU9OKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2Uuc2F2ZUNvbmZpZ3VyYXRpb24oKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UuY2FuY2VsQ29uZmlndXJhdGlvbigpKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgdGhpcy5mbG93U3RhdGVTZXJ2aWNlLmRpc3BhdGNoJChVSVRlbXBsYXRlVHlwZS5GTE9XX0VOR0lORSwgJ01PRElGWV9BU1NFVFMnLCB7XG4gICAgICAgICAgICBhZGRDb25maWd1cmluZ0Fzc2V0SWQ6IHRydWUsXG4gICAgICAgICAgICBlbmFibGU6IHRydWUsXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZmxvd1JvdXRlclNlcnZpY2UubmF2aWdhdGVUb1Nob3BwaW5nQ2FydCgpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xlYW51cCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy51cGRhdGVGbG93UGFyYW1zKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZsb3dQYXJhbXMoKTogdm9pZCB7XG4gICAgdGhpcy5mbG93Um91dGVyU2VydmljZVxuICAgICAgLmdldEZsb3dTdWJwYXRoJCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHBhdGggPT4gcGF0aC5zcGxpdCgnLycpPy5bMF0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jbGVhbnVwJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGZsb3dQYXRoID0+IHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5wYXRjaFN0YXRlKHsgZmxvd1BhdGggfSkpO1xuXG4gICAgdGhpcy5mbG93Um91dGVyU2VydmljZS5yb3V0ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocGF0aCA9PiBwYXRoLnF1ZXJ5UGFyYW1zWydwcm9kdWN0SWQnXSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmNsZWFudXAkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocHJvZHVjdElkID0+IHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5wYXRjaFN0YXRlKHsgcHJvZHVjdElkIH0pKTtcbiAgfVxufVxuIl19
@@ -1,3 +1,2 @@
1
- export * from './context-route.types';
2
- export * from './metrics.types';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LXJvdXRlLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbWV0cmljcy50eXBlcyc7XG4iXX0=
1
+ export * from './route.types';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JvdXRlLnR5cGVzJztcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvdHlwZXMvcm91dGUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBGbG93T2JqZWN0SWRQcm9wZXJ0aWVzIHtcbiAgYWNjb3VudElkPzogc3RyaW5nO1xuICBxdW90ZUlkPzogc3RyaW5nO1xuICBvcmRlcklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlV2l0aElkIGV4dGVuZHMgUm91dGUge1xuICBpZD86IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvdHlwZXMvcm91dGUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZVdpdGhJZCBleHRlbmRzIFJvdXRlIHtcbiAgaWQ/OiBzdHJpbmc7XG59XG4iXX0=