@envive-ai/react-hooks 0.3.61 → 0.3.63

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 (80) hide show
  1. package/dist/application/utils/elementObserver.d.cts +2 -2
  2. package/dist/application/utils/widgetTextRequestToApiRequest.cjs +1 -0
  3. package/dist/application/utils/widgetTextRequestToApiRequest.js +1 -1
  4. package/dist/atoms/app/index.d.cts +7 -7
  5. package/dist/atoms/app/index.d.ts +7 -7
  6. package/dist/atoms/app/variant.d.ts +6 -6
  7. package/dist/atoms/chat/chatState.d.cts +19 -19
  8. package/dist/atoms/chat/chatState.d.ts +19 -19
  9. package/dist/atoms/chat/form.d.cts +2 -2
  10. package/dist/atoms/chat/form.d.ts +2 -2
  11. package/dist/atoms/chat/index.d.cts +2 -2
  12. package/dist/atoms/chat/index.d.ts +3 -3
  13. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  14. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  15. package/dist/atoms/chat/messageQueue.d.cts +6 -6
  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/replies.d.ts +3 -3
  23. package/dist/atoms/chat/suggestions.d.cts +2 -2
  24. package/dist/atoms/chat/suggestions.d.ts +2 -2
  25. package/dist/atoms/envive/enviveConfig.d.cts +14 -14
  26. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  27. package/dist/atoms/org/customerService.d.cts +6 -6
  28. package/dist/atoms/org/customerService.d.ts +6 -6
  29. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  30. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  31. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  32. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  33. package/dist/atoms/org/orgAnalyticsConfig.d.cts +4 -4
  34. package/dist/atoms/search/chatSearch.d.cts +17 -17
  35. package/dist/atoms/search/chatSearch.d.ts +17 -17
  36. package/dist/atoms/search/searchAPI.d.cts +13 -13
  37. package/dist/atoms/search/searchAPI.d.ts +13 -13
  38. package/dist/atoms/search/types.d.cts +1 -1
  39. package/dist/atoms/search/utils.d.cts +1 -1
  40. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  41. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  42. package/dist/contexts/types.d.cts +1 -1
  43. package/dist/contexts/types.d.ts +1 -1
  44. package/dist/contexts/typesV3.d.cts +1 -1
  45. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
  46. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
  47. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +2 -2
  48. package/dist/hooks/utils.d.cts +1 -1
  49. package/dist/hooks/utils.d.ts +1 -1
  50. package/dist/services/enviveConfigService/enviveConfigService.cjs +49 -3
  51. package/dist/services/enviveConfigService/enviveConfigService.d.cts +16 -2
  52. package/dist/services/enviveConfigService/enviveConfigService.d.ts +16 -2
  53. package/dist/services/enviveConfigService/enviveConfigService.js +49 -3
  54. package/dist/services/enviveConfigService/fetchBootstrapConfig.cjs +102 -0
  55. package/dist/services/enviveConfigService/fetchBootstrapConfig.js +102 -0
  56. package/dist/services/enviveConfigService/fetchGraphQLConfig.cjs +2 -1
  57. package/dist/services/enviveConfigService/fetchGraphQLConfig.js +2 -2
  58. package/dist/services/hardcopyService/hardcopyService.cjs +20 -4
  59. package/dist/services/hardcopyService/hardcopyService.d.cts +3 -2
  60. package/dist/services/hardcopyService/hardcopyService.d.ts +3 -2
  61. package/dist/services/hardcopyService/hardcopyService.js +20 -5
  62. package/dist/services/hardcopyService/index.cjs +1 -0
  63. package/dist/services/hardcopyService/index.d.cts +2 -2
  64. package/dist/services/hardcopyService/index.d.ts +2 -2
  65. package/dist/services/hardcopyService/index.js +2 -2
  66. package/dist/services/urlResolverWarmupService/index.cjs +3 -3
  67. package/dist/services/urlResolverWarmupService/index.d.cts +8 -2
  68. package/dist/services/urlResolverWarmupService/index.d.ts +8 -2
  69. package/dist/services/urlResolverWarmupService/index.js +3 -3
  70. package/package.json +1 -1
  71. package/src/hooks/Intersection/__tests__/useIntersection.test.ts +1 -3
  72. package/src/services/enviveConfigService/__tests__/enviveConfigService.test.ts +226 -0
  73. package/src/services/enviveConfigService/__tests__/fetchBootstrapConfig.test.ts +271 -0
  74. package/src/services/enviveConfigService/enviveConfigService.ts +124 -5
  75. package/src/services/enviveConfigService/fetchBootstrapConfig.ts +276 -0
  76. package/src/services/enviveConfigService/fetchGraphQLConfig.ts +7 -4
  77. package/src/services/hardcopyService/__tests__/hardcopyService.test.ts +60 -1
  78. package/src/services/hardcopyService/hardcopyService.ts +45 -3
  79. package/src/services/urlResolverWarmupService/__tests__/urlResolverWarmupService.test.ts +55 -0
  80. package/src/services/urlResolverWarmupService/index.ts +18 -1
@@ -362,4 +362,4 @@ interface FullPageSalesAgentWidgetV3Config extends BaseWidgetConfig<WidgetTypeV3
362
362
  type WidgetConfigV3 = PromptCarouselWidgetV3Config | SocialProofWidgetV3Config | TitledPromptCarouselWidgetV3Config | ChatPreviewComparisonWidgetV3Config | ChatPreviewLoadingWidgetV3Config | TypingAnimationWidgetV3Config | ChatPreviewWidgetV3Config | PromptButtonCarouselWithImageWidgetV3Config | FloatingChatWidgetV3Config | ProductCardWidgetV3Config | FullPageSalesAgentWidgetV3Config;
363
363
  //#endregion
364
364
  export { type AddToCartConfig, AspectRatioCSSVar, AutoPopupConfig, AutoPopupTrigger, AutomaticPopupTrigger, BorderRadiusCSSVar, ButtonColorsVars, type ChatPreviewComparisonWidgetV3Config, type ChatPreviewLoadingWidgetV3Config, type ChatPreviewWidgetV3Config, ColorsNamesVars, ConfigVersionEnum, type CustomerServiceIntegration, type FloatingButtonConfig, type FloatingChatConfig, type FloatingChatWidgetV3Config, FontFamilyCSSVar, FontSizeCSSVar, FontWeightCSSVar, type FullPageSalesAgentWidgetV3Config, LetterSpacingCSSVar, LineHeightCSSVar, type LookAndFeelConfig, type OrgUIConfigV3, PopupTrigger, type ProductCardWidgetV3Config, ProductCarouselLayoutV3, type PromptButtonCarouselWithImageWidgetV3Config, type PromptCarouselWidgetV3Config, ReferrerPopupTrigger, type SPASettings, type SocialProofWidgetV3Config, ThemeCSSVar, type TitledPromptCarouselWidgetV3Config, type TypingAnimationWidgetV3Config, type WidgetConfigV3, WidgetTypeV3 };
