@envive-ai/react-hooks 0.3.63 → 0.3.65

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 (112) hide show
  1. package/dist/application/models/featureGates.cjs +2 -2
  2. package/dist/application/models/featureGates.d.cts +2 -2
  3. package/dist/application/models/featureGates.d.ts +2 -2
  4. package/dist/application/models/featureGates.js +2 -2
  5. package/dist/application/utils/elementObserver.d.cts +2 -2
  6. package/dist/atoms/app/index.d.cts +7 -7
  7. package/dist/atoms/app/index.d.ts +1 -1
  8. package/dist/atoms/app/variant.d.ts +6 -6
  9. package/dist/atoms/chat/chatState.d.cts +19 -19
  10. package/dist/atoms/chat/chatState.d.ts +19 -19
  11. package/dist/atoms/chat/form.d.cts +2 -2
  12. package/dist/atoms/chat/form.d.ts +3 -3
  13. package/dist/atoms/chat/index.d.ts +3 -3
  14. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  15. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  16. package/dist/atoms/chat/messageQueue.d.ts +7 -7
  17. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  18. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  19. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  20. package/dist/atoms/chat/renderedWidgetRefs.d.ts +3 -3
  21. package/dist/atoms/chat/replies.d.cts +3 -3
  22. package/dist/atoms/chat/suggestions.d.ts +3 -3
  23. package/dist/atoms/envive/enviveConfig.d.cts +14 -14
  24. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  25. package/dist/atoms/org/customerService.d.cts +6 -6
  26. package/dist/atoms/org/customerService.d.ts +6 -6
  27. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  28. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  29. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  30. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  31. package/dist/atoms/org/orgAnalyticsConfig.d.cts +4 -4
  32. package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
  33. package/dist/atoms/search/types.d.cts +1 -1
  34. package/dist/atoms/search/utils.d.cts +1 -1
  35. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  36. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  37. package/dist/contexts/pageContext/pageContext.cjs +12 -24
  38. package/dist/contexts/pageContext/pageContext.js +12 -24
  39. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  40. package/dist/contexts/types.d.cts +1 -1
  41. package/dist/contexts/types.d.ts +1 -1
  42. package/dist/contexts/typesV3.cjs +8 -1
  43. package/dist/contexts/typesV3.d.cts +23 -6
  44. package/dist/contexts/typesV3.d.ts +23 -6
  45. package/dist/contexts/typesV3.js +8 -2
  46. package/dist/hooks/Intersection/useIntersection.cjs +9 -2
  47. package/dist/hooks/Intersection/useIntersection.d.cts +2 -2
  48. package/dist/hooks/Intersection/useIntersection.d.ts +2 -2
  49. package/dist/hooks/Intersection/useIntersection.js +9 -2
  50. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +2 -2
  51. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +12 -3
  52. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +2 -1
  53. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +2 -1
  54. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +13 -4
  55. package/dist/hooks/WidgetLoadDiagnostics/index.cjs +4 -0
  56. package/dist/hooks/WidgetLoadDiagnostics/index.d.cts +2 -0
  57. package/dist/hooks/WidgetLoadDiagnostics/index.d.ts +2 -0
  58. package/dist/hooks/WidgetLoadDiagnostics/index.js +3 -0
  59. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.cjs +122 -0
  60. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.d.cts +48 -0
  61. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.d.ts +48 -0
  62. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.js +120 -0
  63. package/dist/hooks/utils.d.cts +1 -1
  64. package/dist/hooks/utils.d.ts +1 -1
  65. package/dist/services/amplitudeService/eventNames.cjs +2 -1
  66. package/dist/services/amplitudeService/eventNames.d.cts +2 -1
  67. package/dist/services/amplitudeService/eventNames.d.ts +2 -1
  68. package/dist/services/amplitudeService/eventNames.js +2 -1
  69. package/dist/services/enviveConfigService/enviveConfigService.cjs +21 -35
  70. package/dist/services/enviveConfigService/enviveConfigService.d.cts +1 -2
  71. package/dist/services/enviveConfigService/enviveConfigService.d.ts +1 -2
  72. package/dist/services/enviveConfigService/enviveConfigService.js +21 -35
  73. package/dist/services/enviveConfigService/fetchBootstrapConfig.cjs +15 -16
  74. package/dist/services/enviveConfigService/fetchBootstrapConfig.js +15 -16
  75. package/dist/services/enviveConfigService/fetchGraphQLConfig.cjs +1 -69
  76. package/dist/services/enviveConfigService/fetchGraphQLConfig.js +2 -69
  77. package/dist/services/featureFlagService/index.cjs +7 -5
  78. package/dist/services/featureFlagService/index.d.cts +2 -1
  79. package/dist/services/featureFlagService/index.d.ts +2 -1
  80. package/dist/services/featureFlagService/index.js +7 -5
  81. package/dist/services/ga4ProjectionService/ga4EventSchema.cjs +3 -2
  82. package/dist/services/ga4ProjectionService/ga4EventSchema.js +3 -2
  83. package/dist/services/hardcopyService/hardcopyService.cjs +12 -3
  84. package/dist/services/hardcopyService/hardcopyService.d.cts +3 -1
  85. package/dist/services/hardcopyService/hardcopyService.d.ts +3 -1
  86. package/dist/services/hardcopyService/hardcopyService.js +12 -3
  87. package/package.json +5 -1
  88. package/src/application/models/featureGates.ts +11 -8
  89. package/src/contexts/pageContext/__tests__/pageContext.test.tsx +4 -59
  90. package/src/contexts/pageContext/pageContext.tsx +20 -41
  91. package/src/contexts/typesV3.ts +22 -4
  92. package/src/hooks/Intersection/useIntersection.ts +11 -0
  93. package/src/hooks/TrackComponentVisibleEvent/__tests__/useTrackComponentVisibleEvent.test.tsx +64 -0
  94. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +23 -4
  95. package/src/hooks/WidgetLoadDiagnostics/__tests__/useWidgetLoadDiagnostics.test.ts +161 -0
  96. package/src/hooks/WidgetLoadDiagnostics/index.ts +5 -0
  97. package/src/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.ts +178 -0
  98. package/src/services/amplitudeService/eventNames.ts +4 -0
  99. package/src/services/enviveConfigService/__tests__/enviveConfigService.test.ts +72 -158
  100. package/src/services/enviveConfigService/__tests__/fetchBootstrapConfig.test.ts +111 -13
  101. package/src/services/enviveConfigService/__tests__/fetchGraphQLConfig.test.ts +161 -490
  102. package/src/services/enviveConfigService/enviveConfigService.ts +51 -87
  103. package/src/services/enviveConfigService/fetchBootstrapConfig.ts +74 -66
  104. package/src/services/enviveConfigService/fetchGraphQLConfig.ts +0 -120
  105. package/src/services/featureFlagService/__tests__/getFeatureFlagOverrides.test.ts +54 -0
  106. package/src/services/featureFlagService/index.ts +19 -6
  107. package/src/services/ga4ProjectionService/ga4EventSchema.ts +5 -0
  108. package/src/services/hardcopyService/__tests__/hardcopyService.test.ts +16 -5
  109. package/src/services/hardcopyService/hardcopyService.ts +10 -2
  110. package/dist/application/models/graphql/queries/getWidgetConfigQuery.cjs +0 -42
  111. package/dist/application/models/graphql/queries/getWidgetConfigQuery.js +0 -41
  112. package/src/application/models/graphql/queries/getWidgetConfigQuery.ts +0 -55
@@ -1,4 +1,4 @@
1
- import * as jotai80 from "jotai";
1
+ import * as jotai96 from "jotai";
2
2
  import * as jotai_utils1 from "jotai/utils";
3
3
 
4
4
  //#region src/atoms/chat/performanceMetrics.d.ts
@@ -23,8 +23,8 @@ declare enum PerfMetricsEvents {
23
23
  BottomSuggestionsBarRendered = "bottom_suggestions_bar_rendered_ms",
24
24
  SearchPromptRendered = "search_prompt_rendered_ms",
25
25
  }
26
- declare const appInitialStartTimeMsAtom: jotai80.WritableAtom<string | undefined, [string | typeof jotai_utils1.RESET | ((prev: string | undefined) => string | typeof jotai_utils1.RESET | undefined) | undefined], void>;
27
- declare const pageLoadOffsetTimeAtom: jotai80.WritableAtom<string | undefined, [string | typeof jotai_utils1.RESET | ((prev: string | undefined) => string | typeof jotai_utils1.RESET | undefined) | undefined], void>;
26
+ declare const appInitialStartTimeMsAtom: jotai96.WritableAtom<string | undefined, [string | typeof jotai_utils1.RESET | ((prev: string | undefined) => string | typeof jotai_utils1.RESET | undefined) | undefined], void>;
27
+ declare const pageLoadOffsetTimeAtom: jotai96.WritableAtom<string | undefined, [string | typeof jotai_utils1.RESET | ((prev: string | undefined) => string | typeof jotai_utils1.RESET | undefined) | undefined], void>;
28
28
  /**
29
29
  * Resets the performance metrics atom to an empty map. This should be called after the performance
30
30
  * metrics have been reported to amplitude. On SPA, it ensures that we can still capture metrics as
@@ -32,8 +32,8 @@ declare const pageLoadOffsetTimeAtom: jotai80.WritableAtom<string | undefined, [
32
32
  * On non-SPA, it ensures that previously captured metrics are not reported again.
33
33
  */
34
34
  declare const resetPerformanceMetricsAtom: () => void;