365
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNWMy5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dHMvdHlwZXNWMy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsb2F0aW5nQnV0dG9uTG9jYXRpb24gfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvRmxvYXRpbmdCdXR0b24nO1xuaW1wb3J0IHsgSW1hZ2VHYWxsZXJ5SW1hZ2UsIEltYWdlR2FsbGVyeUxheW91dCB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9JbWFnZUdhbGxlcnknO1xuaW1wb3J0IHsgUHJvbXB0QnV0dG9uVmFyaWFudCB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9Qcm9tcHRCdXR0b24nO1xuaW1wb3J0IHsgQW5pbWF0aW9uU3BlZWQsIFByb21wdENhcm91c2VsUm93cyB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9Qcm9tcHRDYXJvdXNlbCc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0LCBXaWRnZXRLaW5kIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1NvY2lhbFByb29mJztcbmltcG9ydCB7IFRoZW1lIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1Rva2Vucyc7XG5pbXBvcnQgeyBTcGFya2xlSWNvbkNvbG9yIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1dlbGNvbWVNZXNzYWdlJztcbmltcG9ydCB7IFdpZGdldFdyYXBwZXJWYXJpYW50IH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1dpZGdldFdyYXBwZXInO1xuaW1wb3J0IHsgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJy4uL3R5cGVzL2N1c3RvbWVyU2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IFNlYXJjaENvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBMZXR0ZXJTcGFjaW5nQ1NTVmFyIHtcbiAgICBUMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctdDFcIixcbiAgICBUMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctdDJcIixcbiAgICBUMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctdDNcIixcbiAgICBIMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctaDFcIixcbiAgICBIMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctaDJcIixcbiAgICBIMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctaDNcIixcbiAgICBCMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjFcIixcbiAgICBCMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjJcIixcbiAgICBCMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjNcIixcbiAgICBCNCA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjRcIixcbiAgICBCNSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjVcIixcbiAgICBMMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctbDFcIixcbiAgICBMMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctbDJcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBMaW5lSGVpZ2h0Q1NTVmFyIHtcbiAgICBUMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtdDFcIixcbiAgICBUMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtdDJcIixcbiAgICBUMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtdDNcIixcbiAgICBIMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtaDFcIixcbiAgICBIMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtaDJcIixcbiAgICBIMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtaDNcIixcbiAgICBCMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjFcIixcbiAgICBCMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjJcIixcbiAgICBCMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjNcIixcbiAgICBCNCA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjRcIixcbiAgICBCNSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjVcIixcbiAgICBMMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtbDFcIixcbiAgICBMMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtbDJcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBGb250V2VpZ2h0Q1NTVmFyIHtcbiAgICBUaXRsZSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdGl0bGVcIixcbiAgICBIZWFkZXIgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LWhlYWRlclwiLFxuICAgIEJvZHlFbXBoYXNpcyA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtYm9keS1lbXBoYXNpc1wiLFxuICAgIEJvZHlTdGFuZGFyZCA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtYm9keS1zdGFuZGFyZFwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEZvbnRTaXplQ1NTVmFyIHtcbiAgICBUMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLXQxXCIsXG4gICAgVDIgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS10MlwiLFxuICAgIFQzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtdDNcIixcbiAgICBIMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWgxXCIsXG4gICAgSDIgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1oMlwiLFxuICAgIEgzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtaDNcIixcbiAgICBCMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWIxXCIsXG4gICAgQjIgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1iMlwiLFxuICAgIEIzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtYjNcIixcbiAgICBCNCA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWI0XCIsXG4gICAgQjUgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1iNVwiLFxuICAgIEwxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtbDFcIixcbiAgICBMMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWwyXCJcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gRm9udEZhbWlseUNTU1ZhciB7XG4gICAgVGl0bGUgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LXRpdGxlXCIsXG4gICAgSGVhZGVyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LWZhbWlseS1oZWFkZXJcIixcbiAgICBCb2R5ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LWZhbWlseS1ib2R5XCJcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gVGhlbWVDU1NWYXIge1xuICAgIEdsb2JhbEN1c3RvbSA9IFwiZW52aXZlLWdsb2JhbC1jdXN0b20tdGhlbWVcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBBc3BlY3RSYXRpb0NTU1ZhciB7XG4gICAgR2xvYmFsQ3VzdG9tID0gXCJlbnZpdmUtZ2xvYmFsLWN1c3RvbS1hc3BlY3QtcmF0aW9cIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBCb3JkZXJSYWRpdXNDU1NWYXIge1xuICAgIEdsb2JhbEN1c3RvbSA9IFwiZW52aXZlLWdsb2JhbC1jdXN0b20tYm9yZGVyLXJhZGl1c1wiXG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBlbnVtIENvbG9yc05hbWVzVmFycyB7XG4gICAgVGV4dFByaW1hcnkgPSBcImVudml2ZS1jb2xvcnMtdGV4dC1wcmltYXJ5XCIsXG4gICAgVGV4dFNlY29uZGFyeSA9IFwiZW52aXZlLWNvbG9ycy10ZXh0LXNlY29uZGFyeVwiLFxuICAgIFRleHRBY2NlbnQgPSBcImVudml2ZS1jb2xvcnMtdGV4dC1hY2NlbnRcIixcbiAgICBUZXh0TGluayA9IFwiZW52aXZlLWNvbG9ycy10ZXh0LWxpbmtcIixcbiAgICBUZXh0TGlnaHQgPSBcImVudml2ZS1jb2xvcnMtdGV4dC1saWdodFwiLFxuICAgIEJhY2tncm91bmRQcmltYXJ5ID0gXCJlbnZpdmUtY29sb3JzLWJhY2tncm91bmQtcHJpbWFyeVwiLFxuICAgIEJhY2tncm91bmRTZWNvbmRhcnkgPSBcImVudml2ZS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnlcIixcbiAgICBCYWNrZ3JvdW5kVGVydGlhcnkgPSBcImVudml2ZS1jb2xvcnMtYmFja2dyb3VuZC10ZXJ0aWFyeVwiLFxuICAgIEJhY2tncm91bmREYXJrID0gXCJlbnZpdmUtY29sb3JzLWJhY2tncm91bmQtZGFya1wiLFxuICAgIEJhY2tncm91bmRMaWdodCA9IFwiZW52aXZlLWNvbG9ycy1iYWNrZ3JvdW5kLWxpZ2h0XCIsXG4gICAgQm9yZGVyTGlnaHQgPSBcImVudml2ZS1jb2xvcnMtYm9yZGVyLWxpZ2h0XCIsXG4gICAgQm9yZGVyTWVkaXVtID0gXCJlbnZpdmUtY29sb3JzLWJvcmRlci1tZWRpdW1cIixcbiAgICBCb3JkZXJEYXJrID0gXCJlbnZpdmUtY29sb3JzLWJvcmRlci1kYXJrXCIsXG4gICAgQWNjZW50UHJpbWFyeSA9IFwiZW52aXZlLWNvbG9ycy1hY2NlbnQtcHJpbWFyeVwiLFxuICAgIEFjY2VudFNlY29uZGFyeSA9IFwiZW52aXZlLWNvbG9ycy1hY2NlbnQtc2Vjb25kYXJ5XCJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGVudW0gQnV0dG9uQ29sb3JzVmFycyB7XG4gICAgTGlnaHRCdXR0b25CYWNrZ3JvdW5kQ29sb3IgPSBcImVudml2ZS1jb2xvcnMtYnV0dG9uLWxpZ2h0LWJhY2tncm91bmQtY29sb3JcIixcbiAgICBMaWdodEJ1dHRvbkJvcmRlckNvbG9yID0gXCJlbnZpdmUtY29sb3JzLWJ1dHRvbi1saWdodC1ib3JkZXItY29sb3JcIixcbiAgICBMaWdodEJ1dHRvbkljb25Db2xvciA9IFwiZW52aXZlLWNvbG9ycy1idXR0b24tbGlnaHQtaWNvbi1jb2xvclwiLFxuICAgIERhcmtCdXR0b25CYWNrZ3JvdW5kQ29sb3IgPSBcImVudml2ZS1jb2xvcnMtYnV0dG9uLWRhcmstYmFja2dyb3VuZC1jb2xvclwiLFxuICAgIERhcmtCdXR0b25JY29uQ29sb3IgPSBcImVudml2ZS1jb2xvcnMtYnV0dG9uLWRhcmstaWNvbi1jb2xvclwiXG59XG50eXBlIEltYWdlQXNwZWN0UmF0aW8gPSAnMS8xJyB8ICczLzQnO1xudHlwZSBBZGRUb0NhcnRDb25maWcgPSB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIGN0YVRleHQ/OiBzdHJpbmc7XG4gICAgYWRkVG9DYXJ0RnVuY3Rpb24/OiBzdHJpbmc7XG59O1xudHlwZSBCdXR0b25Db2xvcnMgPSB7XG4gICAgbGlnaHRCdXR0b25CYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBsaWdodEJ1dHRvbkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGxpZ2h0QnV0dG9uSWNvbkNvbG9yOiBzdHJpbmc7XG4gICAgZGFya0J1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGRhcmtCdXR0b25JY29uQ29sb3I6IHN0cmluZztcbn07XG50eXBlIFR5cG9ncmFwaHkgPSB7XG4gICAgdGl0bGVGb250RmFtaWx5OiBzdHJpbmc7XG4gICAgaGVhZGVyRm9udEZhbWlseTogc3RyaW5nO1xuICAgIGJvZHlGb250RmFtaWx5OiBzdHJpbmc7XG4gICAgZm9udFNpemU/OiB7XG4gICAgICAgIHQxOiBzdHJpbmc7XG4gICAgICAgIHQyOiBzdHJpbmc7XG4gICAgICAgIHQzOiBzdHJpbmc7XG4gICAgICAgIGgxOiBzdHJpbmc7XG4gICAgICAgIGgyOiBzdHJpbmc7XG4gICAgICAgIGgzOiBzdHJpbmc7XG4gICAgICAgIGIxOiBzdHJpbmc7XG4gICAgICAgIGIyOiBzdHJpbmc7XG4gICAgICAgIGIzOiBzdHJpbmc7XG4gICAgICAgIGI0OiBzdHJpbmc7XG4gICAgICAgIGI1OiBzdHJpbmc7XG4gICAgICAgIGwxOiBzdHJpbmc7XG4gICAgICAgIGwyOiBzdHJpbmc7XG4gICAgfTtcbiAgICBmb250V2VpZ2h0Pzoge1xuICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICBoZWFkZXI6IHN0cmluZztcbiAgICAgICAgYm9keUVtcGhhc2lzOiBzdHJpbmc7XG4gICAgICAgIGJvZHlTdGFuZGFyZDogc3RyaW5nO1xuICAgIH07XG4gICAgbGV0dGVyU3BhY2luZz86IHtcbiAgICAgICAgdDE6IHN0cmluZztcbiAgICAgICAgdDI6IHN0cmluZztcbiAgICAgICAgdDM6IHN0cmluZztcbiAgICAgICAgaDE6IHN0cmluZztcbiAgICAgICAgaDI6IHN0cmluZztcbiAgICAgICAgaDM6IHN0cmluZztcbiAgICAgICAgYjE6IHN0cmluZztcbiAgICAgICAgYjI6IHN0cmluZztcbiAgICAgICAgYjM6IHN0cmluZztcbiAgICAgICAgYjQ6IHN0cmluZztcbiAgICAgICAgYjU6IHN0cmluZztcbiAgICAgICAgbDE6IHN0cmluZztcbiAgICAgICAgbDI6IHN0cmluZztcbiAgICB9O1xuICAgIGxpbmVIZWlnaHQ/OiB7XG4gICAgICAgIHQxOiBudW1iZXI7XG4gICAgICAgIHQyOiBudW1iZXI7XG4gICAgICAgIHQzOiBudW1iZXI7XG4gICAgICAgIGgxOiBudW1iZXI7XG4gICAgICAgIGgyOiBudW1iZXI7XG4gICAgICAgIGgzOiBudW1iZXI7XG4gICAgICAgIGIxOiBudW1iZXI7XG4gICAgICAgIGIyOiBudW1iZXI7XG4gICAgICAgIGIzOiBudW1iZXI7XG4gICAgICAgIGI0OiBudW1iZXI7XG4gICAgICAgIGI1OiBudW1iZXI7XG4gICAgICAgIGwxOiBudW1iZXI7XG4gICAgICAgIGwyOiBudW1iZXI7XG4gICAgfTtcbn07XG50eXBlIExvb2tBbmRGZWVsQ29uZmlnID0ge1xuICAgIHRoZW1lOiBUaGVtZTtcbiAgICBhZ2VudE5hbWU6IHN0cmluZztcbiAgICBjaGF0SGVhZGVyTG9nb0RhcmtTcmM6IHN0cmluZztcbiAgICBjaGF0SGVhZGVyTG9nb0xpZ2h0U3JjOiBzdHJpbmc7XG4gICAgd2lkZ2V0TG9nb1NyYzogc3RyaW5nO1xuICAgIGhpZGVXaWRnZXRMb2dvOiBib29sZWFuO1xuICAgIHZvaWNlSW5wdXRFbmFibGVkPzogYm9vbGVhbjtcbiAgICBlbGVtZW50UmFkaXVzOiBudW1iZXI7XG4gICAgaW1hZ2VBc3BlY3RSYXRpbzogSW1hZ2VBc3BlY3RSYXRpbztcbiAgICBidXR0b25Db2xvcnM6IEJ1dHRvbkNvbG9ycztcbiAgICB0eXBvZ3JhcGh5OiBUeXBvZ3JhcGh5O1xuICAgIGFkZFRvQ2FydD86IEFkZFRvQ2FydENvbmZpZztcbn07XG5leHBvcnQgZGVjbGFyZSBlbnVtIENvbmZpZ1ZlcnNpb25FbnVtIHtcbiAgICBWMyA9IFwidjNcIixcbiAgICBEZXByZWNhdGVkID0gXCJkZXByZWNhdGVkXCJcbn1cbnR5cGUgQ29uZmlnVmVyc2lvbiA9IENvbmZpZ1ZlcnNpb25FbnVtLlYzIHwgQ29uZmlnVmVyc2lvbkVudW0uRGVwcmVjYXRlZCB8IHVuZGVmaW5lZDtcbnR5cGUgTW9kZSA9ICdkYXJrJyB8ICdsaWdodCc7XG50eXBlIFNob3dPcHRpb25zID0gJ2Fsd2F5cycgfCAncG9zdEludGVyYWN0aW9uJyB8ICdub25lJztcbnR5cGUgU3R5bGUgPSAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcbnR5cGUgRmxvYXRpbmdCdXR0b25Db25maWcgPSB7XG4gICAgcG9zaXRpb246IEZsb2F0aW5nQnV0dG9uTG9jYXRpb247XG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIG1vZGU6IE1vZGU7XG4gICAgc2hvd09wdGlvbjogU2hvd09wdGlvbnM7XG4gICAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgICBzdHlsZTogU3R5bGU7XG59O1xuZXhwb3J0IHR5cGUgUmVmZXJyZXJQb3B1cFRyaWdnZXIgPSB7XG4gICAgdHlwZTogJ3JlZmVycmVyJztcbiAgICByZWZlcnJlcnM6IHN0cmluZ1tdO1xufTtcbmV4cG9ydCB0eXBlIEF1dG9tYXRpY1BvcHVwVHJpZ2dlciA9IHtcbiAgICB0eXBlOiAnYXV0b21hdGljJztcbn07XG5leHBvcnQgdHlwZSBQb3B1cFRyaWdnZXIgPSBSZWZlcnJlclBvcHVwVHJpZ2dlciB8IEF1dG9tYXRpY1BvcHVwVHJpZ2dlcjtcbmV4cG9ydCB0eXBlIEF1dG9Qb3B1cFRyaWdnZXIgPSB7XG4gICAgZGVsYXk6IG51bWJlcjtcbiAgICB0cmlnZ2VyOiBQb3B1cFRyaWdnZXI7XG59O1xuZXhwb3J0IGludGVyZmFjZSBBdXRvUG9wdXBDb25maWcge1xuICAgIHRyaWdnZXJzOiBBdXRvUG9wdXBUcmlnZ2VyW107XG59XG50eXBlIEZsb2F0aW5nQ2hhdENvbmZpZyA9IHtcbiAgICBoZWFkZXJCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgaGVhZGVyTW9kZTogTW9kZTtcbiAgICB3ZWxjb21lTWVzc2FnZUljb25Db2xvcjogU3BhcmtsZUljb25Db2xvcjtcbiAgICBzaG93VmVyaWZpZWRCdXllcjogYm9vbGVhbjtcbiAgICB1c2VyUXVlcnlJbnB1dEVuYWJsZWQ6IGJvb2xlYW47XG4gICAgc2hvd0Vudml2ZUxvZ286IGJvb2xlYW47XG4gICAgaWdub3JlRmlyc3RNb2RlbFJlc3BvbnNlPzogYm9vbGVhbjtcbiAgICBuZXZlclNob3dTaW5nbGVQcm9kdWN0Q2FyZHM/OiBib29sZWFuO1xuICAgIHdlbGNvbWVNZXNzYWdlVGl0bGU6IHN0cmluZztcbiAgICB3ZWxjb21lTWVzc2FnZVRleHQ6IHN0cmluZztcbiAgICBjaGF0Rm9vdGVyVGV4dEZpZWxkUGxhY2Vob2xkZXJUZXh0OiBzdHJpbmc7XG4gICAgYXV0b1BvcHVwQ29uZmlnPzogQXV0b1BvcHVwQ29uZmlnO1xufTtcbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICBzdXBwcmVzc01lcmNoYW50QnV0dG9uPzogYm9vbGVhbjtcbn07XG50eXBlIFNQQVNldHRpbmdzID0ge1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgcmVmcmVzaEludGVydmFsPzogbnVtYmVyO1xufTtcbnR5cGUgT3JnVUlDb25maWdWMyA9IHtcbiAgICBpZD86IHN0cmluZztcbiAgICB2ZXJzaW9uOiBDb25maWdWZXJzaW9uO1xuICAgIHNob3J0TmFtZTogc3RyaW5nO1xuICAgIGxvb2tBbmRGZWVsOiBMb29rQW5kRmVlbENvbmZpZztcbiAgICBmbG9hdGluZ0J1dHRvbjogRmxvYXRpbmdCdXR0b25Db25maWc7XG4gICAgZmxvYXRpbmdDaGF0OiBGbG9hdGluZ0NoYXRDb25maWc7XG4gICAgbWVyY2hhbnRPdmVycmlkZUNzcz86IHN0cmluZztcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbj86IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAgIHNpbmdsZVBhZ2VBcHBsaWNhdGlvblNldHRpbmdzPzogU1BBU2V0dGluZ3M7XG4gICAgc2VhcmNoQ29uZmlnPzogU2VhcmNoQ29uZmlnO1xufTtcbmV4cG9ydCBkZWNsYXJlIGVudW0gV2lkZ2V0VHlwZVYzIHtcbiAgICBQcm9tcHRDYXJvdXNlbFYzID0gXCJQcm9tcHRDYXJvdXNlbFYzXCIsXG4gICAgVGl0bGVkUHJvbXB0Q2Fyb3VzZWxWMyA9IFwiVGl0bGVkUHJvbXB0Q2Fyb3VzZWxWM1wiLFxuICAgIFNvY2lhbFByb29mVjMgPSBcIlNvY2lhbFByb29mVjNcIixcbiAgICBUeXBpbmdBbmltYXRpb25WMyA9IFwiVHlwaW5nQW5pbWF0aW9uVjNcIixcbiAgICBDaGF0UHJldmlld1YzID0gXCJDaGF0UHJldmlld1YzXCIsXG4gICAgQ2hhdFByZXZpZXdDb21wYXJpc29uVjMgPSBcIkNoYXRQcmV2aWV3Q29tcGFyaXNvblYzXCIsXG4gICAgQ2hhdFByZXZpZXdMb2FkaW5nVjMgPSBcIkNoYXRQcmV2aWV3TG9hZGluZ1YzXCIsXG4gICAgSW1hZ2VQcm9tcHRDYXJkVjMgPSBcIkltYWdlUHJvbXB0Q2FyZFYzXCIsXG4gICAgUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VWMyA9IFwiUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VWM1wiLFxuICAgIEltYWdlQmFubmVyVjMgPSBcIkltYWdlQmFubmVyVjNcIixcbiAgICBTaW5nbGVJbWFnZVByb21wdFYzID0gXCJTaW5nbGVJbWFnZVByb21wdFYzXCIsXG4gICAgRmxvYXRpbmdDaGF0VjMgPSBcIkZsb2F0aW5nQ2hhdFYzXCIsXG4gICAgRmxvYXRpbmdCdXR0b25WMyA9IFwiRmxvYXRpbmdCdXR0b25WM1wiLFxuICAgIFByb2R1Y3RDYXJkVjMgPSBcIlByb2R1Y3RDYXJkVjNcIixcbiAgICBGdWxsUGFnZVNhbGVzQWdlbnRWMyA9IFwiRnVsbFBhZ2VTYWxlc0FnZW50VjNcIlxufVxuaW50ZXJmYWNlIEJhc2VXaWRnZXRDb25maWc8VCBleHRlbmRzIFdpZGdldFR5cGVWMz4ge1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gICAgdHlwZTogVDtcbiAgICBjb250ZW50SWQ/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlByb21wdENhcm91c2VsVjM+IHtcbiAgICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICAgIHByb21wdENhcm91c2VsUm93cz86IFByb21wdENhcm91c2VsUm93cztcbiAgICBhbmltYXRpb25TcGVlZD86IEFuaW1hdGlvblNwZWVkO1xufVxuaW50ZXJmYWNlIFRpdGxlZFByb21wdENhcm91c2VsV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5UaXRsZWRQcm9tcHRDYXJvdXNlbFYzPiB7XG4gICAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gICAgYm9sZEZpcnN0QnV0dG9uPzogYm9vbGVhbjtcbiAgICBwcm9tcHRDYXJvdXNlbFJvd3M/OiBQcm9tcHRDYXJvdXNlbFJvd3M7XG4gICAgYW5pbWF0aW9uU3BlZWQ/OiBBbmltYXRpb25TcGVlZDtcbn1cbmludGVyZmFjZSBTb2NpYWxQcm9vZldpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuU29jaWFsUHJvb2ZWMz4ge1xuICAgIGtpbmQ6IFdpZGdldEtpbmQ7XG4gICAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQ7XG4gICAgaGV4Q2FyZENvbG9yPzogc3RyaW5nO1xuICAgIHByb21wdENhcm91c2VsUm93czogUHJvbXB0Q2Fyb3VzZWxSb3dzO1xuICAgIGhpZGVJbWFnZT86IGJvb2xlYW47XG4gICAgaW1hZ2VHYWxsZXJ5TGF5b3V0OiBFeGNsdWRlPEltYWdlR2FsbGVyeUxheW91dCwgJ1RXT19TSURFJz47XG4gICAgaGlkZVRleHRGaWVsZD86IGJvb2xlYW47XG4gICAgcHJpbWFyeUJ1dHRvblZhcmlhbnQ6IEV4Y2x1ZGU8UHJvbXB0QnV0dG9uVmFyaWFudCwgJ3N1Z2dlc3RlZFJlc3BvbnNlJyB8ICdnaG9zdCc+O1xuICAgIHNlY29uZGFyeUJ1dHRvblZhcmlhbnQ6IEV4Y2x1ZGU8UHJvbXB0QnV0dG9uVmFyaWFudCwgJ3N1Z2dlc3RlZFJlc3BvbnNlJyB8ICdnaG9zdCc+O1xuICAgIGR5bmFtaWNMYXlvdXQ/OiBEeW5hbWljTGF5b3V0O1xuICAgIGltYWdlcz86IEltYWdlR2FsbGVyeUltYWdlW107XG59XG5pbnRlcmZhY2UgVHlwaW5nQW5pbWF0aW9uV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5UeXBpbmdBbmltYXRpb25WMz4ge1xuICAgIHdpZGdldFZhcmlhbnQ/OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgICBjYXJkQ29sb3I/OiBzdHJpbmc7XG4gICAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gICAgcHJvbXB0Q2Fyb3VzZWxSb3dzPzogUHJvbXB0Q2Fyb3VzZWxSb3dzO1xuICAgIHNob3dUZXh0RmllbGQ/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3Q29tcGFyaXNvbldpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuQ2hhdFByZXZpZXdDb21wYXJpc29uVjM+IHtcbiAgICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgICBoZXhDYXJkQ29sb3I/OiBzdHJpbmc7XG4gICAgaGlkZUltYWdlPzogYm9vbGVhbjtcbiAgICBoaWRlVGV4dEZpZWxkPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0xvYWRpbmdXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3TG9hZGluZ1YzPiB7XG4gICAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQ7XG4gICAgaGV4Q2FyZENvbG9yPzogc3RyaW5nO1xuICAgIGhpZGVUZXh0RmllbGQ/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3V2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5DaGF0UHJldmlld1YzPiB7XG4gICAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQ7XG4gICAgaGV4Q2FyZENvbG9yPzogc3RyaW5nO1xuICAgIGhpZGVUZXh0RmllbGQ/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIFByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5Qcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVYzPiB7XG4gICAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gICAgaW1hZ2U/OiBJbWFnZUdhbGxlcnlJbWFnZTtcbiAgICBoaWRlVGV4dEZpZWxkPzogYm9vbGVhbjtcbiAgICBpc0R5bmFtaWM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdFdpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuRmxvYXRpbmdDaGF0VjM+IHtcbn1cbmludGVyZmFjZSBQcm9kdWN0Q2FyZFdpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuUHJvZHVjdENhcmRWMz4ge1xuICAgIHByb21wdEJ1dHRvblR5cGU/OiBQcm9tcHRCdXR0b25WYXJpYW50O1xuICAgIGl0YWxpY2l6ZUhlYWRsaW5lPzogYm9vbGVhbjtcbiAgICBmYWxsYmFja0NvbG9yPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIG1vZGU/OiBNb2RlO1xufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBQcm9kdWN0Q2Fyb3VzZWxMYXlvdXRWMyB7XG4gICAgSE9SSVpPTlRBTCA9IFwiaG9yaXpvbnRhbFwiLFxuICAgIEdSSUQgPSBcImdyaWRcIixcbiAgICAvKiogR3JpZCBvbiBtb2JpbGUsIGhvcml6b250YWwgY2Fyb3VzZWwgb24gZGVza3RvcC4gKi9cbiAgICBHUklEX01PQklMRV9IT1JJWk9OVEFMX0RFU0tUT1AgPSBcImdyaWQtbW9iaWxlLWhvcml6b250YWwtZGVza3RvcFwiXG59XG5pbnRlcmZhY2UgRnVsbFBhZ2VTYWxlc0FnZW50V2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5GdWxsUGFnZVNhbGVzQWdlbnRWMz4ge1xuICAgIGhlYWRlckNvbnRhaW5lcj86IHN0cmluZztcbiAgICBhdXRvSGVpZ2h0PzogYm9vbGVhbjtcbiAgICBzcGFya2xlQ29sb3I/OiBzdHJpbmc7XG4gICAgdXNlQmFja2dyb3VuZEltYWdlPzogYm9vbGVhbjtcbiAgICBtb2JpbGVCYWNrZ3JvdW5kSW1hZ2U/OiBzdHJpbmc7XG4gICAgZGVza3RvcEJhY2tncm91bmRJbWFnZT86IHN0cmluZztcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgY2hhdEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBzdWdnZXN0aW9uQnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gICAgcHJvZHVjdENhcm91c2VsTGF5b3V0PzogUHJvZHVjdENhcm91c2VsTGF5b3V0VjM7XG4gICAgLyoqXG4gICAgICogV2hlbiB0cnVlIChvciB1bnNldCksIGFza2luZyBhIHF1ZXN0aW9uIG9wZW5zIHRoZSBjb252ZXJzYXRpb24gaW4gYVxuICAgICAqIHBhcnRpYWwtaGVpZ2h0IHNoZWV0IHRoYXQga2VlcHMgdGhlIHdlbGNvbWUgb3ZlcmxheSdzIHByb2R1Y3QgZ3JpZFxuICAgICAqIHZpc2libGUgYWJvdmUgaXQuIFNldCB0byBmYWxzZSB0byBmYWxsIGJhY2sgdG8gdGhlIGZ1bGwtc2NyZWVuIHRha2VvdmVyLlxuICAgICAqIERlZmF1bHQgdHJ1ZSAodW5kZWZpbmVkIGFuZCB0cnVlID0gcGFydGlhbCB2aWV3IGVuYWJsZWQpLlxuICAgICAqL1xuICAgIHBhcnRpYWxWaWV3RW5hYmxlZD86IGJvb2xlYW47XG59XG50eXBlIFdpZGdldENvbmZpZ1YzID0gUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZyB8IFNvY2lhbFByb29mV2lkZ2V0VjNDb25maWcgfCBUaXRsZWRQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnIHwgQ2hhdFByZXZpZXdDb21wYXJpc29uV2lkZ2V0VjNDb25maWcgfCBDaGF0UHJldmlld0xvYWRpbmdXaWRnZXRWM0NvbmZpZyB8IFR5cGluZ0FuaW1hdGlvbldpZGdldFYzQ29uZmlnIHwgQ2hhdFByZXZpZXdXaWRnZXRWM0NvbmZpZyB8IFByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlV2lkZ2V0VjNDb25maWcgfCBGbG9hdGluZ0NoYXRXaWRnZXRWM0NvbmZpZyB8IFByb2R1Y3RDYXJkV2lkZ2V0VjNDb25maWcgfCBGdWxsUGFnZVNhbGVzQWdlbnRXaWRnZXRWM0NvbmZpZztcbmV4cG9ydCB0eXBlIHsgQWRkVG9DYXJ0Q29uZmlnLCBDaGF0UHJldmlld0NvbXBhcmlzb25XaWRnZXRWM0NvbmZpZywgQ2hhdFByZXZpZXdMb2FkaW5nV2lkZ2V0VjNDb25maWcsIENoYXRQcmV2aWV3V2lkZ2V0VjNDb25maWcsIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLCBGbG9hdGluZ0J1dHRvbkNvbmZpZywgRmxvYXRpbmdDaGF0Q29uZmlnLCBGbG9hdGluZ0NoYXRXaWRnZXRWM0NvbmZpZywgRnVsbFBhZ2VTYWxlc0FnZW50V2lkZ2V0VjNDb25maWcsIExvb2tBbmRGZWVsQ29uZmlnLCBPcmdVSUNvbmZpZ1YzLCBQcm9kdWN0Q2FyZFdpZGdldFYzQ29uZmlnLCBQcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVdpZGdldFYzQ29uZmlnLCBQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnLCBTb2NpYWxQcm9vZldpZGdldFYzQ29uZmlnLCBTUEFTZXR0aW5ncywgVGl0bGVkUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZywgVHlwaW5nQW5pbWF0aW9uV2lkZ2V0VjNDb25maWcsIFdpZGdldENvbmZpZ1YzLCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFVQSxJQUFXLHNCQUFzQixDQUFDLEVBQUU7QUFDcEMsSUFBVyxtQkFBbUIsQ0FBQyxFQUFFO0FBQ2pDLElBQVcsbUJBQW1CLENBQUMsRUFBRTtBQUNqQyxJQUFXLGlCQUFpQixDQUFDLEVBQUU7QUFDL0IsSUFBVyxtQkFBbUIsQ0FBQyxFQUFFO0FBQ2pDLElBQVcsY0FBYyxDQUFDLEVBQUU7QUFDNUIsSUFBVyxvQkFBb0IsQ0FBQyxFQUFFO0FBQ2xDLElBQVcscUJBQXFCLENBQUMsRUFBRTtBQUNuQyxJQUFXLGtCQUFrQixDQUFDLEdBQUc7QUFDakMsSUFBVyxtQkFBbUIsQ0FBQyxHQUFHO0FBQ2xDLElBQUksbUJBQW1CLENBQUMsR0FBRztBQUMzQixJQUFJLGtCQUFrQixDQUFDLEdBQUc7QUFDMUIsSUFBSSxlQUFlLENBQUMsR0FBRztBQUN2QixJQUFJLGFBQWEsQ0FBQyxHQUFHO0FBQ3JCLElBQUEsb0JBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNBLElBQVcsb0JBQW9CLENBQUMsR0FBRztBQUNuQyxJQUFJLGdCQUFnQjtDQUFDO09BQVUsa0JBQVk7T0FBQSxrQkFBQTtDQUFBO0FBQzNDLElBQUksT0FBTyxDQUFDLEdBQUc7QUFDZixJQUFJLGNBQWMsQ0FBQyxHQUFHO0FBQ3RCLElBQUksUUFBUSxDQUFDLEdBQUc7QUFDaEIsSUFBSSx1QkFBdUI7Q0FBQztPQUFVO09BQUs7T0FBQTtPQUFBO0NBQUE7QUFDM0MsSUFBVyx1QkFBdUIsQ0FBQyxHQUFHO0FBQ3RDLElBQVcsd0JBQXdCLENBQUMsR0FBRztBQUN2QyxJQUFXLGVBQWU7Q0FBQztPQUFVO09BQU07Q0FBQTtBQUMzQyxJQUFXLG1CQUFtQixDQUFDLFVBQVUsYUFBRTtBQUMzQyxJQUFXLGtCQUFrQixDQUFDLFVBQVUsaUJBQUc7QUFDM0MsSUFBSSxxQkFBcUI7Q0FBQztPQUFVO09BQU87T0FBQTtDQUFBO0FBQzNDLElBQUksNkJBQTZCLENBQUMsVUFBUyxvQkFBQTtBQUMzQyxJQUFJLGNBQWMsQ0FBQyxHQUFHO0FBQ3RCLElBQUEsZ0JBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDQSxJQUFXLGVBQWUsQ0FBQyxHQUFHO0FBQzlCLElBQUksbUJBQW1CO0NBQUM7T0FBVTtPQUFlO0NBQUE7QUFDakQsSUFBSSwrQkFBK0I7Q0FBQztPQUFVLGFBQUs7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25ELElBQUkscUNBQXFDO0NBQUM7T0FBVSxhQUFZO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNoRSxJQUFJLDRCQUE0QjtDQUFDO09BQVUsYUFBYTtPQUFPO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQy9ELElBQUEsZ0NBQUE7Q0FBQTtPQUFBLGFBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0EsSUFBSSxzQ0FBK0I7Q0FBQTtPQUFBLGFBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkMsSUFBSSxtQ0FBbUM7Q0FBQztPQUFDLGFBQUE7T0FBQTtPQUFBO0NBQUE7QUFDekMsSUFBSSw0QkFBNEI7Q0FBQztPQUFRLGFBQUE7T0FBQTtPQUFBO0NBQUE7QUFDekMsSUFBSSw4Q0FBcUM7Q0FBQTtPQUFBLGFBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFJLDZCQUE2QjtDQUFDO09BQU8sYUFBQTtPQUFBO0NBQUE7QUFDekMsSUFBSSw0QkFBNEI7Q0FBQztPQUFRLGFBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFXLDBCQUEwQixDQUFDLEdBQUc7QUFDekMsSUFBSSxtQ0FBbUM7Q0FBQztPQUFDLGFBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFJLGlCQUFpQjtDQUFDO09BQVU7T0FBUztPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
365
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNWMy5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dHMvdHlwZXNWMy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsb2F0aW5nQnV0dG9uTG9jYXRpb24gfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvRmxvYXRpbmdCdXR0b24nO1xuaW1wb3J0IHsgSW1hZ2VHYWxsZXJ5SW1hZ2UsIEltYWdlR2FsbGVyeUxheW91dCB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9JbWFnZUdhbGxlcnknO1xuaW1wb3J0IHsgUHJvbXB0QnV0dG9uVmFyaWFudCB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9Qcm9tcHRCdXR0b24nO1xuaW1wb3J0IHsgQW5pbWF0aW9uU3BlZWQsIFByb21wdENhcm91c2VsUm93cyB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9Qcm9tcHRDYXJvdXNlbCc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0LCBXaWRnZXRLaW5kIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1NvY2lhbFByb29mJztcbmltcG9ydCB7IFRoZW1lIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1Rva2Vucyc7XG5pbXBvcnQgeyBTcGFya2xlSWNvbkNvbG9yIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1dlbGNvbWVNZXNzYWdlJztcbmltcG9ydCB7IFdpZGdldFdyYXBwZXJWYXJpYW50IH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1dpZGdldFdyYXBwZXInO1xuaW1wb3J0IHsgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJy4uL3R5cGVzL2N1c3RvbWVyU2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IFNlYXJjaENvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBMZXR0ZXJTcGFjaW5nQ1NTVmFyIHtcbiAgICBUMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctdDFcIixcbiAgICBUMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctdDJcIixcbiAgICBUMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctdDNcIixcbiAgICBIMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctaDFcIixcbiAgICBIMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctaDJcIixcbiAgICBIMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctaDNcIixcbiAgICBCMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjFcIixcbiAgICBCMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjJcIixcbiAgICBCMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjNcIixcbiAgICBCNCA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjRcIixcbiAgICBCNSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctYjVcIixcbiAgICBMMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctbDFcIixcbiAgICBMMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctbDJcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBMaW5lSGVpZ2h0Q1NTVmFyIHtcbiAgICBUMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtdDFcIixcbiAgICBUMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtdDJcIixcbiAgICBUMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtdDNcIixcbiAgICBIMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtaDFcIixcbiAgICBIMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtaDJcIixcbiAgICBIMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtaDNcIixcbiAgICBCMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjFcIixcbiAgICBCMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjJcIixcbiAgICBCMyA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjNcIixcbiAgICBCNCA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjRcIixcbiAgICBCNSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtYjVcIixcbiAgICBMMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtbDFcIixcbiAgICBMMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtbDJcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBGb250V2VpZ2h0Q1NTVmFyIHtcbiAgICBUaXRsZSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdGl0bGVcIixcbiAgICBIZWFkZXIgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LWhlYWRlclwiLFxuICAgIEJvZHlFbXBoYXNpcyA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtYm9keS1lbXBoYXNpc1wiLFxuICAgIEJvZHlTdGFuZGFyZCA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtYm9keS1zdGFuZGFyZFwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEZvbnRTaXplQ1NTVmFyIHtcbiAgICBUMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLXQxXCIsXG4gICAgVDIgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS10MlwiLFxuICAgIFQzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtdDNcIixcbiAgICBIMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWgxXCIsXG4gICAgSDIgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1oMlwiLFxuICAgIEgzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtaDNcIixcbiAgICBCMSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWIxXCIsXG4gICAgQjIgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1iMlwiLFxuICAgIEIzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtYjNcIixcbiAgICBCNCA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWI0XCIsXG4gICAgQjUgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1iNVwiLFxuICAgIEwxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtbDFcIixcbiAgICBMMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWwyXCJcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gRm9udEZhbWlseUNTU1ZhciB7XG4gICAgVGl0bGUgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LXRpdGxlXCIsXG4gICAgSGVhZGVyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LWZhbWlseS1oZWFkZXJcIixcbiAgICBCb2R5ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LWZhbWlseS1ib2R5XCJcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gVGhlbWVDU1NWYXIge1xuICAgIEdsb2JhbEN1c3RvbSA9IFwiZW52aXZlLWdsb2JhbC1jdXN0b20tdGhlbWVcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBBc3BlY3RSYXRpb0NTU1ZhciB7XG4gICAgR2xvYmFsQ3VzdG9tID0gXCJlbnZpdmUtZ2xvYmFsLWN1c3RvbS1hc3BlY3QtcmF0aW9cIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBCb3JkZXJSYWRpdXNDU1NWYXIge1xuICAgIEdsb2JhbEN1c3RvbSA9IFwiZW52aXZlLWdsb2JhbC1jdXN0b20tYm9yZGVyLXJhZGl1c1wiXG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBlbnVtIENvbG9yc05hbWVzVmFycyB7XG4gICAgVGV4dFByaW1hcnkgPSBcImVudml2ZS1jb2xvcnMtdGV4dC1wcmltYXJ5XCIsXG4gICAgVGV4dFNlY29uZGFyeSA9IFwiZW52aXZlLWNvbG9ycy10ZXh0LXNlY29uZGFyeVwiLFxuICAgIFRleHRBY2NlbnQgPSBcImVudml2ZS1jb2xvcnMtdGV4dC1hY2NlbnRcIixcbiAgICBUZXh0TGluayA9IFwiZW52aXZlLWNvbG9ycy10ZXh0LWxpbmtcIixcbiAgICBUZXh0TGlnaHQgPSBcImVudml2ZS1jb2xvcnMtdGV4dC1saWdodFwiLFxuICAgIEJhY2tncm91bmRQcmltYXJ5ID0gXCJlbnZpdmUtY29sb3JzLWJhY2tncm91bmQtcHJpbWFyeVwiLFxuICAgIEJhY2tncm91bmRTZWNvbmRhcnkgPSBcImVudml2ZS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnlcIixcbiAgICBCYWNrZ3JvdW5kVGVydGlhcnkgPSBcImVudml2ZS1jb2xvcnMtYmFja2dyb3VuZC10ZXJ0aWFyeVwiLFxuICAgIEJhY2tncm91bmREYXJrID0gXCJlbnZpdmUtY29sb3JzLWJhY2tncm91bmQtZGFya1wiLFxuICAgIEJhY2tncm91bmRMaWdodCA9IFwiZW52aXZlLWNvbG9ycy1iYWNrZ3JvdW5kLWxpZ2h0XCIsXG4gICAgQm9yZGVyTGlnaHQgPSBcImVudml2ZS1jb2xvcnMtYm9yZGVyLWxpZ2h0XCIsXG4gICAgQm9yZGVyTWVkaXVtID0gXCJlbnZpdmUtY29sb3JzLWJvcmRlci1tZWRpdW1cIixcbiAgICBCb3JkZXJEYXJrID0gXCJlbnZpdmUtY29sb3JzLWJvcmRlci1kYXJrXCIsXG4gICAgQWNjZW50UHJpbWFyeSA9IFwiZW52aXZlLWNvbG9ycy1hY2NlbnQtcHJpbWFyeVwiLFxuICAgIEFjY2VudFNlY29uZGFyeSA9IFwiZW52aXZlLWNvbG9ycy1hY2NlbnQtc2Vjb25kYXJ5XCJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGVudW0gQnV0dG9uQ29sb3JzVmFycyB7XG4gICAgTGlnaHRCdXR0b25CYWNrZ3JvdW5kQ29sb3IgPSBcImVudml2ZS1jb2xvcnMtYnV0dG9uLWxpZ2h0LWJhY2tncm91bmQtY29sb3JcIixcbiAgICBMaWdodEJ1dHRvbkJvcmRlckNvbG9yID0gXCJlbnZpdmUtY29sb3JzLWJ1dHRvbi1saWdodC1ib3JkZXItY29sb3JcIixcbiAgICBMaWdodEJ1dHRvbkljb25Db2xvciA9IFwiZW52aXZlLWNvbG9ycy1idXR0b24tbGlnaHQtaWNvbi1jb2xvclwiLFxuICAgIERhcmtCdXR0b25CYWNrZ3JvdW5kQ29sb3IgPSBcImVudml2ZS1jb2xvcnMtYnV0dG9uLWRhcmstYmFja2dyb3VuZC1jb2xvclwiLFxuICAgIERhcmtCdXR0b25JY29uQ29sb3IgPSBcImVudml2ZS1jb2xvcnMtYnV0dG9uLWRhcmstaWNvbi1jb2xvclwiXG59XG50eXBlIEltYWdlQXNwZWN0UmF0aW8gPSAnMS8xJyB8ICczLzQnO1xudHlwZSBBZGRUb0NhcnRDb25maWcgPSB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIGN0YVRleHQ/OiBzdHJpbmc7XG4gICAgYWRkVG9DYXJ0RnVuY3Rpb24/OiBzdHJpbmc7XG59O1xudHlwZSBCdXR0b25Db2xvcnMgPSB7XG4gICAgbGlnaHRCdXR0b25CYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBsaWdodEJ1dHRvbkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGxpZ2h0QnV0dG9uSWNvbkNvbG9yOiBzdHJpbmc7XG4gICAgZGFya0J1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGRhcmtCdXR0b25JY29uQ29sb3I6IHN0cmluZztcbn07XG50eXBlIFR5cG9ncmFwaHkgPSB7XG4gICAgdGl0bGVGb250RmFtaWx5OiBzdHJpbmc7XG4gICAgaGVhZGVyRm9udEZhbWlseTogc3RyaW5nO1xuICAgIGJvZHlGb250RmFtaWx5OiBzdHJpbmc7XG4gICAgZm9udFNpemU/OiB7XG4gICAgICAgIHQxOiBzdHJpbmc7XG4gICAgICAgIHQyOiBzdHJpbmc7XG4gICAgICAgIHQzOiBzdHJpbmc7XG4gICAgICAgIGgxOiBzdHJpbmc7XG4gICAgICAgIGgyOiBzdHJpbmc7XG4gICAgICAgIGgzOiBzdHJpbmc7XG4gICAgICAgIGIxOiBzdHJpbmc7XG4gICAgICAgIGIyOiBzdHJpbmc7XG4gICAgICAgIGIzOiBzdHJpbmc7XG4gICAgICAgIGI0OiBzdHJpbmc7XG4gICAgICAgIGI1OiBzdHJpbmc7XG4gICAgICAgIGwxOiBzdHJpbmc7XG4gICAgICAgIGwyOiBzdHJpbmc7XG4gICAgfTtcbiAgICBmb250V2VpZ2h0Pzoge1xuICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICBoZWFkZXI6IHN0cmluZztcbiAgICAgICAgYm9keUVtcGhhc2lzOiBzdHJpbmc7XG4gICAgICAgIGJvZHlTdGFuZGFyZDogc3RyaW5nO1xuICAgIH07XG4gICAgbGV0dGVyU3BhY2luZz86IHtcbiAgICAgICAgdDE6IHN0cmluZztcbiAgICAgICAgdDI6IHN0cmluZztcbiAgICAgICAgdDM6IHN0cmluZztcbiAgICAgICAgaDE6IHN0cmluZztcbiAgICAgICAgaDI6IHN0cmluZztcbiAgICAgICAgaDM6IHN0cmluZztcbiAgICAgICAgYjE6IHN0cmluZztcbiAgICAgICAgYjI6IHN0cmluZztcbiAgICAgICAgYjM6IHN0cmluZztcbiAgICAgICAgYjQ6IHN0cmluZztcbiAgICAgICAgYjU6IHN0cmluZztcbiAgICAgICAgbDE6IHN0cmluZztcbiAgICAgICAgbDI6IHN0cmluZztcbiAgICB9O1xuICAgIGxpbmVIZWlnaHQ/OiB7XG4gICAgICAgIHQxOiBudW1iZXI7XG4gICAgICAgIHQyOiBudW1iZXI7XG4gICAgICAgIHQzOiBudW1iZXI7XG4gICAgICAgIGgxOiBudW1iZXI7XG4gICAgICAgIGgyOiBudW1iZXI7XG4gICAgICAgIGgzOiBudW1iZXI7XG4gICAgICAgIGIxOiBudW1iZXI7XG4gICAgICAgIGIyOiBudW1iZXI7XG4gICAgICAgIGIzOiBudW1iZXI7XG4gICAgICAgIGI0OiBudW1iZXI7XG4gICAgICAgIGI1OiBudW1iZXI7XG4gICAgICAgIGwxOiBudW1iZXI7XG4gICAgICAgIGwyOiBudW1iZXI7XG4gICAgfTtcbn07XG50eXBlIExvb2tBbmRGZWVsQ29uZmlnID0ge1xuICAgIHRoZW1lOiBUaGVtZTtcbiAgICBhZ2VudE5hbWU6IHN0cmluZztcbiAgICBjaGF0SGVhZGVyTG9nb0RhcmtTcmM6IHN0cmluZztcbiAgICBjaGF0SGVhZGVyTG9nb0xpZ2h0U3JjOiBzdHJpbmc7XG4gICAgd2lkZ2V0TG9nb1NyYzogc3RyaW5nO1xuICAgIGhpZGVXaWRnZXRMb2dvOiBib29sZWFuO1xuICAgIHZvaWNlSW5wdXRFbmFibGVkPzogYm9vbGVhbjtcbiAgICBlbGVtZW50UmFkaXVzOiBudW1iZXI7XG4gICAgaW1hZ2VBc3BlY3RSYXRpbzogSW1hZ2VBc3BlY3RSYXRpbztcbiAgICBidXR0b25Db2xvcnM6IEJ1dHRvbkNvbG9ycztcbiAgICB0eXBvZ3JhcGh5OiBUeXBvZ3JhcGh5O1xuICAgIGFkZFRvQ2FydD86IEFkZFRvQ2FydENvbmZpZztcbn07XG5leHBvcnQgZGVjbGFyZSBlbnVtIENvbmZpZ1ZlcnNpb25FbnVtIHtcbiAgICBWMyA9IFwidjNcIixcbiAgICBEZXByZWNhdGVkID0gXCJkZXByZWNhdGVkXCJcbn1cbnR5cGUgQ29uZmlnVmVyc2lvbiA9IENvbmZpZ1ZlcnNpb25FbnVtLlYzIHwgQ29uZmlnVmVyc2lvbkVudW0uRGVwcmVjYXRlZCB8IHVuZGVmaW5lZDtcbnR5cGUgTW9kZSA9ICdkYXJrJyB8ICdsaWdodCc7XG50eXBlIFNob3dPcHRpb25zID0gJ2Fsd2F5cycgfCAncG9zdEludGVyYWN0aW9uJyB8ICdub25lJztcbnR5cGUgU3R5bGUgPSAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcbnR5cGUgRmxvYXRpbmdCdXR0b25Db25maWcgPSB7XG4gICAgcG9zaXRpb246IEZsb2F0aW5nQnV0dG9uTG9jYXRpb247XG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIG1vZGU6IE1vZGU7XG4gICAgc2hvd09wdGlvbjogU2hvd09wdGlvbnM7XG4gICAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgICBzdHlsZTogU3R5bGU7XG59O1xuZXhwb3J0IHR5cGUgUmVmZXJyZXJQb3B1cFRyaWdnZXIgPSB7XG4gICAgdHlwZTogJ3JlZmVycmVyJztcbiAgICByZWZlcnJlcnM6IHN0cmluZ1tdO1xufTtcbmV4cG9ydCB0eXBlIEF1dG9tYXRpY1BvcHVwVHJpZ2dlciA9IHtcbiAgICB0eXBlOiAnYXV0b21hdGljJztcbn07XG5leHBvcnQgdHlwZSBQb3B1cFRyaWdnZXIgPSBSZWZlcnJlclBvcHVwVHJpZ2dlciB8IEF1dG9tYXRpY1BvcHVwVHJpZ2dlcjtcbmV4cG9ydCB0eXBlIEF1dG9Qb3B1cFRyaWdnZXIgPSB7XG4gICAgZGVsYXk6IG51bWJlcjtcbiAgICB0cmlnZ2VyOiBQb3B1cFRyaWdnZXI7XG59O1xuZXhwb3J0IGludGVyZmFjZSBBdXRvUG9wdXBDb25maWcge1xuICAgIHRyaWdnZXJzOiBBdXRvUG9wdXBUcmlnZ2VyW107XG59XG50eXBlIEZsb2F0aW5nQ2hhdENvbmZpZyA9IHtcbiAgICBoZWFkZXJCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgaGVhZGVyTW9kZTogTW9kZTtcbiAgICB3ZWxjb21lTWVzc2FnZUljb25Db2xvcjogU3BhcmtsZUljb25Db2xvcjtcbiAgICBzaG93VmVyaWZpZWRCdXllcjogYm9vbGVhbjtcbiAgICB1c2VyUXVlcnlJbnB1dEVuYWJsZWQ6IGJvb2xlYW47XG4gICAgc2hvd0Vudml2ZUxvZ286IGJvb2xlYW47XG4gICAgaWdub3JlRmlyc3RNb2RlbFJlc3BvbnNlPzogYm9vbGVhbjtcbiAgICBuZXZlclNob3dTaW5nbGVQcm9kdWN0Q2FyZHM/OiBib29sZWFuO1xuICAgIHdlbGNvbWVNZXNzYWdlVGl0bGU6IHN0cmluZztcbiAgICB3ZWxjb21lTWVzc2FnZVRleHQ6IHN0cmluZztcbiAgICBjaGF0Rm9vdGVyVGV4dEZpZWxkUGxhY2Vob2xkZXJUZXh0OiBzdHJpbmc7XG4gICAgYXV0b1BvcHVwQ29uZmlnPzogQXV0b1BvcHVwQ29uZmlnO1xufTtcbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICBzdXBwcmVzc01lcmNoYW50QnV0dG9uPzogYm9vbGVhbjtcbn07XG50eXBlIFNQQVNldHRpbmdzID0ge1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgcmVmcmVzaEludGVydmFsPzogbnVtYmVyO1xufTtcbnR5cGUgT3JnVUlDb25maWdWMyA9IHtcbiAgICBpZD86IHN0cmluZztcbiAgICB2ZXJzaW9uOiBDb25maWdWZXJzaW9uO1xuICAgIHNob3J0TmFtZTogc3RyaW5nO1xuICAgIGxvb2tBbmRGZWVsOiBMb29rQW5kRmVlbENvbmZpZztcbiAgICBmbG9hdGluZ0J1dHRvbjogRmxvYXRpbmdCdXR0b25Db25maWc7XG4gICAgZmxvYXRpbmdDaGF0OiBGbG9hdGluZ0NoYXRDb25maWc7XG4gICAgbWVyY2hhbnRPdmVycmlkZUNzcz86IHN0cmluZztcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbj86IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAgIHNpbmdsZVBhZ2VBcHBsaWNhdGlvblNldHRpbmdzPzogU1BBU2V0dGluZ3M7XG4gICAgc2VhcmNoQ29uZmlnPzogU2VhcmNoQ29uZmlnO1xufTtcbmV4cG9ydCBkZWNsYXJlIGVudW0gV2lkZ2V0VHlwZVYzIHtcbiAgICBQcm9tcHRDYXJvdXNlbFYzID0gXCJQcm9tcHRDYXJvdXNlbFYzXCIsXG4gICAgVGl0bGVkUHJvbXB0Q2Fyb3VzZWxWMyA9IFwiVGl0bGVkUHJvbXB0Q2Fyb3VzZWxWM1wiLFxuICAgIFNvY2lhbFByb29mVjMgPSBcIlNvY2lhbFByb29mVjNcIixcbiAgICBUeXBpbmdBbmltYXRpb25WMyA9IFwiVHlwaW5nQW5pbWF0aW9uVjNcIixcbiAgICBDaGF0UHJldmlld1YzID0gXCJDaGF0UHJldmlld1YzXCIsXG4gICAgQ2hhdFByZXZpZXdDb21wYXJpc29uVjMgPSBcIkNoYXRQcmV2aWV3Q29tcGFyaXNvblYzXCIsXG4gICAgQ2hhdFByZXZpZXdMb2FkaW5nVjMgPSBcIkNoYXRQcmV2aWV3TG9hZGluZ1YzXCIsXG4gICAgSW1hZ2VQcm9tcHRDYXJkVjMgPSBcIkltYWdlUHJvbXB0Q2FyZFYzXCIsXG4gICAgUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VWMyA9IFwiUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VWM1wiLFxuICAgIEltYWdlQmFubmVyVjMgPSBcIkltYWdlQmFubmVyVjNcIixcbiAgICBTaW5nbGVJbWFnZVByb21wdFYzID0gXCJTaW5nbGVJbWFnZVByb21wdFYzXCIsXG4gICAgRmxvYXRpbmdDaGF0VjMgPSBcIkZsb2F0aW5nQ2hhdFYzXCIsXG4gICAgRmxvYXRpbmdCdXR0b25WMyA9IFwiRmxvYXRpbmdCdXR0b25WM1wiLFxuICAgIFByb2R1Y3RDYXJkVjMgPSBcIlByb2R1Y3RDYXJkVjNcIixcbiAgICBGdWxsUGFnZVNhbGVzQWdlbnRWMyA9IFwiRnVsbFBhZ2VTYWxlc0FnZW50VjNcIlxufVxuaW50ZXJmYWNlIEJhc2VXaWRnZXRDb25maWc8VCBleHRlbmRzIFdpZGdldFR5cGVWMz4ge1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gICAgdHlwZTogVDtcbiAgICBjb250ZW50SWQ/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlByb21wdENhcm91c2VsVjM+IHtcbiAgICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICAgIHByb21wdENhcm91c2VsUm93cz86IFByb21wdENhcm91c2VsUm93cztcbiAgICBhbmltYXRpb25TcGVlZD86IEFuaW1hdGlvblNwZWVkO1xufVxuaW50ZXJmYWNlIFRpdGxlZFByb21wdENhcm91c2VsV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5UaXRsZWRQcm9tcHRDYXJvdXNlbFYzPiB7XG4gICAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gICAgYm9sZEZpcnN0QnV0dG9uPzogYm9vbGVhbjtcbiAgICBwcm9tcHRDYXJvdXNlbFJvd3M/OiBQcm9tcHRDYXJvdXNlbFJvd3M7XG4gICAgYW5pbWF0aW9uU3BlZWQ/OiBBbmltYXRpb25TcGVlZDtcbn1cbmludGVyZmFjZSBTb2NpYWxQcm9vZldpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuU29jaWFsUHJvb2ZWMz4ge1xuICAgIGtpbmQ6IFdpZGdldEtpbmQ7XG4gICAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQ7XG4gICAgaGV4Q2FyZENvbG9yPzogc3RyaW5nO1xuICAgIHByb21wdENhcm91c2VsUm93czogUHJvbXB0Q2Fyb3VzZWxSb3dzO1xuICAgIGhpZGVJbWFnZT86IGJvb2xlYW47XG4gICAgaW1hZ2VHYWxsZXJ5TGF5b3V0OiBFeGNsdWRlPEltYWdlR2FsbGVyeUxheW91dCwgJ1RXT19TSURFJz47XG4gICAgaGlkZVRleHRGaWVsZD86IGJvb2xlYW47XG4gICAgcHJpbWFyeUJ1dHRvblZhcmlhbnQ6IEV4Y2x1ZGU8UHJvbXB0QnV0dG9uVmFyaWFudCwgJ3N1Z2dlc3RlZFJlc3BvbnNlJyB8ICdnaG9zdCc+O1xuICAgIHNlY29uZGFyeUJ1dHRvblZhcmlhbnQ6IEV4Y2x1ZGU8UHJvbXB0QnV0dG9uVmFyaWFudCwgJ3N1Z2dlc3RlZFJlc3BvbnNlJyB8ICdnaG9zdCc+O1xuICAgIGR5bmFtaWNMYXlvdXQ/OiBEeW5hbWljTGF5b3V0O1xuICAgIGltYWdlcz86IEltYWdlR2FsbGVyeUltYWdlW107XG59XG5pbnRlcmZhY2UgVHlwaW5nQW5pbWF0aW9uV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5UeXBpbmdBbmltYXRpb25WMz4ge1xuICAgIHdpZGdldFZhcmlhbnQ/OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgICBjYXJkQ29sb3I/OiBzdHJpbmc7XG4gICAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gICAgcHJvbXB0Q2Fyb3VzZWxSb3dzPzogUHJvbXB0Q2Fyb3VzZWxSb3dzO1xuICAgIHNob3dUZXh0RmllbGQ/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3Q29tcGFyaXNvbldpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuQ2hhdFByZXZpZXdDb21wYXJpc29uVjM+IHtcbiAgICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgICBoZXhDYXJkQ29sb3I/OiBzdHJpbmc7XG4gICAgaGlkZUltYWdlPzogYm9vbGVhbjtcbiAgICBoaWRlVGV4dEZpZWxkPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0xvYWRpbmdXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3TG9hZGluZ1YzPiB7XG4gICAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQ7XG4gICAgaGV4Q2FyZENvbG9yPzogc3RyaW5nO1xuICAgIGhpZGVUZXh0RmllbGQ/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3V2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5DaGF0UHJldmlld1YzPiB7XG4gICAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQ7XG4gICAgaGV4Q2FyZENvbG9yPzogc3RyaW5nO1xuICAgIGhpZGVUZXh0RmllbGQ/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIFByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5Qcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVYzPiB7XG4gICAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gICAgaW1hZ2U/OiBJbWFnZUdhbGxlcnlJbWFnZTtcbiAgICBoaWRlVGV4dEZpZWxkPzogYm9vbGVhbjtcbiAgICBpc0R5bmFtaWM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdFdpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuRmxvYXRpbmdDaGF0VjM+IHtcbn1cbmludGVyZmFjZSBQcm9kdWN0Q2FyZFdpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuUHJvZHVjdENhcmRWMz4ge1xuICAgIHByb21wdEJ1dHRvblR5cGU/OiBQcm9tcHRCdXR0b25WYXJpYW50O1xuICAgIGl0YWxpY2l6ZUhlYWRsaW5lPzogYm9vbGVhbjtcbiAgICBmYWxsYmFja0NvbG9yPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIG1vZGU/OiBNb2RlO1xufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBQcm9kdWN0Q2Fyb3VzZWxMYXlvdXRWMyB7XG4gICAgSE9SSVpPTlRBTCA9IFwiaG9yaXpvbnRhbFwiLFxuICAgIEdSSUQgPSBcImdyaWRcIixcbiAgICAvKiogR3JpZCBvbiBtb2JpbGUsIGhvcml6b250YWwgY2Fyb3VzZWwgb24gZGVza3RvcC4gKi9cbiAgICBHUklEX01PQklMRV9IT1JJWk9OVEFMX0RFU0tUT1AgPSBcImdyaWQtbW9iaWxlLWhvcml6b250YWwtZGVza3RvcFwiXG59XG5pbnRlcmZhY2UgRnVsbFBhZ2VTYWxlc0FnZW50V2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5GdWxsUGFnZVNhbGVzQWdlbnRWMz4ge1xuICAgIGhlYWRlckNvbnRhaW5lcj86IHN0cmluZztcbiAgICBhdXRvSGVpZ2h0PzogYm9vbGVhbjtcbiAgICBzcGFya2xlQ29sb3I/OiBzdHJpbmc7XG4gICAgdXNlQmFja2dyb3VuZEltYWdlPzogYm9vbGVhbjtcbiAgICBtb2JpbGVCYWNrZ3JvdW5kSW1hZ2U/OiBzdHJpbmc7XG4gICAgZGVza3RvcEJhY2tncm91bmRJbWFnZT86IHN0cmluZztcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgY2hhdEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBzdWdnZXN0aW9uQnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gICAgcHJvZHVjdENhcm91c2VsTGF5b3V0PzogUHJvZHVjdENhcm91c2VsTGF5b3V0VjM7XG4gICAgLyoqXG4gICAgICogV2hlbiB0cnVlIChvciB1bnNldCksIGFza2luZyBhIHF1ZXN0aW9uIG9wZW5zIHRoZSBjb252ZXJzYXRpb24gaW4gYVxuICAgICAqIHBhcnRpYWwtaGVpZ2h0IHNoZWV0IHRoYXQga2VlcHMgdGhlIHdlbGNvbWUgb3ZlcmxheSdzIHByb2R1Y3QgZ3JpZFxuICAgICAqIHZpc2libGUgYWJvdmUgaXQuIFNldCB0byBmYWxzZSB0byBmYWxsIGJhY2sgdG8gdGhlIGZ1bGwtc2NyZWVuIHRha2VvdmVyLlxuICAgICAqIERlZmF1bHQgdHJ1ZSAodW5kZWZpbmVkIGFuZCB0cnVlID0gcGFydGlhbCB2aWV3IGVuYWJsZWQpLlxuICAgICAqL1xuICAgIHBhcnRpYWxWaWV3RW5hYmxlZD86IGJvb2xlYW47XG59XG50eXBlIFdpZGdldENvbmZpZ1YzID0gUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZyB8IFNvY2lhbFByb29mV2lkZ2V0VjNDb25maWcgfCBUaXRsZWRQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnIHwgQ2hhdFByZXZpZXdDb21wYXJpc29uV2lkZ2V0VjNDb25maWcgfCBDaGF0UHJldmlld0xvYWRpbmdXaWRnZXRWM0NvbmZpZyB8IFR5cGluZ0FuaW1hdGlvbldpZGdldFYzQ29uZmlnIHwgQ2hhdFByZXZpZXdXaWRnZXRWM0NvbmZpZyB8IFByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlV2lkZ2V0VjNDb25maWcgfCBGbG9hdGluZ0NoYXRXaWRnZXRWM0NvbmZpZyB8IFByb2R1Y3RDYXJkV2lkZ2V0VjNDb25maWcgfCBGdWxsUGFnZVNhbGVzQWdlbnRXaWRnZXRWM0NvbmZpZztcbmV4cG9ydCB0eXBlIHsgQWRkVG9DYXJ0Q29uZmlnLCBDaGF0UHJldmlld0NvbXBhcmlzb25XaWRnZXRWM0NvbmZpZywgQ2hhdFByZXZpZXdMb2FkaW5nV2lkZ2V0VjNDb25maWcsIENoYXRQcmV2aWV3V2lkZ2V0VjNDb25maWcsIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLCBGbG9hdGluZ0J1dHRvbkNvbmZpZywgRmxvYXRpbmdDaGF0Q29uZmlnLCBGbG9hdGluZ0NoYXRXaWRnZXRWM0NvbmZpZywgRnVsbFBhZ2VTYWxlc0FnZW50V2lkZ2V0VjNDb25maWcsIExvb2tBbmRGZWVsQ29uZmlnLCBPcmdVSUNvbmZpZ1YzLCBQcm9kdWN0Q2FyZFdpZGdldFYzQ29uZmlnLCBQcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVdpZGdldFYzQ29uZmlnLCBQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnLCBTb2NpYWxQcm9vZldpZGdldFYzQ29uZmlnLCBTUEFTZXR0aW5ncywgVGl0bGVkUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZywgVHlwaW5nQW5pbWF0aW9uV2lkZ2V0VjNDb25maWcsIFdpZGdldENvbmZpZ1YzLCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFVQSxJQUFXLHNCQUFzQixDQUFDLEVBQUU7QUFDcEMsSUFBVyxtQkFBbUIsQ0FBQyxHQUFHO0FBQ2xDLElBQVcsbUJBQW1CLENBQUMsR0FBRztBQUNsQyxJQUFXLGlCQUFpQixDQUFDLEdBQUc7QUFDaEMsSUFBVyxtQkFBbUIsQ0FBQyxHQUFHO0FBQ2xDLElBQVcsY0FBYyxDQUFDLEdBQUc7QUFDN0IsSUFBVyxvQkFBb0IsQ0FBQyxHQUFHO0FBQ25DLElBQVcscUJBQXFCLENBQUMsR0FBRztBQUNwQyxJQUFXLGtCQUFrQixDQUFDLEdBQUc7QUFDakMsSUFBVyxtQkFBbUIsQ0FBQyxHQUFHO0FBQ2xDLElBQUksbUJBQW1CLENBQUMsR0FBRztBQUMzQixJQUFJLGtCQUFrQixDQUFDLEdBQUc7QUFDMUIsSUFBSSxlQUFlLENBQUMsR0FBRztBQUN2QixJQUFJLGFBQWEsQ0FBQyxHQUFHO0FBQ3JCLElBQUEsb0JBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNBLElBQVcsb0JBQW9CLENBQUMsR0FBRztBQUNuQyxJQUFJLGdCQUFnQjtDQUFDO09BQVUsa0JBQVk7T0FBQSxrQkFBQTtDQUFBO0FBQzNDLElBQUksT0FBTyxDQUFDLEdBQUc7QUFDZixJQUFJLGNBQWMsQ0FBQyxHQUFHO0FBQ3RCLElBQUksUUFBUSxDQUFDLEdBQUc7QUFDaEIsSUFBSSx1QkFBdUI7Q0FBQztPQUFVO09BQUs7T0FBQTtPQUFBO0NBQUE7QUFDM0MsSUFBVyx1QkFBdUIsQ0FBQyxHQUFHO0FBQ3RDLElBQVcsd0JBQXdCLENBQUMsR0FBRztBQUN2QyxJQUFXLGVBQWU7Q0FBQztPQUFVO09BQU07Q0FBQTtBQUMzQyxJQUFXLG1CQUFtQixDQUFDLFVBQVUsYUFBRTtBQUMzQyxJQUFXLGtCQUFrQixDQUFDLFVBQVUsaUJBQUc7QUFDM0MsSUFBSSxxQkFBcUI7Q0FBQztPQUFVO09BQU87T0FBQTtDQUFBO0FBQzNDLElBQUksNkJBQTZCLENBQUMsVUFBUyxvQkFBQTtBQUMzQyxJQUFJLGNBQWMsQ0FBQyxHQUFHO0FBQ3RCLElBQUEsZ0JBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDQSxJQUFXLGVBQWUsQ0FBQyxHQUFHO0FBQzlCLElBQUksbUJBQW1CO0NBQUM7T0FBVTtPQUFlO0NBQUE7QUFDakQsSUFBSSwrQkFBK0I7Q0FBQztPQUFVLGFBQUs7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25ELElBQUkscUNBQXFDO0NBQUM7T0FBVSxhQUFZO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNoRSxJQUFJLDRCQUE0QjtDQUFDO09BQVUsYUFBYTtPQUFPO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQy9ELElBQUEsZ0NBQUE7Q0FBQTtPQUFBLGFBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0EsSUFBSSxzQ0FBK0I7Q0FBQTtPQUFBLGFBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkMsSUFBSSxtQ0FBbUM7Q0FBQztPQUFDLGFBQUE7T0FBQTtPQUFBO0NBQUE7QUFDekMsSUFBSSw0QkFBNEI7Q0FBQztPQUFRLGFBQUE7T0FBQTtPQUFBO0NBQUE7QUFDekMsSUFBSSw4Q0FBcUM7Q0FBQTtPQUFBLGFBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFJLDZCQUE2QjtDQUFDO09BQU8sYUFBQTtPQUFBO0NBQUE7QUFDekMsSUFBSSw0QkFBNEI7Q0FBQztPQUFRLGFBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFXLDBCQUEwQixDQUFDLEdBQUc7QUFDekMsSUFBSSxtQ0FBbUM7Q0FBQztPQUFDLGFBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFJLGlCQUFpQjtDQUFDO09BQVU7T0FBUztPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
@@ -1,8 +1,8 @@
1
- import * as react2 from "react";
1
+ import * as react0 from "react";
2
2
 
3
3
  //#region src/hooks/GrabAndScroll/useGrabAndScroll.d.ts
4
4
  declare const useGrabAndScroll: (enabled: boolean, chunkWidth: number, speed?: number, offset?: number) => {
5
- containerRef: react2.RefObject<HTMLDivElement | null>;
5
+ containerRef: react0.RefObject<HTMLDivElement | null>;
6
6
  leftArrow: boolean;
7
7
  rightArrow: boolean;
8
8
  animationTrigger: () => void;
@@ -1,8 +1,8 @@
1
- import * as react0 from "react";
1
+ import * as react1 from "react";
2
2
 
3
3
  //#region src/hooks/GrabAndScroll/useGrabAndScroll.d.ts
4
4
  declare const useGrabAndScroll: (enabled: boolean, chunkWidth: number, speed?: number, offset?: number) => {
5
- containerRef: react0.RefObject<HTMLDivElement | null>;
5
+ containerRef: react1.RefObject<HTMLDivElement | null>;
6
6
  leftArrow: boolean;
7
7
  rightArrow: boolean;
8
8
  animationTrigger: () => void;
@@ -1,12 +1,12 @@
1
1
  import { GenerationParams } from "../../application/models/api/generationParams.cjs";
2
- import * as react0 from "react";
2
+ import * as react1 from "react";
3
3
 
4
4
  //#region src/hooks/SystemSettingsContext/useSystemSettingsContext.d.ts
5
5
  declare const useSystemSettingsContext: () => {
6
6
  generationParams?: GenerationParams;
7
7
  showDebugBar?: boolean;
8
8
  endpointURL?: string;
9
- setGenerationParams: react0.Dispatch<react0.SetStateAction<GenerationParams | undefined>>;
9
+ setGenerationParams: react1.Dispatch<react1.SetStateAction<GenerationParams | undefined>>;
10
10
  };
11
11
  //#endregion
12
12
  export { useSystemSettingsContext };
@@ -19,4 +19,4 @@ declare enum SearchResultsState {
19
19
  declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
20
20
  //#endregion
21
21
  export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsV0FBVyxlQUFlO0FBQ2xFLElBQVcsdUJBQXVCLENBQUMsV0FBVyxVQUFVO0FBQ3hELElBQVcsdUJBQXVCO0NBQUM7T0FBVztPQUFnQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxJQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsSUFBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVc7T0FBb0I7Q0FBbUIifQ==
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsVUFBVSxlQUFlO0FBQ2pFLElBQVcsdUJBQXVCLENBQUMsVUFBVSxVQUFVO0FBQ3ZELElBQVcsdUJBQXVCO0NBQUM7T0FBVTtPQUFpQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxHQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsR0FBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVU7T0FBb0I7Q0FBbUIifQ==
@@ -19,4 +19,4 @@ declare enum SearchResultsState {
19
19
  declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
20
20
  //#endregion
21
21
  export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNFbGVtZW50UGFydGlhbGx5VmlzaWJsZTogKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQ6ICgpID0+IFVzZXJFdmVudDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50OiAoeyB2YXJpYW50SW5mbywgfToge1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VyczogKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxTQUFTLGVBQWU7QUFDaEUsSUFBVyx1QkFBdUIsQ0FBQyxTQUFTLFVBQVU7QUFDdEQsSUFBVyx1QkFBdUI7Q0FBQztPQUFTO09BQWtCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLEVBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxFQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBUztPQUFvQjtDQUFtQiJ9
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNFbGVtZW50UGFydGlhbGx5VmlzaWJsZTogKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQ6ICgpID0+IFVzZXJFdmVudDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50OiAoeyB2YXJpYW50SW5mbywgfToge1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VyczogKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxXQUFXLGVBQWU7QUFDbEUsSUFBVyx1QkFBdUIsQ0FBQyxXQUFXLFVBQVU7QUFDeEQsSUFBVyx1QkFBdUI7Q0FBQztPQUFXO09BQWdCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLElBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxJQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBVztPQUFvQjtDQUFtQiJ9
@@ -1,17 +1,31 @@
1
+ const require_logger = require('../../application/logging/logger.cjs');
1
2
  const require_featureGates = require('../../application/models/featureGates.cjs');
3
+ const require_atomStore = require('../../atoms/atomStore/atomStore.cjs');
4
+ const require_atoms_app_index = require('../../atoms/app/index.cjs');
5
+ const require_services_featureFlagService_index = require('../featureFlagService/index.cjs');
2
6
  const require_config_versions = require('../../types/config-versions.cjs');
3
7
  const require_fetchGraphQLConfig = require('./fetchGraphQLConfig.cjs');
8
+ const require_fetchBootstrapConfig = require('./fetchBootstrapConfig.cjs');
4
9
 
5
10
  //#region src/services/enviveConfigService/enviveConfigService.ts
11
+ const logger = new require_logger.default("enviveConfigService");
6
12
  const CONFIG_CACHE_TTL_MS = 300 * 1e3;
7
13
  var EnviveConfigService = class {
8
- constructor({ baseUrl, apiKey, userId, namespace, source }) {
14
+ constructor({ baseUrl, apiKey, userId, namespace, source, env, contextSource }) {
9
15
  this.response = null;
16
+ this.bootstrapUrlResolving = null;
10
17
  this.baseUrl = baseUrl;
11
18
  this.apiKey = apiKey;
12
19
  this.userId = userId;
13
20
  this.namespace = namespace;
14
21
  this.source = source;
22
+ this.env = env;
23
+ this.contextSource = contextSource;
24
+ }
25
+ takeBootstrapUrlResolving() {
26
+ const value = this.bootstrapUrlResolving;
27
+ this.bootstrapUrlResolving = null;
28
+ return value;
15
29
  }
16
30
  getCacheKey() {
17
31
  return `envive-config-cache:${this.baseUrl}:${this.apiKey}:${this.userId}:${this.namespace}:${this.source}`;
@@ -46,10 +60,42 @@ var EnviveConfigService = class {
46
60
  return this.response;
47
61
  }
48
62
  const gateNames = Object.values(require_featureGates.FeatureGates).map((featureGate) => featureGate.toString());
49
- this.response = await require_fetchGraphQLConfig.fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId, gateNames, this.source);
63
+ const widgetConfig = await require_fetchGraphQLConfig.fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId, gateNames, this.source);
64
+ this.response = await this.maybeUpgradeToBootstrap(widgetConfig, gateNames);
50
65
  this.writeCachedConfig(this.response);
51
66
  return this.response;
52
67
  }
68
+ async maybeUpgradeToBootstrap(widgetConfig, gateNames) {
69
+ if (this.env === void 0 || this.contextSource === void 0) return widgetConfig;
70
+ const featureFlagService = new require_services_featureFlagService_index.FeatureFlagService(widgetConfig.gates);
71
+ if (!featureFlagService.isFeatureGateEnabled(require_featureGates.FeatureGates.UseUnifiedConfig)) return widgetConfig;
72
+ const cleansedUrl = window.location.href.toLowerCase().trim();
73
+ try {
74
+ const { config, urlResolving } = await require_fetchBootstrapConfig.fetchBootstrapConfig({
75
+ baseUrl: this.baseUrl,
76
+ apiKey: this.apiKey,
77
+ userId: this.userId,
78
+ source: this.source,
79
+ namespace: this.namespace,
80
+ gateNames,
81
+ url: cleansedUrl,
82
+ orgId: widgetConfig.org.org.id,
83
+ orgShortName: widgetConfig.org.org.short_name,
84
+ contextSource: this.contextSource,
85
+ env: this.env,
86
+ featureGates: featureFlagService.getFeatureFlags(),
87
+ chatId: require_atomStore.getAtomStore().get(require_atoms_app_index.chatIdAtom)
88
+ });
89
+ this.bootstrapUrlResolving = urlResolving ? {
90
+ url: cleansedUrl,
91
+ response: urlResolving
92
+ } : null;
93
+ return config;
94
+ } catch (err) {
95
+ logger.logError("getEnviveConfig | bootstrap upgrade failed, using getWidgetConfig", err);
96
+ return widgetConfig;
97
+ }
98
+ }
53
99
  };
54
100
  /**
55
101
  * Returns static mock data from its constructor arguments. Passes empty baseUrl/apiKey
@@ -70,4 +116,4 @@ var MockEnviveConfigService = class {
70
116
  //#endregion
71
117
  exports.EnviveConfigService = EnviveConfigService;
72
118
  exports.MockEnviveConfigService = MockEnviveConfigService;
73
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5janMiLCJuYW1lcyI6WyJjb25maWdWZXJzaW9uT3ZlcnJpZGUiLCJlbnRyeTogQ2FjaGVkQ29uZmlnRW50cnkiLCJGZWF0dXJlR2F0ZXMiLCJmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIiwibW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlL2Vudml2ZUNvbmZpZ1NlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnQsIE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUWxDb25maWdWYWx1ZXMgfSBmcm9tICdzcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQnO1xuaW1wb3J0IHsgY29uZmlnVmVyc2lvbk92ZXJyaWRlIH0gZnJvbSAnc3JjL3R5cGVzL2NvbmZpZy12ZXJzaW9ucyc7XG5pbXBvcnQgeyBmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIH0gZnJvbSAnLi9mZXRjaEdyYXBoUUxDb25maWcnO1xuXG4vLyBTaG9ydC1saXZlZCBzbyBjb25maWcgY2hhbmdlcyAoZ2F0ZXMsIGV4cGVyaW1lbnRzKSBzdGlsbCBwcm9wYWdhdGUgd2l0aGluXG4vLyBhIHNlc3Npb24sIHdoaWxlIHNwYXJpbmcgZXZlcnkgcGFnZSBuYXZpZ2F0aW9uIGZyb20gcmUtZmV0Y2hpbmcgb3JnXG4vLyBjb25maWcgKyBHcmFwaFFMIGNvbmZpZywgYm90aCBvZiB3aGljaCBzaXQgb24gdGhlIGNyaXRpY2FsIHBhdGggYmVmb3JlXG4vLyBmaXJzdCBwYWludC5cbmNvbnN0IENPTkZJR19DQUNIRV9UVExfTVMgPSA1ICogNjAgKiAxMDAwO1xuXG50eXBlIENhY2hlZENvbmZpZ0VudHJ5ID0ge1xuICB2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZztcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG59O1xuXG50eXBlIEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcyA9IHtcbiAgYmFzZVVybDogc3RyaW5nO1xuICBhcGlLZXk6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEVudml2ZVNlcnZpY2VDb25maWcgPSB7XG4gIG9yZzoge1xuICAgIG9yZzoge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIHNob3J0X25hbWU6IHN0cmluZztcbiAgICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICAgICAgZG9tYWluOiBzdHJpbmc7XG4gICAgICBzdGF0dXM6IHN0cmluZztcbiAgICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBnYXRlczogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgLy8gUG9wdWxhdGVkIGJ5IHRoZSBiYWNrZW5kIHdoZW4gdGhlIGB1c2VfdW5pZmllZF9jb25maWdgIFN0YXRzaWcgZ2F0ZVxuICAvLyBldmFsdWF0ZXMgdHJ1ZS4gYW1wbGl0dWRlU2VydmljZSByZWFkcyB0aGVzZSB0byBlbnJpY2ggZXZlbnRzIHdpdGhcbiAgLy8gYGV4cGVyaW1lbnQue25zfS4qYCBwcm9wZXJ0aWVzLlxuICBleHBlcmltZW50X2Fzc2lnbm1lbnRzPzogT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnRbXTtcbiAgLy8gb3JnQ29uZmlnLnJlc29sdXRpb24gaXMgcG9wdWxhdGVkIG9ubHkgb24gdGhlIHVuaWZpZWQgcGF0aCAoc291cmNlZCBmcm9tXG4gIC8vIGdldFdpZGdldENvbmZpZy5yZXNvbHV0aW9uLCBub3QgL3YxL29yZy9jb25maWcucmVzb2x1dGlvbikgc28gdGhlIHZlcnNpb25cbiAgLy8gdGhyZWFkZWQgaW50byBpbmZlcmVuY2UgcmVxdWVzdHMgbWF0Y2hlcyB0aGUgdmVyc2lvbiB0aGF0IHByb2R1Y2VkIHRoZVxuICAvLyByZW5kZXJlZCB3aWRnZXRzLlxuICBvcmdDb25maWc/OiBHcmFwaFFsQ29uZmlnVmFsdWVzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xufVxuXG5leHBvcnQgY2xhc3MgRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1c2VySWQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZXNwb25zZTogRW52aXZlU2VydmljZUNvbmZpZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHsgYmFzZVVybCwgYXBpS2V5LCB1c2VySWQsIG5hbWVzcGFjZSwgc291cmNlIH06IEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcykge1xuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XG4gICAgdGhpcy5hcGlLZXkgPSBhcGlLZXk7XG4gICAgdGhpcy51c2VySWQgPSB1c2VySWQ7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG4gICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gIH1cblxuICBwcml2YXRlIGdldENhY2hlS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBlbnZpdmUtY29uZmlnLWNhY2hlOiR7dGhpcy5iYXNlVXJsfToke3RoaXMuYXBpS2V5fToke3RoaXMudXNlcklkfToke3RoaXMubmFtZXNwYWNlfToke3RoaXMuc291cmNlfWA7XG4gIH1cblxuICAvLyBgZW52aXZlX2NvbmZpZ192ZXJzaW9uYCAvIGBzcGlmZnlfY29uZmlnX3ZlcnNpb25gIHBpbiBhIHNwZWNpZmljIGNvbmZpZ1xuICAvLyB2ZXJzaW9uIGZvciBkZWJ1Z2dpbmcvcm9sbGJhY2suIEFueSB1c2Ugb2YgdGhhdCBvdmVycmlkZSBtdXN0IGFsd2F5c1xuICAvLyBieXBhc3MgdGhlIGNhY2hlIGJlbG93IOKAlCBib3RoIHJlYWRpbmcgYSBzdGFsZSBlbnRyeSBhbmQgd3JpdGluZyBvbmVcbiAgLy8gdW5kZXIgdGhlIHNoYXJlZCBrZXkgd291bGQgZGVmZWF0IHRoZSBvdmVycmlkZSdzIHB1cnBvc2UuXG4gIHByaXZhdGUgcmVhZENhY2hlZENvbmZpZygpOiBFbnZpdmVTZXJ2aWNlQ29uZmlnIHwgbnVsbCB7XG4gICAgaWYgKGNvbmZpZ1ZlcnNpb25PdmVycmlkZSgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJhdyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5nZXRDYWNoZUtleSgpKTtcbiAgICAgIGlmICghcmF3KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgZW50cnkgPSBKU09OLnBhcnNlKHJhdykgYXMgQ2FjaGVkQ29uZmlnRW50cnk7XG4gICAgICBpZiAoRGF0ZS5ub3coKSA+PSBlbnRyeS5leHBpcmVzQXQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gZW50cnkudmFsdWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHdyaXRlQ2FjaGVkQ29uZmlnKHZhbHVlOiBFbnZpdmVTZXJ2aWNlQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpZ1ZlcnNpb25PdmVycmlkZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbnRyeTogQ2FjaGVkQ29uZmlnRW50cnkgPSB7IHZhbHVlLCBleHBpcmVzQXQ6IERhdGUubm93KCkgKyBDT05GSUdfQ0FDSEVfVFRMX01TIH07XG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuZ2V0Q2FjaGVLZXkoKSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIFN0b3JhZ2UgZGlzYWJsZWQsIGZ1bGwsIG9yIHVuYXZhaWxhYmxlIChwcml2YXRlIGJyb3dzaW5nLCBldGMuKSAtXG4gICAgICAvLyBmYWlsIG9wZW4gYW5kIGxldCB0aGUgbmV4dCBjYWxsIHJlLWZldGNoIGluc3RlYWQgb2YgY2FjaGluZy5cbiAgICB9XG4gIH1cblxuICBhc3luYyBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPiB7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICAgIH1cblxuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMucmVhZENhY2hlZENvbmZpZygpO1xuICAgIGlmIChjYWNoZWQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMucmVzcG9uc2UgPSBjYWNoZWQ7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZTtcbiAgICB9XG5cbiAgICAvLyBnZXRXaWRnZXRDb25maWcgaXMgdGhlIHNpbmdsZSBzb3VyY2Ugb2Ygc2Vzc2lvbiBjb25maWc6IGl0IHJldHVybnMgb3JnXG4gICAgLy8gaWRlbnRpdHkgKyBmZWF0dXJlIGdhdGVzICsgZXhwZXJpbWVudCBhc3NpZ25tZW50cyAod2hpY2ggdXNlZCB0byBiZSBhXG4gICAgLy8gc2VwYXJhdGUgR0VUIC92MS9vcmcvY29uZmlnIGNhbGwpIGFsb25nc2lkZSBwcm9kdWN0c0NvbmZpZyArIHRoZVxuICAgIC8vIHJlc29sdXRpb24gbWV0YWRhdGEgdGhyZWFkZWQgaW50byBkb3duc3RyZWFtIGluZmVyZW5jZS4gYGdhdGVOYW1lc2AgaXMgdGhlXG4gICAgLy8gbGlzdCBvZiBnYXRlcyB0aGUgYXBwIGNoZWNrcywgc28gdGhlIHJlc29sdmVyIGV2YWx1YXRlcyBhbmQgcmV0dXJucyB0aGVtLlxuICAgIGNvbnN0IGdhdGVOYW1lcyA9IE9iamVjdC52YWx1ZXMoRmVhdHVyZUdhdGVzKS5tYXAoZmVhdHVyZUdhdGUgPT4gZmVhdHVyZUdhdGUudG9TdHJpbmcoKSk7XG5cbiAgICB0aGlzLnJlc3BvbnNlID0gYXdhaXQgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyhcbiAgICAgIHRoaXMuYmFzZVVybCxcbiAgICAgIHRoaXMuYXBpS2V5LFxuICAgICAgdGhpcy51c2VySWQsXG4gICAgICBnYXRlTmFtZXMsXG4gICAgICB0aGlzLnNvdXJjZSxcbiAgICApO1xuICAgIHRoaXMud3JpdGVDYWNoZWRDb25maWcodGhpcy5yZXNwb25zZSk7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHN0YXRpYyBtb2NrIGRhdGEgZnJvbSBpdHMgY29uc3RydWN0b3IgYXJndW1lbnRzLiBQYXNzZXMgZW1wdHkgYmFzZVVybC9hcGlLZXlcbiAqIHNvIGFueSBjb2RlIGNoZWNraW5nIGlzUmVhZHkgZG9lcyBub3QgZmlyZSByZWFsIG5ldHdvcmsgcmVxdWVzdHMuIFRoZSBvcmdDb25maWcgZmllbGRcbiAqIGNvdmVycyBjb2xvcnMsIGZyb250ZW5kQ29uZmlnLCBhbmQgcGFnZS93aWRnZXQvbW91bnRpbmcgY29uZmlncyB3aXRob3V0IGFueSBuZXR3b3JrIGNhbGxzLlxuICovXG5leHBvcnQgY2xhc3MgTW9ja0Vudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWcpIHt9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLm1vY2tDb25maWc7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFVQSxNQUFNLHNCQUFzQixNQUFTO0FBNkNyQyxJQUFhLHNCQUFiLE1BQWlFO0NBYS9ELFlBQVksRUFBRSxTQUFTLFFBQVEsUUFBUSxXQUFXLFVBQW9DO2tCQUZ2QztBQUc3QyxPQUFLLFVBQVU7QUFDZixPQUFLLFNBQVM7QUFDZCxPQUFLLFNBQVM7QUFDZCxPQUFLLFlBQVk7QUFDakIsT0FBSyxTQUFTOztDQUdoQixBQUFRLGNBQXNCO0FBQzVCLFNBQU8sdUJBQXVCLEtBQUssUUFBUSxHQUFHLEtBQUssT0FBTyxHQUFHLEtBQUssT0FBTyxHQUFHLEtBQUssVUFBVSxHQUFHLEtBQUs7O0NBT3JHLEFBQVEsbUJBQStDO0FBQ3JELE1BQUlBLCtDQUF1QixDQUN6QixRQUFPO0FBRVQsTUFBSTtHQUNGLE1BQU0sTUFBTSxlQUFlLFFBQVEsS0FBSyxhQUFhLENBQUM7QUFDdEQsT0FBSSxDQUFDLElBQ0gsUUFBTztHQUVULE1BQU0sUUFBUSxLQUFLLE1BQU0sSUFBSTtBQUM3QixPQUFJLEtBQUssS0FBSyxJQUFJLE1BQU0sVUFDdEIsUUFBTztBQUVULFVBQU8sTUFBTTtVQUNQO0FBQ04sVUFBTzs7O0NBSVgsQUFBUSxrQkFBa0IsT0FBa0M7QUFDMUQsTUFBSUEsK0NBQXVCLENBQ3pCO0FBRUYsTUFBSTtHQUNGLE1BQU1DLFFBQTJCO0lBQUU7SUFBTyxXQUFXLEtBQUssS0FBSyxHQUFHO0lBQXFCO0FBQ3ZGLGtCQUFlLFFBQVEsS0FBSyxhQUFhLEVBQUUsS0FBSyxVQUFVLE1BQU0sQ0FBQztVQUMzRDs7Q0FNVixNQUFNLGtCQUFnRDtBQUNwRCxNQUFJLEtBQUssYUFBYSxLQUNwQixRQUFPLEtBQUs7RUFHZCxNQUFNLFNBQVMsS0FBSyxrQkFBa0I7QUFDdEMsTUFBSSxXQUFXLE1BQU07QUFDbkIsUUFBSyxXQUFXO0FBQ2hCLFVBQU8sS0FBSzs7RUFRZCxNQUFNLFlBQVksT0FBTyxPQUFPQyxrQ0FBYSxDQUFDLEtBQUksZ0JBQWUsWUFBWSxVQUFVLENBQUM7QUFFeEYsT0FBSyxXQUFXLE1BQU1DLHFEQUNwQixLQUFLLFNBQ0wsS0FBSyxRQUNMLEtBQUssUUFDTCxXQUNBLEtBQUssT0FDTjtBQUNELE9BQUssa0JBQWtCLEtBQUssU0FBUztBQUNyQyxTQUFPLEtBQUs7Ozs7Ozs7O0FBU2hCLElBQWEsMEJBQWIsTUFBcUU7Q0FLbkUsWUFBWSxBQUFpQkMsWUFBaUM7RUFBakM7aUJBSks7Z0JBRUQ7O0NBSWpDLE1BQU0sa0JBQWdEO0FBQ3BELFNBQU8sS0FBSyJ9
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5janMiLCJuYW1lcyI6WyJMb2dnZXIiLCJjb25maWdWZXJzaW9uT3ZlcnJpZGUiLCJlbnRyeTogQ2FjaGVkQ29uZmlnRW50cnkiLCJGZWF0dXJlR2F0ZXMiLCJmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIiwiRmVhdHVyZUZsYWdTZXJ2aWNlIiwiZmV0Y2hCb290c3RyYXBDb25maWciLCJnZXRBdG9tU3RvcmUiLCJjaGF0SWRBdG9tIiwibW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlL2Vudml2ZUNvbmZpZ1NlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnQsIE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUWxDb25maWdWYWx1ZXMgfSBmcm9tICdzcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQnO1xuaW1wb3J0IHsgY29uZmlnVmVyc2lvbk92ZXJyaWRlIH0gZnJvbSAnc3JjL3R5cGVzL2NvbmZpZy12ZXJzaW9ucyc7XG5pbXBvcnQgeyBGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tICdzcmMvc2VydmljZXMvZmVhdHVyZUZsYWdTZXJ2aWNlJztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB0eXBlIHsgVXJsUmVzb2x2ZXJSZXNwb25zZSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAvdmFyaWFudCc7XG5pbXBvcnQgeyBnZXRBdG9tU3RvcmUgfSBmcm9tICdzcmMvYXRvbXMvYXRvbVN0b3JlL2F0b21TdG9yZSc7XG5pbXBvcnQgeyBjaGF0SWRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcCc7XG5pbXBvcnQgeyBmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIH0gZnJvbSAnLi9mZXRjaEdyYXBoUUxDb25maWcnO1xuaW1wb3J0IHsgZmV0Y2hCb290c3RyYXBDb25maWcgfSBmcm9tICcuL2ZldGNoQm9vdHN0cmFwQ29uZmlnJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignZW52aXZlQ29uZmlnU2VydmljZScpO1xuXG4vLyBTaG9ydC1saXZlZCBzbyBjb25maWcgY2hhbmdlcyAoZ2F0ZXMsIGV4cGVyaW1lbnRzKSBzdGlsbCBwcm9wYWdhdGUgd2l0aGluXG4vLyBhIHNlc3Npb24sIHdoaWxlIHNwYXJpbmcgZXZlcnkgcGFnZSBuYXZpZ2F0aW9uIGZyb20gcmUtZmV0Y2hpbmcgb3JnXG4vLyBjb25maWcgKyBHcmFwaFFMIGNvbmZpZywgYm90aCBvZiB3aGljaCBzaXQgb24gdGhlIGNyaXRpY2FsIHBhdGggYmVmb3JlXG4vLyBmaXJzdCBwYWludC5cbmNvbnN0IENPTkZJR19DQUNIRV9UVExfTVMgPSA1ICogNjAgKiAxMDAwO1xuXG50eXBlIENhY2hlZENvbmZpZ0VudHJ5ID0ge1xuICB2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZztcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG59O1xuXG50eXBlIEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcyA9IHtcbiAgYmFzZVVybDogc3RyaW5nO1xuICBhcGlLZXk6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbiAgLy8gVGhlIHVybF9yZXNvbHZpbmcgY29udGV4dCBiaXRzIHRoZSBob29rcyBsYXllciBjYW4ndCBkZXJpdmUgaXRzZWxmLCBzdXBwbGllZFxuICAvLyBieSB0aGUgaW5qZWN0aW9uIGJ1bmRsZSBzbyBnZXRFbnZpdmVDb25maWcgY2FuIGNhbGwgL3YxL3Nlc3Npb24vYm9vdHN0cmFwIG9uXG4gIC8vIHRoZSB1c2VfdW5pZmllZF9jb25maWcgZ2F0ZS1PTiBwYXRoLiBPcHRpb25hbDogd2hlbiBhYnNlbnQgKG1vY2tzLCBub24tYnVuZGxlXG4gIC8vIGNhbGxlcnMpIHRoZSBib290c3RyYXAgYnJhbmNoIGlzIHNraXBwZWQgYW5kIGdldFdpZGdldENvbmZpZyBzdGFuZHMuXG4gIGVudj86IHN0cmluZztcbiAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEVudml2ZVNlcnZpY2VDb25maWcgPSB7XG4gIG9yZzoge1xuICAgIG9yZzoge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIHNob3J0X25hbWU6IHN0cmluZztcbiAgICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICAgICAgZG9tYWluOiBzdHJpbmc7XG4gICAgICBzdGF0dXM6IHN0cmluZztcbiAgICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBnYXRlczogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgLy8gVGhlIHVzZXIncyBTdGF0c2lnIGV4cGVyaW1lbnQtbGF5ZXIgYXNzaWdubWVudHMsIGZyb20gdGhlIHdpZGdldCBjb25maWcnc1xuICAvLyByZXNvbHZlZCBleHBlcmltZW50cyDigJQgZ2V0V2lkZ2V0Q29uZmlnLCBvciBib290c3RyYXAncyBgd2lkZ2V0X2NvbmZpZ2BcbiAgLy8gKGJvdGggdW5nYXRlZCBieSB1c2VfdW5pZmllZF9jb25maWc7IGVtcHR5IG9ubHkgdW5kZXIgYSB2ZXJzaW9uIHBpbikuXG4gIC8vIGFtcGxpdHVkZVNlcnZpY2UgcmVhZHMgdGhlc2UgdG8gZW5yaWNoIGV2ZW50cyB3aXRoIGBleHBlcmltZW50Lntuc30uKmAgcHJvcHMuXG4gIGV4cGVyaW1lbnRfYXNzaWdubWVudHM/OiBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudFtdO1xuICAvLyBvcmdDb25maWcucmVzb2x1dGlvbiBpcyBwb3B1bGF0ZWQgb25seSBvbiB0aGUgdW5pZmllZCBwYXRoIChzb3VyY2VkIGZyb21cbiAgLy8gZ2V0V2lkZ2V0Q29uZmlnLnJlc29sdXRpb24sIG5vdCAvdjEvb3JnL2NvbmZpZy5yZXNvbHV0aW9uKSBzbyB0aGUgdmVyc2lvblxuICAvLyB0aHJlYWRlZCBpbnRvIGluZmVyZW5jZSByZXF1ZXN0cyBtYXRjaGVzIHRoZSB2ZXJzaW9uIHRoYXQgcHJvZHVjZWQgdGhlXG4gIC8vIHJlbmRlcmVkIHdpZGdldHMuXG4gIG9yZ0NvbmZpZz86IEdyYXBoUWxDb25maWdWYWx1ZXM7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG4gIC8vIE5COiBgdGFrZUJvb3RzdHJhcFVybFJlc29sdmluZ2AgaXMgaW50ZW50aW9uYWxseSBOT1Qgb24gdGhpcyBpbnRlcmZhY2UuIEl0J3NcbiAgLy8gYSBib290c3RyYXAtb25seSBkZXRhaWwgY29uc3VtZWQgc29sZWx5IGJ5IHRoZSBpbmplY3Rpb24gYnVuZGxlIHZpYSB0aGVcbiAgLy8gY29uY3JldGUgRW52aXZlQ29uZmlnU2VydmljZTsga2VlcGluZyBpdCBvZmYgdGhlIHB1YmxpYyBESSBjb250cmFjdCBhdm9pZHMgYVxuICAvLyBicmVha2luZyBjaGFuZ2UgZm9yIGV4dGVybmFsIGNvbnN1bWVycyB0aGF0IHN1cHBseSB0aGVpciBvd24gY29uZmlnIHNlcnZpY2VcbiAgLy8gKEVudml2ZVByb3ZpZGVyIG9ubHkgZXZlciBjYWxscyBnZXRFbnZpdmVDb25maWcgLyBiYXNlVXJsIC8gYXBpS2V5KS5cbn1cblxuLy8gVGhlIGJvb3RzdHJhcCB1cmxfcmVzb2x2aW5nIHBheWxvYWQgcGx1cyB0aGUgVVJMIGl0IHdhcyByZXNvbHZlZCBmb3IsIHNvIHRoZVxuLy8gd2FybS11cCBjYW4gdmVyaWZ5IHRoZSBVUkwgc3RpbGwgbWF0Y2hlcyBiZWZvcmUgc2VlZGluZyAoc2VlIEYxOiBhIFNQQSBuYXZcbi8vIGR1cmluZyB0aGUgYm9vdHN0cmFwIHJvdW5kIHRyaXAgbXVzdCBub3QgY2FjaGUgVVJMIEEncyByZXN1bHQgdW5kZXIgVVJMIEIpLlxudHlwZSBCb290c3RyYXBVcmxSZXNvbHZpbmcgPSB7IHVybDogc3RyaW5nOyByZXNwb25zZTogVXJsUmVzb2x2ZXJSZXNwb25zZSB9O1xuXG5leHBvcnQgY2xhc3MgRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1c2VySWQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbnY/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVzcG9uc2U6IEVudml2ZVNlcnZpY2VDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGJvb3RzdHJhcFVybFJlc29sdmluZzogQm9vdHN0cmFwVXJsUmVzb2x2aW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGJhc2VVcmwsXG4gICAgYXBpS2V5LFxuICAgIHVzZXJJZCxcbiAgICBuYW1lc3BhY2UsXG4gICAgc291cmNlLFxuICAgIGVudixcbiAgICBjb250ZXh0U291cmNlLFxuICB9OiBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSBiYXNlVXJsO1xuICAgIHRoaXMuYXBpS2V5ID0gYXBpS2V5O1xuICAgIHRoaXMudXNlcklkID0gdXNlcklkO1xuICAgIHRoaXMubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuICAgIHRoaXMuZW52ID0gZW52O1xuICAgIHRoaXMuY29udGV4dFNvdXJjZSA9IGNvbnRleHRTb3VyY2U7XG4gIH1cblxuICAvLyBIYW5kcyBvZmYgKG9uY2UpIHRoZSB1cmxfcmVzb2x2aW5nIHBheWxvYWQgdGhhdCAvdjEvc2Vzc2lvbi9ib290c3RyYXBcbiAgLy8gcmV0dXJuZWQgYWxvbmdzaWRlIHRoZSBjb25maWcg4oCUIHBhaXJlZCB3aXRoIHRoZSBVUkwgaXQgd2FzIHJlc29sdmVkIGZvciDigJQgc29cbiAgLy8gdGhlIHdhcm0tdXAgc2VlZHMgdXJsUmVzb2x2ZXJBdG9tIHdpdGggaXQgaW5zdGVhZCBvZiBmaXJpbmcgYSBzZXBhcmF0ZVxuICAvLyAvdjEvdXJsX3Jlc29sdmluZy4gbnVsbCBvbiB0aGUgZ2V0V2lkZ2V0Q29uZmlnIC8gY2FjaGVkIHBhdGguXG4gIHRha2VCb290c3RyYXBVcmxSZXNvbHZpbmcoKTogQm9vdHN0cmFwVXJsUmVzb2x2aW5nIHwgbnVsbCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmJvb3RzdHJhcFVybFJlc29sdmluZztcbiAgICB0aGlzLmJvb3RzdHJhcFVybFJlc29sdmluZyA9IG51bGw7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYWNoZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgZW52aXZlLWNvbmZpZy1jYWNoZToke3RoaXMuYmFzZVVybH06JHt0aGlzLmFwaUtleX06JHt0aGlzLnVzZXJJZH06JHt0aGlzLm5hbWVzcGFjZX06JHt0aGlzLnNvdXJjZX1gO1xuICB9XG5cbiAgLy8gYGVudml2ZV9jb25maWdfdmVyc2lvbmAgLyBgc3BpZmZ5X2NvbmZpZ192ZXJzaW9uYCBwaW4gYSBzcGVjaWZpYyBjb25maWdcbiAgLy8gdmVyc2lvbiBmb3IgZGVidWdnaW5nL3JvbGxiYWNrLiBBbnkgdXNlIG9mIHRoYXQgb3ZlcnJpZGUgbXVzdCBhbHdheXNcbiAgLy8gYnlwYXNzIHRoZSBjYWNoZSBiZWxvdyDigJQgYm90aCByZWFkaW5nIGEgc3RhbGUgZW50cnkgYW5kIHdyaXRpbmcgb25lXG4gIC8vIHVuZGVyIHRoZSBzaGFyZWQga2V5IHdvdWxkIGRlZmVhdCB0aGUgb3ZlcnJpZGUncyBwdXJwb3NlLlxuICBwcml2YXRlIHJlYWRDYWNoZWRDb25maWcoKTogRW52aXZlU2VydmljZUNvbmZpZyB8IG51bGwge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByYXcgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuZ2V0Q2FjaGVLZXkoKSk7XG4gICAgICBpZiAoIXJhdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVudHJ5ID0gSlNPTi5wYXJzZShyYXcpIGFzIENhY2hlZENvbmZpZ0VudHJ5O1xuICAgICAgaWYgKERhdGUubm93KCkgPj0gZW50cnkuZXhwaXJlc0F0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGVudHJ5LnZhbHVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZUNhY2hlZENvbmZpZyh2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZyk6IHZvaWQge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgZW50cnk6IENhY2hlZENvbmZpZ0VudHJ5ID0geyB2YWx1ZSwgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgQ09ORklHX0NBQ0hFX1RUTF9NUyB9O1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmdldENhY2hlS2V5KCksIEpTT04uc3RyaW5naWZ5KGVudHJ5KSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBTdG9yYWdlIGRpc2FibGVkLCBmdWxsLCBvciB1bmF2YWlsYWJsZSAocHJpdmF0ZSBicm93c2luZywgZXRjLikgLVxuICAgICAgLy8gZmFpbCBvcGVuIGFuZCBsZXQgdGhlIG5leHQgY2FsbCByZS1mZXRjaCBpbnN0ZWFkIG9mIGNhY2hpbmcuXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIGlmICh0aGlzLnJlc3BvbnNlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZTtcbiAgICB9XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnJlYWRDYWNoZWRDb25maWcoKTtcbiAgICBpZiAoY2FjaGVkICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc3BvbnNlID0gY2FjaGVkO1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLy8gZ2V0V2lkZ2V0Q29uZmlnIGlzIHRoZSBzaW5nbGUgc291cmNlIG9mIHNlc3Npb24gY29uZmlnOiBpdCByZXR1cm5zIG9yZ1xuICAgIC8vIGlkZW50aXR5ICsgZmVhdHVyZSBnYXRlcyArIGV4cGVyaW1lbnQgYXNzaWdubWVudHMgKHdoaWNoIHVzZWQgdG8gYmUgYVxuICAgIC8vIHNlcGFyYXRlIEdFVCAvdjEvb3JnL2NvbmZpZyBjYWxsKSBhbG9uZ3NpZGUgcHJvZHVjdHNDb25maWcgKyB0aGVcbiAgICAvLyByZXNvbHV0aW9uIG1ldGFkYXRhIHRocmVhZGVkIGludG8gZG93bnN0cmVhbSBpbmZlcmVuY2UuIGBnYXRlTmFtZXNgIGlzIHRoZVxuICAgIC8vIGxpc3Qgb2YgZ2F0ZXMgdGhlIGFwcCBjaGVja3MsIHNvIHRoZSByZXNvbHZlciBldmFsdWF0ZXMgYW5kIHJldHVybnMgdGhlbS5cbiAgICBjb25zdCBnYXRlTmFtZXMgPSBPYmplY3QudmFsdWVzKEZlYXR1cmVHYXRlcykubWFwKGZlYXR1cmVHYXRlID0+IGZlYXR1cmVHYXRlLnRvU3RyaW5nKCkpO1xuXG4gICAgY29uc3Qgd2lkZ2V0Q29uZmlnID0gYXdhaXQgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyhcbiAgICAgIHRoaXMuYmFzZVVybCxcbiAgICAgIHRoaXMuYXBpS2V5LFxuICAgICAgdGhpcy51c2VySWQsXG4gICAgICBnYXRlTmFtZXMsXG4gICAgICB0aGlzLnNvdXJjZSxcbiAgICApO1xuXG4gICAgdGhpcy5yZXNwb25zZSA9IGF3YWl0IHRoaXMubWF5YmVVcGdyYWRlVG9Cb290c3RyYXAod2lkZ2V0Q29uZmlnLCBnYXRlTmFtZXMpO1xuICAgIHRoaXMud3JpdGVDYWNoZWRDb25maWcodGhpcy5yZXNwb25zZSk7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gIH1cblxuICAvLyBUaGUgdW5pZmllZC1jb25maWcgcmFtcCAoYHVzZV91bmlmaWVkX2NvbmZpZ2AgU3RhdHNpZyBnYXRlKS4gV2hlbiB0aGUgZ2F0ZVxuICAvLyBpcyBPTiBmb3IgdGhpcyB1c2VyLCBzd2FwIHRoZSBnZXRXaWRnZXRDb25maWcgcmVzdWx0IGZvciBNYXR0J3NcbiAgLy8gL3YxL3Nlc3Npb24vYm9vdHN0cmFwIOKAlCB0aGUgc2FtZSBjb25maWcgUExVUyB0aGUgaW5pdGlhbCB1cmxfcmVzb2x2aW5nIGluXG4gIC8vIE9ORSByb3VuZCB0cmlwICh0aGUgY29uc29saWRhdGlvbiB0aGlzIG1pZ3JhdGlvbiBpcyBhYm91dCkuIFRoZSBnYXRlIGlzIHJlYWRcbiAgLy8gb2ZmIHRoZSBnZXRXaWRnZXRDb25maWcgcmVzcG9uc2UganVzdCBmZXRjaGVkLCBiZWNhdXNlIHRoZSBGRSBoYXMgbm8gU3RhdHNpZ1xuICAvLyBTREs6IHB5bW9ubyBldmFsdWF0ZXMgdGhlIGdhdGUgc2VydmVyLXNpZGUgYW5kIHJldHVybnMgaXQuIGBGZWF0dXJlRmxhZ1NlcnZpY2VgXG4gIC8vIGFsc28gaG9ub3JzIGEgYD91c2VfdW5pZmllZF9jb25maWc9dHJ1ZWAgb3ZlcnJpZGUsIHNvIHRoZSBib290c3RyYXAgcGF0aCBpc1xuICAvLyB0ZXN0YWJsZSBiZWZvcmUgdGhlIGdhdGUgcmFtcHMuXG4gIC8vXG4gIC8vIE9ubHkgcnVucyBvbiB0aGUgY2FjaGUtbWlzcyBwYXRoIChib290c3RyYXAncyBjb25maWcgaXMgdGhlbiBjYWNoZWQgbGlrZSBhbnlcbiAgLy8gb3RoZXIpLCBzbyBhIGNhY2hlZCBsb2FkIG5ldmVyIHJlLWZldGNoZXMuIE5lZWRzIGVudiArIGNvbnRleHRTb3VyY2UgZm9yIHRoZVxuICAvLyB1cmxfcmVzb2x2aW5nIGNvbnRleHQg4oCUIGFic2VudCBmb3IgbW9ja3MgLyBub24tYnVuZGxlIGNhbGxlcnMsIHdoZXJlIHRoZVxuICAvLyBicmFuY2ggaXMgc2tpcHBlZC4gQSBib290c3RyYXAgZmFpbHVyZSBmYWxscyBiYWNrIHRvIHRoZSBnZXRXaWRnZXRDb25maWdcbiAgLy8gY29uZmlnIGFscmVhZHkgaW4gaGFuZDogYSBib290c3RyYXAgcHJvYmxlbSBkZWdyYWRlcyB0byB0aGUgcHJvdmVuIHBhdGhcbiAgLy8gaW5zdGVhZCBvZiBhYm9ydGluZyBpbmplY3Rpb24uIEF0IDEwMCUgdGhlIGdldFdpZGdldENvbmZpZyBjYWxsIGFib3ZlIGlzXG4gIC8vIGRyb3BwZWQgYW5kIGJvb3RzdHJhcCBiZWNvbWVzIHRoZSBzb2xlIGNvbmZpZyBjYWxsIChzdGVwIDgpLlxuICBwcml2YXRlIGFzeW5jIG1heWJlVXBncmFkZVRvQm9vdHN0cmFwKFxuICAgIHdpZGdldENvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyxcbiAgICBnYXRlTmFtZXM6IHN0cmluZ1tdLFxuICApOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+IHtcbiAgICBpZiAodGhpcy5lbnYgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmNvbnRleHRTb3VyY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHdpZGdldENvbmZpZztcbiAgICB9XG4gICAgLy8gQnVpbHQgb25jZTogcmVhZHMgdGhlIGdhdGUgKG92ZXJyaWRlLWF3YXJlKSBBTkQgc3VwcGxpZXMgdGhlIG92ZXJyaWRlLWF3YXJlXG4gICAgLy8gZ2F0ZSBtYXAgYm9vdHN0cmFwJ3MgdXJsX3Jlc29sdmluZyBuZWVkcyAobWF0Y2hlcyB0aGUgbGVnYWN5IHJlc29sdmVVcmwgcGF0aCkuXG4gICAgY29uc3QgZmVhdHVyZUZsYWdTZXJ2aWNlID0gbmV3IEZlYXR1cmVGbGFnU2VydmljZSh3aWRnZXRDb25maWcuZ2F0ZXMpO1xuICAgIGlmICghZmVhdHVyZUZsYWdTZXJ2aWNlLmlzRmVhdHVyZUdhdGVFbmFibGVkKEZlYXR1cmVHYXRlcy5Vc2VVbmlmaWVkQ29uZmlnKSkge1xuICAgICAgcmV0dXJuIHdpZGdldENvbmZpZztcbiAgICB9XG5cbiAgICAvLyBDYXB0dXJlZCBvbmNlIGFuZCByZXVzZWQgZm9yIGJvdGggdGhlIGJvb3RzdHJhcCByZXF1ZXN0IGFuZCB0aGUgc3Rhc2gsIHNvXG4gICAgLy8gdGhlIFVSTCBjYXJyaWVkIHRvIHRoZSB3YXJtLXVwIGlzIHByb3ZhYmx5IHRoZSBvbmUgYm9vdHN0cmFwIHJlc29sdmVkLiBUaGVcbiAgICAvLyB3YXJtLXVwIG9ubHkgc2VlZHMgaXQgaWYgdGhpcyBzdGlsbCBtYXRjaGVzIHRoZSBjdXJyZW50IFVSTCAoYSBTUEEgbmF2XG4gICAgLy8gZHVyaW5nIHRoZSByb3VuZCB0cmlwIHdvdWxkIG90aGVyd2lzZSBjYWNoZSB0aGlzIHJlc3VsdCB1bmRlciBhIGxhdGVyIFVSTCkuXG4gICAgLy8gU2FtZSBjbGVhbnNpbmcgYXMgd2FybVVybFJlc29sdmVyIHNvIHRoZSB1cmxSZXNvbHZlckF0b20ga2V5IGxpbmVzIHVwLlxuICAgIGNvbnN0IGNsZWFuc2VkVXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgY29uZmlnLCB1cmxSZXNvbHZpbmcgfSA9IGF3YWl0IGZldGNoQm9vdHN0cmFwQ29uZmlnKHtcbiAgICAgICAgYmFzZVVybDogdGhpcy5iYXNlVXJsLFxuICAgICAgICBhcGlLZXk6IHRoaXMuYXBpS2V5LFxuICAgICAgICB1c2VySWQ6IHRoaXMudXNlcklkLFxuICAgICAgICBzb3VyY2U6IHRoaXMuc291cmNlLFxuICAgICAgICAvLyBTY29wZSBvcmdfY29uZmlnLmNvbmZpZ3MgdG8gdGhpcyBuYW1lc3BhY2Ugc28gYm9vdHN0cmFwIGRvZXNuJ3QgcmV0dXJuXG4gICAgICAgIC8vIGludGVybmFsLW9ubHkgb3JnIGNvbmZpZ3MgdG8gdGhlIGJyb3dzZXIgKG1hdGNoZXMgdGhlIGxlZ2FjeSAvdjEvb3JnL2NvbmZpZykuXG4gICAgICAgIG5hbWVzcGFjZTogdGhpcy5uYW1lc3BhY2UsXG4gICAgICAgIGdhdGVOYW1lcyxcbiAgICAgICAgdXJsOiBjbGVhbnNlZFVybCxcbiAgICAgICAgb3JnSWQ6IHdpZGdldENvbmZpZy5vcmcub3JnLmlkLFxuICAgICAgICBvcmdTaG9ydE5hbWU6IHdpZGdldENvbmZpZy5vcmcub3JnLnNob3J0X25hbWUsXG4gICAgICAgIGNvbnRleHRTb3VyY2U6IHRoaXMuY29udGV4dFNvdXJjZSxcbiAgICAgICAgZW52OiB0aGlzLmVudixcbiAgICAgICAgZmVhdHVyZUdhdGVzOiBmZWF0dXJlRmxhZ1NlcnZpY2UuZ2V0RmVhdHVyZUZsYWdzKCksXG4gICAgICAgIC8vIFRoZSBwZXJzaXN0ZW50IGNoYXQgc2Vzc2lvbiBpZCAoc2FtZSBzb3VyY2UgcmVzb2x2ZVVybCByZWFkcykgc29cbiAgICAgICAgLy8gYm9vdHN0cmFwJ3MgdXJsX3Jlc29sdmluZyBjYXJyaWVzIGl0IGluc3RlYWQgb2YgYW4gZW1wdHkgc3RyaW5nLlxuICAgICAgICBjaGF0SWQ6IGdldEF0b21TdG9yZSgpLmdldChjaGF0SWRBdG9tKSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5ib290c3RyYXBVcmxSZXNvbHZpbmcgPSB1cmxSZXNvbHZpbmdcbiAgICAgICAgPyB7IHVybDogY2xlYW5zZWRVcmwsIHJlc3BvbnNlOiB1cmxSZXNvbHZpbmcgfVxuICAgICAgICA6IG51bGw7XG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmxvZ0Vycm9yKCdnZXRFbnZpdmVDb25maWcgfCBib290c3RyYXAgdXBncmFkZSBmYWlsZWQsIHVzaW5nIGdldFdpZGdldENvbmZpZycsIGVycik7XG4gICAgICByZXR1cm4gd2lkZ2V0Q29uZmlnO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgc3RhdGljIG1vY2sgZGF0YSBmcm9tIGl0cyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuIFBhc3NlcyBlbXB0eSBiYXNlVXJsL2FwaUtleVxuICogc28gYW55IGNvZGUgY2hlY2tpbmcgaXNSZWFkeSBkb2VzIG5vdCBmaXJlIHJlYWwgbmV0d29yayByZXF1ZXN0cy4gVGhlIG9yZ0NvbmZpZyBmaWVsZFxuICogY292ZXJzIGNvbG9ycywgZnJvbnRlbmRDb25maWcsIGFuZCBwYWdlL3dpZGdldC9tb3VudGluZyBjb25maWdzIHdpdGhvdXQgYW55IG5ldHdvcmsgY2FsbHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2NrRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyByZWFkb25seSBhcGlLZXk6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZykge31cblxuICBhc3luYyBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMubW9ja0NvbmZpZztcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBWUEsTUFBTSxTQUFTLElBQUlBLHVCQUFPLHNCQUFzQjtBQU1oRCxNQUFNLHNCQUFzQixNQUFTO0FBOERyQyxJQUFhLHNCQUFiLE1BQWlFO0NBbUIvRCxZQUFZLEVBQ1YsU0FDQSxRQUNBLFFBQ0EsV0FDQSxRQUNBLEtBQ0EsaUJBQzJCO2tCQVprQjsrQkFFZTtBQVc1RCxPQUFLLFVBQVU7QUFDZixPQUFLLFNBQVM7QUFDZCxPQUFLLFNBQVM7QUFDZCxPQUFLLFlBQVk7QUFDakIsT0FBSyxTQUFTO0FBQ2QsT0FBSyxNQUFNO0FBQ1gsT0FBSyxnQkFBZ0I7O0NBT3ZCLDRCQUEwRDtFQUN4RCxNQUFNLFFBQVEsS0FBSztBQUNuQixPQUFLLHdCQUF3QjtBQUM3QixTQUFPOztDQUdULEFBQVEsY0FBc0I7QUFDNUIsU0FBTyx1QkFBdUIsS0FBSyxRQUFRLEdBQUcsS0FBSyxPQUFPLEdBQUcsS0FBSyxPQUFPLEdBQUcsS0FBSyxVQUFVLEdBQUcsS0FBSzs7Q0FPckcsQUFBUSxtQkFBK0M7QUFDckQsTUFBSUMsK0NBQXVCLENBQ3pCLFFBQU87QUFFVCxNQUFJO0dBQ0YsTUFBTSxNQUFNLGVBQWUsUUFBUSxLQUFLLGFBQWEsQ0FBQztBQUN0RCxPQUFJLENBQUMsSUFDSCxRQUFPO0dBRVQsTUFBTSxRQUFRLEtBQUssTUFBTSxJQUFJO0FBQzdCLE9BQUksS0FBSyxLQUFLLElBQUksTUFBTSxVQUN0QixRQUFPO0FBRVQsVUFBTyxNQUFNO1VBQ1A7QUFDTixVQUFPOzs7Q0FJWCxBQUFRLGtCQUFrQixPQUFrQztBQUMxRCxNQUFJQSwrQ0FBdUIsQ0FDekI7QUFFRixNQUFJO0dBQ0YsTUFBTUMsUUFBMkI7SUFBRTtJQUFPLFdBQVcsS0FBSyxLQUFLLEdBQUc7SUFBcUI7QUFDdkYsa0JBQWUsUUFBUSxLQUFLLGFBQWEsRUFBRSxLQUFLLFVBQVUsTUFBTSxDQUFDO1VBQzNEOztDQU1WLE1BQU0sa0JBQWdEO0FBQ3BELE1BQUksS0FBSyxhQUFhLEtBQ3BCLFFBQU8sS0FBSztFQUdkLE1BQU0sU0FBUyxLQUFLLGtCQUFrQjtBQUN0QyxNQUFJLFdBQVcsTUFBTTtBQUNuQixRQUFLLFdBQVc7QUFDaEIsVUFBTyxLQUFLOztFQVFkLE1BQU0sWUFBWSxPQUFPLE9BQU9DLGtDQUFhLENBQUMsS0FBSSxnQkFBZSxZQUFZLFVBQVUsQ0FBQztFQUV4RixNQUFNLGVBQWUsTUFBTUMscURBQ3pCLEtBQUssU0FDTCxLQUFLLFFBQ0wsS0FBSyxRQUNMLFdBQ0EsS0FBSyxPQUNOO0FBRUQsT0FBSyxXQUFXLE1BQU0sS0FBSyx3QkFBd0IsY0FBYyxVQUFVO0FBQzNFLE9BQUssa0JBQWtCLEtBQUssU0FBUztBQUNyQyxTQUFPLEtBQUs7O0NBbUJkLE1BQWMsd0JBQ1osY0FDQSxXQUM4QjtBQUM5QixNQUFJLEtBQUssUUFBUSxVQUFhLEtBQUssa0JBQWtCLE9BQ25ELFFBQU87RUFJVCxNQUFNLHFCQUFxQixJQUFJQyw2REFBbUIsYUFBYSxNQUFNO0FBQ3JFLE1BQUksQ0FBQyxtQkFBbUIscUJBQXFCRixrQ0FBYSxpQkFBaUIsQ0FDekUsUUFBTztFQVFULE1BQU0sY0FBYyxPQUFPLFNBQVMsS0FBSyxhQUFhLENBQUMsTUFBTTtBQUM3RCxNQUFJO0dBQ0YsTUFBTSxFQUFFLFFBQVEsaUJBQWlCLE1BQU1HLGtEQUFxQjtJQUMxRCxTQUFTLEtBQUs7SUFDZCxRQUFRLEtBQUs7SUFDYixRQUFRLEtBQUs7SUFDYixRQUFRLEtBQUs7SUFHYixXQUFXLEtBQUs7SUFDaEI7SUFDQSxLQUFLO0lBQ0wsT0FBTyxhQUFhLElBQUksSUFBSTtJQUM1QixjQUFjLGFBQWEsSUFBSSxJQUFJO0lBQ25DLGVBQWUsS0FBSztJQUNwQixLQUFLLEtBQUs7SUFDVixjQUFjLG1CQUFtQixpQkFBaUI7SUFHbEQsUUFBUUMsZ0NBQWMsQ0FBQyxJQUFJQyxtQ0FBVztJQUN2QyxDQUFDO0FBQ0YsUUFBSyx3QkFBd0IsZUFDekI7SUFBRSxLQUFLO0lBQWEsVUFBVTtJQUFjLEdBQzVDO0FBQ0osVUFBTztXQUNBLEtBQUs7QUFDWixVQUFPLFNBQVMscUVBQXFFLElBQUk7QUFDekYsVUFBTzs7Ozs7Ozs7O0FBVWIsSUFBYSwwQkFBYixNQUFxRTtDQUtuRSxZQUFZLEFBQWlCQyxZQUFpQztFQUFqQztpQkFKSztnQkFFRDs7Q0FJakMsTUFBTSxrQkFBZ0Q7QUFDcEQsU0FBTyxLQUFLIn0=
@@ -1,4 +1,5 @@
1
1
  import { OrgConfigExperimentAssignment, OrgConfigFeatureGate } from "../../application/models/api/orgConfigResults.cjs";
2
+ import { UrlResolverResponse } from "../../atoms/app/variant.cjs";
2
3
  import { GraphQlConfigValues } from "../../contexts/graphqlContext/graphqlContext.cjs";
3
4
 
4
5
  //#region src/services/enviveConfigService/enviveConfigService.d.ts
@@ -8,6 +9,8 @@ type EnviveConfigServiceProps = {
8
9
  userId: string;
9
10
  namespace: string;
10
11
  source: string;
12
+ env?: string;
13
+ contextSource?: string;
11
14
  };
12
15
  type EnviveServiceConfig = {
13
16
  org: {
@@ -30,24 +33,35 @@ interface IEnviveConfigService {
30
33
  readonly apiKey: string;
31
34
  getEnviveConfig(): Promise<EnviveServiceConfig>;
32
35
  }
36
+ type BootstrapUrlResolving = {
37
+ url: string;
38
+ response: UrlResolverResponse;
39
+ };
33
40
  declare class EnviveConfigService implements IEnviveConfigService {
34
41
  readonly baseUrl: string;
35
42
  readonly apiKey: string;
36
43
  private readonly userId;
37
44
  private readonly namespace;
38
45
  private readonly source;
46
+ private readonly env?;
47
+ private readonly contextSource?;
39
48
  private response;
49
+ private bootstrapUrlResolving;
40
50
  constructor({
41
51
  baseUrl,
42
52
  apiKey,
43
53
  userId,
44
54
  namespace,
45
- source
55
+ source,
56
+ env,
57
+ contextSource
46
58
  }: EnviveConfigServiceProps);
59
+ takeBootstrapUrlResolving(): BootstrapUrlResolving | null;
47
60
  private getCacheKey;
48
61
  private readCachedConfig;
49
62
  private writeCachedConfig;
50
63
  getEnviveConfig(): Promise<EnviveServiceConfig>;
64
+ private maybeUpgradeToBootstrap;
51
65
  }
52
66
  /**
53
67
  * Returns static mock data from its constructor arguments. Passes empty baseUrl/apiKey
@@ -63,4 +77,4 @@ declare class MockEnviveConfigService implements IEnviveConfigService {
63
77
  }
64
78
  //#endregion
65
79
  export { EnviveConfigService, EnviveServiceConfig, IEnviveConfigService, MockEnviveConfigService };
66
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZS9lbnZpdmVDb25maWdTZXJ2aWNlLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnQsIE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUWxDb25maWdWYWx1ZXMgfSBmcm9tICdzcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQnO1xudHlwZSBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMgPSB7XG4gICAgYmFzZVVybDogc3RyaW5nO1xuICAgIGFwaUtleTogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEVudml2ZVNlcnZpY2VDb25maWcgPSB7XG4gICAgb3JnOiB7XG4gICAgICAgIG9yZzoge1xuICAgICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICAgIHNob3J0X25hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZG9tYWluOiBzdHJpbmc7XG4gICAgICAgICAgICBzdGF0dXM6IHN0cmluZztcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICAgICAgICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIGdhdGVzOiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICAgIGV4cGVyaW1lbnRfYXNzaWdubWVudHM/OiBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudFtdO1xuICAgIG9yZ0NvbmZpZz86IEdyYXBoUWxDb25maWdWYWx1ZXM7XG59O1xuZXhwb3J0IGludGVyZmFjZSBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gICAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICAgIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xufVxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VySWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2U7XG4gICAgcHJpdmF0ZSByZXNwb25zZTtcbiAgICBjb25zdHJ1Y3Rvcih7IGJhc2VVcmwsIGFwaUtleSwgdXNlcklkLCBuYW1lc3BhY2UsIHNvdXJjZSB9OiBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMpO1xuICAgIHByaXZhdGUgZ2V0Q2FjaGVLZXk7XG4gICAgcHJpdmF0ZSByZWFkQ2FjaGVkQ29uZmlnO1xuICAgIHByaXZhdGUgd3JpdGVDYWNoZWRDb25maWc7XG4gICAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG59XG4vKipcbiAqIFJldHVybnMgc3RhdGljIG1vY2sgZGF0YSBmcm9tIGl0cyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuIFBhc3NlcyBlbXB0eSBiYXNlVXJsL2FwaUtleVxuICogc28gYW55IGNvZGUgY2hlY2tpbmcgaXNSZWFkeSBkb2VzIG5vdCBmaXJlIHJlYWwgbmV0d29yayByZXF1ZXN0cy4gVGhlIG9yZ0NvbmZpZyBmaWVsZFxuICogY292ZXJzIGNvbG9ycywgZnJvbnRlbmRDb25maWcsIGFuZCBwYWdlL3dpZGdldC9tb3VudGluZyBjb25maWdzIHdpdGhvdXQgYW55IG5ldHdvcmsgY2FsbHMuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE1vY2tFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9ja0NvbmZpZztcbiAgICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IobW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyk7XG4gICAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG59XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxJQUFJLDJCQUEyQixDQUFDLElBQUE7QUFDaEMsSUFBVyxzQkFBUTtDQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBVyx1QkFBTztDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ2xCLElBQVcsc0JBQU87Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ2xCLElBQVcsMEJBQVU7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUEifQ==
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZS9lbnZpdmVDb25maWdTZXJ2aWNlLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnQsIE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUWxDb25maWdWYWx1ZXMgfSBmcm9tICdzcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBVcmxSZXNvbHZlclJlc3BvbnNlIH0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcbnR5cGUgRW52aXZlQ29uZmlnU2VydmljZVByb3BzID0ge1xuICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICBhcGlLZXk6IHN0cmluZztcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IHN0cmluZztcbiAgICBzb3VyY2U6IHN0cmluZztcbiAgICBlbnY/OiBzdHJpbmc7XG4gICAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBFbnZpdmVTZXJ2aWNlQ29uZmlnID0ge1xuICAgIG9yZzoge1xuICAgICAgICBvcmc6IHtcbiAgICAgICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgICAgICBzaG9ydF9uYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkaXNwbGF5X25hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRvbWFpbjogc3RyaW5nO1xuICAgICAgICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICAgICAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgICAgICAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgfTtcbiAgICBnYXRlczogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgICBleHBlcmltZW50X2Fzc2lnbm1lbnRzPzogT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnRbXTtcbiAgICBvcmdDb25maWc/OiBHcmFwaFFsQ29uZmlnVmFsdWVzO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICAgIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgICByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbn1cbnR5cGUgQm9vdHN0cmFwVXJsUmVzb2x2aW5nID0ge1xuICAgIHVybDogc3RyaW5nO1xuICAgIHJlc3BvbnNlOiBVcmxSZXNvbHZlclJlc3BvbnNlO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNsYXNzIEVudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gICAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlcklkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmFtZXNwYWNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc291cmNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZW52PztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHRTb3VyY2U/O1xuICAgIHByaXZhdGUgcmVzcG9uc2U7XG4gICAgcHJpdmF0ZSBib290c3RyYXBVcmxSZXNvbHZpbmc7XG4gICAgY29uc3RydWN0b3IoeyBiYXNlVXJsLCBhcGlLZXksIHVzZXJJZCwgbmFtZXNwYWNlLCBzb3VyY2UsIGVudiwgY29udGV4dFNvdXJjZSwgfTogRW52aXZlQ29uZmlnU2VydmljZVByb3BzKTtcbiAgICB0YWtlQm9vdHN0cmFwVXJsUmVzb2x2aW5nKCk6IEJvb3RzdHJhcFVybFJlc29sdmluZyB8IG51bGw7XG4gICAgcHJpdmF0ZSBnZXRDYWNoZUtleTtcbiAgICBwcml2YXRlIHJlYWRDYWNoZWRDb25maWc7XG4gICAgcHJpdmF0ZSB3cml0ZUNhY2hlZENvbmZpZztcbiAgICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbiAgICBwcml2YXRlIG1heWJlVXBncmFkZVRvQm9vdHN0cmFwO1xufVxuLyoqXG4gKiBSZXR1cm5zIHN0YXRpYyBtb2NrIGRhdGEgZnJvbSBpdHMgY29uc3RydWN0b3IgYXJndW1lbnRzLiBQYXNzZXMgZW1wdHkgYmFzZVVybC9hcGlLZXlcbiAqIHNvIGFueSBjb2RlIGNoZWNraW5nIGlzUmVhZHkgZG9lcyBub3QgZmlyZSByZWFsIG5ldHdvcmsgcmVxdWVzdHMuIFRoZSBvcmdDb25maWcgZmllbGRcbiAqIGNvdmVycyBjb2xvcnMsIGZyb250ZW5kQ29uZmlnLCBhbmQgcGFnZS93aWRnZXQvbW91bnRpbmcgY29uZmlncyB3aXRob3V0IGFueSBuZXR3b3JrIGNhbGxzLlxuICovXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBNb2NrRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vY2tDb25maWc7XG4gICAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKG1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWcpO1xuICAgIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xufVxuZXhwb3J0IHt9O1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUdBLElBQUksMkJBQTJCLENBQUMsSUFBQTtBQUNoQyxJQUFXLHNCQUFRO0NBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFXLHVCQUFPO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbEIsSUFBSSx3QkFBYyxDQUFBLFdBQUEsb0JBQUE7QUFDbEIsSUFBVyxzQkFBVTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDckIsSUFBVywwQkFBTztDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
@@ -1,4 +1,5 @@
1
1
  import { OrgConfigExperimentAssignment, OrgConfigFeatureGate } from "../../application/models/api/orgConfigResults.js";
2
+ import { UrlResolverResponse } from "../../atoms/app/variant.js";
2
3
  import { GraphQlConfigValues } from "../../contexts/graphqlContext/graphqlContext.js";
3
4
 
4
5
  //#region src/services/enviveConfigService/enviveConfigService.d.ts
@@ -8,6 +9,8 @@ type EnviveConfigServiceProps = {
8
9
  userId: string;
9
10
  namespace: string;
10
11
  source: string;
12
+ env?: string;
13
+ contextSource?: string;
11
14
  };
12
15
  type EnviveServiceConfig = {
13
16
  org: {
@@ -30,24 +33,35 @@ interface IEnviveConfigService {
30
33
  readonly apiKey: string;
31
34
  getEnviveConfig(): Promise<EnviveServiceConfig>;
32
35
  }
36
+ type BootstrapUrlResolving = {
37
+ url: string;
38
+ response: UrlResolverResponse;
39
+ };
33
40
  declare class EnviveConfigService implements IEnviveConfigService {
34
41
  readonly baseUrl: string;
35
42
  readonly apiKey: string;
36
43
  private readonly userId;
37
44
  private readonly namespace;
38
45
  private readonly source;
46
+ private readonly env?;
47
+ private readonly contextSource?;
39
48
  private response;
49
+ private bootstrapUrlResolving;
40
50
  constructor({
41
51
  baseUrl,
42
52
  apiKey,
43
53
  userId,
44
54
  namespace,
45
- source
55
+ source,
56
+ env,
57
+ contextSource
46
58
  }: EnviveConfigServiceProps);
59
+ takeBootstrapUrlResolving(): BootstrapUrlResolving | null;
47
60
  private getCacheKey;
48
61
  private readCachedConfig;
49
62
  private writeCachedConfig;
50
63
  getEnviveConfig(): Promise<EnviveServiceConfig>;
64
+ private maybeUpgradeToBootstrap;
51
65
  }
52
66
  /**
53
67
  * Returns static mock data from its constructor arguments. Passes empty baseUrl/apiKey
@@ -63,4 +77,4 @@ declare class MockEnviveConfigService implements IEnviveConfigService {
63
77
  }
64
78
  //#endregion
65
79
  export { EnviveConfigService, EnviveServiceConfig, IEnviveConfigService, MockEnviveConfigService };
66
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlL2Vudml2ZUNvbmZpZ1NlcnZpY2UuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudCwgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB0eXBlIHsgR3JhcGhRbENvbmZpZ1ZhbHVlcyB9IGZyb20gJ3NyYy9jb250ZXh0cy9ncmFwaHFsQ29udGV4dCc7XG50eXBlIEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcyA9IHtcbiAgICBiYXNlVXJsOiBzdHJpbmc7XG4gICAgYXBpS2V5OiBzdHJpbmc7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gICAgc291cmNlOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgRW52aXZlU2VydmljZUNvbmZpZyA9IHtcbiAgICBvcmc6IHtcbiAgICAgICAgb3JnOiB7XG4gICAgICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICAgICAgc2hvcnRfbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZGlzcGxheV9uYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkb21haW46IHN0cmluZztcbiAgICAgICAgICAgIHN0YXR1czogc3RyaW5nO1xuICAgICAgICAgICAgY3JlYXRlZF9hdDogc3RyaW5nO1xuICAgICAgICAgICAgdXBkYXRlZF9hdDogc3RyaW5nO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgZ2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gICAgZXhwZXJpbWVudF9hc3NpZ25tZW50cz86IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50W107XG4gICAgb3JnQ29uZmlnPzogR3JhcGhRbENvbmZpZ1ZhbHVlcztcbn07XG5leHBvcnQgaW50ZXJmYWNlIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gICAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG59XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICAgIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgICByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJJZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hbWVzcGFjZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTtcbiAgICBwcml2YXRlIHJlc3BvbnNlO1xuICAgIGNvbnN0cnVjdG9yKHsgYmFzZVVybCwgYXBpS2V5LCB1c2VySWQsIG5hbWVzcGFjZSwgc291cmNlIH06IEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcyk7XG4gICAgcHJpdmF0ZSBnZXRDYWNoZUtleTtcbiAgICBwcml2YXRlIHJlYWRDYWNoZWRDb25maWc7XG4gICAgcHJpdmF0ZSB3cml0ZUNhY2hlZENvbmZpZztcbiAgICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbn1cbi8qKlxuICogUmV0dXJucyBzdGF0aWMgbW9jayBkYXRhIGZyb20gaXRzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gUGFzc2VzIGVtcHR5IGJhc2VVcmwvYXBpS2V5XG4gKiBzbyBhbnkgY29kZSBjaGVja2luZyBpc1JlYWR5IGRvZXMgbm90IGZpcmUgcmVhbCBuZXR3b3JrIHJlcXVlc3RzLiBUaGUgb3JnQ29uZmlnIGZpZWxkXG4gKiBjb3ZlcnMgY29sb3JzLCBmcm9udGVuZENvbmZpZywgYW5kIHBhZ2Uvd2lkZ2V0L21vdW50aW5nIGNvbmZpZ3Mgd2l0aG91dCBhbnkgbmV0d29yayBjYWxscy5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY2xhc3MgTW9ja0Vudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2NrQ29uZmlnO1xuICAgIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgICByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgICBjb25zdHJ1Y3Rvcihtb2NrQ29uZmlnOiBFbnZpdmVTZXJ2aWNlQ29uZmlnKTtcbiAgICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbn1cbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQUksMkJBQTJCLENBQUMsSUFBQTtBQUNoQyxJQUFXLHNCQUFRO0NBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFXLHVCQUFPO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbEIsSUFBVyxzQkFBTztDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDbEIsSUFBVywwQkFBVTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlL2Vudml2ZUNvbmZpZ1NlcnZpY2UuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudCwgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB0eXBlIHsgR3JhcGhRbENvbmZpZ1ZhbHVlcyB9IGZyb20gJ3NyYy9jb250ZXh0cy9ncmFwaHFsQ29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IFVybFJlc29sdmVyUmVzcG9uc2UgfSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xudHlwZSBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMgPSB7XG4gICAgYmFzZVVybDogc3RyaW5nO1xuICAgIGFwaUtleTogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nO1xuICAgIGVudj86IHN0cmluZztcbiAgICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEVudml2ZVNlcnZpY2VDb25maWcgPSB7XG4gICAgb3JnOiB7XG4gICAgICAgIG9yZzoge1xuICAgICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICAgIHNob3J0X25hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZG9tYWluOiBzdHJpbmc7XG4gICAgICAgICAgICBzdGF0dXM6IHN0cmluZztcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICAgICAgICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIGdhdGVzOiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICAgIGV4cGVyaW1lbnRfYXNzaWdubWVudHM/OiBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudFtdO1xuICAgIG9yZ0NvbmZpZz86IEdyYXBoUWxDb25maWdWYWx1ZXM7XG59O1xuZXhwb3J0IGludGVyZmFjZSBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gICAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICAgIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xufVxudHlwZSBCb290c3RyYXBVcmxSZXNvbHZpbmcgPSB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgcmVzcG9uc2U6IFVybFJlc29sdmVyUmVzcG9uc2U7XG59O1xuZXhwb3J0IGRlY2xhcmUgY2xhc3MgRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VySWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbnY/O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dFNvdXJjZT87XG4gICAgcHJpdmF0ZSByZXNwb25zZTtcbiAgICBwcml2YXRlIGJvb3RzdHJhcFVybFJlc29sdmluZztcbiAgICBjb25zdHJ1Y3Rvcih7IGJhc2VVcmwsIGFwaUtleSwgdXNlcklkLCBuYW1lc3BhY2UsIHNvdXJjZSwgZW52LCBjb250ZXh0U291cmNlLCB9OiBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMpO1xuICAgIHRha2VCb290c3RyYXBVcmxSZXNvbHZpbmcoKTogQm9vdHN0cmFwVXJsUmVzb2x2aW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIGdldENhY2hlS2V5O1xuICAgIHByaXZhdGUgcmVhZENhY2hlZENvbmZpZztcbiAgICBwcml2YXRlIHdyaXRlQ2FjaGVkQ29uZmlnO1xuICAgIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xuICAgIHByaXZhdGUgbWF5YmVVcGdyYWRlVG9Cb290c3RyYXA7XG59XG4vKipcbiAqIFJldHVybnMgc3RhdGljIG1vY2sgZGF0YSBmcm9tIGl0cyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuIFBhc3NlcyBlbXB0eSBiYXNlVXJsL2FwaUtleVxuICogc28gYW55IGNvZGUgY2hlY2tpbmcgaXNSZWFkeSBkb2VzIG5vdCBmaXJlIHJlYWwgbmV0d29yayByZXF1ZXN0cy4gVGhlIG9yZ0NvbmZpZyBmaWVsZFxuICogY292ZXJzIGNvbG9ycywgZnJvbnRlbmRDb25maWcsIGFuZCBwYWdlL3dpZGdldC9tb3VudGluZyBjb25maWdzIHdpdGhvdXQgYW55IG5ldHdvcmsgY2FsbHMuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE1vY2tFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9ja0NvbmZpZztcbiAgICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IobW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyk7XG4gICAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG59XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsSUFBSSwyQkFBMkIsQ0FBQyxJQUFBO0FBQ2hDLElBQVcsc0JBQVE7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25CLElBQVcsdUJBQU87Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNsQixJQUFJLHdCQUFjLENBQUEsV0FBQSxvQkFBQTtBQUNsQixJQUFXLHNCQUFVO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNyQixJQUFXLDBCQUFPO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
@@ -1,17 +1,31 @@
1
+ import logger_default from "../../application/logging/logger.js";
1
2
  import { FeatureGates } from "../../application/models/featureGates.js";
3
+ import { getAtomStore } from "../../atoms/atomStore/atomStore.js";
4
+ import { chatIdAtom } from "../../atoms/app/index.js";
5
+ import { FeatureFlagService } from "../featureFlagService/index.js";
2
6
  import { configVersionOverride } from "../../types/config-versions.js";
3
7
  import { fetchUnifiedGraphQLConfig } from "./fetchGraphQLConfig.js";
8
+ import { fetchBootstrapConfig } from "./fetchBootstrapConfig.js";
4
9
 
5
10
  //#region src/services/enviveConfigService/enviveConfigService.ts
11
+ const logger = new logger_default("enviveConfigService");
6
12
  const CONFIG_CACHE_TTL_MS = 300 * 1e3;
7
13
  var EnviveConfigService = class {
8
- constructor({ baseUrl, apiKey, userId, namespace, source }) {
14
+ constructor({ baseUrl, apiKey, userId, namespace, source, env, contextSource }) {
9
15
  this.response = null;
16
+ this.bootstrapUrlResolving = null;
10
17
  this.baseUrl = baseUrl;
11
18
  this.apiKey = apiKey;
12
19
  this.userId = userId;
13
20
  this.namespace = namespace;
14
21
  this.source = source;
22
+ this.env = env;
23
+ this.contextSource = contextSource;
24
+ }
25
+ takeBootstrapUrlResolving() {
26
+ const value = this.bootstrapUrlResolving;
27
+ this.bootstrapUrlResolving = null;
28
+ return value;
15
29
  }
16
30
  getCacheKey() {
17
31
  return `envive-config-cache:${this.baseUrl}:${this.apiKey}:${this.userId}:${this.namespace}:${this.source}`;
@@ -46,10 +60,42 @@ var EnviveConfigService = class {
46
60
  return this.response;
47
61
  }
48
62
  const gateNames = Object.values(FeatureGates).map((featureGate) => featureGate.toString());
49
- this.response = await fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId, gateNames, this.source);
63
+ const widgetConfig = await fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId, gateNames, this.source);
64
+ this.response = await this.maybeUpgradeToBootstrap(widgetConfig, gateNames);
50
65
  this.writeCachedConfig(this.response);
51
66
  return this.response;
52
67
  }
68
+ async maybeUpgradeToBootstrap(widgetConfig, gateNames) {
69
+ if (this.env === void 0 || this.contextSource === void 0) return widgetConfig;
70
+ const featureFlagService = new FeatureFlagService(widgetConfig.gates);
71
+ if (!featureFlagService.isFeatureGateEnabled(FeatureGates.UseUnifiedConfig)) return widgetConfig;
72
+ const cleansedUrl = window.location.href.toLowerCase().trim();
73
+ try {
74
+ const { config, urlResolving } = await fetchBootstrapConfig({
75
+ baseUrl: this.baseUrl,
76
+ apiKey: this.apiKey,
77
+ userId: this.userId,
78
+ source: this.source,
79
+ namespace: this.namespace,
80
+ gateNames,
81
+ url: cleansedUrl,
82
+ orgId: widgetConfig.org.org.id,
83
+ orgShortName: widgetConfig.org.org.short_name,
84
+ contextSource: this.contextSource,
85
+ env: this.env,
86
+ featureGates: featureFlagService.getFeatureFlags(),
87
+ chatId: getAtomStore().get(chatIdAtom)
88
+ });
89
+ this.bootstrapUrlResolving = urlResolving ? {
90
+ url: cleansedUrl,
91
+ response: urlResolving
92
+ } : null;
93
+ return config;
94
+ } catch (err) {
95
+ logger.logError("getEnviveConfig | bootstrap upgrade failed, using getWidgetConfig", err);
96
+ return widgetConfig;
97
+ }
98
+ }
53
99
  };
54
100
  /**
55
101
  * Returns static mock data from its constructor arguments. Passes empty baseUrl/apiKey
@@ -69,4 +115,4 @@ var MockEnviveConfigService = class {
69
115
 
70
116
  //#endregion
71
117
  export { EnviveConfigService, MockEnviveConfigService };
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5qcyIsIm5hbWVzIjpbImVudHJ5OiBDYWNoZWRDb25maWdFbnRyeSIsIm1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZS9lbnZpdmVDb25maWdTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50LCBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9mZWF0dXJlR2F0ZXMnO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFsQ29uZmlnVmFsdWVzIH0gZnJvbSAnc3JjL2NvbnRleHRzL2dyYXBocWxDb250ZXh0JztcbmltcG9ydCB7IGNvbmZpZ1ZlcnNpb25PdmVycmlkZSB9IGZyb20gJ3NyYy90eXBlcy9jb25maWctdmVyc2lvbnMnO1xuaW1wb3J0IHsgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyB9IGZyb20gJy4vZmV0Y2hHcmFwaFFMQ29uZmlnJztcblxuLy8gU2hvcnQtbGl2ZWQgc28gY29uZmlnIGNoYW5nZXMgKGdhdGVzLCBleHBlcmltZW50cykgc3RpbGwgcHJvcGFnYXRlIHdpdGhpblxuLy8gYSBzZXNzaW9uLCB3aGlsZSBzcGFyaW5nIGV2ZXJ5IHBhZ2UgbmF2aWdhdGlvbiBmcm9tIHJlLWZldGNoaW5nIG9yZ1xuLy8gY29uZmlnICsgR3JhcGhRTCBjb25maWcsIGJvdGggb2Ygd2hpY2ggc2l0IG9uIHRoZSBjcml0aWNhbCBwYXRoIGJlZm9yZVxuLy8gZmlyc3QgcGFpbnQuXG5jb25zdCBDT05GSUdfQ0FDSEVfVFRMX01TID0gNSAqIDYwICogMTAwMDtcblxudHlwZSBDYWNoZWRDb25maWdFbnRyeSA9IHtcbiAgdmFsdWU6IEVudml2ZVNlcnZpY2VDb25maWc7XG4gIGV4cGlyZXNBdDogbnVtYmVyO1xufTtcblxudHlwZSBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMgPSB7XG4gIGJhc2VVcmw6IHN0cmluZztcbiAgYXBpS2V5OiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBFbnZpdmVTZXJ2aWNlQ29uZmlnID0ge1xuICBvcmc6IHtcbiAgICBvcmc6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBzaG9ydF9uYW1lOiBzdHJpbmc7XG4gICAgICBkaXNwbGF5X25hbWU6IHN0cmluZztcbiAgICAgIGRvbWFpbjogc3RyaW5nO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgZ2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gIC8vIFBvcHVsYXRlZCBieSB0aGUgYmFja2VuZCB3aGVuIHRoZSBgdXNlX3VuaWZpZWRfY29uZmlnYCBTdGF0c2lnIGdhdGVcbiAgLy8gZXZhbHVhdGVzIHRydWUuIGFtcGxpdHVkZVNlcnZpY2UgcmVhZHMgdGhlc2UgdG8gZW5yaWNoIGV2ZW50cyB3aXRoXG4gIC8vIGBleHBlcmltZW50Lntuc30uKmAgcHJvcGVydGllcy5cbiAgZXhwZXJpbWVudF9hc3NpZ25tZW50cz86IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50W107XG4gIC8vIG9yZ0NvbmZpZy5yZXNvbHV0aW9uIGlzIHBvcHVsYXRlZCBvbmx5IG9uIHRoZSB1bmlmaWVkIHBhdGggKHNvdXJjZWQgZnJvbVxuICAvLyBnZXRXaWRnZXRDb25maWcucmVzb2x1dGlvbiwgbm90IC92MS9vcmcvY29uZmlnLnJlc29sdXRpb24pIHNvIHRoZSB2ZXJzaW9uXG4gIC8vIHRocmVhZGVkIGludG8gaW5mZXJlbmNlIHJlcXVlc3RzIG1hdGNoZXMgdGhlIHZlcnNpb24gdGhhdCBwcm9kdWNlZCB0aGVcbiAgLy8gcmVuZGVyZWQgd2lkZ2V0cy5cbiAgb3JnQ29uZmlnPzogR3JhcGhRbENvbmZpZ1ZhbHVlcztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbn1cblxuZXhwb3J0IGNsYXNzIEVudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVzcG9uc2U6IEVudml2ZVNlcnZpY2VDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcih7IGJhc2VVcmwsIGFwaUtleSwgdXNlcklkLCBuYW1lc3BhY2UsIHNvdXJjZSB9OiBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSBiYXNlVXJsO1xuICAgIHRoaXMuYXBpS2V5ID0gYXBpS2V5O1xuICAgIHRoaXMudXNlcklkID0gdXNlcklkO1xuICAgIHRoaXMubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYWNoZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgZW52aXZlLWNvbmZpZy1jYWNoZToke3RoaXMuYmFzZVVybH06JHt0aGlzLmFwaUtleX06JHt0aGlzLnVzZXJJZH06JHt0aGlzLm5hbWVzcGFjZX06JHt0aGlzLnNvdXJjZX1gO1xuICB9XG5cbiAgLy8gYGVudml2ZV9jb25maWdfdmVyc2lvbmAgLyBgc3BpZmZ5X2NvbmZpZ192ZXJzaW9uYCBwaW4gYSBzcGVjaWZpYyBjb25maWdcbiAgLy8gdmVyc2lvbiBmb3IgZGVidWdnaW5nL3JvbGxiYWNrLiBBbnkgdXNlIG9mIHRoYXQgb3ZlcnJpZGUgbXVzdCBhbHdheXNcbiAgLy8gYnlwYXNzIHRoZSBjYWNoZSBiZWxvdyDigJQgYm90aCByZWFkaW5nIGEgc3RhbGUgZW50cnkgYW5kIHdyaXRpbmcgb25lXG4gIC8vIHVuZGVyIHRoZSBzaGFyZWQga2V5IHdvdWxkIGRlZmVhdCB0aGUgb3ZlcnJpZGUncyBwdXJwb3NlLlxuICBwcml2YXRlIHJlYWRDYWNoZWRDb25maWcoKTogRW52aXZlU2VydmljZUNvbmZpZyB8IG51bGwge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByYXcgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuZ2V0Q2FjaGVLZXkoKSk7XG4gICAgICBpZiAoIXJhdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVudHJ5ID0gSlNPTi5wYXJzZShyYXcpIGFzIENhY2hlZENvbmZpZ0VudHJ5O1xuICAgICAgaWYgKERhdGUubm93KCkgPj0gZW50cnkuZXhwaXJlc0F0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGVudHJ5LnZhbHVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZUNhY2hlZENvbmZpZyh2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZyk6IHZvaWQge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgZW50cnk6IENhY2hlZENvbmZpZ0VudHJ5ID0geyB2YWx1ZSwgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgQ09ORklHX0NBQ0hFX1RUTF9NUyB9O1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmdldENhY2hlS2V5KCksIEpTT04uc3RyaW5naWZ5KGVudHJ5KSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBTdG9yYWdlIGRpc2FibGVkLCBmdWxsLCBvciB1bmF2YWlsYWJsZSAocHJpdmF0ZSBicm93c2luZywgZXRjLikgLVxuICAgICAgLy8gZmFpbCBvcGVuIGFuZCBsZXQgdGhlIG5leHQgY2FsbCByZS1mZXRjaCBpbnN0ZWFkIG9mIGNhY2hpbmcuXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIGlmICh0aGlzLnJlc3BvbnNlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZTtcbiAgICB9XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnJlYWRDYWNoZWRDb25maWcoKTtcbiAgICBpZiAoY2FjaGVkICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc3BvbnNlID0gY2FjaGVkO1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLy8gZ2V0V2lkZ2V0Q29uZmlnIGlzIHRoZSBzaW5nbGUgc291cmNlIG9mIHNlc3Npb24gY29uZmlnOiBpdCByZXR1cm5zIG9yZ1xuICAgIC8vIGlkZW50aXR5ICsgZmVhdHVyZSBnYXRlcyArIGV4cGVyaW1lbnQgYXNzaWdubWVudHMgKHdoaWNoIHVzZWQgdG8gYmUgYVxuICAgIC8vIHNlcGFyYXRlIEdFVCAvdjEvb3JnL2NvbmZpZyBjYWxsKSBhbG9uZ3NpZGUgcHJvZHVjdHNDb25maWcgKyB0aGVcbiAgICAvLyByZXNvbHV0aW9uIG1ldGFkYXRhIHRocmVhZGVkIGludG8gZG93bnN0cmVhbSBpbmZlcmVuY2UuIGBnYXRlTmFtZXNgIGlzIHRoZVxuICAgIC8vIGxpc3Qgb2YgZ2F0ZXMgdGhlIGFwcCBjaGVja3MsIHNvIHRoZSByZXNvbHZlciBldmFsdWF0ZXMgYW5kIHJldHVybnMgdGhlbS5cbiAgICBjb25zdCBnYXRlTmFtZXMgPSBPYmplY3QudmFsdWVzKEZlYXR1cmVHYXRlcykubWFwKGZlYXR1cmVHYXRlID0+IGZlYXR1cmVHYXRlLnRvU3RyaW5nKCkpO1xuXG4gICAgdGhpcy5yZXNwb25zZSA9IGF3YWl0IGZldGNoVW5pZmllZEdyYXBoUUxDb25maWcoXG4gICAgICB0aGlzLmJhc2VVcmwsXG4gICAgICB0aGlzLmFwaUtleSxcbiAgICAgIHRoaXMudXNlcklkLFxuICAgICAgZ2F0ZU5hbWVzLFxuICAgICAgdGhpcy5zb3VyY2UsXG4gICAgKTtcbiAgICB0aGlzLndyaXRlQ2FjaGVkQ29uZmlnKHRoaXMucmVzcG9uc2UpO1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBzdGF0aWMgbW9jayBkYXRhIGZyb20gaXRzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gUGFzc2VzIGVtcHR5IGJhc2VVcmwvYXBpS2V5XG4gKiBzbyBhbnkgY29kZSBjaGVja2luZyBpc1JlYWR5IGRvZXMgbm90IGZpcmUgcmVhbCBuZXR3b3JrIHJlcXVlc3RzLiBUaGUgb3JnQ29uZmlnIGZpZWxkXG4gKiBjb3ZlcnMgY29sb3JzLCBmcm9udGVuZENvbmZpZywgYW5kIHBhZ2Uvd2lkZ2V0L21vdW50aW5nIGNvbmZpZ3Mgd2l0aG91dCBhbnkgbmV0d29yayBjYWxscy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtb2NrQ29uZmlnOiBFbnZpdmVTZXJ2aWNlQ29uZmlnKSB7fVxuXG4gIGFzeW5jIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+IHtcbiAgICByZXR1cm4gdGhpcy5tb2NrQ29uZmlnO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsTUFBTSxzQkFBc0IsTUFBUztBQTZDckMsSUFBYSxzQkFBYixNQUFpRTtDQWEvRCxZQUFZLEVBQUUsU0FBUyxRQUFRLFFBQVEsV0FBVyxVQUFvQztrQkFGdkM7QUFHN0MsT0FBSyxVQUFVO0FBQ2YsT0FBSyxTQUFTO0FBQ2QsT0FBSyxTQUFTO0FBQ2QsT0FBSyxZQUFZO0FBQ2pCLE9BQUssU0FBUzs7Q0FHaEIsQUFBUSxjQUFzQjtBQUM1QixTQUFPLHVCQUF1QixLQUFLLFFBQVEsR0FBRyxLQUFLLE9BQU8sR0FBRyxLQUFLLE9BQU8sR0FBRyxLQUFLLFVBQVUsR0FBRyxLQUFLOztDQU9yRyxBQUFRLG1CQUErQztBQUNyRCxNQUFJLHVCQUF1QixDQUN6QixRQUFPO0FBRVQsTUFBSTtHQUNGLE1BQU0sTUFBTSxlQUFlLFFBQVEsS0FBSyxhQUFhLENBQUM7QUFDdEQsT0FBSSxDQUFDLElBQ0gsUUFBTztHQUVULE1BQU0sUUFBUSxLQUFLLE1BQU0sSUFBSTtBQUM3QixPQUFJLEtBQUssS0FBSyxJQUFJLE1BQU0sVUFDdEIsUUFBTztBQUVULFVBQU8sTUFBTTtVQUNQO0FBQ04sVUFBTzs7O0NBSVgsQUFBUSxrQkFBa0IsT0FBa0M7QUFDMUQsTUFBSSx1QkFBdUIsQ0FDekI7QUFFRixNQUFJO0dBQ0YsTUFBTUEsUUFBMkI7SUFBRTtJQUFPLFdBQVcsS0FBSyxLQUFLLEdBQUc7SUFBcUI7QUFDdkYsa0JBQWUsUUFBUSxLQUFLLGFBQWEsRUFBRSxLQUFLLFVBQVUsTUFBTSxDQUFDO1VBQzNEOztDQU1WLE1BQU0sa0JBQWdEO0FBQ3BELE1BQUksS0FBSyxhQUFhLEtBQ3BCLFFBQU8sS0FBSztFQUdkLE1BQU0sU0FBUyxLQUFLLGtCQUFrQjtBQUN0QyxNQUFJLFdBQVcsTUFBTTtBQUNuQixRQUFLLFdBQVc7QUFDaEIsVUFBTyxLQUFLOztFQVFkLE1BQU0sWUFBWSxPQUFPLE9BQU8sYUFBYSxDQUFDLEtBQUksZ0JBQWUsWUFBWSxVQUFVLENBQUM7QUFFeEYsT0FBSyxXQUFXLE1BQU0sMEJBQ3BCLEtBQUssU0FDTCxLQUFLLFFBQ0wsS0FBSyxRQUNMLFdBQ0EsS0FBSyxPQUNOO0FBQ0QsT0FBSyxrQkFBa0IsS0FBSyxTQUFTO0FBQ3JDLFNBQU8sS0FBSzs7Ozs7Ozs7QUFTaEIsSUFBYSwwQkFBYixNQUFxRTtDQUtuRSxZQUFZLEFBQWlCQyxZQUFpQztFQUFqQztpQkFKSztnQkFFRDs7Q0FJakMsTUFBTSxrQkFBZ0Q7QUFDcEQsU0FBTyxLQUFLIn0=
118
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5qcyIsIm5hbWVzIjpbIkxvZ2dlciIsImVudHJ5OiBDYWNoZWRDb25maWdFbnRyeSIsIm1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZS9lbnZpdmVDb25maWdTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50LCBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9mZWF0dXJlR2F0ZXMnO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFsQ29uZmlnVmFsdWVzIH0gZnJvbSAnc3JjL2NvbnRleHRzL2dyYXBocWxDb250ZXh0JztcbmltcG9ydCB7IGNvbmZpZ1ZlcnNpb25PdmVycmlkZSB9IGZyb20gJ3NyYy90eXBlcy9jb25maWctdmVyc2lvbnMnO1xuaW1wb3J0IHsgRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2ZlYXR1cmVGbGFnU2VydmljZSc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgdHlwZSB7IFVybFJlc29sdmVyUmVzcG9uc2UgfSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgZ2V0QXRvbVN0b3JlIH0gZnJvbSAnc3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmUnO1xuaW1wb3J0IHsgY2hhdElkQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAnO1xuaW1wb3J0IHsgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyB9IGZyb20gJy4vZmV0Y2hHcmFwaFFMQ29uZmlnJztcbmltcG9ydCB7IGZldGNoQm9vdHN0cmFwQ29uZmlnIH0gZnJvbSAnLi9mZXRjaEJvb3RzdHJhcENvbmZpZyc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ2Vudml2ZUNvbmZpZ1NlcnZpY2UnKTtcblxuLy8gU2hvcnQtbGl2ZWQgc28gY29uZmlnIGNoYW5nZXMgKGdhdGVzLCBleHBlcmltZW50cykgc3RpbGwgcHJvcGFnYXRlIHdpdGhpblxuLy8gYSBzZXNzaW9uLCB3aGlsZSBzcGFyaW5nIGV2ZXJ5IHBhZ2UgbmF2aWdhdGlvbiBmcm9tIHJlLWZldGNoaW5nIG9yZ1xuLy8gY29uZmlnICsgR3JhcGhRTCBjb25maWcsIGJvdGggb2Ygd2hpY2ggc2l0IG9uIHRoZSBjcml0aWNhbCBwYXRoIGJlZm9yZVxuLy8gZmlyc3QgcGFpbnQuXG5jb25zdCBDT05GSUdfQ0FDSEVfVFRMX01TID0gNSAqIDYwICogMTAwMDtcblxudHlwZSBDYWNoZWRDb25maWdFbnRyeSA9IHtcbiAgdmFsdWU6IEVudml2ZVNlcnZpY2VDb25maWc7XG4gIGV4cGlyZXNBdDogbnVtYmVyO1xufTtcblxudHlwZSBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMgPSB7XG4gIGJhc2VVcmw6IHN0cmluZztcbiAgYXBpS2V5OiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG4gIC8vIFRoZSB1cmxfcmVzb2x2aW5nIGNvbnRleHQgYml0cyB0aGUgaG9va3MgbGF5ZXIgY2FuJ3QgZGVyaXZlIGl0c2VsZiwgc3VwcGxpZWRcbiAgLy8gYnkgdGhlIGluamVjdGlvbiBidW5kbGUgc28gZ2V0RW52aXZlQ29uZmlnIGNhbiBjYWxsIC92MS9zZXNzaW9uL2Jvb3RzdHJhcCBvblxuICAvLyB0aGUgdXNlX3VuaWZpZWRfY29uZmlnIGdhdGUtT04gcGF0aC4gT3B0aW9uYWw6IHdoZW4gYWJzZW50IChtb2Nrcywgbm9uLWJ1bmRsZVxuICAvLyBjYWxsZXJzKSB0aGUgYm9vdHN0cmFwIGJyYW5jaCBpcyBza2lwcGVkIGFuZCBnZXRXaWRnZXRDb25maWcgc3RhbmRzLlxuICBlbnY/OiBzdHJpbmc7XG4gIGNvbnRleHRTb3VyY2U/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBFbnZpdmVTZXJ2aWNlQ29uZmlnID0ge1xuICBvcmc6IHtcbiAgICBvcmc6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBzaG9ydF9uYW1lOiBzdHJpbmc7XG4gICAgICBkaXNwbGF5X25hbWU6IHN0cmluZztcbiAgICAgIGRvbWFpbjogc3RyaW5nO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgZ2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gIC8vIFRoZSB1c2VyJ3MgU3RhdHNpZyBleHBlcmltZW50LWxheWVyIGFzc2lnbm1lbnRzLCBmcm9tIHRoZSB3aWRnZXQgY29uZmlnJ3NcbiAgLy8gcmVzb2x2ZWQgZXhwZXJpbWVudHMg4oCUIGdldFdpZGdldENvbmZpZywgb3IgYm9vdHN0cmFwJ3MgYHdpZGdldF9jb25maWdgXG4gIC8vIChib3RoIHVuZ2F0ZWQgYnkgdXNlX3VuaWZpZWRfY29uZmlnOyBlbXB0eSBvbmx5IHVuZGVyIGEgdmVyc2lvbiBwaW4pLlxuICAvLyBhbXBsaXR1ZGVTZXJ2aWNlIHJlYWRzIHRoZXNlIHRvIGVucmljaCBldmVudHMgd2l0aCBgZXhwZXJpbWVudC57bnN9LipgIHByb3BzLlxuICBleHBlcmltZW50X2Fzc2lnbm1lbnRzPzogT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnRbXTtcbiAgLy8gb3JnQ29uZmlnLnJlc29sdXRpb24gaXMgcG9wdWxhdGVkIG9ubHkgb24gdGhlIHVuaWZpZWQgcGF0aCAoc291cmNlZCBmcm9tXG4gIC8vIGdldFdpZGdldENvbmZpZy5yZXNvbHV0aW9uLCBub3QgL3YxL29yZy9jb25maWcucmVzb2x1dGlvbikgc28gdGhlIHZlcnNpb25cbiAgLy8gdGhyZWFkZWQgaW50byBpbmZlcmVuY2UgcmVxdWVzdHMgbWF0Y2hlcyB0aGUgdmVyc2lvbiB0aGF0IHByb2R1Y2VkIHRoZVxuICAvLyByZW5kZXJlZCB3aWRnZXRzLlxuICBvcmdDb25maWc/OiBHcmFwaFFsQ29uZmlnVmFsdWVzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xuICAvLyBOQjogYHRha2VCb290c3RyYXBVcmxSZXNvbHZpbmdgIGlzIGludGVudGlvbmFsbHkgTk9UIG9uIHRoaXMgaW50ZXJmYWNlLiBJdCdzXG4gIC8vIGEgYm9vdHN0cmFwLW9ubHkgZGV0YWlsIGNvbnN1bWVkIHNvbGVseSBieSB0aGUgaW5qZWN0aW9uIGJ1bmRsZSB2aWEgdGhlXG4gIC8vIGNvbmNyZXRlIEVudml2ZUNvbmZpZ1NlcnZpY2U7IGtlZXBpbmcgaXQgb2ZmIHRoZSBwdWJsaWMgREkgY29udHJhY3QgYXZvaWRzIGFcbiAgLy8gYnJlYWtpbmcgY2hhbmdlIGZvciBleHRlcm5hbCBjb25zdW1lcnMgdGhhdCBzdXBwbHkgdGhlaXIgb3duIGNvbmZpZyBzZXJ2aWNlXG4gIC8vIChFbnZpdmVQcm92aWRlciBvbmx5IGV2ZXIgY2FsbHMgZ2V0RW52aXZlQ29uZmlnIC8gYmFzZVVybCAvIGFwaUtleSkuXG59XG5cbi8vIFRoZSBib290c3RyYXAgdXJsX3Jlc29sdmluZyBwYXlsb2FkIHBsdXMgdGhlIFVSTCBpdCB3YXMgcmVzb2x2ZWQgZm9yLCBzbyB0aGVcbi8vIHdhcm0tdXAgY2FuIHZlcmlmeSB0aGUgVVJMIHN0aWxsIG1hdGNoZXMgYmVmb3JlIHNlZWRpbmcgKHNlZSBGMTogYSBTUEEgbmF2XG4vLyBkdXJpbmcgdGhlIGJvb3RzdHJhcCByb3VuZCB0cmlwIG11c3Qgbm90IGNhY2hlIFVSTCBBJ3MgcmVzdWx0IHVuZGVyIFVSTCBCKS5cbnR5cGUgQm9vdHN0cmFwVXJsUmVzb2x2aW5nID0geyB1cmw6IHN0cmluZzsgcmVzcG9uc2U6IFVybFJlc29sdmVyUmVzcG9uc2UgfTtcblxuZXhwb3J0IGNsYXNzIEVudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZW52Pzogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dFNvdXJjZT86IHN0cmluZztcblxuICBwcml2YXRlIHJlc3BvbnNlOiBFbnZpdmVTZXJ2aWNlQ29uZmlnIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBib290c3RyYXBVcmxSZXNvbHZpbmc6IEJvb3RzdHJhcFVybFJlc29sdmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBiYXNlVXJsLFxuICAgIGFwaUtleSxcbiAgICB1c2VySWQsXG4gICAgbmFtZXNwYWNlLFxuICAgIHNvdXJjZSxcbiAgICBlbnYsXG4gICAgY29udGV4dFNvdXJjZSxcbiAgfTogRW52aXZlQ29uZmlnU2VydmljZVByb3BzKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gYmFzZVVybDtcbiAgICB0aGlzLmFwaUtleSA9IGFwaUtleTtcbiAgICB0aGlzLnVzZXJJZCA9IHVzZXJJZDtcbiAgICB0aGlzLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcbiAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICB0aGlzLmVudiA9IGVudjtcbiAgICB0aGlzLmNvbnRleHRTb3VyY2UgPSBjb250ZXh0U291cmNlO1xuICB9XG5cbiAgLy8gSGFuZHMgb2ZmIChvbmNlKSB0aGUgdXJsX3Jlc29sdmluZyBwYXlsb2FkIHRoYXQgL3YxL3Nlc3Npb24vYm9vdHN0cmFwXG4gIC8vIHJldHVybmVkIGFsb25nc2lkZSB0aGUgY29uZmlnIOKAlCBwYWlyZWQgd2l0aCB0aGUgVVJMIGl0IHdhcyByZXNvbHZlZCBmb3Ig4oCUIHNvXG4gIC8vIHRoZSB3YXJtLXVwIHNlZWRzIHVybFJlc29sdmVyQXRvbSB3aXRoIGl0IGluc3RlYWQgb2YgZmlyaW5nIGEgc2VwYXJhdGVcbiAgLy8gL3YxL3VybF9yZXNvbHZpbmcuIG51bGwgb24gdGhlIGdldFdpZGdldENvbmZpZyAvIGNhY2hlZCBwYXRoLlxuICB0YWtlQm9vdHN0cmFwVXJsUmVzb2x2aW5nKCk6IEJvb3RzdHJhcFVybFJlc29sdmluZyB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5ib290c3RyYXBVcmxSZXNvbHZpbmc7XG4gICAgdGhpcy5ib290c3RyYXBVcmxSZXNvbHZpbmcgPSBudWxsO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FjaGVLZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGVudml2ZS1jb25maWctY2FjaGU6JHt0aGlzLmJhc2VVcmx9OiR7dGhpcy5hcGlLZXl9OiR7dGhpcy51c2VySWR9OiR7dGhpcy5uYW1lc3BhY2V9OiR7dGhpcy5zb3VyY2V9YDtcbiAgfVxuXG4gIC8vIGBlbnZpdmVfY29uZmlnX3ZlcnNpb25gIC8gYHNwaWZmeV9jb25maWdfdmVyc2lvbmAgcGluIGEgc3BlY2lmaWMgY29uZmlnXG4gIC8vIHZlcnNpb24gZm9yIGRlYnVnZ2luZy9yb2xsYmFjay4gQW55IHVzZSBvZiB0aGF0IG92ZXJyaWRlIG11c3QgYWx3YXlzXG4gIC8vIGJ5cGFzcyB0aGUgY2FjaGUgYmVsb3cg4oCUIGJvdGggcmVhZGluZyBhIHN0YWxlIGVudHJ5IGFuZCB3cml0aW5nIG9uZVxuICAvLyB1bmRlciB0aGUgc2hhcmVkIGtleSB3b3VsZCBkZWZlYXQgdGhlIG92ZXJyaWRlJ3MgcHVycG9zZS5cbiAgcHJpdmF0ZSByZWFkQ2FjaGVkQ29uZmlnKCk6IEVudml2ZVNlcnZpY2VDb25maWcgfCBudWxsIHtcbiAgICBpZiAoY29uZmlnVmVyc2lvbk92ZXJyaWRlKCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmF3ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmdldENhY2hlS2V5KCkpO1xuICAgICAgaWYgKCFyYXcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBlbnRyeSA9IEpTT04ucGFyc2UocmF3KSBhcyBDYWNoZWRDb25maWdFbnRyeTtcbiAgICAgIGlmIChEYXRlLm5vdygpID49IGVudHJ5LmV4cGlyZXNBdCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlbnRyeS52YWx1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVDYWNoZWRDb25maWcodmFsdWU6IEVudml2ZVNlcnZpY2VDb25maWcpOiB2b2lkIHtcbiAgICBpZiAoY29uZmlnVmVyc2lvbk92ZXJyaWRlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVudHJ5OiBDYWNoZWRDb25maWdFbnRyeSA9IHsgdmFsdWUsIGV4cGlyZXNBdDogRGF0ZS5ub3coKSArIENPTkZJR19DQUNIRV9UVExfTVMgfTtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5nZXRDYWNoZUtleSgpLCBKU09OLnN0cmluZ2lmeShlbnRyeSkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gU3RvcmFnZSBkaXNhYmxlZCwgZnVsbCwgb3IgdW5hdmFpbGFibGUgKHByaXZhdGUgYnJvd3NpbmcsIGV0Yy4pIC1cbiAgICAgIC8vIGZhaWwgb3BlbiBhbmQgbGV0IHRoZSBuZXh0IGNhbGwgcmUtZmV0Y2ggaW5zdGVhZCBvZiBjYWNoaW5nLlxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+IHtcbiAgICBpZiAodGhpcy5yZXNwb25zZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGVkID0gdGhpcy5yZWFkQ2FjaGVkQ29uZmlnKCk7XG4gICAgaWYgKGNhY2hlZCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5yZXNwb25zZSA9IGNhY2hlZDtcbiAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8vIGdldFdpZGdldENvbmZpZyBpcyB0aGUgc2luZ2xlIHNvdXJjZSBvZiBzZXNzaW9uIGNvbmZpZzogaXQgcmV0dXJucyBvcmdcbiAgICAvLyBpZGVudGl0eSArIGZlYXR1cmUgZ2F0ZXMgKyBleHBlcmltZW50IGFzc2lnbm1lbnRzICh3aGljaCB1c2VkIHRvIGJlIGFcbiAgICAvLyBzZXBhcmF0ZSBHRVQgL3YxL29yZy9jb25maWcgY2FsbCkgYWxvbmdzaWRlIHByb2R1Y3RzQ29uZmlnICsgdGhlXG4gICAgLy8gcmVzb2x1dGlvbiBtZXRhZGF0YSB0aHJlYWRlZCBpbnRvIGRvd25zdHJlYW0gaW5mZXJlbmNlLiBgZ2F0ZU5hbWVzYCBpcyB0aGVcbiAgICAvLyBsaXN0IG9mIGdhdGVzIHRoZSBhcHAgY2hlY2tzLCBzbyB0aGUgcmVzb2x2ZXIgZXZhbHVhdGVzIGFuZCByZXR1cm5zIHRoZW0uXG4gICAgY29uc3QgZ2F0ZU5hbWVzID0gT2JqZWN0LnZhbHVlcyhGZWF0dXJlR2F0ZXMpLm1hcChmZWF0dXJlR2F0ZSA9PiBmZWF0dXJlR2F0ZS50b1N0cmluZygpKTtcblxuICAgIGNvbnN0IHdpZGdldENvbmZpZyA9IGF3YWl0IGZldGNoVW5pZmllZEdyYXBoUUxDb25maWcoXG4gICAgICB0aGlzLmJhc2VVcmwsXG4gICAgICB0aGlzLmFwaUtleSxcbiAgICAgIHRoaXMudXNlcklkLFxuICAgICAgZ2F0ZU5hbWVzLFxuICAgICAgdGhpcy5zb3VyY2UsXG4gICAgKTtcblxuICAgIHRoaXMucmVzcG9uc2UgPSBhd2FpdCB0aGlzLm1heWJlVXBncmFkZVRvQm9vdHN0cmFwKHdpZGdldENvbmZpZywgZ2F0ZU5hbWVzKTtcbiAgICB0aGlzLndyaXRlQ2FjaGVkQ29uZmlnKHRoaXMucmVzcG9uc2UpO1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICB9XG5cbiAgLy8gVGhlIHVuaWZpZWQtY29uZmlnIHJhbXAgKGB1c2VfdW5pZmllZF9jb25maWdgIFN0YXRzaWcgZ2F0ZSkuIFdoZW4gdGhlIGdhdGVcbiAgLy8gaXMgT04gZm9yIHRoaXMgdXNlciwgc3dhcCB0aGUgZ2V0V2lkZ2V0Q29uZmlnIHJlc3VsdCBmb3IgTWF0dCdzXG4gIC8vIC92MS9zZXNzaW9uL2Jvb3RzdHJhcCDigJQgdGhlIHNhbWUgY29uZmlnIFBMVVMgdGhlIGluaXRpYWwgdXJsX3Jlc29sdmluZyBpblxuICAvLyBPTkUgcm91bmQgdHJpcCAodGhlIGNvbnNvbGlkYXRpb24gdGhpcyBtaWdyYXRpb24gaXMgYWJvdXQpLiBUaGUgZ2F0ZSBpcyByZWFkXG4gIC8vIG9mZiB0aGUgZ2V0V2lkZ2V0Q29uZmlnIHJlc3BvbnNlIGp1c3QgZmV0Y2hlZCwgYmVjYXVzZSB0aGUgRkUgaGFzIG5vIFN0YXRzaWdcbiAgLy8gU0RLOiBweW1vbm8gZXZhbHVhdGVzIHRoZSBnYXRlIHNlcnZlci1zaWRlIGFuZCByZXR1cm5zIGl0LiBgRmVhdHVyZUZsYWdTZXJ2aWNlYFxuICAvLyBhbHNvIGhvbm9ycyBhIGA/dXNlX3VuaWZpZWRfY29uZmlnPXRydWVgIG92ZXJyaWRlLCBzbyB0aGUgYm9vdHN0cmFwIHBhdGggaXNcbiAgLy8gdGVzdGFibGUgYmVmb3JlIHRoZSBnYXRlIHJhbXBzLlxuICAvL1xuICAvLyBPbmx5IHJ1bnMgb24gdGhlIGNhY2hlLW1pc3MgcGF0aCAoYm9vdHN0cmFwJ3MgY29uZmlnIGlzIHRoZW4gY2FjaGVkIGxpa2UgYW55XG4gIC8vIG90aGVyKSwgc28gYSBjYWNoZWQgbG9hZCBuZXZlciByZS1mZXRjaGVzLiBOZWVkcyBlbnYgKyBjb250ZXh0U291cmNlIGZvciB0aGVcbiAgLy8gdXJsX3Jlc29sdmluZyBjb250ZXh0IOKAlCBhYnNlbnQgZm9yIG1vY2tzIC8gbm9uLWJ1bmRsZSBjYWxsZXJzLCB3aGVyZSB0aGVcbiAgLy8gYnJhbmNoIGlzIHNraXBwZWQuIEEgYm9vdHN0cmFwIGZhaWx1cmUgZmFsbHMgYmFjayB0byB0aGUgZ2V0V2lkZ2V0Q29uZmlnXG4gIC8vIGNvbmZpZyBhbHJlYWR5IGluIGhhbmQ6IGEgYm9vdHN0cmFwIHByb2JsZW0gZGVncmFkZXMgdG8gdGhlIHByb3ZlbiBwYXRoXG4gIC8vIGluc3RlYWQgb2YgYWJvcnRpbmcgaW5qZWN0aW9uLiBBdCAxMDAlIHRoZSBnZXRXaWRnZXRDb25maWcgY2FsbCBhYm92ZSBpc1xuICAvLyBkcm9wcGVkIGFuZCBib290c3RyYXAgYmVjb21lcyB0aGUgc29sZSBjb25maWcgY2FsbCAoc3RlcCA4KS5cbiAgcHJpdmF0ZSBhc3luYyBtYXliZVVwZ3JhZGVUb0Jvb3RzdHJhcChcbiAgICB3aWRnZXRDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWcsXG4gICAgZ2F0ZU5hbWVzOiBzdHJpbmdbXSxcbiAgKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPiB7XG4gICAgaWYgKHRoaXMuZW52ID09PSB1bmRlZmluZWQgfHwgdGhpcy5jb250ZXh0U291cmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB3aWRnZXRDb25maWc7XG4gICAgfVxuICAgIC8vIEJ1aWx0IG9uY2U6IHJlYWRzIHRoZSBnYXRlIChvdmVycmlkZS1hd2FyZSkgQU5EIHN1cHBsaWVzIHRoZSBvdmVycmlkZS1hd2FyZVxuICAgIC8vIGdhdGUgbWFwIGJvb3RzdHJhcCdzIHVybF9yZXNvbHZpbmcgbmVlZHMgKG1hdGNoZXMgdGhlIGxlZ2FjeSByZXNvbHZlVXJsIHBhdGgpLlxuICAgIGNvbnN0IGZlYXR1cmVGbGFnU2VydmljZSA9IG5ldyBGZWF0dXJlRmxhZ1NlcnZpY2Uod2lkZ2V0Q29uZmlnLmdhdGVzKTtcbiAgICBpZiAoIWZlYXR1cmVGbGFnU2VydmljZS5pc0ZlYXR1cmVHYXRlRW5hYmxlZChGZWF0dXJlR2F0ZXMuVXNlVW5pZmllZENvbmZpZykpIHtcbiAgICAgIHJldHVybiB3aWRnZXRDb25maWc7XG4gICAgfVxuXG4gICAgLy8gQ2FwdHVyZWQgb25jZSBhbmQgcmV1c2VkIGZvciBib3RoIHRoZSBib290c3RyYXAgcmVxdWVzdCBhbmQgdGhlIHN0YXNoLCBzb1xuICAgIC8vIHRoZSBVUkwgY2FycmllZCB0byB0aGUgd2FybS11cCBpcyBwcm92YWJseSB0aGUgb25lIGJvb3RzdHJhcCByZXNvbHZlZC4gVGhlXG4gICAgLy8gd2FybS11cCBvbmx5IHNlZWRzIGl0IGlmIHRoaXMgc3RpbGwgbWF0Y2hlcyB0aGUgY3VycmVudCBVUkwgKGEgU1BBIG5hdlxuICAgIC8vIGR1cmluZyB0aGUgcm91bmQgdHJpcCB3b3VsZCBvdGhlcndpc2UgY2FjaGUgdGhpcyByZXN1bHQgdW5kZXIgYSBsYXRlciBVUkwpLlxuICAgIC8vIFNhbWUgY2xlYW5zaW5nIGFzIHdhcm1VcmxSZXNvbHZlciBzbyB0aGUgdXJsUmVzb2x2ZXJBdG9tIGtleSBsaW5lcyB1cC5cbiAgICBjb25zdCBjbGVhbnNlZFVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGNvbmZpZywgdXJsUmVzb2x2aW5nIH0gPSBhd2FpdCBmZXRjaEJvb3RzdHJhcENvbmZpZyh7XG4gICAgICAgIGJhc2VVcmw6IHRoaXMuYmFzZVVybCxcbiAgICAgICAgYXBpS2V5OiB0aGlzLmFwaUtleSxcbiAgICAgICAgdXNlcklkOiB0aGlzLnVzZXJJZCxcbiAgICAgICAgc291cmNlOiB0aGlzLnNvdXJjZSxcbiAgICAgICAgLy8gU2NvcGUgb3JnX2NvbmZpZy5jb25maWdzIHRvIHRoaXMgbmFtZXNwYWNlIHNvIGJvb3RzdHJhcCBkb2Vzbid0IHJldHVyblxuICAgICAgICAvLyBpbnRlcm5hbC1vbmx5IG9yZyBjb25maWdzIHRvIHRoZSBicm93c2VyIChtYXRjaGVzIHRoZSBsZWdhY3kgL3YxL29yZy9jb25maWcpLlxuICAgICAgICBuYW1lc3BhY2U6IHRoaXMubmFtZXNwYWNlLFxuICAgICAgICBnYXRlTmFtZXMsXG4gICAgICAgIHVybDogY2xlYW5zZWRVcmwsXG4gICAgICAgIG9yZ0lkOiB3aWRnZXRDb25maWcub3JnLm9yZy5pZCxcbiAgICAgICAgb3JnU2hvcnROYW1lOiB3aWRnZXRDb25maWcub3JnLm9yZy5zaG9ydF9uYW1lLFxuICAgICAgICBjb250ZXh0U291cmNlOiB0aGlzLmNvbnRleHRTb3VyY2UsXG4gICAgICAgIGVudjogdGhpcy5lbnYsXG4gICAgICAgIGZlYXR1cmVHYXRlczogZmVhdHVyZUZsYWdTZXJ2aWNlLmdldEZlYXR1cmVGbGFncygpLFxuICAgICAgICAvLyBUaGUgcGVyc2lzdGVudCBjaGF0IHNlc3Npb24gaWQgKHNhbWUgc291cmNlIHJlc29sdmVVcmwgcmVhZHMpIHNvXG4gICAgICAgIC8vIGJvb3RzdHJhcCdzIHVybF9yZXNvbHZpbmcgY2FycmllcyBpdCBpbnN0ZWFkIG9mIGFuIGVtcHR5IHN0cmluZy5cbiAgICAgICAgY2hhdElkOiBnZXRBdG9tU3RvcmUoKS5nZXQoY2hhdElkQXRvbSksXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYm9vdHN0cmFwVXJsUmVzb2x2aW5nID0gdXJsUmVzb2x2aW5nXG4gICAgICAgID8geyB1cmw6IGNsZWFuc2VkVXJsLCByZXNwb25zZTogdXJsUmVzb2x2aW5nIH1cbiAgICAgICAgOiBudWxsO1xuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dlci5sb2dFcnJvcignZ2V0RW52aXZlQ29uZmlnIHwgYm9vdHN0cmFwIHVwZ3JhZGUgZmFpbGVkLCB1c2luZyBnZXRXaWRnZXRDb25maWcnLCBlcnIpO1xuICAgICAgcmV0dXJuIHdpZGdldENvbmZpZztcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHN0YXRpYyBtb2NrIGRhdGEgZnJvbSBpdHMgY29uc3RydWN0b3IgYXJndW1lbnRzLiBQYXNzZXMgZW1wdHkgYmFzZVVybC9hcGlLZXlcbiAqIHNvIGFueSBjb2RlIGNoZWNraW5nIGlzUmVhZHkgZG9lcyBub3QgZmlyZSByZWFsIG5ldHdvcmsgcmVxdWVzdHMuIFRoZSBvcmdDb25maWcgZmllbGRcbiAqIGNvdmVycyBjb2xvcnMsIGZyb250ZW5kQ29uZmlnLCBhbmQgcGFnZS93aWRnZXQvbW91bnRpbmcgY29uZmlncyB3aXRob3V0IGFueSBuZXR3b3JrIGNhbGxzLlxuICovXG5leHBvcnQgY2xhc3MgTW9ja0Vudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWcpIHt9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLm1vY2tDb25maWc7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVlBLE1BQU0sU0FBUyxJQUFJQSxlQUFPLHNCQUFzQjtBQU1oRCxNQUFNLHNCQUFzQixNQUFTO0FBOERyQyxJQUFhLHNCQUFiLE1BQWlFO0NBbUIvRCxZQUFZLEVBQ1YsU0FDQSxRQUNBLFFBQ0EsV0FDQSxRQUNBLEtBQ0EsaUJBQzJCO2tCQVprQjsrQkFFZTtBQVc1RCxPQUFLLFVBQVU7QUFDZixPQUFLLFNBQVM7QUFDZCxPQUFLLFNBQVM7QUFDZCxPQUFLLFlBQVk7QUFDakIsT0FBSyxTQUFTO0FBQ2QsT0FBSyxNQUFNO0FBQ1gsT0FBSyxnQkFBZ0I7O0NBT3ZCLDRCQUEwRDtFQUN4RCxNQUFNLFFBQVEsS0FBSztBQUNuQixPQUFLLHdCQUF3QjtBQUM3QixTQUFPOztDQUdULEFBQVEsY0FBc0I7QUFDNUIsU0FBTyx1QkFBdUIsS0FBSyxRQUFRLEdBQUcsS0FBSyxPQUFPLEdBQUcsS0FBSyxPQUFPLEdBQUcsS0FBSyxVQUFVLEdBQUcsS0FBSzs7Q0FPckcsQUFBUSxtQkFBK0M7QUFDckQsTUFBSSx1QkFBdUIsQ0FDekIsUUFBTztBQUVULE1BQUk7R0FDRixNQUFNLE1BQU0sZUFBZSxRQUFRLEtBQUssYUFBYSxDQUFDO0FBQ3RELE9BQUksQ0FBQyxJQUNILFFBQU87R0FFVCxNQUFNLFFBQVEsS0FBSyxNQUFNLElBQUk7QUFDN0IsT0FBSSxLQUFLLEtBQUssSUFBSSxNQUFNLFVBQ3RCLFFBQU87QUFFVCxVQUFPLE1BQU07VUFDUDtBQUNOLFVBQU87OztDQUlYLEFBQVEsa0JBQWtCLE9BQWtDO0FBQzFELE1BQUksdUJBQXVCLENBQ3pCO0FBRUYsTUFBSTtHQUNGLE1BQU1DLFFBQTJCO0lBQUU7SUFBTyxXQUFXLEtBQUssS0FBSyxHQUFHO0lBQXFCO0FBQ3ZGLGtCQUFlLFFBQVEsS0FBSyxhQUFhLEVBQUUsS0FBSyxVQUFVLE1BQU0sQ0FBQztVQUMzRDs7Q0FNVixNQUFNLGtCQUFnRDtBQUNwRCxNQUFJLEtBQUssYUFBYSxLQUNwQixRQUFPLEtBQUs7RUFHZCxNQUFNLFNBQVMsS0FBSyxrQkFBa0I7QUFDdEMsTUFBSSxXQUFXLE1BQU07QUFDbkIsUUFBSyxXQUFXO0FBQ2hCLFVBQU8sS0FBSzs7RUFRZCxNQUFNLFlBQVksT0FBTyxPQUFPLGFBQWEsQ0FBQyxLQUFJLGdCQUFlLFlBQVksVUFBVSxDQUFDO0VBRXhGLE1BQU0sZUFBZSxNQUFNLDBCQUN6QixLQUFLLFNBQ0wsS0FBSyxRQUNMLEtBQUssUUFDTCxXQUNBLEtBQUssT0FDTjtBQUVELE9BQUssV0FBVyxNQUFNLEtBQUssd0JBQXdCLGNBQWMsVUFBVTtBQUMzRSxPQUFLLGtCQUFrQixLQUFLLFNBQVM7QUFDckMsU0FBTyxLQUFLOztDQW1CZCxNQUFjLHdCQUNaLGNBQ0EsV0FDOEI7QUFDOUIsTUFBSSxLQUFLLFFBQVEsVUFBYSxLQUFLLGtCQUFrQixPQUNuRCxRQUFPO0VBSVQsTUFBTSxxQkFBcUIsSUFBSSxtQkFBbUIsYUFBYSxNQUFNO0FBQ3JFLE1BQUksQ0FBQyxtQkFBbUIscUJBQXFCLGFBQWEsaUJBQWlCLENBQ3pFLFFBQU87RUFRVCxNQUFNLGNBQWMsT0FBTyxTQUFTLEtBQUssYUFBYSxDQUFDLE1BQU07QUFDN0QsTUFBSTtHQUNGLE1BQU0sRUFBRSxRQUFRLGlCQUFpQixNQUFNLHFCQUFxQjtJQUMxRCxTQUFTLEtBQUs7SUFDZCxRQUFRLEtBQUs7SUFDYixRQUFRLEtBQUs7SUFDYixRQUFRLEtBQUs7SUFHYixXQUFXLEtBQUs7SUFDaEI7SUFDQSxLQUFLO0lBQ0wsT0FBTyxhQUFhLElBQUksSUFBSTtJQUM1QixjQUFjLGFBQWEsSUFBSSxJQUFJO0lBQ25DLGVBQWUsS0FBSztJQUNwQixLQUFLLEtBQUs7SUFDVixjQUFjLG1CQUFtQixpQkFBaUI7SUFHbEQsUUFBUSxjQUFjLENBQUMsSUFBSSxXQUFXO0lBQ3ZDLENBQUM7QUFDRixRQUFLLHdCQUF3QixlQUN6QjtJQUFFLEtBQUs7SUFBYSxVQUFVO0lBQWMsR0FDNUM7QUFDSixVQUFPO1dBQ0EsS0FBSztBQUNaLFVBQU8sU0FBUyxxRUFBcUUsSUFBSTtBQUN6RixVQUFPOzs7Ozs7Ozs7QUFVYixJQUFhLDBCQUFiLE1BQXFFO0NBS25FLFlBQVksQUFBaUJDLFlBQWlDO0VBQWpDO2lCQUpLO2dCQUVEOztDQUlqQyxNQUFNLGtCQUFnRDtBQUNwRCxTQUFPLEtBQUsifQ==