35
- declare const performanceMetricsAtom: jotai80.Atom<Map<PerfMetricsEvents, number>>;
36
- declare const hasReportedPerformanceMetricsAtom: jotai80.PrimitiveAtom<boolean> & {
35
+ declare const performanceMetricsAtom: jotai96.Atom<Map<PerfMetricsEvents, number>>;
36
+ declare const hasReportedPerformanceMetricsAtom: jotai96.PrimitiveAtom<boolean> & {
37
37
  init: boolean;
38
38
  };
39
39
  /**
@@ -42,7 +42,7 @@ declare const hasReportedPerformanceMetricsAtom: jotai80.PrimitiveAtom<boolean>
42
42
  *
43
43
  * @param value The performance metric name to log.
44
44
  */
45
- declare const logPerfMetricAtom: jotai80.WritableAtom<null, [value: PerfMetricsEvents], void> & {
45
+ declare const logPerfMetricAtom: jotai96.WritableAtom<null, [value: PerfMetricsEvents], void> & {
46
46
  init: null;
47
47
  };
48
48
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as jotai36 from "jotai";
1
+ import * as jotai43 from "jotai";
2
2
 
3
3
  //#region src/atoms/chat/renderedWidgetRefs.d.ts
4
- declare const widgetArrayAtom: jotai36.Atom<HTMLElement[]>;
4
+ declare const widgetArrayAtom: jotai43.Atom<HTMLElement[]>;
5
5
  /**
6
6
  * This function call is used to create a list of the Spiffy widgets
7
7
  * that are rendering on the page.
@@ -1,7 +1,7 @@
1
- import * as jotai93 from "jotai";
1
+ import * as jotai109 from "jotai";
2
2
 
3
3
  //#region src/atoms/chat/renderedWidgetRefs.d.ts
4
- declare const widgetArrayAtom: jotai93.Atom<HTMLElement[]>;
4
+ declare const widgetArrayAtom: jotai109.Atom<HTMLElement[]>;
5
5
  /**
6
6
  * This function call is used to create a list of the Spiffy widgets
7
7
  * that are rendering on the page.
@@ -18,4 +18,4 @@ declare const widgetArrayAtom: jotai93.Atom<HTMLElement[]>;
18
18
  declare const addWidget: (ref: HTMLElement, idx?: number) => void;
19
19
  //#endregion
20
20
  export { addWidget, widgetArrayAtom };
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZWRXaWRnZXRSZWZzLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL2NoYXQvcmVuZGVyZWRXaWRnZXRSZWZzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgY29uc3Qgd2lkZ2V0QXJyYXlBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPEhUTUxFbGVtZW50W10+O1xuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGNhbGwgaXMgdXNlZCB0byBjcmVhdGUgYSBsaXN0IG9mIHRoZSBTcGlmZnkgd2lkZ2V0c1xuICogdGhhdCBhcmUgcmVuZGVyaW5nIG9uIHRoZSBwYWdlLlxuICpcbiAqIEl0IGlzIHVzZWQgYnkgdGhlIEZsb2F0aW5nQnV0dG9uIHdpZGdldCB0byBzbGlkZSBvdXQgb2YgdmlldyB3aGVuIGl0XG4gKiBvdmVybGFwcyB3aXRoIGFub3RoZXIgU3BpZmZ5IHdpZGdldC5cbiAqXG4gKiBUaGUgc3BpZmZ5IHdpZGdldHMgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSB0aGlzIGFycmF5IGZvciB0aGUgZmxvYXRpbmcgYnV0dG9uXG4gKiB0byBrbm93IGFib3V0IHRoZW0uXG4gKlxuICogVG9kYXkgdGhlIFwiU3VnZ2VzdGlvbkJhclwiIHdpZGdldCBpcyBub3QgYWRkZWQsIGJ1dCB0aGUgb3RoZXIgd2lkZ2V0cyBhcmUuXG4gKlxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBhZGRXaWRnZXQ6IChyZWY6IEhUTUxFbGVtZW50LCBpZHg/OiBudW1iZXIpID0+IHZvaWQ7XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQUUsa0JBQUE7Q0FBQTtPQUFBO09BQUEsUUFBQTtDQUFBO0FBQ0YsSUFBVyxZQUFZLENBQUMsV0FBVyxZQUFZIn0=
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZWRXaWRnZXRSZWZzLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL2NoYXQvcmVuZGVyZWRXaWRnZXRSZWZzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgY29uc3Qgd2lkZ2V0QXJyYXlBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPEhUTUxFbGVtZW50W10+O1xuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGNhbGwgaXMgdXNlZCB0byBjcmVhdGUgYSBsaXN0IG9mIHRoZSBTcGlmZnkgd2lkZ2V0c1xuICogdGhhdCBhcmUgcmVuZGVyaW5nIG9uIHRoZSBwYWdlLlxuICpcbiAqIEl0IGlzIHVzZWQgYnkgdGhlIEZsb2F0aW5nQnV0dG9uIHdpZGdldCB0byBzbGlkZSBvdXQgb2YgdmlldyB3aGVuIGl0XG4gKiBvdmVybGFwcyB3aXRoIGFub3RoZXIgU3BpZmZ5IHdpZGdldC5cbiAqXG4gKiBUaGUgc3BpZmZ5IHdpZGdldHMgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSB0aGlzIGFycmF5IGZvciB0aGUgZmxvYXRpbmcgYnV0dG9uXG4gKiB0byBrbm93IGFib3V0IHRoZW0uXG4gKlxuICogVG9kYXkgdGhlIFwiU3VnZ2VzdGlvbkJhclwiIHdpZGdldCBpcyBub3QgYWRkZWQsIGJ1dCB0aGUgb3RoZXIgd2lkZ2V0cyBhcmUuXG4gKlxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBhZGRXaWRnZXQ6IChyZWY6IEhUTUxFbGVtZW50LCBpZHg/OiBudW1iZXIpID0+IHZvaWQ7XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQUUsa0JBQUE7Q0FBQTtPQUFBO09BQUEsU0FBQTtDQUFBO0FBQ0YsSUFBVyxZQUFZLENBQUMsV0FBVyxZQUFZIn0=
@@ -1,14 +1,14 @@
1
1
  import { Message } from "../../application/models/message.cjs";
2
- import * as jotai4 from "jotai";
2
+ import * as jotai0 from "jotai";
3
3
 
4
4
  //#region src/atoms/chat/replies.d.ts
5
5
  type HandleReplyParams = {
6
6
  message: Message;
7
7
  userTyped: boolean;
8
8
  };
9
- declare const handleReplyAtom: jotai4.WritableAtom<null, [HandleReplyParams], void> & {
9
+ declare const handleReplyAtom: jotai0.WritableAtom<null, [HandleReplyParams], void> & {
10
10
  init: null;
11
11
  };
12
12
  //#endregion
13
13
  export { handleReplyAtom };
14
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGllcy5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvY2hhdC9yZXBsaWVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xudHlwZSBIYW5kbGVSZXBseVBhcmFtcyA9IHtcbiAgICBtZXNzYWdlOiBNZXNzYWdlO1xuICAgIHVzZXJUeXBlZDogYm9vbGVhbjtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBoYW5kbGVSZXBseUF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbSGFuZGxlUmVwbHlQYXJhbXNdLCB2b2lkPiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQUksb0JBQWdCLENBQUEsVUFBQSxRQUFBO0FBQ3BCLElBQVcsa0JBQVc7Q0FBQTtPQUFBO09BQUEsT0FBQTtDQUFBIn0=
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGllcy5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvY2hhdC9yZXBsaWVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xudHlwZSBIYW5kbGVSZXBseVBhcmFtcyA9IHtcbiAgICBtZXNzYWdlOiBNZXNzYWdlO1xuICAgIHVzZXJUeXBlZDogYm9vbGVhbjtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBoYW5kbGVSZXBseUF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbSGFuZGxlUmVwbHlQYXJhbXNdLCB2b2lkPiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQUksb0JBQWdCLENBQUEsV0FBQSxRQUFBO0FBQ3BCLElBQVcsa0JBQVc7Q0FBQTtPQUFBO09BQUEsT0FBQTtDQUFBIn0=
@@ -1,10 +1,10 @@
1
1
  import { Suggestion } from "../../application/models/api/suggestion.js";
2
- import * as jotai86 from "jotai";
2
+ import * as jotai102 from "jotai";
3
3
 
4
4
  //#region src/atoms/chat/suggestions.d.ts
5
- declare const handleSuggestionAtom: jotai86.WritableAtom<null, [suggestion: Suggestion], void> & {
5
+ declare const handleSuggestionAtom: jotai102.WritableAtom<null, [suggestion: Suggestion], void> & {
6
6
  init: null;
7
7
  };
8
8
  //#endregion
9
9
  export { handleSuggestionAtom };
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbnMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvY2hhdC9zdWdnZXN0aW9ucy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1Z2dlc3Rpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGhhbmRsZVN1Z2dlc3Rpb25BdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208bnVsbCwgW3N1Z2dlc3Rpb246IFN1Z2dlc3Rpb25dLCB2b2lkPiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQVcsdUJBQUc7Q0FBQTtPQUFBO09BQUEsUUFBQTtDQUFBIn0=
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbnMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvY2hhdC9zdWdnZXN0aW9ucy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1Z2dlc3Rpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGhhbmRsZVN1Z2dlc3Rpb25BdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208bnVsbCwgW3N1Z2dlc3Rpb246IFN1Z2dlc3Rpb25dLCB2b2lkPiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQVcsdUJBQUc7Q0FBQTtPQUFBO09BQUEsU0FBQTtDQUFBIn0=
@@ -1,21 +1,21 @@
1
1
  import { AddToCartCallback } from "../../types/enviveConfig.cjs";
2
2
  import { EnviveConfig } from "../../contexts/types.cjs";
3
3
  import { ContextSourceEnum } from "@spiffy-ai/commerce-api-client";
4
- import * as jotai22 from "jotai";
4
+ import * as jotai17 from "jotai";
5
5
 
6
6
  //#region src/atoms/envive/enviveConfig.d.ts
7
- declare const enviveConfigAtom: jotai22.WritableAtom<EnviveConfig | undefined, [value: EnviveConfig], void>;
8
- declare const amplitudeApiKeyAtom: jotai22.Atom<string | undefined>;
9
- declare const dataResidencyAtom: jotai22.Atom<string | undefined>;
10
- declare const envAtom: jotai22.Atom<string | undefined>;
11
- declare const baseUrlAtom: jotai22.Atom<string>;
12
- declare const reactAppNameAtom: jotai22.Atom<string | undefined>;
13
- declare const cdnUrlAtom: jotai22.Atom<string | undefined>;
14
- declare const orgIdAtom: jotai22.Atom<string | undefined>;
15
- declare const addToCartCallbackAtom: jotai22.Atom<AddToCartCallback | undefined>;
16
- declare const contextSourceAtom: jotai22.Atom<ContextSourceEnum>;
17
- declare const orgLevelApiKeyAtom: jotai22.Atom<string | undefined>;
18
- declare const orgShortNameAtom: jotai22.Atom<string | undefined>;
7
+ declare const enviveConfigAtom: jotai17.WritableAtom<EnviveConfig | undefined, [value: EnviveConfig], void>;
8
+ declare const amplitudeApiKeyAtom: jotai17.Atom<string | undefined>;
9
+ declare const dataResidencyAtom: jotai17.Atom<string | undefined>;
10
+ declare const envAtom: jotai17.Atom<string | undefined>;
11
+ declare const baseUrlAtom: jotai17.Atom<string>;
12
+ declare const reactAppNameAtom: jotai17.Atom<string | undefined>;
13
+ declare const cdnUrlAtom: jotai17.Atom<string | undefined>;
14
+ declare const orgIdAtom: jotai17.Atom<string | undefined>;
15
+ declare const addToCartCallbackAtom: jotai17.Atom<AddToCartCallback | undefined>;
16
+ declare const contextSourceAtom: jotai17.Atom<ContextSourceEnum>;
17
+ declare const orgLevelApiKeyAtom: jotai17.Atom<string | undefined>;
18
+ declare const orgShortNameAtom: jotai17.Atom<string | undefined>;
19
19
  //#endregion
20
20
  export { addToCartCallbackAtom, amplitudeApiKeyAtom, baseUrlAtom, cdnUrlAtom, contextSourceAtom, dataResidencyAtom, envAtom, enviveConfigAtom, orgIdAtom, orgLevelApiKeyAtom, orgShortNameAtom, reactAppNameAtom };
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXZlQ29uZmlnIH0gZnJvbSAnc3JjL2NvbnRleHRzL3R5cGVzJztcbmltcG9ydCB7IENvbnRleHRTb3VyY2VFbnVtIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGVudml2ZUNvbmZpZ0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxFbnZpdmVDb25maWcgfCB1bmRlZmluZWQsIFt2YWx1ZTogRW52aXZlQ29uZmlnXSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhbXBsaXR1ZGVBcGlLZXlBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPHN0cmluZyB8IHVuZGVmaW5lZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBkYXRhUmVzaWRlbmN5QXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgZW52QXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYmFzZVVybEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHJlYWN0QXBwTmFtZUF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNkblVybEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IG9yZ0lkQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYWRkVG9DYXJ0Q2FsbGJhY2tBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPGltcG9ydChcIi4uLy4uL3R5cGVzXCIpLkFkZFRvQ2FydENhbGxiYWNrIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNvbnRleHRTb3VyY2VBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPENvbnRleHRTb3VyY2VFbnVtPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IG9yZ0xldmVsQXBpS2V5QXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgb3JnU2hvcnROYW1lQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFJQSxJQUFXLG1CQUFtQjtDQUFDO09BQVU7T0FBb0I7T0FBbUIsUUFBQTtDQUFBO0FBQ2hGLElBQVcsc0JBQXNCLENBQUMsVUFBVSxRQUFRLEtBQUs7QUFDekQsSUFBVyxvQkFBb0IsQ0FBQyxVQUFVLFFBQVEsS0FBSztBQUN2RCxJQUFXLFVBQVUsQ0FBQyxVQUFVLFFBQVEsS0FBSztBQUM3QyxJQUFXLGNBQWMsQ0FBQyxVQUFVLFFBQVEsS0FBSztBQUNqRCxJQUFXLG1CQUFtQixDQUFDLFVBQVUsUUFBUSxLQUFLO0FBQ3RELElBQVcsYUFBYSxDQUFDLFVBQVUsUUFBUSxLQUFLO0FBQ2hELElBQVcsWUFBWSxDQUFDLFVBQVUsUUFBUSxLQUFLO0FBQy9DLElBQVcsd0JBQXdCO0NBQUM7T0FBVTtPQUFtQyxRQUFBO0NBQUE7QUFDakYsSUFBVyxvQkFBb0I7Q0FBQztPQUFVO09BQXlCLFFBQVE7Q0FBSSJ9
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXZlQ29uZmlnIH0gZnJvbSAnc3JjL2NvbnRleHRzL3R5cGVzJztcbmltcG9ydCB7IENvbnRleHRTb3VyY2VFbnVtIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGVudml2ZUNvbmZpZ0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxFbnZpdmVDb25maWcgfCB1bmRlZmluZWQsIFt2YWx1ZTogRW52aXZlQ29uZmlnXSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhbXBsaXR1ZGVBcGlLZXlBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPHN0cmluZyB8IHVuZGVmaW5lZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBkYXRhUmVzaWRlbmN5QXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgZW52QXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYmFzZVVybEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHJlYWN0QXBwTmFtZUF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNkblVybEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IG9yZ0lkQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYWRkVG9DYXJ0Q2FsbGJhY2tBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPGltcG9ydChcIi4uLy4uL3R5cGVzXCIpLkFkZFRvQ2FydENhbGxiYWNrIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNvbnRleHRTb3VyY2VBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPENvbnRleHRTb3VyY2VFbnVtPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IG9yZ0xldmVsQXBpS2V5QXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgb3JnU2hvcnROYW1lQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFJQSxJQUFXLG1CQUFtQjtDQUFDO09BQVc7T0FBb0I7T0FBa0IsUUFBQTtDQUFBO0FBQ2hGLElBQVcsc0JBQXNCLENBQUMsV0FBVyxRQUFRLEtBQUs7QUFDMUQsSUFBVyxvQkFBb0IsQ0FBQyxXQUFXLFFBQVEsS0FBSztBQUN4RCxJQUFXLFVBQVUsQ0FBQyxXQUFXLFFBQVEsS0FBSztBQUM5QyxJQUFXLGNBQWMsQ0FBQyxXQUFXLFFBQVEsS0FBSztBQUNsRCxJQUFXLG1CQUFtQixDQUFDLFdBQVcsUUFBUSxLQUFLO0FBQ3ZELElBQVcsYUFBYSxDQUFDLFdBQVcsUUFBUSxLQUFLO0FBQ2pELElBQVcsWUFBWSxDQUFDLFdBQVcsUUFBUSxLQUFLO0FBQ2hELElBQVcsd0JBQXdCO0NBQUM7T0FBVztPQUFrQyxRQUFBO0NBQUE7QUFDakYsSUFBVyxvQkFBb0I7Q0FBQztPQUFXO09BQXlCLFFBQVE7Q0FBRyJ9
@@ -1,7 +1,7 @@
1
- import * as jotai62 from "jotai";
1
+ import * as jotai49 from "jotai";
2
2
 
3
3
  //#region src/atoms/globalSearch/globalSearch.d.ts
4
- declare const autocompleteStateAtom: jotai62.PrimitiveAtom<{
4
+ declare const autocompleteStateAtom: jotai49.PrimitiveAtom<{
5
5
  results: string[];
6
6
  isLoading: boolean;
7
7
  }> & {
@@ -10,13 +10,13 @@ declare const autocompleteStateAtom: jotai62.PrimitiveAtom<{
10
10
  isLoading: boolean;
11
11
  };
12
12
  };
13
- declare const isFilterOpenAtom: jotai62.PrimitiveAtom<boolean> & {
13
+ declare const isFilterOpenAtom: jotai49.PrimitiveAtom<boolean> & {
14
14
  init: boolean;
15
15
  };
16
- declare const isGlobalSearchOpenAtom: jotai62.PrimitiveAtom<boolean> & {
16
+ declare const isGlobalSearchOpenAtom: jotai49.PrimitiveAtom<boolean> & {
17
17
  init: boolean;
18
18
  };
19
- declare const isSearchResultsOpenAtom: jotai62.PrimitiveAtom<boolean> & {
19
+ declare const isSearchResultsOpenAtom: jotai49.PrimitiveAtom<boolean> & {
20
20
  init: boolean;
21
21
  };
22
22
  //#endregion
@@ -1,21 +1,21 @@
1
1
  import { ChatState } from "../../types/custservice-types.cjs";
2
2
  import { AttachmentRequest, CustServiceConversationMessages } from "@spiffy-ai/commerce-api-client";
3
- import * as jotai53 from "jotai";
3
+ import * as jotai54 from "jotai";
4
4
 
5
5
  //#region src/atoms/org/customerService.d.ts
6
- declare const isBusinessHoursAtom: jotai53.PrimitiveAtom<boolean> & {
6
+ declare const isBusinessHoursAtom: jotai54.PrimitiveAtom<boolean> & {
7
7
  init: boolean;
8
8
  };
9
- declare const isCustomerServiceOpenAtom: jotai53.PrimitiveAtom<boolean> & {
9
+ declare const isCustomerServiceOpenAtom: jotai54.PrimitiveAtom<boolean> & {
10
10
  init: boolean;
11
11
  };
12
- declare const customerServiceResponseAtom: jotai53.PrimitiveAtom<CustServiceConversationMessages | undefined> & {
12
+ declare const customerServiceResponseAtom: jotai54.PrimitiveAtom<CustServiceConversationMessages | undefined> & {
13
13
  init: CustServiceConversationMessages | undefined;
14
14
  };
15
- declare const customerServiceChatStateAtom: jotai53.PrimitiveAtom<ChatState | undefined> & {
15
+ declare const customerServiceChatStateAtom: jotai54.PrimitiveAtom<ChatState | undefined> & {
16
16
  init: ChatState | undefined;
17
17
  };
18
- declare const customerServiceAttachment: jotai53.PrimitiveAtom<AttachmentRequest | undefined> & {
18
+ declare const customerServiceAttachment: jotai54.PrimitiveAtom<AttachmentRequest | undefined> & {
19
19
  init: AttachmentRequest | undefined;
20
20
  };
21
21
  //#endregion
@@ -1,21 +1,21 @@
1
1
  import { ChatState } from "../../types/custservice-types.js";
2
2
  import { AttachmentRequest, CustServiceConversationMessages } from "@spiffy-ai/commerce-api-client";
3
- import * as jotai68 from "jotai";
3
+ import * as jotai64 from "jotai";
4
4
 
5
5
  //#region src/atoms/org/customerService.d.ts
6
- declare const isBusinessHoursAtom: jotai68.PrimitiveAtom<boolean> & {
6
+ declare const isBusinessHoursAtom: jotai64.PrimitiveAtom<boolean> & {
7
7
  init: boolean;
8
8
  };
9
- declare const isCustomerServiceOpenAtom: jotai68.PrimitiveAtom<boolean> & {
9
+ declare const isCustomerServiceOpenAtom: jotai64.PrimitiveAtom<boolean> & {
10
10
  init: boolean;
11
11
  };
12
- declare const customerServiceResponseAtom: jotai68.PrimitiveAtom<CustServiceConversationMessages | undefined> & {
12
+ declare const customerServiceResponseAtom: jotai64.PrimitiveAtom<CustServiceConversationMessages | undefined> & {
13
13
  init: CustServiceConversationMessages | undefined;
14
14
  };
15
- declare const customerServiceChatStateAtom: jotai68.PrimitiveAtom<ChatState | undefined> & {
15
+ declare const customerServiceChatStateAtom: jotai64.PrimitiveAtom<ChatState | undefined> & {
16
16
  init: ChatState | undefined;
17
17
  };
18
- declare const customerServiceAttachment: jotai68.PrimitiveAtom<AttachmentRequest | undefined> & {
18
+ declare const customerServiceAttachment: jotai64.PrimitiveAtom<AttachmentRequest | undefined> & {
19
19
  init: AttachmentRequest | undefined;
20
20
  };
21
21
  //#endregion
@@ -1,16 +1,16 @@
1
1
  import { ColorMapping } from "../../application/models/colorsConfig.cjs";
2
2
  import { FrontendConfig } from "../../application/models/frontendConfig.cjs";
3
3
  import { FeatureFlagContextType } from "../../contexts/featureFlagServiceContext/featureFlagServiceContext.cjs";
4
- import * as jotai58 from "jotai";
4
+ import * as jotai59 from "jotai";
5
5
 
6
6
  //#region src/atoms/org/graphqlConfig.d.ts
7
- declare const internalGraphQLColorsConfigAtom: jotai58.PrimitiveAtom<ColorMapping | undefined> & {
7
+ declare const internalGraphQLColorsConfigAtom: jotai59.PrimitiveAtom<ColorMapping | undefined> & {
8
8
  init: ColorMapping | undefined;
9
9
  };
10
- declare const featureFlagServiceAtom: jotai58.PrimitiveAtom<FeatureFlagContextType | undefined> & {
10
+ declare const featureFlagServiceAtom: jotai59.PrimitiveAtom<FeatureFlagContextType | undefined> & {
11
11
  init: FeatureFlagContextType | undefined;
12
12
  };
13
- declare const frontendConfigAtom: jotai58.WritableAtom<FrontendConfig | undefined, [value: FrontendConfig | undefined], void>;
13
+ declare const frontendConfigAtom: jotai59.WritableAtom<FrontendConfig | undefined, [value: FrontendConfig | undefined], void>;
14
14
  //#endregion
15
15
  export { featureFlagServiceAtom, frontendConfigAtom, internalGraphQLColorsConfigAtom };
16
16
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbENvbmZpZy5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvb3JnL2dyYXBocWxDb25maWcuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvck1hcHBpbmcgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGcm9udGVuZENvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZnJvbnRlbmRDb25maWcnO1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlRmxhZ0NvbnRleHRUeXBlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQvZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpbnRlcm5hbEdyYXBoUUxDb2xvcnNDb25maWdBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPENvbG9yTWFwcGluZyB8IHVuZGVmaW5lZD4gJiB7XG4gICAgaW5pdDogQ29sb3JNYXBwaW5nIHwgdW5kZWZpbmVkO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGZlYXR1cmVGbGFnU2VydmljZUF0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208RmVhdHVyZUZsYWdDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4gJiB7XG4gICAgaW5pdDogRmVhdHVyZUZsYWdDb250ZXh0VHlwZSB8IHVuZGVmaW5lZDtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBmcm9udGVuZENvbmZpZ0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxGcm9udGVuZENvbmZpZyB8IHVuZGVmaW5lZCwgW3ZhbHVlOiBGcm9udGVuZENvbmZpZyB8IHVuZGVmaW5lZF0sIHZvaWQ+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFJQSxJQUFXLGtDQUF1QjtDQUFBO09BQUE7T0FBQSxRQUFBO09BQUE7Q0FBQTtBQUNsQyxJQUFDLHlCQUFBO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQ0QsSUFBVyxxQkFBcUI7Q0FBQztPQUFXO09BQXNCO09BQXNCLFFBQVE7Q0FBYSJ9
@@ -1,16 +1,16 @@
1
1
  import { ColorMapping } from "../../application/models/colorsConfig.js";
2
2
  import { FrontendConfig } from "../../application/models/frontendConfig.js";
3
3
  import { FeatureFlagContextType } from "../../contexts/featureFlagServiceContext/featureFlagServiceContext.js";
4
- import * as jotai64 from "jotai";
4
+ import * as jotai69 from "jotai";
5
5
 
6
6
  //#region src/atoms/org/graphqlConfig.d.ts
7
- declare const internalGraphQLColorsConfigAtom: jotai64.PrimitiveAtom<ColorMapping | undefined> & {
7
+ declare const internalGraphQLColorsConfigAtom: jotai69.PrimitiveAtom<ColorMapping | undefined> & {
8
8
  init: ColorMapping | undefined;
9
9
  };
10
- declare const featureFlagServiceAtom: jotai64.PrimitiveAtom<FeatureFlagContextType | undefined> & {
10
+ declare const featureFlagServiceAtom: jotai69.PrimitiveAtom<FeatureFlagContextType | undefined> & {
11
11
  init: FeatureFlagContextType | undefined;
12
12
  };
13
- declare const frontendConfigAtom: jotai64.WritableAtom<FrontendConfig | undefined, [value: FrontendConfig | undefined], void>;
13
+ declare const frontendConfigAtom: jotai69.WritableAtom<FrontendConfig | undefined, [value: FrontendConfig | undefined], void>;
14
14
  //#endregion
15
15
  export { featureFlagServiceAtom, frontendConfigAtom, internalGraphQLColorsConfigAtom };
16
16
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbENvbmZpZy5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdG9tcy9vcmcvZ3JhcGhxbENvbmZpZy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yTWFwcGluZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnJztcbmltcG9ydCB7IEZyb250ZW5kQ29uZmlnIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9mcm9udGVuZENvbmZpZyc7XG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVGbGFnQ29udGV4dFR5cGUgfSBmcm9tICdzcmMvY29udGV4dHMvZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dC9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGludGVybmFsR3JhcGhRTENvbG9yc0NvbmZpZ0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208Q29sb3JNYXBwaW5nIHwgdW5kZWZpbmVkPiAmIHtcbiAgICBpbml0OiBDb2xvck1hcHBpbmcgfCB1bmRlZmluZWQ7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxGZWF0dXJlRmxhZ0NvbnRleHRUeXBlIHwgdW5kZWZpbmVkPiAmIHtcbiAgICBpbml0OiBGZWF0dXJlRmxhZ0NvbnRleHRUeXBlIHwgdW5kZWZpbmVkO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGZyb250ZW5kQ29uZmlnQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPEZyb250ZW5kQ29uZmlnIHwgdW5kZWZpbmVkLCBbdmFsdWU6IEZyb250ZW5kQ29uZmlnIHwgdW5kZWZpbmVkXSwgdm9pZD47XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUlBLElBQVcsa0NBQXVCO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQ2xDLElBQUMseUJBQUE7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDRCxJQUFXLHFCQUFxQjtDQUFDO09BQVc7T0FBc0I7T0FBc0IsUUFBUTtDQUFhIn0=
@@ -1,8 +1,8 @@
1
1
  import { GraphQlConfigValues } from "../../contexts/graphqlContext/graphqlContext.cjs";
2
- import * as jotai49 from "jotai";
2
+ import * as jotai65 from "jotai";
3
3
 
4
4
  //#region src/atoms/org/newOrgConfigAtom.d.ts
5
- declare const newOrgConfigAtom: jotai49.PrimitiveAtom<GraphQlConfigValues | null> & {
5
+ declare const newOrgConfigAtom: jotai65.PrimitiveAtom<GraphQlConfigValues | null> & {
6
6
  init: GraphQlConfigValues | null;
7
7
  };
8
8
  //#endregion
@@ -1,8 +1,8 @@
1
1
  import { GraphQlConfigValues } from "../../contexts/graphqlContext/graphqlContext.js";
2
- import * as jotai67 from "jotai";
2
+ import * as jotai63 from "jotai";
3
3
 
4
4
  //#region src/atoms/org/newOrgConfigAtom.d.ts
5
- declare const newOrgConfigAtom: jotai67.PrimitiveAtom<GraphQlConfigValues | null> & {
5
+ declare const newOrgConfigAtom: jotai63.PrimitiveAtom<GraphQlConfigValues | null> & {
6
6
  init: GraphQlConfigValues | null;
7
7
  };
8
8
  //#endregion
@@ -1,10 +1,10 @@
1
1
  import { OrgAnalyticsAmplitudeConfig, OrgAnalyticsConfig, OrgAnalyticsCustomerServiceConfig } from "../../application/models/api/orgAnalyticsConfig.cjs";
2
- import * as jotai50 from "jotai";
2
+ import * as jotai62 from "jotai";
3
3
 
4
4
  //#region src/atoms/org/orgAnalyticsConfig.d.ts
5
- declare const orgAnalyticsConfigAtom: jotai50.WritableAtom<OrgAnalyticsConfig | undefined, [value: OrgAnalyticsConfig], void>;
6
- declare const orgAnalyticsAmplitudeConfigAtom: jotai50.Atom<OrgAnalyticsAmplitudeConfig | undefined>;
7
- declare const orgAnalyticsCustomerServiceConfigAtom: jotai50.Atom<OrgAnalyticsCustomerServiceConfig | undefined>;
5
+ declare const orgAnalyticsConfigAtom: jotai62.WritableAtom<OrgAnalyticsConfig | undefined, [value: OrgAnalyticsConfig], void>;
6
+ declare const orgAnalyticsAmplitudeConfigAtom: jotai62.Atom<OrgAnalyticsAmplitudeConfig | undefined>;
7
+ declare const orgAnalyticsCustomerServiceConfigAtom: jotai62.Atom<OrgAnalyticsCustomerServiceConfig | undefined>;
8
8
  //#endregion
9
9
  export { orgAnalyticsAmplitudeConfigAtom, orgAnalyticsConfigAtom, orgAnalyticsCustomerServiceConfigAtom };
10
10
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnQW5hbHl0aWNzQ29uZmlnLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdG9tcy9vcmcvb3JnQW5hbHl0aWNzQ29uZmlnLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQW5hbHl0aWNzQW1wbGl0dWRlQ29uZmlnLCBPcmdBbmFseXRpY3NDb25maWcsIE9yZ0FuYWx5dGljc0N1c3RvbWVyU2VydmljZUNvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0FuYWx5dGljc0NvbmZpZyc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBvcmdBbmFseXRpY3NDb25maWdBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208T3JnQW5hbHl0aWNzQ29uZmlnIHwgdW5kZWZpbmVkLCBbdmFsdWU6IE9yZ0FuYWx5dGljc0NvbmZpZ10sIHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgb3JnQW5hbHl0aWNzQW1wbGl0dWRlQ29uZmlnQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxPcmdBbmFseXRpY3NBbXBsaXR1ZGVDb25maWcgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgb3JnQW5hbHl0aWNzQ3VzdG9tZXJTZXJ2aWNlQ29uZmlnQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxPcmdBbmFseXRpY3NDdXN0b21lclNlcnZpY2VDb25maWcgfCB1bmRlZmluZWQ+O1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBRUEsSUFBVyx5QkFBeUI7Q0FBQztPQUFXO09BQTBCO09BQTBCLFFBQVE7Q0FBTztBQUNuSCxJQUFXLGtDQUFrQztDQUFDO09BQVc7T0FBbUMsUUFBUTtDQUFLIn0=
@@ -1,10 +1,10 @@
1
1
  import { OrgAnalyticsAmplitudeConfig, OrgAnalyticsConfig, OrgAnalyticsCustomerServiceConfig } from "../../application/models/api/orgAnalyticsConfig.js";
2
- import * as jotai73 from "jotai";
2
+ import * as jotai72 from "jotai";
3
3
 
4
4
  //#region src/atoms/org/orgAnalyticsConfig.d.ts
5
- declare const orgAnalyticsConfigAtom: jotai73.WritableAtom<OrgAnalyticsConfig | undefined, [value: OrgAnalyticsConfig], void>;
6
- declare const orgAnalyticsAmplitudeConfigAtom: jotai73.Atom<OrgAnalyticsAmplitudeConfig | undefined>;
7
- declare const orgAnalyticsCustomerServiceConfigAtom: jotai73.Atom<OrgAnalyticsCustomerServiceConfig | undefined>;
5
+ declare const orgAnalyticsConfigAtom: jotai72.WritableAtom<OrgAnalyticsConfig | undefined, [value: OrgAnalyticsConfig], void>;
6
+ declare const orgAnalyticsAmplitudeConfigAtom: jotai72.Atom<OrgAnalyticsAmplitudeConfig | undefined>;
7
+ declare const orgAnalyticsCustomerServiceConfigAtom: jotai72.Atom<OrgAnalyticsCustomerServiceConfig | undefined>;
8
8
  //#endregion
9
9
  export { orgAnalyticsAmplitudeConfigAtom, orgAnalyticsConfigAtom, orgAnalyticsCustomerServiceConfigAtom };
10
10
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnQW5hbHl0aWNzQ29uZmlnLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL29yZy9vcmdBbmFseXRpY3NDb25maWcuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcmdBbmFseXRpY3NBbXBsaXR1ZGVDb25maWcsIE9yZ0FuYWx5dGljc0NvbmZpZywgT3JnQW5hbHl0aWNzQ3VzdG9tZXJTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvb3JnQW5hbHl0aWNzQ29uZmlnJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IG9yZ0FuYWx5dGljc0NvbmZpZ0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxPcmdBbmFseXRpY3NDb25maWcgfCB1bmRlZmluZWQsIFt2YWx1ZTogT3JnQW5hbHl0aWNzQ29uZmlnXSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBvcmdBbmFseXRpY3NBbXBsaXR1ZGVDb25maWdBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPE9yZ0FuYWx5dGljc0FtcGxpdHVkZUNvbmZpZyB8IHVuZGVmaW5lZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBvcmdBbmFseXRpY3NDdXN0b21lclNlcnZpY2VDb25maWdBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPE9yZ0FuYWx5dGljc0N1c3RvbWVyU2VydmljZUNvbmZpZyB8IHVuZGVmaW5lZD47XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxJQUFXLHlCQUF5QjtDQUFDO09BQVc7T0FBMEI7T0FBMEIsUUFBUTtDQUFPO0FBQ25ILElBQVcsa0NBQWtDO0NBQUM7T0FBVztPQUFtQyxRQUFRO0NBQUsifQ==
@@ -57,4 +57,4 @@ interface ProductRetrievalParams {
57
57
  }
58
58
  //#endregion
59
59
  export { ChatSearchFilter, ChatSearchFilterItem, ChatSearchSortModalProps, ChatSearchSortOverrides, ChatSearchSortProps, ChatSearchStateType, ProductRetrievalParams, ProductRetrievalResult, ProductSorting, ProductSortingNames, SortOption };
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC90eXBlcy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZSc7XG5leHBvcnQgZGVjbGFyZSBlbnVtIFByb2R1Y3RTb3J0aW5nIHtcbiAgICBGRUFUVVJFRCA9IFwiZmVhdHVyZWRcIixcbiAgICBQUklDRV9BU0MgPSBcInByaWNlX2FzY1wiLFxuICAgIFBSSUNFX0RFU0MgPSBcInByaWNlX2Rlc2NcIlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgUHJvZHVjdFNvcnRpbmdOYW1lczoge1xuICAgIGZlYXR1cmVkOiBzdHJpbmc7XG4gICAgcHJpY2VfYXNjOiBzdHJpbmc7XG4gICAgcHJpY2VfZGVzYzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hTdGF0ZVR5cGUgPSAnZW50cnlwb2ludCcgfCAnaW5pdGlhbGl6aW5nLXNlYXJjaCcgfCAncHJvZHVjdC1wYWdlJztcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hGaWx0ZXIgPSB7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGl0ZW1zOiBDaGF0U2VhcmNoRmlsdGVySXRlbVtdO1xufTtcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hGaWx0ZXJJdGVtID0ge1xuICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbn07XG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICAgIG9wdGlvbnM6IFByb2R1Y3RTb3J0aW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0TW9kYWxQcm9wcyBleHRlbmRzIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICAgIG9wZW46IGJvb2xlYW47XG4gICAgaGFuZGxlUG9wdXBTdGF0ZTogKHN0YXRlOiBib29sZWFuKSA9PiB2b2lkO1xufVxuZXhwb3J0IGludGVyZmFjZSBTb3J0T3B0aW9uIHtcbiAgICB2YWx1ZTogUHJvZHVjdFNvcnRpbmc7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBvblNlbGVjdDogKG9wdGlvbjogUHJvZHVjdFNvcnRpbmcpID0+IHZvaWQ7XG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIENoYXRTZWFyY2hTb3J0T3ZlcnJpZGVzIHtcbiAgICBERVNLVE9QX0ZJTFRFUl9DT05UQUlORVIgPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItY29udGFpbmVyXCIsXG4gICAgREVTS1RPUF9GSUxURVJfU0VMRUNUX0NPTVBPTkVOVCA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtY29tcG9uZW50XCIsXG4gICAgREVTS1RPUF9GSUxURVJfU0VMRUNUX0lDT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWljb25cIixcbiAgICBNT0JJTEVfRklMVEVSX0JVVFRPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1idXR0b25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0NPTlRBSU5FUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1jb250YWluZXJcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0hFQURFUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1oZWFkZXJcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX1NFTEVDVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1zZWxlY3Rpb25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9QSUxMID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvbi1waWxsXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fREVTQ1JJUFRJT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uLWRlc2NcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0FQUExZX0JVVFRPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1hcHBseS1idXR0b25cIlxufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0UmV0cmlldmFsUmVzdWx0IHtcbiAgICBwcm9kdWN0czogU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlc1snYXR0cmlidXRlcyddW107XG4gICAgdG90YWxQcm9kdWN0Q291bnQ6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFJldHJpZXZhbFBhcmFtcyB7XG4gICAgcHJvZHVjdElkczogc3RyaW5nW107XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcsaUJBQWlCLENBQUMsR0FBRztBQUNoQyxJQUFXLHNCQUFjLENBQUEsR0FBQTtBQUN6QixJQUFXLHNCQUFnQixDQUFBLEdBQUE7QUFDM0IsSUFBVyxtQkFBaUIsQ0FBQSxVQUFBLHFCQUFBO0FBQzVCLElBQUEsdUJBQUEsQ0FBQSxHQUFBO0FBQ0EsSUFBVyxzQkFBc0IsQ0FBQyxVQUFRLGVBQUE7QUFDMUMsSUFBVywyQkFBUyxDQUFBLFVBQUEsb0JBQUE7QUFDcEIsSUFBVyxhQUFVO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDckIsSUFBVywwQkFBVyxDQUFBLElBQUE7QUFDdEIsSUFBQyx5QkFBQSxDQUFBLFdBQUEsZ0NBQUE7QUFDRCxJQUFXLHlCQUF5QixDQUFDLElBQUkifQ==
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC90eXBlcy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZSc7XG5leHBvcnQgZGVjbGFyZSBlbnVtIFByb2R1Y3RTb3J0aW5nIHtcbiAgICBGRUFUVVJFRCA9IFwiZmVhdHVyZWRcIixcbiAgICBQUklDRV9BU0MgPSBcInByaWNlX2FzY1wiLFxuICAgIFBSSUNFX0RFU0MgPSBcInByaWNlX2Rlc2NcIlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgUHJvZHVjdFNvcnRpbmdOYW1lczoge1xuICAgIGZlYXR1cmVkOiBzdHJpbmc7XG4gICAgcHJpY2VfYXNjOiBzdHJpbmc7XG4gICAgcHJpY2VfZGVzYzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hTdGF0ZVR5cGUgPSAnZW50cnlwb2ludCcgfCAnaW5pdGlhbGl6aW5nLXNlYXJjaCcgfCAncHJvZHVjdC1wYWdlJztcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hGaWx0ZXIgPSB7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGl0ZW1zOiBDaGF0U2VhcmNoRmlsdGVySXRlbVtdO1xufTtcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hGaWx0ZXJJdGVtID0ge1xuICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbn07XG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICAgIG9wdGlvbnM6IFByb2R1Y3RTb3J0aW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0TW9kYWxQcm9wcyBleHRlbmRzIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICAgIG9wZW46IGJvb2xlYW47XG4gICAgaGFuZGxlUG9wdXBTdGF0ZTogKHN0YXRlOiBib29sZWFuKSA9PiB2b2lkO1xufVxuZXhwb3J0IGludGVyZmFjZSBTb3J0T3B0aW9uIHtcbiAgICB2YWx1ZTogUHJvZHVjdFNvcnRpbmc7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBvblNlbGVjdDogKG9wdGlvbjogUHJvZHVjdFNvcnRpbmcpID0+IHZvaWQ7XG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIENoYXRTZWFyY2hTb3J0T3ZlcnJpZGVzIHtcbiAgICBERVNLVE9QX0ZJTFRFUl9DT05UQUlORVIgPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItY29udGFpbmVyXCIsXG4gICAgREVTS1RPUF9GSUxURVJfU0VMRUNUX0NPTVBPTkVOVCA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtY29tcG9uZW50XCIsXG4gICAgREVTS1RPUF9GSUxURVJfU0VMRUNUX0lDT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWljb25cIixcbiAgICBNT0JJTEVfRklMVEVSX0JVVFRPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1idXR0b25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0NPTlRBSU5FUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1jb250YWluZXJcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0hFQURFUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1oZWFkZXJcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX1NFTEVDVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1zZWxlY3Rpb25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9QSUxMID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvbi1waWxsXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fREVTQ1JJUFRJT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uLWRlc2NcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0FQUExZX0JVVFRPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1hcHBseS1idXR0b25cIlxufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0UmV0cmlldmFsUmVzdWx0IHtcbiAgICBwcm9kdWN0czogU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlc1snYXR0cmlidXRlcyddW107XG4gICAgdG90YWxQcm9kdWN0Q291bnQ6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFJldHJpZXZhbFBhcmFtcyB7XG4gICAgcHJvZHVjdElkczogc3RyaW5nW107XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcsaUJBQWlCLENBQUMsSUFBSTtBQUNqQyxJQUFXLHNCQUFjLENBQUEsSUFBQTtBQUN6QixJQUFXLHNCQUFnQixDQUFBLElBQUE7QUFDM0IsSUFBVyxtQkFBaUIsQ0FBQSxXQUFBLHFCQUFBO0FBQzVCLElBQUEsdUJBQUEsQ0FBQSxJQUFBO0FBQ0EsSUFBVyxzQkFBc0IsQ0FBQyxXQUFRLGVBQUE7QUFDMUMsSUFBVywyQkFBUyxDQUFBLFdBQUEsb0JBQUE7QUFDcEIsSUFBVyxhQUFVO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDckIsSUFBVywwQkFBVyxDQUFBLElBQUE7QUFDdEIsSUFBQyx5QkFBQSxDQUFBLFdBQUEsZ0NBQUE7QUFDRCxJQUFXLHlCQUF5QixDQUFDLElBQUkifQ==
@@ -2,4 +2,4 @@
2
2
  declare const formatFilterDisplayName: (displayName: string) => string;
3
3
  //#endregion
4
4
  export { formatFilterDisplayName };
5
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC91dGlscy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGNvbnN0IGZvcm1hdEZpbHRlckRpc3BsYXlOYW1lOiAoZGlzcGxheU5hbWU6IHN0cmluZykgPT4gc3RyaW5nO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVywwQkFBMEIsQ0FBQyxHQUFHIn0=
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC91dGlscy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGNvbnN0IGZvcm1hdEZpbHRlckRpc3BsYXlOYW1lOiAoZGlzcGxheU5hbWU6IHN0cmluZykgPT4gc3RyaW5nO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVywwQkFBMEIsQ0FBQyxJQUFJIn0=
@@ -1,4 +1,4 @@
1
- import * as jotai61 from "jotai";
1
+ import * as jotai53 from "jotai";
2
2
  import { WidgetWrapperVariant } from "@envive-ai/react-toolkit-v3/WidgetWrapper";
3
3
 
4
4
  //#region src/atoms/widget/chatPreviewLoading.d.ts
@@ -17,7 +17,7 @@ type ChatPreviewLoadingData = {
17
17
  /**
18
18
  * Atom to read ChatPreviewLoading data for a specific widgetConfigId.
19
19
  */
20
- declare const chatPreviewLoadingDataAtom: jotai61.WritableAtom<Record<string, ChatPreviewLoadingData>, [update: {
20
+ declare const chatPreviewLoadingDataAtom: jotai53.WritableAtom<Record<string, ChatPreviewLoadingData>, [update: {
21
21
  widgetConfigId: string;
22
22
  data: ChatPreviewLoadingData;
23
23
  }], void>;
@@ -1,4 +1,4 @@
1
- import * as jotai63 from "jotai";
1
+ import * as jotai75 from "jotai";
2
2
  import { WidgetWrapperVariant } from "@envive-ai/react-toolkit-v3/WidgetWrapper";
3
3
 
4
4
  //#region src/atoms/widget/chatPreviewLoading.d.ts
@@ -17,7 +17,7 @@ type ChatPreviewLoadingData = {
17
17
  /**
18
18
  * Atom to read ChatPreviewLoading data for a specific widgetConfigId.
19
19
  */
20
- declare const chatPreviewLoadingDataAtom: jotai63.WritableAtom<Record<string, ChatPreviewLoadingData>, [update: {
20
+ declare const chatPreviewLoadingDataAtom: jotai75.WritableAtom<Record<string, ChatPreviewLoadingData>, [update: {
21
21
  widgetConfigId: string;
22
22
  data: ChatPreviewLoadingData;
23
23
  }], void>;
@@ -1,15 +1,12 @@
1
1
  const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
2
  const require_logger = require('../../application/logging/logger.cjs');
3
- const require_featureGates = require('../../application/models/featureGates.cjs');
4
3
  const require_variantInfo = require('../../application/models/variantInfo/variantInfo.cjs');
5
4
  require('../../application/models/index.cjs');
6
5
  const require_eventNames = require('../../services/amplitudeService/eventNames.cjs');
7
6
  const require_variant = require('../../atoms/app/variant.cjs');
8
7
  const require_application_commerce_api = require('../../application/commerce-api.cjs');
9
- const require_featureFlagServiceContext = require('../featureFlagServiceContext/featureFlagServiceContext.cjs');
10
8
  const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
11
9
  require('../amplitudeContext/index.cjs');
12
- require('../featureFlagServiceContext/index.cjs');
13
10
  const require_mapping = require('./mapping.cjs');
14
11
  let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
15
12
  let react = require("react");
@@ -29,7 +26,6 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
29
26
  const lastNotReadyUrlRef = (0, react.useRef)(null);
30
27
  const lastResolvedUrlRef = (0, react.useRef)(null);
31
28
  const hasResolvedOnceRef = (0, react.useRef)(false);
32
- const isVariantResetEnabled = (0, react.useContext)(require_featureFlagServiceContext.FeatureFlagServiceContext)?.featureFlagService?.isFeatureGateEnabled(require_featureGates.FeatureGates.IsPdpVariantContextResetEnabled) ?? false;
33
29
  (0, react.useEffect)(() => {
34
30
  setPageUrl(window.location.href);
35
31
  }, []);
@@ -85,27 +81,20 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
85
81
  return;
86
82
  }
87
83
  const cleansedUrl = pageUrl.toLowerCase().trim();
88
- if (!isVariantResetEnabled) {
89
- if (previewMode || userEvent || variantInfo) {
90
- setIsLoading(false);
91
- return;
92
- }
93
- } else {
94
- if (lastResolvedUrlRef.current === cleansedUrl) {
95
- setIsLoading(false);
96
- return;
97
- }
98
- if (previewMode || (userEvent || variantInfo) && !hasResolvedOnceRef.current) {
99
- hasResolvedOnceRef.current = true;
100
- lastResolvedUrlRef.current = cleansedUrl;
101
- setIsLoading(false);
102
- return;
103
- }
84
+ if (lastResolvedUrlRef.current === cleansedUrl) {
85
+ setIsLoading(false);
86
+ return;
87
+ }
88
+ if (previewMode || (userEvent || variantInfo) && !hasResolvedOnceRef.current) {
104
89
  hasResolvedOnceRef.current = true;
105
90
  lastResolvedUrlRef.current = cleansedUrl;
91
+ setIsLoading(false);
92
+ return;
106
93
  }
94
+ hasResolvedOnceRef.current = true;
95
+ lastResolvedUrlRef.current = cleansedUrl;
107
96
  const response = urlResolverResponse[cleansedUrl] ?? await require_application_commerce_api.default.resolveUrl(cleansedUrl);
108
- if (isVariantResetEnabled && lastResolvedUrlRef.current !== cleansedUrl) return;
97
+ if (lastResolvedUrlRef.current !== cleansedUrl) return;
109
98
  setVariantFromUrlResolver(cleansedUrl, response);
110
99
  setIsLoading(false);
111
100
  setIsSupported(response.ready);
@@ -133,8 +122,7 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
133
122
  userEvent,
134
123
  variantInfo,
135
124
  previewMode,
136
- onUrlResolverNotReady,
137
- isVariantResetEnabled
125
+ onUrlResolverNotReady
138
126
  ]);
139
127
  const { trackEvent } = require_amplitudeContext.useAmplitude();
140
128
  const resolvedVariantInfo = (0, jotai.useAtomValue)(require_variant.variantInfoAtom);
@@ -222,4 +210,4 @@ const usePage = () => {
222
210
  //#endregion
223
211
  exports.PageProvider = PageProvider;
224
212
  exports.usePage = usePage;
225
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwiUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiIsInVybFJlc29sdmVyQXRvbSIsInBhZ2VWYXJpYW50SW5mb0F0b20iLCJwYWdlVXNlckV2ZW50QXRvbSIsIkZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQiLCJGZWF0dXJlR2F0ZXMiLCJVc2VyRXZlbnRDYXRlZ29yeSIsIlBhZ2VWaXNpdENhdGVnb3J5IiwiVmFyaWFudFR5cGVFbnVtIiwibWFwVXJsUmVzb2x2ZXJSZXNwb25zZVRvVmFyaWFudEluZm8iLCJtYXBBcGlVc2VyRXZlbnRUb1VzZXJFdmVudCIsIkNvbW1lcmNlQXBpQ2xpZW50IiwidXNlQW1wbGl0dWRlIiwidmFyaWFudEluZm9BdG9tIiwiaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tIiwicGFnZVR5cGU6IHN0cmluZyIsInBhZ2VJZDogc3RyaW5nIiwiRW52aXZlTWV0cmljc0V2ZW50TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9wYWdlQ29udGV4dC9wYWdlQ29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUmVhY3ROb2RlLFxuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBVcmxSZXNvbHZlclJlc3BvbnNlLFxuICBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20sXG4gIHBhZ2VVc2VyRXZlbnRBdG9tLFxuICBwYWdlVmFyaWFudEluZm9BdG9tLFxuICB1cmxSZXNvbHZlckF0b20sXG4gIHZhcmlhbnRJbmZvQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcbmltcG9ydCB7IHVzZUF0b20sIHVzZUF0b21WYWx1ZSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcywgVmFyaWFudFR5cGVFbnVtIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBGZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0IH0gZnJvbSAnc3JjL2NvbnRleHRzL2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQnO1xuaW1wb3J0IENvbW1lcmNlQXBpQ2xpZW50IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9jb21tZXJjZS1hcGknO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnksIFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUsIHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0JztcbmltcG9ydCB7IG1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50LCBtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyB9IGZyb20gJy4vbWFwcGluZyc7XG5pbXBvcnQgeyBQYWdlRGV0YWlscyB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdwYWdlQ29udGV4dCcpO1xuXG5jb25zdCBQYWdlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8XG4gIHwgKFBhZ2VEZXRhaWxzICYge1xuICAgICAgaXNMb2FkaW5nOiBib29sZWFuO1xuICAgICAgaXNTdXBwb3J0ZWQ6IGJvb2xlYW47XG4gICAgICBzZXRQYWdlVXJsOiAodXJsOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgfSlcbiAgfCB1bmRlZmluZWRcbj4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IFBhZ2VQcm92aWRlcjogUmVhY3QuRkM8e1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBwcmV2aWV3TW9kZTogYm9vbGVhbjtcbiAgLyoqIFdoZW4gVVJMIHJlc29sdmVyIHJldHVybnMgYHJlYWR5OiBmYWxzZWAsIGludm9rZWQgZm9yIGV4dGVuc2lvbi9pbmplY3Rpb24gZmFpbHVyZSByZXBvcnRpbmcuICovXG4gIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeT86IChlcnJvcjogRXJyb3IpID0+IFByb21pc2U8dW5rbm93bj4gfCB2b2lkO1xufT4gPSAoeyBjaGlsZHJlbiwgcHJldmlld01vZGUgPSBmYWxzZSwgb25VcmxSZXNvbHZlck5vdFJlYWR5IH0pID0+IHtcbiAgY29uc3QgW3BhZ2VVcmwsIHNldFBhZ2VVcmxdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBjb25zdCBbdXJsUmVzb2x2ZXJSZXNwb25zZSwgc2V0VXJsUmVzb2x2ZXJSZXNwb25zZV0gPSB1c2VBdG9tKHVybFJlc29sdmVyQXRvbSk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFt2YXJpYW50SW5mbywgc2V0VmFyaWFudEluZm9dID0gdXNlQXRvbShwYWdlVmFyaWFudEluZm9BdG9tKTtcbiAgY29uc3QgW3VzZXJFdmVudCwgc2V0VXNlckV2ZW50XSA9IHVzZUF0b20ocGFnZVVzZXJFdmVudEF0b20pO1xuICBjb25zdCBbaXNTdXBwb3J0ZWQsIHNldElzU3VwcG9ydGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgbGFzdE5vdFJlYWR5VXJsUmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAvLyBUcmFja3MgdGhlIGxhc3QgVVJMIHdlIHJhbiB0aHJvdWdoIHRoZSByZXNvbHZlciAoZGVkdXBlIGtleSkuIExldHMgdXMgcmUtcmVzb2x2ZSB3aGVuIHRoZVxuICAvLyBwYWdlIFVSTCBjaGFuZ2VzIGNsaWVudC1zaWRlIChlLmcuIGEgUERQIGNvbG9yL3ZhcmlhbnQgc3dhcCB0aGF0IHB1c2hlcyBhIG5ldyBVUkwgd2l0aG91dFxuICAvLyBhIGZ1bGwgcmVsb2FkKSBpbnN0ZWFkIG9mIHNob3J0LWNpcmN1aXRpbmcgb24gdGhlIHN0YWxlIHZhcmlhbnQvdXNlckV2ZW50IGF0b21zLiBDbGVhcmVkXG4gIC8vIG9uIGZhaWx1cmUgc28gdGhlIFVSTCBjYW4gYmUgcmV0cmllZC5cbiAgY29uc3QgbGFzdFJlc29sdmVkVXJsUmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAvLyBXaGV0aGVyIHdlIGhhdmUgZXZlciBkcml2ZW4gYSByZXNvbHV0aW9uIG91cnNlbHZlcy4gS2VwdCBzZXBhcmF0ZSBmcm9tXG4gIC8vIGBsYXN0UmVzb2x2ZWRVcmxSZWZgICh3aGljaCBhIGZhaWx1cmUgY2xlYXJzKSBzbyBhIGZhaWxlZCByZXNvbHZlIGNhbiByZXRyeSB3aXRob3V0IHRoZVxuICAvLyBuZXh0IG5hdmlnYXRpb24gbWlzcmVhZGluZyBpdCBhcyBcImF0b21zIHdlcmUgc2VlZGVkIGV4dGVybmFsbHlcIiBhbmQgc2tpcHBpbmcgdGhlIEFQSSBjYWxsLlxuICBjb25zdCBoYXNSZXNvbHZlZE9uY2VSZWYgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIC8vIEdhdGU6IHJlLXJlc29sdmluZyB0aGUgVVJMIG9uIGEgY2xpZW50LXNpZGUgY2hhbmdlIChQRFAgdmFyaWFudCByZXNldCkgaXMgb3B0LWluIHBlciBvcmdcbiAgLy8gdmlhIFN0YXRzaWcuIFdoZW4gb2ZmLCBrZWVwIHRoZSBvcmlnaW5hbCBiZWhhdmlvciAocmVzb2x2ZSBvbmNlLCB0aGVuIHNob3J0LWNpcmN1aXQpLlxuICAvLyBSZWFkIHZpYSB1c2VDb250ZXh0IChub3QgdXNlRmVhdHVyZUZsYWdTZXJ2aWNlKSBzbyBhIGJhcmUgUGFnZVByb3ZpZGVyIOKAlCBlLmcuIGluIHVuaXRcbiAgLy8gdGVzdHMg4oCUIGRvZXMgbm90IHRocm93OyBhYnNlbnQgcHJvdmlkZXIgb3IgZ2F0ZSByZXNvbHZlcyB0byBmYWxzZS5cbiAgY29uc3QgZmVhdHVyZUZsYWdDb250ZXh0ID0gdXNlQ29udGV4dChGZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0KTtcbiAgY29uc3QgaXNWYXJpYW50UmVzZXRFbmFibGVkID1cbiAgICBmZWF0dXJlRmxhZ0NvbnRleHQ/LmZlYXR1cmVGbGFnU2VydmljZT8uaXNGZWF0dXJlR2F0ZUVuYWJsZWQoXG4gICAgICBGZWF0dXJlR2F0ZXMuSXNQZHBWYXJpYW50Q29udGV4dFJlc2V0RW5hYmxlZCxcbiAgICApID8/IGZhbHNlO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0UGFnZVVybCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gIH0sIFtdKTtcblxuICAvLyBBdXRvLWluaXRpYWxpemUgYXRvbXMgZm9yIHByZXZpZXcgbW9kZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwcmV2aWV3TW9kZSAmJiAhdXNlckV2ZW50ICYmICF2YXJpYW50SW5mbykge1xuICAgICAgY29uc3QgdXJsID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cubG9jYXRpb24uaHJlZiA6ICcnO1xuICAgICAgc2V0VXNlckV2ZW50KHtcbiAgICAgICAgZXZlbnRfaWQ6ICdwcmV2aWV3LXVzZXItZXZlbnQnLFxuICAgICAgICBjcmVhdGVkX2F0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5QYWdlVmlzaXQsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBwYWdlX3Zpc2l0X2NhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeS5PdGhlcixcbiAgICAgICAgICB1cmwsXG4gICAgICAgIH0sXG4gICAgICB9IGFzIGFueSk7XG5cbiAgICAgIHNldFZhcmlhbnRJbmZvKHtcbiAgICAgICAgdmFyaWFudFR5cGU6IFZhcmlhbnRUeXBlRW51bS5QYWdlVmlzaXQsXG4gICAgICAgIHVybCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3ByZXZpZXdNb2RlLCB1c2VyRXZlbnQsIHZhcmlhbnRJbmZvLCBzZXRVc2VyRXZlbnQsIHNldFZhcmlhbnRJbmZvXSk7XG5cbiAgY29uc3Qgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlciA9IHVzZUNhbGxiYWNrKFxuICAgICh1cmw6IHN0cmluZywgcmVzcG9uc2U6IFVybFJlc29sdmVyUmVzcG9uc2UpID0+IHtcbiAgICAgIGlmIChyZXNwb25zZS5yZWFkeSkge1xuICAgICAgICBjb25zdCBuZXdWYXJpYW50SW5mbyA9IG1hcFVybFJlc29sdmVyUmVzcG9uc2VUb1ZhcmlhbnRJbmZvKHVybCwgcmVzcG9uc2UpO1xuICAgICAgICBjb25zdCBuZXdVc2VyRXZlbnQgPSBtYXBBcGlVc2VyRXZlbnRUb1VzZXJFdmVudChyZXNwb25zZS51c2VyX2V2ZW50ID8/IHVuZGVmaW5lZCk7XG4gICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnc2V0dGluZyB2YXJpYW50IGluZm8gYW5kIHVzZXIgZXZlbnQnLCB7IG5ld1ZhcmlhbnRJbmZvLCBuZXdVc2VyRXZlbnQgfSk7XG4gICAgICAgIHNldFZhcmlhbnRJbmZvKG5ld1ZhcmlhbnRJbmZvKTtcbiAgICAgICAgc2V0VXNlckV2ZW50KG5ld1VzZXJFdmVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRVc2VyRXZlbnQodW5kZWZpbmVkKTtcbiAgICAgICAgc2V0VmFyaWFudEluZm8odW5kZWZpbmVkKTtcbiAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdzZXQgdmFyaWFudCBpbmZvIGFuZCB1c2VyIGV2ZW50IHRvIHVuZGVmaW5lZCcsIHsgdmFyaWFudEluZm8sIHVzZXJFdmVudCB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXRWYXJpYW50SW5mbywgc2V0VXNlckV2ZW50XSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlc29sdmVQYWdlVXJsID0gYXN5bmMgKCkgPT4ge1xuICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKCFwYWdlVXJsKSB7XG4gICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGVhbnNlZFVybCA9IHBhZ2VVcmwudG9Mb3dlckNhc2UoKS50cmltKCk7XG5cbiAgICAgICAgaWYgKCFpc1ZhcmlhbnRSZXNldEVuYWJsZWQpIHtcbiAgICAgICAgICAvLyBHYXRlIG9mZjogb3JpZ2luYWwgYmVoYXZpb3Ig4oCUIHJlc29sdmUgb25jZSwgdGhlbiBzaG9ydC1jaXJjdWl0IGZvcmV2ZXIgd2hpbGUgdGhlXG4gICAgICAgICAgLy8gdmFyaWFudC91c2VyRXZlbnQgYXRvbXMgYXJlIHNldCAoYSBjbGllbnQtc2lkZSBVUkwgY2hhbmdlIG5ldmVyIHJlLXJlc29sdmVzKS5cbiAgICAgICAgICBpZiAocHJldmlld01vZGUgfHwgdXNlckV2ZW50IHx8IHZhcmlhbnRJbmZvKSB7XG4gICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBHYXRlIG9uOiByZS1yZXNvbHZlIHdoZW4gdGhlIFVSTCBjaGFuZ2VzIHNvIGEgUERQIHZhcmlhbnQgc3dhcCBmb2xsb3dzIHRvIHRoZSBuZXdcbiAgICAgICAgICAvLyBwcm9kdWN0LlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gQWxyZWFkeSByZXNvbHZlZCB0aGlzIGV4YWN0IFVSTCDigJQgZ3VhcmRzIGFnYWluc3QgdGhlIGVmZmVjdCByZS1ydW5uaW5nIG9uY2UgdGhlXG4gICAgICAgICAgLy8gcmVzb2x2ZXIgd3JpdGVzIHRoZSB2YXJpYW50L3VzZXJFdmVudCBhdG9tcyAodGhleSBhcmUgZWZmZWN0IGRlcGVuZGVuY2llcykuXG4gICAgICAgICAgaWYgKGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID09PSBjbGVhbnNlZFVybCkge1xuICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gSW4gcHJldmlldyBtb2RlLCBvciB3aGVuIHRoZSBhdG9tcyB3ZXJlIHNlZWRlZCBleHRlcm5hbGx5IChlLmcuIGJ5IHN0b3J5Ym9vaylcbiAgICAgICAgICAvLyBiZWZvcmUgd2Ugb3Vyc2VsdmVzIHJlc29sdmVkIGFueXRoaW5nLCBob25vciB0aG9zZSBhdG9tcyBhbmQgc2tpcCB0aGUgQVBJIGNhbGwuXG4gICAgICAgICAgLy8gT25jZSB3ZSBoYXZlIHJlc29sdmVkIGF0IGxlYXN0IG9uY2UgKGBoYXNSZXNvbHZlZE9uY2VSZWZgKSwgYSBjaGFuZ2VkIFVSTCBzaG91bGRcbiAgICAgICAgICAvLyByZS1yZXNvbHZlIGV2ZW4gdGhvdWdoIHRoZSBwcmV2aW91cyB2YXJpYW50L3VzZXJFdmVudCBhdG9tcyBhcmUgc2V0LlxuICAgICAgICAgIGlmIChwcmV2aWV3TW9kZSB8fCAoKHVzZXJFdmVudCB8fCB2YXJpYW50SW5mbykgJiYgIWhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50KSkge1xuICAgICAgICAgICAgaGFzUmVzb2x2ZWRPbmNlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPSBjbGVhbnNlZFVybDtcbiAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICBsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9IGNsZWFuc2VkVXJsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICAgIHVybFJlc29sdmVyUmVzcG9uc2VbY2xlYW5zZWRVcmxdID8/XG4gICAgICAgICAgKChhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5yZXNvbHZlVXJsKGNsZWFuc2VkVXJsKSkgYXMgVXJsUmVzb2x2ZXJSZXNwb25zZSk7XG5cbiAgICAgICAgLy8gQSBuZXdlciBuYXZpZ2F0aW9uIHN0YXJ0ZWQgcmVzb2x2aW5nIHdoaWxlIHdlIGF3YWl0ZWQgKGUuZy4gdGhlIHNob3BwZXIgY2xpY2tlZFxuICAgICAgICAvLyB0aHJvdWdoIHNldmVyYWwgdmFyaWFudCBzd2F0Y2hlcyBxdWlja2x5KS4gRHJvcCB0aGlzIG5vdy1zdGFsZSByZXNwb25zZSBzbyBhblxuICAgICAgICAvLyBvdXQtb2Ytb3JkZXIgcmVzb2x1dGlvbiBjYW4ndCBvdmVyd3JpdGUgdGhlIGxhdGVzdCB2YXJpYW50LiBEbyBOT1QgY2xlYXIgaXNMb2FkaW5nXG4gICAgICAgIC8vIGhlcmU6IHRoZSBuZXdlciBpbi1mbGlnaHQgcmVxdWVzdCBvd25zIHRoZSBsb2FkaW5nIHN0YXRlLCBhbmQgY2xlYXJpbmcgaXQgd291bGRcbiAgICAgICAgLy8gb3BlbiBhIHdpbmRvdyB3aGVyZSBpc0xvYWRpbmc9ZmFsc2Ugd2hpbGUgdmFyaWFudEluZm8vaXNTdXBwb3J0ZWQgc3RpbGwgYmVsb25nIHRvXG4gICAgICAgIC8vIHRoZSBwcmV2aW91cyBwcm9kdWN0IChjYXVzaW5nIHdpZGdldCBmbGFzaGVzIGFuZCBhIGZpcmUtb25jZSBzdWNjZXNzIHJlZiDigJQgc2VlXG4gICAgICAgIC8vIFdpZGdldHMudHN4IOKAlCB0byBsYXRjaCBvbnRvIHRoZSB3cm9uZyBwcm9kdWN0J3Mgc3RhdGUpLlxuICAgICAgICBpZiAoaXNWYXJpYW50UmVzZXRFbmFibGVkICYmIGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ICE9PSBjbGVhbnNlZFVybCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIoY2xlYW5zZWRVcmwsIHJlc3BvbnNlKTtcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgc2V0SXNTdXBwb3J0ZWQocmVzcG9uc2UucmVhZHkpO1xuXG4gICAgICAgIGlmIChyZXNwb25zZS5yZWFkeSkge1xuICAgICAgICAgIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmIChvblVybFJlc29sdmVyTm90UmVhZHkgJiYgbGFzdE5vdFJlYWR5VXJsUmVmLmN1cnJlbnQgIT09IGNsZWFuc2VkVXJsKSB7XG4gICAgICAgICAgbGFzdE5vdFJlYWR5VXJsUmVmLmN1cnJlbnQgPSBjbGVhbnNlZFVybDtcbiAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoYFVSTCByZXNvbHZlciByZXR1cm5lZCByZWFkeT1mYWxzZSBmb3IgJHtjbGVhbnNlZFVybH1gKTtcbiAgICAgICAgICBQcm9taXNlLnJlc29sdmUob25VcmxSZXNvbHZlck5vdFJlYWR5KGVycikpLmNhdGNoKGNhbGxiYWNrRXJyb3IgPT4ge1xuICAgICAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdvblVybFJlc29sdmVyTm90UmVhZHkgY2FsbGJhY2sgZmFpbGVkJywgY2FsbGJhY2tFcnJvcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gQWxsb3cgdGhpcyBVUkwgdG8gYmUgcmV0cmllZCBvbiBhIHN1YnNlcXVlbnQgdHJpZ2dlciDigJQgYnV0IG9ubHkgaWYgYSBuZXdlclxuICAgICAgICAvLyBuYXZpZ2F0aW9uIGhhc24ndCBhbHJlYWR5IHN1cGVyc2VkZWQgaXQsIHNvIGEgc3RhbGUgZmFpbHVyZSBjYW4ndCBkaXNjYXJkIGEgbmV3ZXJcbiAgICAgICAgLy8gaW4tZmxpZ2h0IHJlc29sdXRpb24uIGBoYXNSZXNvbHZlZE9uY2VSZWZgIGlzIGludGVudGlvbmFsbHkgbGVmdCBzZXQsIHNvIHJldHJ5aW5nXG4gICAgICAgIC8vIG5ldmVyIGZhbGxzIGludG8gdGhlIHNlZWRlZC1hdG9tcyBicmFuY2ggYWJvdmUuXG4gICAgICAgIGNvbnN0IGZhaWxlZFVybCA9IHBhZ2VVcmw/LnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgICAgICBpZiAoZmFpbGVkVXJsICYmIGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID09PSBmYWlsZWRVcmwpIHtcbiAgICAgICAgICBsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgbG9nZ2VyLmxvZ0Vycm9yKCdGYWlsZWQgdG8gcmVzb2x2ZSBwYWdlIFVSTCcsIGUsIHsgcGFnZVVybCB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJlc29sdmVQYWdlVXJsKCk7XG4gIH0sIFtcbiAgICBwYWdlVXJsLFxuICAgIHVybFJlc29sdmVyUmVzcG9uc2UsXG4gICAgc2V0VXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgICBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyLFxuICAgIHVzZXJFdmVudCxcbiAgICB2YXJpYW50SW5mbyxcbiAgICBwcmV2aWV3TW9kZSxcbiAgICBvblVybFJlc29sdmVyTm90UmVhZHksXG4gICAgaXNWYXJpYW50UmVzZXRFbmFibGVkLFxuICBdKTtcblxuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuICBjb25zdCByZXNvbHZlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKHZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IGhhc1BhcnNlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IHBhZ2VWaWV3ZWRGaXJlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgfHwgaXNMb2FkaW5nIHx8ICFoYXNQYXJzZWRWYXJpYW50SW5mbyB8fCAhdmFyaWFudEluZm8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcGFnZVR5cGU6IHN0cmluZztcbiAgICBsZXQgcGFnZUlkOiBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKHZhcmlhbnRJbmZvLnZhcmlhbnRUeXBlKSB7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QZHA6XG4gICAgICAgIHBhZ2VUeXBlID0gJ3BkcCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnByb2R1Y3RJZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QbHA6XG4gICAgICAgIHBhZ2VUeXBlID0gJ3BscCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnBscElkO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLkhvbWU6XG4gICAgICAgIHBhZ2VUeXBlID0gJ2hvbWVwYWdlJztcbiAgICAgICAgcGFnZUlkID0gdmFyaWFudEluZm8udXJsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLk90aGVyOlxuICAgICAgICBwYWdlVHlwZSA9ICdvdGhlcic7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QYWdlVmlzaXQ6XG4gICAgICAgIHBhZ2VUeXBlID0gJ290aGVyJztcbiAgICAgICAgcGFnZUlkID0gdmFyaWFudEluZm8udXJsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLkZ1bGxQYWdlU2FsZXNBZ2VudDpcbiAgICAgICAgcGFnZVR5cGUgPSAnYWRhcHRpdmVfc3RvcmVmcm9udCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgPSB0cnVlO1xuXG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuUGFnZVZpZXdlZCxcbiAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgJ2NvbnRleHQucGFnZV90eXBlJzogcGFnZVR5cGUsXG4gICAgICAgICdjb250ZXh0LnBhZ2VfaWQnOiBwYWdlSWQsXG4gICAgICAgICdjb250ZXh0LnN1cHBvcnRlZCc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5yZWFkeSc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5wYWdlX3ZhcmlhbnRfaWQnOiByZXNvbHZlZFZhcmlhbnRJbmZvLnZhcmlhbnRJZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sIFtpc0xvYWRpbmcsIGlzU3VwcG9ydGVkLCBoYXNQYXJzZWRWYXJpYW50SW5mbywgdmFyaWFudEluZm8sIHJlc29sdmVkVmFyaWFudEluZm8sIHRyYWNrRXZlbnRdKTtcblxuICBjb25zdCBzZXRQYWdlVXJsU3RhYmxlID0gdXNlQ2FsbGJhY2soKHVybDogc3RyaW5nKSA9PiB7XG4gICAgc2V0UGFnZVVybCh1cmwpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBwYWdlVXJsLFxuICAgICAgdmFyaWFudEluZm8sXG4gICAgICB1c2VyRXZlbnQsXG4gICAgICBpc0xvYWRpbmcsXG4gICAgICBpc1N1cHBvcnRlZCxcbiAgICAgIHNldFBhZ2VVcmw6IHNldFBhZ2VVcmxTdGFibGUsXG4gICAgfSksXG4gICAgW3BhZ2VVcmwsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIGlzTG9hZGluZywgaXNTdXBwb3J0ZWQsIHNldFBhZ2VVcmxTdGFibGVdLFxuICApO1xuXG4gIHJldHVybiA8UGFnZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9QYWdlQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoUGFnZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVBhZ2UgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFBhZ2VQcm92aWRlcicpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRCQSxNQUFNLFNBQVMsSUFBSUEsdUJBQU8sY0FBYztBQUV4QyxNQUFNLHVDQU9KLE9BQVU7QUFFWixNQUFhQyxnQkFLUCxFQUFFLFVBQVUsY0FBYyxPQUFPLDRCQUE0QjtDQUNqRSxNQUFNLENBQUMsU0FBUyxrQ0FBMkMsT0FBVTtDQUNyRSxNQUFNLENBQUMscUJBQXFCLDZDQUFrQ0MsZ0NBQWdCO0NBQzlFLE1BQU0sQ0FBQyxXQUFXLG9DQUF5QixNQUFNO0NBQ2pELE1BQU0sQ0FBQyxhQUFhLHFDQUEwQkMsb0NBQW9CO0NBQ2xFLE1BQU0sQ0FBQyxXQUFXLG1DQUF3QkMsa0NBQWtCO0NBQzVELE1BQU0sQ0FBQyxhQUFhLHNDQUEyQixNQUFNO0NBQ3JELE1BQU0sdUNBQTJDLEtBQUs7Q0FLdEQsTUFBTSx1Q0FBMkMsS0FBSztDQUl0RCxNQUFNLHVDQUE0QixNQUFNO0NBT3hDLE1BQU0sOENBRGdDQyw0REFBMEIsRUFFMUMsb0JBQW9CLHFCQUN0Q0Msa0NBQWEsZ0NBQ2Qs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
213
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwiUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiIsInVybFJlc29sdmVyQXRvbSIsInBhZ2VWYXJpYW50SW5mb0F0b20iLCJwYWdlVXNlckV2ZW50QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwiUGFnZVZpc2l0Q2F0ZWdvcnkiLCJWYXJpYW50VHlwZUVudW0iLCJtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyIsIm1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50IiwiQ29tbWVyY2VBcGlDbGllbnQiLCJ1c2VBbXBsaXR1ZGUiLCJ2YXJpYW50SW5mb0F0b20iLCJoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20iLCJwYWdlVHlwZTogc3RyaW5nIiwicGFnZUlkOiBzdHJpbmciLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3BhZ2VDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZWFjdE5vZGUsXG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7XG4gIFVybFJlc29sdmVyUmVzcG9uc2UsXG4gIGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSxcbiAgcGFnZVVzZXJFdmVudEF0b20sXG4gIHBhZ2VWYXJpYW50SW5mb0F0b20sXG4gIHVybFJlc29sdmVyQXRvbSxcbiAgdmFyaWFudEluZm9BdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgdXNlQXRvbSwgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgVmFyaWFudFR5cGVFbnVtIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2NvbW1lcmNlLWFwaSc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQsIG1hcFVybFJlc29sdmVyUmVzcG9uc2VUb1ZhcmlhbnRJbmZvIH0gZnJvbSAnLi9tYXBwaW5nJztcbmltcG9ydCB7IFBhZ2VEZXRhaWxzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3BhZ2VDb250ZXh0Jyk7XG5cbmNvbnN0IFBhZ2VDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxcbiAgfCAoUGFnZURldGFpbHMgJiB7XG4gICAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gICAgICBpc1N1cHBvcnRlZDogYm9vbGVhbjtcbiAgICAgIHNldFBhZ2VVcmw6ICh1cmw6IHN0cmluZykgPT4gdm9pZDtcbiAgICB9KVxuICB8IHVuZGVmaW5lZFxuPih1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiA9ICh7IGNoaWxkcmVuLCBwcmV2aWV3TW9kZSA9IGZhbHNlLCBvblVybFJlc29sdmVyTm90UmVhZHkgfSkgPT4ge1xuICBjb25zdCBbcGFnZVVybCwgc2V0UGFnZVVybF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFt1cmxSZXNvbHZlclJlc3BvbnNlLCBzZXRVcmxSZXNvbHZlclJlc3BvbnNlXSA9IHVzZUF0b20odXJsUmVzb2x2ZXJBdG9tKTtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3ZhcmlhbnRJbmZvLCBzZXRWYXJpYW50SW5mb10gPSB1c2VBdG9tKHBhZ2VWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBbdXNlckV2ZW50LCBzZXRVc2VyRXZlbnRdID0gdXNlQXRvbShwYWdlVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IFtpc1N1cHBvcnRlZCwgc2V0SXNTdXBwb3J0ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBsYXN0Tm90UmVhZHlVcmxSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIC8vIFRyYWNrcyB0aGUgbGFzdCBVUkwgd2UgcmFuIHRocm91Z2ggdGhlIHJlc29sdmVyIChkZWR1cGUga2V5KS4gTGV0cyB1cyByZS1yZXNvbHZlIHdoZW4gdGhlXG4gIC8vIHBhZ2UgVVJMIGNoYW5nZXMgY2xpZW50LXNpZGUgKGUuZy4gYSBQRFAgY29sb3IvdmFyaWFudCBzd2FwIHRoYXQgcHVzaGVzIGEgbmV3IFVSTCB3aXRob3V0XG4gIC8vIGEgZnVsbCByZWxvYWQpIGluc3RlYWQgb2Ygc2hvcnQtY2lyY3VpdGluZyBvbiB0aGUgc3RhbGUgdmFyaWFudC91c2VyRXZlbnQgYXRvbXMuIENsZWFyZWRcbiAgLy8gb24gZmFpbHVyZSBzbyB0aGUgVVJMIGNhbiBiZSByZXRyaWVkLlxuICBjb25zdCBsYXN0UmVzb2x2ZWRVcmxSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIC8vIFdoZXRoZXIgd2UgaGF2ZSBldmVyIGRyaXZlbiBhIHJlc29sdXRpb24gb3Vyc2VsdmVzLiBLZXB0IHNlcGFyYXRlIGZyb21cbiAgLy8gYGxhc3RSZXNvbHZlZFVybFJlZmAgKHdoaWNoIGEgZmFpbHVyZSBjbGVhcnMpIHNvIGEgZmFpbGVkIHJlc29sdmUgY2FuIHJldHJ5IHdpdGhvdXQgdGhlXG4gIC8vIG5leHQgbmF2aWdhdGlvbiBtaXNyZWFkaW5nIGl0IGFzIFwiYXRvbXMgd2VyZSBzZWVkZWQgZXh0ZXJuYWxseVwiIGFuZCBza2lwcGluZyB0aGUgQVBJIGNhbGwuXG4gIGNvbnN0IGhhc1Jlc29sdmVkT25jZVJlZiA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRQYWdlVXJsKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgfSwgW10pO1xuXG4gIC8vIEF1dG8taW5pdGlhbGl6ZSBhdG9tcyBmb3IgcHJldmlldyBtb2RlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByZXZpZXdNb2RlICYmICF1c2VyRXZlbnQgJiYgIXZhcmlhbnRJbmZvKSB7XG4gICAgICBjb25zdCB1cmwgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5sb2NhdGlvbi5ocmVmIDogJyc7XG4gICAgICBzZXRVc2VyRXZlbnQoe1xuICAgICAgICBldmVudF9pZDogJ3ByZXZpZXctdXNlci1ldmVudCcsXG4gICAgICAgIGNyZWF0ZWRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHBhZ2VfdmlzaXRfY2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5Lk90aGVyLFxuICAgICAgICAgIHVybCxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgYW55KTtcblxuICAgICAgc2V0VmFyaWFudEluZm8oe1xuICAgICAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLlBhZ2VWaXNpdCxcbiAgICAgICAgdXJsLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJldmlld01vZGUsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIHNldFVzZXJFdmVudCwgc2V0VmFyaWFudEluZm9dKTtcblxuICBjb25zdCBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyID0gdXNlQ2FsbGJhY2soXG4gICAgKHVybDogc3RyaW5nLCByZXNwb25zZTogVXJsUmVzb2x2ZXJSZXNwb25zZSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlLnJlYWR5KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhcmlhbnRJbmZvID0gbWFwVXJsUmVzb2x2ZXJSZXNwb25zZVRvVmFyaWFudEluZm8odXJsLCByZXNwb25zZSk7XG4gICAgICAgIGNvbnN0IG5ld1VzZXJFdmVudCA9IG1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50KHJlc3BvbnNlLnVzZXJfZXZlbnQgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdzZXR0aW5nIHZhcmlhbnQgaW5mbyBhbmQgdXNlciBldmVudCcsIHsgbmV3VmFyaWFudEluZm8sIG5ld1VzZXJFdmVudCB9KTtcbiAgICAgICAgc2V0VmFyaWFudEluZm8obmV3VmFyaWFudEluZm8pO1xuICAgICAgICBzZXRVc2VyRXZlbnQobmV3VXNlckV2ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFVzZXJFdmVudCh1bmRlZmluZWQpO1xuICAgICAgICBzZXRWYXJpYW50SW5mbyh1bmRlZmluZWQpO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3NldCB2YXJpYW50IGluZm8gYW5kIHVzZXIgZXZlbnQgdG8gdW5kZWZpbmVkJywgeyB2YXJpYW50SW5mbywgdXNlckV2ZW50IH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFZhcmlhbnRJbmZvLCBzZXRVc2VyRXZlbnRdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcmVzb2x2ZVBhZ2VVcmwgPSBhc3luYyAoKSA9PiB7XG4gICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoIXBhZ2VVcmwpIHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsZWFuc2VkVXJsID0gcGFnZVVybC50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcblxuICAgICAgICAvLyBSZS1yZXNvbHZlIHdoZW4gdGhlIFVSTCBjaGFuZ2VzIHNvIGEgY2xpZW50LXNpZGUgUERQIHZhcmlhbnQgc3dhcCBmb2xsb3dzIHRvIHRoZSBuZXdcbiAgICAgICAgLy8gcHJvZHVjdC5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gQWxyZWFkeSByZXNvbHZlZCB0aGlzIGV4YWN0IFVSTCDigJQgZ3VhcmRzIGFnYWluc3QgdGhlIGVmZmVjdCByZS1ydW5uaW5nIG9uY2UgdGhlXG4gICAgICAgIC8vIHJlc29sdmVyIHdyaXRlcyB0aGUgdmFyaWFudC91c2VyRXZlbnQgYXRvbXMgKHRoZXkgYXJlIGVmZmVjdCBkZXBlbmRlbmNpZXMpLlxuICAgICAgICBpZiAobGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPT09IGNsZWFuc2VkVXJsKSB7XG4gICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gSW4gcHJldmlldyBtb2RlLCBvciB3aGVuIHRoZSBhdG9tcyB3ZXJlIHNlZWRlZCBleHRlcm5hbGx5IChlLmcuIGJ5IHN0b3J5Ym9vaylcbiAgICAgICAgLy8gYmVmb3JlIHdlIG91cnNlbHZlcyByZXNvbHZlZCBhbnl0aGluZywgaG9ub3IgdGhvc2UgYXRvbXMgYW5kIHNraXAgdGhlIEFQSSBjYWxsLlxuICAgICAgICAvLyBPbmNlIHdlIGhhdmUgcmVzb2x2ZWQgYXQgbGVhc3Qgb25jZSAoYGhhc1Jlc29sdmVkT25jZVJlZmApLCBhIGNoYW5nZWQgVVJMIHNob3VsZFxuICAgICAgICAvLyByZS1yZXNvbHZlIGV2ZW4gdGhvdWdoIHRoZSBwcmV2aW91cyB2YXJpYW50L3VzZXJFdmVudCBhdG9tcyBhcmUgc2V0LlxuICAgICAgICBpZiAocHJldmlld01vZGUgfHwgKCh1c2VyRXZlbnQgfHwgdmFyaWFudEluZm8pICYmICFoYXNSZXNvbHZlZE9uY2VSZWYuY3VycmVudCkpIHtcbiAgICAgICAgICBoYXNSZXNvbHZlZE9uY2VSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPSBjbGVhbnNlZFVybDtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBoYXNSZXNvbHZlZE9uY2VSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID0gY2xlYW5zZWRVcmw7XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICAgIHVybFJlc29sdmVyUmVzcG9uc2VbY2xlYW5zZWRVcmxdID8/XG4gICAgICAgICAgKChhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5yZXNvbHZlVXJsKGNsZWFuc2VkVXJsKSkgYXMgVXJsUmVzb2x2ZXJSZXNwb25zZSk7XG5cbiAgICAgICAgLy8gQSBuZXdlciBuYXZpZ2F0aW9uIHN0YXJ0ZWQgcmVzb2x2aW5nIHdoaWxlIHdlIGF3YWl0ZWQgKGUuZy4gdGhlIHNob3BwZXIgY2xpY2tlZFxuICAgICAgICAvLyB0aHJvdWdoIHNldmVyYWwgdmFyaWFudCBzd2F0Y2hlcyBxdWlja2x5KS4gRHJvcCB0aGlzIG5vdy1zdGFsZSByZXNwb25zZSBzbyBhblxuICAgICAgICAvLyBvdXQtb2Ytb3JkZXIgcmVzb2x1dGlvbiBjYW4ndCBvdmVyd3JpdGUgdGhlIGxhdGVzdCB2YXJpYW50LiBEbyBOT1QgY2xlYXIgaXNMb2FkaW5nXG4gICAgICAgIC8vIGhlcmU6IHRoZSBuZXdlciBpbi1mbGlnaHQgcmVxdWVzdCBvd25zIHRoZSBsb2FkaW5nIHN0YXRlLCBhbmQgY2xlYXJpbmcgaXQgd291bGRcbiAgICAgICAgLy8gb3BlbiBhIHdpbmRvdyB3aGVyZSBpc0xvYWRpbmc9ZmFsc2Ugd2hpbGUgdmFyaWFudEluZm8vaXNTdXBwb3J0ZWQgc3RpbGwgYmVsb25nIHRvXG4gICAgICAgIC8vIHRoZSBwcmV2aW91cyBwcm9kdWN0IChjYXVzaW5nIHdpZGdldCBmbGFzaGVzIGFuZCBhIGZpcmUtb25jZSBzdWNjZXNzIHJlZiDigJQgc2VlXG4gICAgICAgIC8vIFdpZGdldHMudHN4IOKAlCB0byBsYXRjaCBvbnRvIHRoZSB3cm9uZyBwcm9kdWN0J3Mgc3RhdGUpLlxuICAgICAgICBpZiAobGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgIT09IGNsZWFuc2VkVXJsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlcihjbGVhbnNlZFVybCwgcmVzcG9uc2UpO1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBzZXRJc1N1cHBvcnRlZChyZXNwb25zZS5yZWFkeSk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLnJlYWR5KSB7XG4gICAgICAgICAgbGFzdE5vdFJlYWR5VXJsUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSAmJiBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCAhPT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCA9IGNsZWFuc2VkVXJsO1xuICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcihgVVJMIHJlc29sdmVyIHJldHVybmVkIHJlYWR5PWZhbHNlIGZvciAke2NsZWFuc2VkVXJsfWApO1xuICAgICAgICAgIFByb21pc2UucmVzb2x2ZShvblVybFJlc29sdmVyTm90UmVhZHkoZXJyKSkuY2F0Y2goY2FsbGJhY2tFcnJvciA9PiB7XG4gICAgICAgICAgICBsb2dnZXIubG9nRGVidWcoJ29uVXJsUmVzb2x2ZXJOb3RSZWFkeSBjYWxsYmFjayBmYWlsZWQnLCBjYWxsYmFja0Vycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBBbGxvdyB0aGlzIFVSTCB0byBiZSByZXRyaWVkIG9uIGEgc3Vic2VxdWVudCB0cmlnZ2VyIOKAlCBidXQgb25seSBpZiBhIG5ld2VyXG4gICAgICAgIC8vIG5hdmlnYXRpb24gaGFzbid0IGFscmVhZHkgc3VwZXJzZWRlZCBpdCwgc28gYSBzdGFsZSBmYWlsdXJlIGNhbid0IGRpc2NhcmQgYSBuZXdlclxuICAgICAgICAvLyBpbi1mbGlnaHQgcmVzb2x1dGlvbi4gYGhhc1Jlc29sdmVkT25jZVJlZmAgaXMgaW50ZW50aW9uYWxseSBsZWZ0IHNldCwgc28gcmV0cnlpbmdcbiAgICAgICAgLy8gbmV2ZXIgZmFsbHMgaW50byB0aGUgc2VlZGVkLWF0b21zIGJyYW5jaCBhYm92ZS5cbiAgICAgICAgY29uc3QgZmFpbGVkVXJsID0gcGFnZVVybD8udG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgICAgIGlmIChmYWlsZWRVcmwgJiYgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPT09IGZhaWxlZFVybCkge1xuICAgICAgICAgIGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBsb2dnZXIubG9nRXJyb3IoJ0ZhaWxlZCB0byByZXNvbHZlIHBhZ2UgVVJMJywgZSwgeyBwYWdlVXJsIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgcmVzb2x2ZVBhZ2VVcmwoKTtcbiAgfSwgW1xuICAgIHBhZ2VVcmwsXG4gICAgdXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgICBzZXRVcmxSZXNvbHZlclJlc3BvbnNlLFxuICAgIHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIsXG4gICAgdXNlckV2ZW50LFxuICAgIHZhcmlhbnRJbmZvLFxuICAgIHByZXZpZXdNb2RlLFxuICAgIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSxcbiAgXSk7XG5cbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgcmVzb2x2ZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZSh2YXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZShoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBwYWdlVmlld2VkRmlyZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50IHx8IGlzTG9hZGluZyB8fCAhaGFzUGFyc2VkVmFyaWFudEluZm8gfHwgIXZhcmlhbnRJbmZvKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHBhZ2VUeXBlOiBzdHJpbmc7XG4gICAgbGV0IHBhZ2VJZDogc3RyaW5nO1xuXG4gICAgc3dpdGNoICh2YXJpYW50SW5mby52YXJpYW50VHlwZSkge1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGRwOlxuICAgICAgICBwYWdlVHlwZSA9ICdwZHAnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby5wcm9kdWN0SWQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGxwOlxuICAgICAgICBwYWdlVHlwZSA9ICdwbHAnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby5wbHBJZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5Ib21lOlxuICAgICAgICBwYWdlVHlwZSA9ICdob21lcGFnZSc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5PdGhlcjpcbiAgICAgICAgcGFnZVR5cGUgPSAnb3RoZXInO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby51cmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0OlxuICAgICAgICBwYWdlVHlwZSA9ICdvdGhlcic7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5GdWxsUGFnZVNhbGVzQWdlbnQ6XG4gICAgICAgIHBhZ2VUeXBlID0gJ2FkYXB0aXZlX3N0b3JlZnJvbnQnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby51cmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50ID0gdHJ1ZTtcblxuICAgIHRyYWNrRXZlbnQoe1xuICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLlBhZ2VWaWV3ZWQsXG4gICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICdjb250ZXh0LnBhZ2VfdHlwZSc6IHBhZ2VUeXBlLFxuICAgICAgICAnY29udGV4dC5wYWdlX2lkJzogcGFnZUlkLFxuICAgICAgICAnY29udGV4dC5zdXBwb3J0ZWQnOiBpc1N1cHBvcnRlZCxcbiAgICAgICAgJ2NvbnRleHQucmVhZHknOiBpc1N1cHBvcnRlZCxcbiAgICAgICAgJ2NvbnRleHQucGFnZV92YXJpYW50X2lkJzogcmVzb2x2ZWRWYXJpYW50SW5mby52YXJpYW50SWQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9LCBbaXNMb2FkaW5nLCBpc1N1cHBvcnRlZCwgaGFzUGFyc2VkVmFyaWFudEluZm8sIHZhcmlhbnRJbmZvLCByZXNvbHZlZFZhcmlhbnRJbmZvLCB0cmFja0V2ZW50XSk7XG5cbiAgY29uc3Qgc2V0UGFnZVVybFN0YWJsZSA9IHVzZUNhbGxiYWNrKCh1cmw6IHN0cmluZykgPT4ge1xuICAgIHNldFBhZ2VVcmwodXJsKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgcGFnZVVybCxcbiAgICAgIHZhcmlhbnRJbmZvLFxuICAgICAgdXNlckV2ZW50LFxuICAgICAgaXNMb2FkaW5nLFxuICAgICAgaXNTdXBwb3J0ZWQsXG4gICAgICBzZXRQYWdlVXJsOiBzZXRQYWdlVXJsU3RhYmxlLFxuICAgIH0pLFxuICAgIFtwYWdlVXJsLCB1c2VyRXZlbnQsIHZhcmlhbnRJbmZvLCBpc0xvYWRpbmcsIGlzU3VwcG9ydGVkLCBzZXRQYWdlVXJsU3RhYmxlXSxcbiAgKTtcblxuICByZXR1cm4gPFBhZ2VDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvUGFnZUNvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVBhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFBhZ2VDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VQYWdlIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBQYWdlUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQkEsTUFBTSxTQUFTLElBQUlBLHVCQUFPLGNBQWM7QUFFeEMsTUFBTSx1Q0FPSixPQUFVO0FBRVosTUFBYUMsZ0JBS1AsRUFBRSxVQUFVLGNBQWMsT0FBTyw0QkFBNEI7Q0FDakUsTUFBTSxDQUFDLFNBQVMsa0NBQTJDLE9BQVU7Q0FDckUsTUFBTSxDQUFDLHFCQUFxQiw2Q0FBa0NDLGdDQUFnQjtDQUM5RSxNQUFNLENBQUMsV0FBVyxvQ0FBeUIsTUFBTTtDQUNqRCxNQUFNLENBQUMsYUFBYSxxQ0FBMEJDLG9DQUFvQjtDQUNsRSxNQUFNLENBQUMsV0FBVyxtQ0FBd0JDLGtDQUFrQjtDQUM1RCxNQUFNLENBQUMsYUFBYSxzQ0FBMkIsTUFBTTtDQUNyRCxNQUFNLHVDQUEyQyxLQUFLO0NBS3RELE1BQU0sdUNBQTJDLEtBQUs7Q0FJdEQsTUFBTSx1Q0FBNEIsTUFBTTtBQUV4Qyw0QkFBZ0I7QUFDZCxhQUFXLE9BQU8sU0FBUyxLQUFLO0lBQy9CLEVBQUUsQ0FBQztBQUdOLDRCQUFnQjtBQUNkLE1BQUksZUFBZSxDQUFDLGFBQWEsQ0FBQyxhQUFhO0dBQzdDLE1BQU0sTUFBTSxPQUFPLFdBQVcsY0FBYyxPQUFPLFNBQVMsT0FBTztBQUNuRSxnQkFBYTtJQUNYLFVBQVU7SUFDViw2QkFBWSxJQUFJLE1BQU0sRUFBQyxhQUFhO0lBQ3BDLFVBQVVDLGtEQUFrQjtJQUM1QixZQUFZO0tBQ1YscUJBQXFCQyxrREFBa0I7S0FDdkM7S0FDRDtJQUNGLENBQVE7QUFFVCxrQkFBZTtJQUNiLGFBQWFDLG9DQUFnQjtJQUM3QjtJQUNELENBQUM7O0lBRUg7RUFBQztFQUFhO0VBQVc7RUFBYTtFQUFjO0VBQWUsQ0FBQztDQUV2RSxNQUFNLG9EQUNILEtB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