@envive-ai/react-hooks 0.3.62 → 0.3.64

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 (105) hide show
  1. package/dist/application/models/featureGates.cjs +2 -1
  2. package/dist/application/models/featureGates.d.cts +2 -1
  3. package/dist/application/models/featureGates.d.ts +2 -1
  4. package/dist/application/models/featureGates.js +2 -1
  5. package/dist/application/utils/widgetTextRequestToApiRequest.cjs +1 -0
  6. package/dist/application/utils/widgetTextRequestToApiRequest.js +1 -1
  7. package/dist/atoms/app/variant.d.cts +6 -6
  8. package/dist/atoms/chat/chatState.d.cts +1 -1
  9. package/dist/atoms/chat/chatState.d.ts +19 -19
  10. package/dist/atoms/chat/form.d.cts +2 -2
  11. package/dist/atoms/chat/form.d.ts +2 -2
  12. package/dist/atoms/chat/index.d.cts +2 -2
  13. package/dist/atoms/chat/index.d.ts +3 -3
  14. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  15. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  16. package/dist/atoms/chat/messageQueue.d.cts +7 -7
  17. package/dist/atoms/chat/messageQueue.d.ts +6 -6
  18. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  19. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  20. package/dist/atoms/chat/renderedWidgetRefs.d.cts +3 -3
  21. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  22. package/dist/atoms/chat/replies.d.cts +3 -3
  23. package/dist/atoms/chat/replies.d.ts +3 -3
  24. package/dist/atoms/chat/suggestions.d.cts +3 -3
  25. package/dist/atoms/chat/suggestions.d.ts +2 -2
  26. package/dist/atoms/envive/enviveConfig.d.cts +13 -13
  27. package/dist/atoms/envive/enviveConfig.d.ts +14 -14
  28. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  29. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  30. package/dist/atoms/org/customerService.d.cts +6 -6
  31. package/dist/atoms/org/customerService.d.ts +6 -6
  32. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  33. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  34. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  35. package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
  36. package/dist/atoms/search/chatSearch.d.ts +17 -17
  37. package/dist/atoms/search/searchAPI.d.ts +13 -13
  38. package/dist/atoms/search/utils.d.ts +1 -1
  39. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  40. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  41. package/dist/contexts/types.d.cts +1 -1
  42. package/dist/contexts/types.d.ts +1 -1
  43. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
  44. package/dist/hooks/Intersection/useIntersection.cjs +9 -2
  45. package/dist/hooks/Intersection/useIntersection.d.cts +2 -2
  46. package/dist/hooks/Intersection/useIntersection.d.ts +2 -2
  47. package/dist/hooks/Intersection/useIntersection.js +9 -2
  48. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +2 -2
  49. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +12 -3
  50. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +2 -1
  51. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +2 -1
  52. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +13 -4
  53. package/dist/hooks/WidgetLoadDiagnostics/index.cjs +4 -0
  54. package/dist/hooks/WidgetLoadDiagnostics/index.d.cts +2 -0
  55. package/dist/hooks/WidgetLoadDiagnostics/index.d.ts +2 -0
  56. package/dist/hooks/WidgetLoadDiagnostics/index.js +3 -0
  57. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.cjs +122 -0
  58. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.d.cts +48 -0
  59. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.d.ts +48 -0
  60. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.js +120 -0
  61. package/dist/services/amplitudeService/eventNames.cjs +2 -1
  62. package/dist/services/amplitudeService/eventNames.d.cts +2 -1
  63. package/dist/services/amplitudeService/eventNames.d.ts +2 -1
  64. package/dist/services/amplitudeService/eventNames.js +2 -1
  65. package/dist/services/enviveConfigService/enviveConfigService.cjs +49 -3
  66. package/dist/services/enviveConfigService/enviveConfigService.d.cts +16 -2
  67. package/dist/services/enviveConfigService/enviveConfigService.d.ts +16 -2
  68. package/dist/services/enviveConfigService/enviveConfigService.js +49 -3
  69. package/dist/services/enviveConfigService/fetchBootstrapConfig.cjs +102 -0
  70. package/dist/services/enviveConfigService/fetchBootstrapConfig.js +102 -0
  71. package/dist/services/enviveConfigService/fetchGraphQLConfig.cjs +2 -1
  72. package/dist/services/enviveConfigService/fetchGraphQLConfig.js +2 -2
  73. package/dist/services/ga4ProjectionService/ga4EventSchema.cjs +3 -2
  74. package/dist/services/ga4ProjectionService/ga4EventSchema.js +3 -2
  75. package/dist/services/hardcopyService/hardcopyService.cjs +31 -6
  76. package/dist/services/hardcopyService/hardcopyService.d.cts +5 -2
  77. package/dist/services/hardcopyService/hardcopyService.d.ts +5 -2
  78. package/dist/services/hardcopyService/hardcopyService.js +31 -7
  79. package/dist/services/hardcopyService/index.cjs +1 -0
  80. package/dist/services/hardcopyService/index.d.cts +2 -2
  81. package/dist/services/hardcopyService/index.d.ts +2 -2
  82. package/dist/services/hardcopyService/index.js +2 -2
  83. package/dist/services/urlResolverWarmupService/index.cjs +3 -3
  84. package/dist/services/urlResolverWarmupService/index.d.cts +8 -2
  85. package/dist/services/urlResolverWarmupService/index.d.ts +8 -2
  86. package/dist/services/urlResolverWarmupService/index.js +3 -3
  87. package/package.json +5 -1
  88. package/src/application/models/featureGates.ts +6 -0
  89. package/src/hooks/Intersection/useIntersection.ts +11 -0
  90. package/src/hooks/TrackComponentVisibleEvent/__tests__/useTrackComponentVisibleEvent.test.tsx +64 -0
  91. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +23 -4
  92. package/src/hooks/WidgetLoadDiagnostics/__tests__/useWidgetLoadDiagnostics.test.ts +161 -0
  93. package/src/hooks/WidgetLoadDiagnostics/index.ts +5 -0
  94. package/src/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.ts +178 -0
  95. package/src/services/amplitudeService/eventNames.ts +4 -0
  96. package/src/services/enviveConfigService/__tests__/enviveConfigService.test.ts +226 -0
  97. package/src/services/enviveConfigService/__tests__/fetchBootstrapConfig.test.ts +271 -0
  98. package/src/services/enviveConfigService/enviveConfigService.ts +124 -5
  99. package/src/services/enviveConfigService/fetchBootstrapConfig.ts +276 -0
  100. package/src/services/enviveConfigService/fetchGraphQLConfig.ts +7 -4
  101. package/src/services/ga4ProjectionService/ga4EventSchema.ts +5 -0
  102. package/src/services/hardcopyService/__tests__/hardcopyService.test.ts +73 -3
  103. package/src/services/hardcopyService/hardcopyService.ts +55 -5
  104. package/src/services/urlResolverWarmupService/__tests__/urlResolverWarmupService.test.ts +55 -0
  105. package/src/services/urlResolverWarmupService/index.ts +18 -1
@@ -706,4 +706,4 @@ interface EnviveConfig {
706
706
  }
707
707
  //#endregion
708
708
  export { type CategoryExtractor, CategoryExtractorType, type ChatMessageConfig, type ChatMessageVariant, type ChatPreviewConfig, type ChatPreviewFooterConfig, type ChatPreviewHeaderConfig, type ChatPreviewHeaderV2Config, type ChatPreviewIsLoadingWidgetConfig, type ChatPreviewPostInteractionWidgetConfig, type ChatPreviewProductComparisonWidgetConfig, type ChatPreviewSuggestionButtonConfig, type ChatPreviewV2WidgetConfig, type ChatPreviewVariant, type ChatPreviewWidgetConfig, type ColorMapping, ColorNames, type CustomerServiceIntegration, type DynamicWidgetMounting, EnviveConfig, FilterAttribute, type FloatingEntryPointConfig, type FullCustomerServiceIntegration, type HomePageVariant, type IdExtractor, type ImageBannerWidgetConfig, type ImagePromptWidgetConfig, type InsertionPoint, type MerchantVariantSettings, type MultiImageConfig, type NoOpWidgetConfig, type NumRows, OrgConfig, OrgPageConfig, type OrgUIConfig, type OtherPageVariant, type PDPPageVariant, type PLPPageVariant, type PageCardConfig, type PageCardHoverVariant, type PageCardIconVariant, type PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, type ProductCardConfig, type ProductCardHoverVariant, type ProductCardLayoutVariant, type ProductCardVariant, ProductGridVariant, type ProductLinkHoverVariant, type ProductLinkIconVariant, type ProductLinkVariant, type ProductReviewColorVariant, type ProductReviewConfig, type ProductReviewStyleVariant, type SearchCardVariant, type SearchConfig, type SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, type SearchOverlayHostWidgetConfig, type SearchPageVariant, type SearchPromptVariant, type SearchPromptWidgetConfig, type SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, type ShowFloatingButtonOptions, type SingleImagePromptWidgetConfig, type SocialProofConfig, type SocialProofV2WidgetConfig, type StaticWidgetMounting, type SuggestionBarWidgetV2Config, type SuggestionButtonConfig, type SuggestionButtonVariant, type URLTest, type UserQueryButtonConfig, type UserQueryButtonIcon, UserQueryOptions, type VisitPageVariant, type WelcomeSectionColorVariant, type WelcomeSectionConfig, type WelcomeSectionVariant, type WidgetConfig, type WidgetDisplayTests, WidgetHeaderProps, type WidgetMounting, WidgetMountingConfig, WidgetType, type WrappingElement, colorVar };
709
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHRzL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uJztcbmltcG9ydCB7IENvbG9yTWFwcGluZywgQ29sb3JOYW1lcywgY29sb3JWYXIgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgeyBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsIEN1c3RvbWVyU2VydmljZVR5cGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdG9tZXJTZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRJbnNlcnRpb25UeXBlIH0gZnJvbSAnc3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uJztcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2RvbUluc2VydGlvbic7XG5pbXBvcnQgdHlwZSB7IFBhZ2VWaXNpdENhdGVnb3J5LCBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB0eXBlIHsgQWRkVG9DYXJ0Q2FsbGJhY2sgfSBmcm9tICdzcmMvdHlwZXMvZW52aXZlQ29uZmlnJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ1YzLCBXaWRnZXRUeXBlVjMgfSBmcm9tICcuL3R5cGVzVjMnO1xuaW1wb3J0IHR5cGUgeyBIYXJkY29weVJlc3BvbnNlIH0gZnJvbSAnLi9oYXJkY29weUNvbnRleHQvaGFyZGNvcHlDb250ZXh0JztcbnR5cGUgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyA9ICdhbHdheXMnIHwgJ2FmdGVyLWludGVyYWN0aW9uLW9uLW1vYmlsZS1hbHdheXMtZGVza3RvcCcgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tYW55d2hlcmUnIHwgJ25ldmVyJztcbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICAgIHBvc2l0aW9uOiAnYm90dG9tLWxlZnQnIHwgJ21pZGRsZS1sZWZ0JyB8ICdtaWRkbGUtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCc7XG4gICAgZXhwYW5zaW9uVGV4dD86IHtcbiAgICAgICAgcGRwOiBzdHJpbmc7XG4gICAgICAgIHBscDogc3RyaW5nO1xuICAgIH07XG4gICAgbWluaW1pemVkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIHNob3dPcHRpb246IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG4gICAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgICBpY29uU2l6ZT86IG51bWJlcjtcbiAgICBpY29uU3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBudW1iZXI7XG59O1xudHlwZSBXZWxjb21lU2VjdGlvblZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ291dGxpbmVkJztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db25maWcgPSB7XG4gICAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICAgIGNvbG9yVmFyaWFudD86IFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50O1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGljb25OYW1lPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdDb25maWcgPSB7XG4gICAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICAgIGxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xuICAgIGZpbGxlZEJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dFNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVySG92ZXJDb2xvcj86IHN0cmluZztcbiAgICBjb3BpZXM6IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7XG4gICAgICAgIHBkcDogc3RyaW5nW107XG4gICAgICAgIHBscDogc3RyaW5nW107XG4gICAgfTtcbiAgICBzdGF0aWNQTFBJbWFnZXM/OiBzdHJpbmdbXTtcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbiAgICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgICB0b3BNYXJnaW4/OiBudW1iZXI7XG59O1xudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgICBzcGFya2xlc0NvbG9yPzogc3RyaW5nO1xuICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgIGljb25XaWR0aD86IHN0cmluZztcbiAgICBpY29uSGVpZ2h0Pzogc3RyaW5nO1xufTtcbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gICAgaGFzRmFkZT86IGJvb2xlYW47XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ/OiAnZGFyaycgfCAnbGlnaHQnIHwgJ291dGxpbmVkJztcbiAgICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gICAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHJlcGx5SW5wdXRIYXNTaGFkb3c/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xudHlwZSBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50ID0gJ25ldXRyYWwnIHwgJ2JyYW5kJyB8ICdwcmVtaXVtJztcbmludGVyZmFjZSBQcm9kdWN0UmV2aWV3Q29uZmlnIHtcbiAgICBzdHlsZVZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICAgIHZlcmlmaWVkQnV5ZXJUaXRsZTogc3RyaW5nO1xuICAgIGluY2VudGl2aXplZFJldmlld0ZsYWc/OiBib29sZWFuO1xufVxudHlwZSBQYWdlQ2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgfCAnbWluaW1hbCc7XG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG50eXBlIFBhZ2VDYXJkSWNvblZhcmlhbnQgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICdiYWNrZ3JvdW5kJyB8ICdub25lJztcbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gICAgdmFyaWFudDogUGFnZUNhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gICAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG50eXBlIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJyB8ICdub25lJztcbnR5cGUgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50ID0gJ25vcm1hbCcgfCAndGFsbCcgfCAnc3F1YXJlJztcbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gICAgdmFyaWFudDogUHJvZHVjdENhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gICAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICAgIHByaWNlUHJlZml4Pzogc3RyaW5nO1xufVxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICAgIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICAgIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgc3VwcG9ydFRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gICAgZXhwYW5kZWRDb2xvcjogc3RyaW5nO1xuICAgIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAgIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgICBoZWFkZXJCYXJIZWlnaHRQYXJ0aWFsVmlldzogbnVtYmVyO1xuICAgIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gICAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbn07XG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBjaGF0RW5hYmxlZER1cmluZ0J1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHNob3dOYW1lSW5wdXQ/OiBib29sZWFuO1xuICAgIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gICAgd2VsY29tZVRpdGxlOiBzdHJpbmc7XG4gICAgd2VsY29tZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICAgIGNvbnRhY3RTdWJqZWN0T3B0aW9ucz86IHN0cmluZ1tdO1xuICAgIGdldEN1c3RvbVdhaXRpbmdNZXNzYWdlPzogKG5hbWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICBidXNpbmVzc0hvdXJzUG9sbGluZz86IG51bWJlcjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNTdGFydFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICAgKi9cbiAgICBidXNpbmVzc0hvdXJzVGltZXpvbmU/OiBzdHJpbmc7XG4gICAgc2hvd0FJU3VnZ2VzdGlvbnNXaXRoaW5CdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgICB3YWl0aW5nTWVzc2FnZVBvc2l0aW9uPzogJ0JFRk9SRV9NRVNTQUdFUycgfCAnQUZURVJfTUVTU0FHRVMnO1xuICAgIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzQnV0dG9udGV4dD86IHN0cmluZztcbiAgICByZW9wZW5DaGF0TWVzc2FnZTogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiB8IEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICByZXBseUlucHV0PzogUmVwbHlJbnB1dENvbmZpZztcbiAgICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGVudHJ5cG9pbnRCZ0NvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRCdG5UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRyaWdnZXI/OiBzdHJpbmc7XG4gICAgcHJvZHVjdEdyaWRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgICBwYWdlQ29udGVudD86IHN0cmluZztcbiAgICBzZWFyY2hDb250ZW50Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgICBzZWxlY3Rpb25UaXRsZT86IHN0cmluZztcbiAgICBzb3J0aW5nRm9udD86IHN0cmluZztcbiAgICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgICBzb3J0aW5nQnV0dG9uVGV4dD86IHN0cmluZztcbn07XG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcbmludGVyZmFjZSBDaGF0TWVzc2FnZUNvbmZpZyB7XG4gICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gICAgdmFyaWFudDogQ2hhdE1lc3NhZ2VWYXJpYW50O1xuICAgIHByb2R1Y3RMaW5rOiB7XG4gICAgICAgIHZhcmlhbnQ6IFByb2R1Y3RMaW5rVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICAgICAgaWNvblZhcmlhbnQ6IFByb2R1Y3RMaW5rSWNvblZhcmlhbnQ7XG4gICAgfTtcbn1cbmludGVyZmFjZSBSZXBseUlucHV0Q29uZmlnIHtcbiAgICBzaXplPzogJ21kJyB8ICdsZyc7XG4gICAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG59XG50eXBlIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQgPSAnYWNjZW50UHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaycgfCAnYm9yZGVyTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBQcm9kdWN0TGlua1ZhcmlhbnQgPSAndGV4dExpbmsnO1xudHlwZSBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCA9ICdiYWNrZ3JvdW5kRGFyayc7XG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID0gJ2JhY2tncm91bmRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyaycgfCAnYmFja2dyb3VuZExpZ2h0JyB8ICdiYWNrZ3JvdW5kU2F0dXJhdGVkJztcbnR5cGUgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQgPSAnb3V0bGluZWQnIHwgJ291dGxpbmVkTGlnaHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ2RhcmsnIHwgJ2RhcmtBY2NlbnQnIHwgJ2RhcmtQcmltYXJ5JyB8ICdzZWNvbmRhcnlEYXJrJyB8ICdzZWNvbmRhcnlBY2NlbnQnIHwgJ3RyYW5zcGFyZW50JyB8ICd0cmFuc3BhcmVudERhcmsnIHwgJ2xpZ2h0RGFyayc7XG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGFuc3dlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG50eXBlIE51bVJvd3MgPSAnZGVmYXVsdCcgfCAnYWx3YXlzT25lUm93JyB8ICdhbHdheXNUd29Sb3dzJyB8ICd0d29Sb3dzT25Nb2JpbGUnO1xuaW50ZXJmYWNlIEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnYWxwaGFiZXRpYyc7XG59XG5pbnRlcmZhY2UgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xufVxudHlwZSBGaWx0ZXJTb3J0aW5nID0gQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcgfCBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHwgQ3VzdG9tRmlsdGVyU29ydGluZztcbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgRHluYW1pY0ZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIHR5cGU6ICdkeW5hbWljJztcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBzb3J0aW5nOiBGaWx0ZXJTb3J0aW5nO1xufVxuaW50ZXJmYWNlIFByaWNlRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ3ByaWNlJztcbiAgICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBGaWx0ZXJBdHRyaWJ1dGUgPSBEeW5hbWljRmlsdGVyQ29uZmlnIHwgUHJpY2VGaWx0ZXJDb25maWc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVWYXJpYW50ID0gJ2JhY2tncm91bmRUZXJ0aWFyeScgfCAnYmFja2dyb3VuZERhcmsnIHwgJ2JhY2tncm91bmRQcmltYXJ5JztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZUxheW91dCA9ICdpbnB1dCcgfCAnaWNvbic7XG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuZXhwb3J0IHR5cGUgU2VhcmNoSWNvblZhcmlhbnQgPSAndGhpbicgfCAnYm9sZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudCA9ICdkYXJrQnV0dG9uJyB8ICdsaWdodEJ1dHRvbic7XG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG50eXBlIFVzZXJRdWVyeUJ1dHRvbkljb24gPSAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICdtYWduaWZ5aW5nR2xhc3NUaGluJyB8ICdzZW5kQXJyb3cnIHwgJ3NlYXJjaEljb24nO1xuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86ICdib3gnIHwgJ3VuZGVybGluZUxpZ2h0JyB8ICd1bmRlcmxpbmVEYXJrJztcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gICAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cbmludGVyZmFjZSBUZXJtc0FuZENvbmRpdGlvbnNDb25maWcge1xuICAgIGNvcHk6IHN0cmluZztcbiAgICBsaW5rOiBzdHJpbmc7XG4gICAgbGlua1RleHQ6IHN0cmluZztcbn1cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gICAgZHluYW1pY1ZhcmlhbnRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbD86IG51bWJlcjtcbiAgICB9O1xufVxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdENvbmZpZyB7XG4gICAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICAgIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gICAgdGVybXNBbmRDb25kaXRpb25zQ29uZmlnPzogVGVybXNBbmRDb25kaXRpb25zQ29uZmlnO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHJlcGx5SW5wdXRDb25maWc6IFJlcGx5SW5wdXRDb25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgICBlbmFibGVHbG9iYWxTZWFyY2g6IGJvb2xlYW47XG4gICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBGaWx0ZXJBdHRyaWJ1dGVbXTtcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgICByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw/OiBzdHJpbmc7XG4gICAgYWRkaXRpdmVEeW5hbWljRmlsdGVycz86IGJvb2xlYW47XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nPzogc3RyaW5nO1xufVxudHlwZSBDb25maWdWZXJzaW9uID0gJ3YzJyB8ICdkZXByZWNhdGVkJyB8IHVuZGVmaW5lZDtcbnR5cGUgT3JnVUlDb25maWcgPSB7XG4gICAgdmVyc2lvbj86IENvbmZpZ1ZlcnNpb247XG4gICAgc2hvcnROYW1lOiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAgIGNoYXRQcmV2aWV3Q29uZmlnPzogQ2hhdFByZXZpZXdDb25maWc7XG4gICAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoPzogQ29udmVyc2F0aW9uYWxTZWFjaDtcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuICAgIGhpZGRlbkVsZW1lbnRTZWxlY3RvcnM/OiBzdHJpbmdbXTtcbiAgICBtZXJjaGFudFZhcmlhbnRTZXR0aW5ncz86IE1lcmNoYW50VmFyaWFudFNldHRpbmdzO1xuICAgIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuICAgIHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnO1xuICAgIGNoYXRIZWFkZXI6IENoYXRIZWFkZXJDb25maWc7XG4gICAgc3RpY2t5QWdlbnRTd2l0Y2hTdWdnZXN0aW9uPzogYm9vbGVhbjtcbiAgICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc/OiBXZWxjb21lU2VjdGlvbkNvbmZpZztcbiAgICBwcm9kdWN0Q2FyZENvbmZpZz86IFByb2R1Y3RDYXJkQ29uZmlnO1xuICAgIHByb2R1Y3RSZXZpZXdDb25maWc/OiBQcm9kdWN0UmV2aWV3Q29uZmlnO1xuICAgIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gICAgY2hhdE1lc3NhZ2VDb25maWc6IENoYXRNZXNzYWdlQ29uZmlnO1xufTtcbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gICAgc2VsZWN0b3I6IHN0cmluZztcbiAgICBzZWxlY3Rpb25JbmRleD86IG51bWJlcjtcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbnR5cGUgVVJMVGVzdCA9ICdzaG9waWZ5JyB8ICdudWxsJztcbnR5cGUgSWRFeHRyYWN0b3IgPSAnc2hvcGlmeS1wcm9kdWN0LWlkJyB8ICdzaG9waWZ5LWNvbGxlY3Rpb24taWQnIHwgJ3Nob3BpZnktcHJvZHVjdC12YXJpYW50LWlkJyB8ICd1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZCcgfCAndXJsLXJlc29sdmVyLXBscC1pZCcgfCAnbnVsbCc7XG5kZWNsYXJlIGVudW0gQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlIHtcbiAgICBWaXNpdENhdGVnb3J5TWFwID0gXCJWaXNpdENhdGVnb3J5TWFwXCIsXG4gICAgVmlzaXRDYXRlZ29yeURlZmF1bHQgPSBcIlZpc2l0Q2F0ZWdvcnlEZWZhdWx0XCJcbn1cbmludGVyZmFjZSBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8VCBleHRlbmRzIENhdGVnb3J5RXh0cmFjdG9yVHlwZT4ge1xuICAgIHR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeU1hcCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeU1hcD4ge1xuICAgIG1hcDoge1xuICAgICAgICBba2V5IGluIFBhZ2VWaXNpdENhdGVnb3J5XT86IHN0cmluZ1tdO1xuICAgIH07XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeURlZmF1bHQgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0PiB7XG4gICAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxudHlwZSBDYXRlZ29yeUV4dHJhY3RvciA9IFZpc2l0Q2F0ZWdvcnlNYXAgfCBWaXNpdENhdGVnb3J5RGVmYXVsdDtcbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIGVsZW1lbnQ6IHN0cmluZztcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbmRlY2xhcmUgZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgICBQYWdlQ2F0ZWdvcnkgPSBcIlBhZ2VDYXRlZ29yeVwiLFxuICAgIENhdGFsb2dDYXRlZ29yeSA9IFwiQ2F0YWxvZ0NhdGVnb3J5XCIsXG4gICAgVG9wQ2F0YWxvZ0NhdGVnb3J5ID0gXCJUb3BDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBIYXNSZXZpZXdzID0gXCJIYXNSZXZpZXdzXCIsXG4gICAgSW5Db2xsZWN0aW9uID0gXCJJbkNvbGxlY3Rpb25cIixcbiAgICBIYXNNZXJjaGFudFRhZyA9IFwiSGFzTWVyY2hhbnRUYWdcIixcbiAgICBGZWF0dXJlR2F0ZSA9IFwiRmVhdHVyZUdhdGVcIixcbiAgICBQbHBJZCA9IFwiUGxwSWRcIixcbiAgICBRdWVyeVBhcmFtID0gXCJRdWVyeVBhcmFtXCIsXG4gICAgUHJvZHVjdElkID0gXCJQcm9kdWN0SWRcIixcbiAgICBVc2VySGFzSW50ZXJhY3RlZCA9IFwiVXNlckhhc0ludGVyYWN0ZWRcIixcbiAgICBVc2VySGFzTm90SW50ZXJhY3RlZCA9IFwiVXNlckhhc05vdEludGVyYWN0ZWRcIixcbiAgICBpc0xvYWRpbmcgPSBcImlzTG9hZGluZ1wiLFxuICAgIGlzUHJvZHVjdENvbXBhcmlzb24gPSBcImlzUHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBGYWxsYmFjayA9IFwiRmFsbGJhY2tcIixcbiAgICBVcmxSZXNvbHZlciA9IFwiVXJsUmVzb2x2ZXJcIixcbiAgICBpc1NjcmVlbldpZHRoU21hbGxlciA9IFwiaXNTY3JlZW5XaWR0aFNtYWxsZXJcIixcbiAgICBOdWxsID0gXCJudWxsXCJcbn1cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gICAgdGVzdFR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICAgIHRvcENhdGVnb3J5OiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICAgIGNhdGVnb3J5OiBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeTtcbn1cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gICAgcmV2aWV3TWluaW11bT86IG51bWJlcjtcbn1cbmludGVyZmFjZSBJbkNvbGxlY3Rpb25UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbj4ge1xuICAgIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBIYXNNZXJjaGFudFRhZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzTWVyY2hhbnRUYWc+IHtcbiAgICBtZXJjaGFudFRhZ3M6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBhZ2VDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5PiB7XG4gICAgZXh0cmFjdG9yOiBDYXRlZ29yeUV4dHJhY3Rvcjtcbn1cbmludGVyZmFjZSBGZWF0dXJlR2F0ZVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGU+IHtcbiAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzO1xufVxuaW50ZXJmYWNlIFByb2R1Y3RJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUHJvZHVjdElkPiB7XG4gICAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBQbHBJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQ+IHtcbiAgICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gICAgcGxwSWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gICAgcXVlcnlQYXJhbTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7XG59XG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7XG59XG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge1xufVxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge1xufVxuaW50ZXJmYWNlIElzU2NyZWVuV2lkdGhTbWFsbGVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1NjcmVlbldpZHRoU21hbGxlcj4ge1xuICAgIGJyZWFrcG9pbnQ6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9IFBhZ2VDYXRlZ29yeVRlc3QgfCBDYXRhbG9nQ2F0ZWdvcnlUZXN0IHwgVG9wQ2F0YWxvZ0NhdGVnb3J5IHwgSGFzUmV2aWV3c1Rlc3QgfCBJbkNvbGxlY3Rpb25UZXN0IHwgSGFzTWVyY2hhbnRUYWdUZXN0IHwgRmVhdHVyZUdhdGVUZXN0IHwgUHJvZHVjdElkVGVzdCB8IFBscElkVGVzdCB8IFF1ZXJ5UGFyYW1UZXN0IHwgVXNlckhhc0ludGVyYWN0ZWRUZXN0IHwgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IHwgSXNMb2FkaW5nVGVzdCB8IElzUHJvZHVjdENvbXBhcmlzb24gfCBQYWdlRmFsbGJhY2tUZXN0IHwgVXJsUmVzb2x2ZXJUZXN0IHwgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0O1xuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgc29jaWFsIHByb29mIGVtYmVkZGVkIHdpZGdldFxuICpcbiAqIEBwYXJhbSBoZWFkZXJUaXRsZSAtIFRoZSB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBoZWFkZXJcbiAqIEBwYXJhbSBzdGF0aWNTdWdnZXN0aW9ucyAtIEEgbGlzdCBvZiBzdHJpbmdzIHRvIGRpc3BsYXkgYXMgc3VnZ2VzdGlvbnMgaW4gdGhlIHdpZGdldFxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgZm9vdGVyXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGJvZHlcbiAqIEBwYXJhbSBzdGF0aWNJbWFnZUluZGV4IC0gSW5kZXggb2YgdGhlIGltYWdlVXJsIHRvIHVzZSBmcm9tIHRoZSBwcm9kdWN0IHJlc3BvbnNlXG4gKi9cbmludGVyZmFjZSBTb2NpYWxQcm9vZkNvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeTogc3RyaW5nO1xuICAgIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0PzogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGhlYWRlckZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICAgIHN0YXRpY0ltYWdlSW5kZXg/OiBudW1iZXI7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uRGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBsb2dvTmFtZT86IHN0cmluZztcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIHRlc3RJZD86IHN0cmluZztcbiAgICBwYXJlbnRJbnNlcnRpb25Qb2ludD86IEluc2VydGlvblBvaW50O1xuICAgIGluc2VydGlvblBvaW50OiBJbnNlcnRpb25Qb2ludDtcbiAgICBncmlkSW5zZXJ0aW9uVHlwZT86IEdyaWRJbnNlcnRpb25UeXBlO1xuICAgIHdyYXBwaW5nRWxlbWVudD86IFdyYXBwaW5nRWxlbWVudDtcbiAgICBkaXZDaGVja1NlbGVjdG9yPzogc3RyaW5nO1xuICAgIHN1cHByZXNzaW9uU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgc3R5bGU/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICBkYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xudHlwZSBTdGF0aWNXaWRnZXRNb3VudGluZyA9IHtcbiAgICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG50eXBlIER5bmFtaWNXaWRnZXRNb3VudGluZyA9IHtcbiAgICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gICAgbW91bnRpbmdQb2ludFdpZGdldHM6IFdpZGdldERpc3BsYXlUZXN0c1tdO1xufTtcbnR5cGUgV2lkZ2V0RGlzcGxheVRlc3RzID0ge1xuICAgIHRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgV2lkZ2V0TW91bnRpbmcgPSBTdGF0aWNXaWRnZXRNb3VudGluZyB8IER5bmFtaWNXaWRnZXRNb3VudGluZztcbmRlY2xhcmUgZW51bSBXaWRnZXRUeXBlIHtcbiAgICBDaGF0UHJldmlldyA9IFwiQ2hhdFByZXZpZXdcIixcbiAgICBTb2NpYWxQcm9vZlYyID0gXCJTb2NpYWxQcm9vZlYyXCIsXG4gICAgQ2hhdFByZXZpZXdWMiA9IFwiQ2hhdFByZXZpZXdWMlwiLFxuICAgIENoYXRQcmV2aWV3SXNMb2FkaW5nID0gXCJDaGF0UHJldmlld0lzTG9hZGluZ1wiLFxuICAgIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uID0gXCJDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvblwiLFxuICAgIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24gPSBcIkNoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBTdWdnZXN0aW9uQmFyID0gXCJTdWdnZXN0aW9uQmFyXCIsXG4gICAgU3VnZ2VzdGlvbkJhclYyID0gXCJTdWdnZXN0aW9uQmFyVjJcIixcbiAgICBJbWFnZVByb21wdENhcmQgPSBcIkltYWdlUHJvbXB0Q2FyZFwiLFxuICAgIEltYWdlQmFubmVyID0gXCJJbWFnZUJhbm5lclwiLFxuICAgIFNpbmdsZUltYWdlUHJvbXB0ID0gXCJTaW5nbGVJbWFnZVByb21wdFwiLFxuICAgIFNlYXJjaFByb21wdCA9IFwiU2VhcmNoUHJvbXB0XCIsXG4gICAgU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCA9IFwiU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludFwiLFxuICAgIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50ID0gXCJTZWFyY2hSZXN1bHRzRW50cnlQb2ludFwiLFxuICAgIFNlYXJjaE92ZXJsYXlIb3N0ID0gXCJTZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgIE5vT3AgPSBcIk5vT3BcIlxufVxudHlwZSBXaWRnZXRDb25maWcgPSBDaGF0UHJldmlld1dpZGdldENvbmZpZyB8IFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcgfCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcgfCBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcgfCBJbWFnZVByb21wdFdpZGdldENvbmZpZyB8IEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnIHwgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgfCBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcgfCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIHwgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgfCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyB8IE5vT3BXaWRnZXRDb25maWc7XG5pbnRlcmZhY2UgQmFzZVdpZGdldENvbmZpZzxUIGV4dGVuZHMgV2lkZ2V0VHlwZT4ge1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gICAgdHlwZTogVDtcbiAgICBjb250ZW50SWQ/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VCYW5uZXI+IHtcbiAgICBpbWFnZVNyYzogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3VidGl0bGU6IHN0cmluZztcbiAgICBhc3Npc3RhbnRNZXNzYWdlOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXc+IHtcbiAgICB2YXJpYW50OiAnZmlsbGVkJyB8ICdmbGF0JyB8ICdvdXRsaW5lZCc7XG4gICAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG4gICAgc29jaWFsUHJvb2ZDb25maWc/OiBTb2NpYWxQcm9vZkNvbmZpZztcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbn1cbnR5cGUgU2luZ2xlSW1hZ2VDb25maWcgPSB7XG4gICAgbGF5b3V0OiAnc2luZ2xlJztcbiAgICBpbWFnZUluZGV4OiBudW1iZXI7XG59O1xudHlwZSBNdWx0aUltYWdlQ29uZmlnID0ge1xuICAgIGxheW91dDogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGltYWdlTmFtZXM6IHN0cmluZ1tdO1xufTtcbnR5cGUgU29jaWFsUHJvb2ZJbWFnZUNvbmZpZyA9IFNpbmdsZUltYWdlQ29uZmlnIHwgTXVsdGlJbWFnZUNvbmZpZztcbnR5cGUgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnID0ge1xuICAgIGJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIGFjY2VudEJ1dHRvblZhcmlhbnRzPzoge1xuICAgICAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgfTtcbiAgICBidXR0b25WYXJpYW50czoge1xuICAgICAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgfTtcbiAgICBudW1Sb3dzPzogTnVtUm93cztcbn07XG50eXBlIENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnID0ge1xuICAgIGxlYWRpbmdUZXh0OiBzdHJpbmc7XG4gICAgYW5pbWF0ZWRTdHJpbmdzOiBzdHJpbmdbXTtcbn07XG50eXBlIENoYXRQcmV2aWV3VmFyaWFudCA9IHtcbiAgICB2YXJpYW50OiAnZmxhdCc7XG59IHwge1xuICAgIHZhcmlhbnQ6ICdmaWxsZWQnO1xuICAgIGJhY2tncm91bmRGaWxsQ29sb3I6IHN0cmluZztcbn0gfCB7XG4gICAgdmFyaWFudDogJ291dGxpbmVkJztcbn07XG5pbnRlcmZhY2UgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBoZWFkZXJDb25maWc6IENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWc7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbnNDb25maWc6IENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gICAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdJc0xvYWRpbmc+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgdXNlTGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1YyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBhbmltYXRlZFRleHRDb25maWc6IENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnO1xufVxuaW50ZXJmYWNlIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU29jaWFsUHJvb2ZWMj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeT86IHN0cmluZztcbiAgICBpbWFnZUNvbmZpZzogU29jaWFsUHJvb2ZJbWFnZUNvbmZpZztcbn1cbmludGVyZmFjZSBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyPiB7XG4gICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbjtcbiAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcztcbiAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlclZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IHN0cmluZ1tdO1xuICAgICAgICBwcm9kdWN0U3BlY2lmaWM/OiB7XG4gICAgICAgICAgICBbcHJvZHVjdElkOiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gICAgdHdvUm93c09uTW9iaWxlPzogYm9vbGVhbjtcbiAgICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gICAgYnV0dG9uQm9yZGVyUmFkaXVzPzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xufVxuaW50ZXJmYWNlIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZD4ge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGxpZ2h0VGV4dD86IGJvb2xlYW47XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZTogc3RyaW5nW107XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gICAgZmFsbGJhY2tCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2luZ2xlSW1hZ2VQcm9tcHQ+IHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHN0cmluZ1tdO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xufVxuaW50ZXJmYWNlIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludD4ge1xuICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ7XG4gICAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gICAgc2VhcmNoSWNvblZhcmlhbnQ/OiBTZWFyY2hJY29uVmFyaWFudDtcbiAgICBzZWFyY2hJY29uU2l6ZT86IG51bWJlcjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIGxheW91dDogU2VhcmNoWmVyb1N0YXRlTGF5b3V0O1xuICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgYW5pbWF0aW9uU3BlZWQ/OiAnc3RhbmRhcmQnIHwgJ3Nsb3cnIHwgJ25vbmUnO1xuICAgIGNvbXBhY3RMYWJlbD86IHN0cmluZztcbiAgICBpbml0aWFsU3VnZ2VzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICB1c2luZ1BvcnRhbD86IGJvb2xlYW47XG4gICAgaW5jbHVkZVN1YnRpdGxlPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBOb09wV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLk5vT3A+IHtcbn1cbmludGVyZmFjZSBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hPdmVybGF5SG9zdD4ge1xufVxuaW50ZXJmYWNlIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50PiB7XG4gICAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gICAgc2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ6IFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50O1xuICAgIHByb2R1Y3RHcmlkVmFyaWFudDogUHJvZHVjdEdyaWRWYXJpYW50O1xuICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgbm9SZXN1bHRzRm91bmRUZXh0Pzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRIZWFkZXJQcm9wcyBleHRlbmRzIFRlc3RQcm9wcyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbG9nbz86IHN0cmluZztcbiAgICBsb2dvSGVpZ2h0PzogbnVtYmVyO1xuICAgIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICAgIHZhcmlhbnQ/OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyUXVlcnlPcHRpb25zIHtcbiAgICBmb290ZXJWYXJpYW50PzogJ3N0YW5kYXJkJztcbiAgICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ21hZ25pZnlpbmdHbGFzcycgfCAnc2VuZCcgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnYWktc2VhcmNoJztcbn1cbnR5cGUgU2VhcmNoUHJvbXB0VmFyaWFudCA9ICdwcmltYXJ5JztcbmludGVyZmFjZSBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUHJvbXB0PiB7XG4gICAgdmFyaWFudDogU2VhcmNoUHJvbXB0VmFyaWFudDtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGhlYWRlckNvbmZpZzogV2lkZ2V0SGVhZGVyUHJvcHM7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbnM6IHtcbiAgICAgICAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGJ1dHRvblRleHRzOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGZvb3RlckNvbmZpZz86IFVzZXJRdWVyeU9wdGlvbnM7XG59XG50eXBlIFBhZ2VWYXJpYW50QmFzZSA9IHtcbiAgICB2YXJpYW50SWQ6IHN0cmluZztcbiAgICB3aWRnZXRNb3VudGluZzogV2lkZ2V0TW91bnRpbmdbXTtcbiAgICB2YXJpYW50VGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICAgIGZsb2F0aW5nQnV0dG9uT3ZlcnJpZGU/OiBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zO1xufTtcbnR5cGUgUExQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwbHAnO1xuICAgIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG50eXBlIFBEUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGRwJztcbiAgICBwYXJlbnRQcm9kdWN0SWRFeHRyYWN0b3I/OiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcbnR5cGUgVmlzaXRQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BhZ2VfdmlzaXQnO1xufTtcbnR5cGUgT3RoZXJQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ290aGVyJztcbn07XG50eXBlIEhvbWVQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ2hvbWVwYWdlJztcbn07XG50eXBlIFNlYXJjaFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnc2VhcmNoJztcbn07XG50eXBlIEZ1bGxQYWdlU2FsZXNBZ2VudFZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdmdWxsX3BhZ2UnO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID0gUExQUGFnZVZhcmlhbnQgfCBQRFBQYWdlVmFyaWFudCB8IFZpc2l0UGFnZVZhcmlhbnQgfCBPdGhlclBhZ2VWYXJpYW50IHwgSG9tZVBhZ2VWYXJpYW50IHwgU2VhcmNoUGFnZVZhcmlhbnQgfCBGdWxsUGFnZVNhbGVzQWdlbnRWYXJpYW50O1xuZXhwb3J0IHR5cGUgT3JnUGFnZUNvbmZpZyA9IHtcbiAgICBwYWdlVmFyaWFudHM6IFBhZ2VWYXJpYW50Q29uZmlnW107XG4gICAgd2lkZ2V0Q29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0Q29uZmlnVjM+O1xuICAgIG1vdW50aW5nQ29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0TW91bnRpbmdDb25maWc+O1xufTtcbmV4cG9ydCB0eXBlIE9yZ0NvbmZpZyA9IE9yZ1VJQ29uZmlnO1xuZXhwb3J0IHsgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLCBDb2xvck5hbWVzLCBjb2xvclZhciwgUGFnZVZhcmlhbnRUZXN0VHlwZSwgV2lkZ2V0VHlwZSB9O1xuZXhwb3J0IGludGVyZmFjZSBFbnZpdmVDb25maWcge1xuICAgIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgICBkYXRhUmVzaWRlbmN5Pzogc3RyaW5nO1xuICAgIGVudj86IHN0cmluZztcbiAgICBiYXNlVXJsPzogc3RyaW5nO1xuICAgIHJlYWN0QXBwTmFtZT86IHN0cmluZztcbiAgICBjZG5Vcmw/OiBzdHJpbmc7XG4gICAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgICBvcmdMZXZlbEFwaUtleT86IHN0cmluZztcbiAgICBvcmdTaG9ydE5hbWU/OiBzdHJpbmc7XG4gICAgb3JnSWQ/OiBzdHJpbmc7XG4gICAgaWRlbnRpZnlpbmdQcmVmaXg/OiBzdHJpbmc7XG4gICAgZmVhdHVyZU92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAgIHZhcmlhbnRVcmxPdmVycmlkZT86IHN0cmluZztcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlPzogYW55O1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIGVudml2ZU9uPzogYm9vbGVhbjtcbiAgICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gICAgZmVhdHVyZUdhdGVzPzogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgICBoYXJkY29weU92ZXJyaWRlPzogUGFydGlhbDxSZWNvcmQ8V2lkZ2V0VHlwZVYzLCBIYXJkY29weVJlc3BvbnNlPj47XG4gICAgYWRkVG9DYXJ0PzogQWRkVG9DYXJ0Q2FsbGJhY2s7XG59XG5leHBvcnQgdHlwZSB7IENhdGVnb3J5RXh0cmFjdG9yLCBDaGF0TWVzc2FnZVZhcmlhbnQsIENoYXRNZXNzYWdlQ29uZmlnLCBDaGF0UHJldmlld0NvbmZpZywgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcsIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcsIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnLCBDaGF0UHJldmlld0hlYWRlckNvbmZpZywgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3VmFyaWFudCwgQ29sb3JNYXBwaW5nLCBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnLCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sIElkRXh0cmFjdG9yLCBJbWFnZUJhbm5lcldpZGdldENvbmZpZywgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIEluc2VydGlvblBvaW50LCBNdWx0aUltYWdlQ29uZmlnLCBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncywgU2VhcmNoQ29uZmlnLCBPcmdVSUNvbmZpZywgUGFnZUNhcmRDb25maWcsIFBhZ2VDYXJkVmFyaWFudCwgUGFnZUNhcmRIb3ZlclZhcmlhbnQsIFBhZ2VDYXJkSWNvblZhcmlhbnQsIFByb2R1Y3RDYXJkQ29uZmlnLCBQcm9kdWN0Q2FyZFZhcmlhbnQsIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCwgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50LCBQcm9kdWN0TGlua0ljb25WYXJpYW50LCBQcm9kdWN0TGlua1ZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb25maWcsIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQsIFNlYXJjaFByb21wdFZhcmlhbnQsIFNlYXJjaFByb21wdFdpZGdldENvbmZpZywgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMsIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZywgU29jaWFsUHJvb2ZDb25maWcsIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQsIFVSTFRlc3QsIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZywgVXNlclF1ZXJ5QnV0dG9uSWNvbiwgV2VsY29tZVNlY3Rpb25Db25maWcsIFdlbGNvbWVTZWN0aW9uVmFyaWFudCwgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQsIFdpZGdldENvbmZpZywgV3JhcHBpbmdFbGVtZW50LCBTZWFyY2hDYXJkVmFyaWFudCwgV2lkZ2V0RGlzcGxheVRlc3RzLCBOb09wV2lkZ2V0Q29uZmlnLCBXaWRnZXRNb3VudGluZywgU3RhdGljV2lkZ2V0TW91bnRpbmcsIER5bmFtaWNXaWRnZXRNb3VudGluZywgUERQUGFnZVZhcmlhbnQsIFBMUFBhZ2VWYXJpYW50LCBWaXNpdFBhZ2VWYXJpYW50LCBPdGhlclBhZ2VWYXJpYW50LCBIb21lUGFnZVZhcmlhbnQsIFNlYXJjaFBhZ2VWYXJpYW50LCBOdW1Sb3dzLCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBY0EsSUFBSSw0QkFBNEIsQ0FBQyxHQUFHO0FBQ3BDLElBQUksMkJBQTJCLENBQUMsVUFBQSwwQkFBQTtBQUNoQyxJQUFJLHdCQUF3QixDQUFDLEdBQUc7QUFDaEMsSUFBSSw2QkFBZ0IsQ0FBQSxHQUFBO0FBQ3BCLElBQUksdUJBQWU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFJLG9CQUFlO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBSSwwQkFBQyxDQUFBLEdBQUE7QUFDTCxJ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
709
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHRzL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uJztcbmltcG9ydCB7IENvbG9yTWFwcGluZywgQ29sb3JOYW1lcywgY29sb3JWYXIgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgeyBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsIEN1c3RvbWVyU2VydmljZVR5cGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdG9tZXJTZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRJbnNlcnRpb25UeXBlIH0gZnJvbSAnc3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uJztcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2RvbUluc2VydGlvbic7XG5pbXBvcnQgdHlwZSB7IFBhZ2VWaXNpdENhdGVnb3J5LCBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB0eXBlIHsgQWRkVG9DYXJ0Q2FsbGJhY2sgfSBmcm9tICdzcmMvdHlwZXMvZW52aXZlQ29uZmlnJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ1YzLCBXaWRnZXRUeXBlVjMgfSBmcm9tICcuL3R5cGVzVjMnO1xuaW1wb3J0IHR5cGUgeyBIYXJkY29weVJlc3BvbnNlIH0gZnJvbSAnLi9oYXJkY29weUNvbnRleHQvaGFyZGNvcHlDb250ZXh0JztcbnR5cGUgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyA9ICdhbHdheXMnIHwgJ2FmdGVyLWludGVyYWN0aW9uLW9uLW1vYmlsZS1hbHdheXMtZGVza3RvcCcgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tYW55d2hlcmUnIHwgJ25ldmVyJztcbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICAgIHBvc2l0aW9uOiAnYm90dG9tLWxlZnQnIHwgJ21pZGRsZS1sZWZ0JyB8ICdtaWRkbGUtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCc7XG4gICAgZXhwYW5zaW9uVGV4dD86IHtcbiAgICAgICAgcGRwOiBzdHJpbmc7XG4gICAgICAgIHBscDogc3RyaW5nO1xuICAgIH07XG4gICAgbWluaW1pemVkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIHNob3dPcHRpb246IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG4gICAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgICBpY29uU2l6ZT86IG51bWJlcjtcbiAgICBpY29uU3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBudW1iZXI7XG59O1xudHlwZSBXZWxjb21lU2VjdGlvblZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ291dGxpbmVkJztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db25maWcgPSB7XG4gICAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICAgIGNvbG9yVmFyaWFudD86IFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50O1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGljb25OYW1lPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdDb25maWcgPSB7XG4gICAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICAgIGxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xuICAgIGZpbGxlZEJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dFNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVySG92ZXJDb2xvcj86IHN0cmluZztcbiAgICBjb3BpZXM6IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7XG4gICAgICAgIHBkcDogc3RyaW5nW107XG4gICAgICAgIHBscDogc3RyaW5nW107XG4gICAgfTtcbiAgICBzdGF0aWNQTFBJbWFnZXM/OiBzdHJpbmdbXTtcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbiAgICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgICB0b3BNYXJnaW4/OiBudW1iZXI7XG59O1xudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgICBzcGFya2xlc0NvbG9yPzogc3RyaW5nO1xuICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgIGljb25XaWR0aD86IHN0cmluZztcbiAgICBpY29uSGVpZ2h0Pzogc3RyaW5nO1xufTtcbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gICAgaGFzRmFkZT86IGJvb2xlYW47XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ/OiAnZGFyaycgfCAnbGlnaHQnIHwgJ291dGxpbmVkJztcbiAgICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gICAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHJlcGx5SW5wdXRIYXNTaGFkb3c/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xudHlwZSBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50ID0gJ25ldXRyYWwnIHwgJ2JyYW5kJyB8ICdwcmVtaXVtJztcbmludGVyZmFjZSBQcm9kdWN0UmV2aWV3Q29uZmlnIHtcbiAgICBzdHlsZVZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICAgIHZlcmlmaWVkQnV5ZXJUaXRsZTogc3RyaW5nO1xuICAgIGluY2VudGl2aXplZFJldmlld0ZsYWc/OiBib29sZWFuO1xufVxudHlwZSBQYWdlQ2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgfCAnbWluaW1hbCc7XG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG50eXBlIFBhZ2VDYXJkSWNvblZhcmlhbnQgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICdiYWNrZ3JvdW5kJyB8ICdub25lJztcbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gICAgdmFyaWFudDogUGFnZUNhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gICAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG50eXBlIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJyB8ICdub25lJztcbnR5cGUgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50ID0gJ25vcm1hbCcgfCAndGFsbCcgfCAnc3F1YXJlJztcbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gICAgdmFyaWFudDogUHJvZHVjdENhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gICAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICAgIHByaWNlUHJlZml4Pzogc3RyaW5nO1xufVxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICAgIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICAgIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgc3VwcG9ydFRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gICAgZXhwYW5kZWRDb2xvcjogc3RyaW5nO1xuICAgIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAgIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgICBoZWFkZXJCYXJIZWlnaHRQYXJ0aWFsVmlldzogbnVtYmVyO1xuICAgIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gICAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbn07XG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBjaGF0RW5hYmxlZER1cmluZ0J1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHNob3dOYW1lSW5wdXQ/OiBib29sZWFuO1xuICAgIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gICAgd2VsY29tZVRpdGxlOiBzdHJpbmc7XG4gICAgd2VsY29tZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICAgIGNvbnRhY3RTdWJqZWN0T3B0aW9ucz86IHN0cmluZ1tdO1xuICAgIGdldEN1c3RvbVdhaXRpbmdNZXNzYWdlPzogKG5hbWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICBidXNpbmVzc0hvdXJzUG9sbGluZz86IG51bWJlcjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNTdGFydFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICAgKi9cbiAgICBidXNpbmVzc0hvdXJzVGltZXpvbmU/OiBzdHJpbmc7XG4gICAgc2hvd0FJU3VnZ2VzdGlvbnNXaXRoaW5CdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgICB3YWl0aW5nTWVzc2FnZVBvc2l0aW9uPzogJ0JFRk9SRV9NRVNTQUdFUycgfCAnQUZURVJfTUVTU0FHRVMnO1xuICAgIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzQnV0dG9udGV4dD86IHN0cmluZztcbiAgICByZW9wZW5DaGF0TWVzc2FnZTogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiB8IEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICByZXBseUlucHV0PzogUmVwbHlJbnB1dENvbmZpZztcbiAgICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGVudHJ5cG9pbnRCZ0NvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRCdG5UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRyaWdnZXI/OiBzdHJpbmc7XG4gICAgcHJvZHVjdEdyaWRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgICBwYWdlQ29udGVudD86IHN0cmluZztcbiAgICBzZWFyY2hDb250ZW50Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgICBzZWxlY3Rpb25UaXRsZT86IHN0cmluZztcbiAgICBzb3J0aW5nRm9udD86IHN0cmluZztcbiAgICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgICBzb3J0aW5nQnV0dG9uVGV4dD86IHN0cmluZztcbn07XG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcbmludGVyZmFjZSBDaGF0TWVzc2FnZUNvbmZpZyB7XG4gICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gICAgdmFyaWFudDogQ2hhdE1lc3NhZ2VWYXJpYW50O1xuICAgIHByb2R1Y3RMaW5rOiB7XG4gICAgICAgIHZhcmlhbnQ6IFByb2R1Y3RMaW5rVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICAgICAgaWNvblZhcmlhbnQ6IFByb2R1Y3RMaW5rSWNvblZhcmlhbnQ7XG4gICAgfTtcbn1cbmludGVyZmFjZSBSZXBseUlucHV0Q29uZmlnIHtcbiAgICBzaXplPzogJ21kJyB8ICdsZyc7XG4gICAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG59XG50eXBlIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQgPSAnYWNjZW50UHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaycgfCAnYm9yZGVyTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBQcm9kdWN0TGlua1ZhcmlhbnQgPSAndGV4dExpbmsnO1xudHlwZSBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCA9ICdiYWNrZ3JvdW5kRGFyayc7XG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID0gJ2JhY2tncm91bmRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyaycgfCAnYmFja2dyb3VuZExpZ2h0JyB8ICdiYWNrZ3JvdW5kU2F0dXJhdGVkJztcbnR5cGUgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQgPSAnb3V0bGluZWQnIHwgJ291dGxpbmVkTGlnaHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ2RhcmsnIHwgJ2RhcmtBY2NlbnQnIHwgJ2RhcmtQcmltYXJ5JyB8ICdzZWNvbmRhcnlEYXJrJyB8ICdzZWNvbmRhcnlBY2NlbnQnIHwgJ3RyYW5zcGFyZW50JyB8ICd0cmFuc3BhcmVudERhcmsnIHwgJ2xpZ2h0RGFyayc7XG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGFuc3dlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG50eXBlIE51bVJvd3MgPSAnZGVmYXVsdCcgfCAnYWx3YXlzT25lUm93JyB8ICdhbHdheXNUd29Sb3dzJyB8ICd0d29Sb3dzT25Nb2JpbGUnO1xuaW50ZXJmYWNlIEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnYWxwaGFiZXRpYyc7XG59XG5pbnRlcmZhY2UgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xufVxudHlwZSBGaWx0ZXJTb3J0aW5nID0gQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcgfCBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHwgQ3VzdG9tRmlsdGVyU29ydGluZztcbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgRHluYW1pY0ZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIHR5cGU6ICdkeW5hbWljJztcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBzb3J0aW5nOiBGaWx0ZXJTb3J0aW5nO1xufVxuaW50ZXJmYWNlIFByaWNlRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ3ByaWNlJztcbiAgICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBGaWx0ZXJBdHRyaWJ1dGUgPSBEeW5hbWljRmlsdGVyQ29uZmlnIHwgUHJpY2VGaWx0ZXJDb25maWc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVWYXJpYW50ID0gJ2JhY2tncm91bmRUZXJ0aWFyeScgfCAnYmFja2dyb3VuZERhcmsnIHwgJ2JhY2tncm91bmRQcmltYXJ5JztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZUxheW91dCA9ICdpbnB1dCcgfCAnaWNvbic7XG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuZXhwb3J0IHR5cGUgU2VhcmNoSWNvblZhcmlhbnQgPSAndGhpbicgfCAnYm9sZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudCA9ICdkYXJrQnV0dG9uJyB8ICdsaWdodEJ1dHRvbic7XG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG50eXBlIFVzZXJRdWVyeUJ1dHRvbkljb24gPSAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICdtYWduaWZ5aW5nR2xhc3NUaGluJyB8ICdzZW5kQXJyb3cnIHwgJ3NlYXJjaEljb24nO1xuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86ICdib3gnIHwgJ3VuZGVybGluZUxpZ2h0JyB8ICd1bmRlcmxpbmVEYXJrJztcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gICAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cbmludGVyZmFjZSBUZXJtc0FuZENvbmRpdGlvbnNDb25maWcge1xuICAgIGNvcHk6IHN0cmluZztcbiAgICBsaW5rOiBzdHJpbmc7XG4gICAgbGlua1RleHQ6IHN0cmluZztcbn1cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gICAgZHluYW1pY1ZhcmlhbnRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbD86IG51bWJlcjtcbiAgICB9O1xufVxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdENvbmZpZyB7XG4gICAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICAgIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gICAgdGVybXNBbmRDb25kaXRpb25zQ29uZmlnPzogVGVybXNBbmRDb25kaXRpb25zQ29uZmlnO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHJlcGx5SW5wdXRDb25maWc6IFJlcGx5SW5wdXRDb25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgICBlbmFibGVHbG9iYWxTZWFyY2g6IGJvb2xlYW47XG4gICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBGaWx0ZXJBdHRyaWJ1dGVbXTtcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgICByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw/OiBzdHJpbmc7XG4gICAgYWRkaXRpdmVEeW5hbWljRmlsdGVycz86IGJvb2xlYW47XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nPzogc3RyaW5nO1xufVxudHlwZSBDb25maWdWZXJzaW9uID0gJ3YzJyB8ICdkZXByZWNhdGVkJyB8IHVuZGVmaW5lZDtcbnR5cGUgT3JnVUlDb25maWcgPSB7XG4gICAgdmVyc2lvbj86IENvbmZpZ1ZlcnNpb247XG4gICAgc2hvcnROYW1lOiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAgIGNoYXRQcmV2aWV3Q29uZmlnPzogQ2hhdFByZXZpZXdDb25maWc7XG4gICAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoPzogQ29udmVyc2F0aW9uYWxTZWFjaDtcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuICAgIGhpZGRlbkVsZW1lbnRTZWxlY3RvcnM/OiBzdHJpbmdbXTtcbiAgICBtZXJjaGFudFZhcmlhbnRTZXR0aW5ncz86IE1lcmNoYW50VmFyaWFudFNldHRpbmdzO1xuICAgIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuICAgIHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnO1xuICAgIGNoYXRIZWFkZXI6IENoYXRIZWFkZXJDb25maWc7XG4gICAgc3RpY2t5QWdlbnRTd2l0Y2hTdWdnZXN0aW9uPzogYm9vbGVhbjtcbiAgICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc/OiBXZWxjb21lU2VjdGlvbkNvbmZpZztcbiAgICBwcm9kdWN0Q2FyZENvbmZpZz86IFByb2R1Y3RDYXJkQ29uZmlnO1xuICAgIHByb2R1Y3RSZXZpZXdDb25maWc/OiBQcm9kdWN0UmV2aWV3Q29uZmlnO1xuICAgIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gICAgY2hhdE1lc3NhZ2VDb25maWc6IENoYXRNZXNzYWdlQ29uZmlnO1xufTtcbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gICAgc2VsZWN0b3I6IHN0cmluZztcbiAgICBzZWxlY3Rpb25JbmRleD86IG51bWJlcjtcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbnR5cGUgVVJMVGVzdCA9ICdzaG9waWZ5JyB8ICdudWxsJztcbnR5cGUgSWRFeHRyYWN0b3IgPSAnc2hvcGlmeS1wcm9kdWN0LWlkJyB8ICdzaG9waWZ5LWNvbGxlY3Rpb24taWQnIHwgJ3Nob3BpZnktcHJvZHVjdC12YXJpYW50LWlkJyB8ICd1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZCcgfCAndXJsLXJlc29sdmVyLXBscC1pZCcgfCAnbnVsbCc7XG5kZWNsYXJlIGVudW0gQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlIHtcbiAgICBWaXNpdENhdGVnb3J5TWFwID0gXCJWaXNpdENhdGVnb3J5TWFwXCIsXG4gICAgVmlzaXRDYXRlZ29yeURlZmF1bHQgPSBcIlZpc2l0Q2F0ZWdvcnlEZWZhdWx0XCJcbn1cbmludGVyZmFjZSBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8VCBleHRlbmRzIENhdGVnb3J5RXh0cmFjdG9yVHlwZT4ge1xuICAgIHR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeU1hcCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeU1hcD4ge1xuICAgIG1hcDoge1xuICAgICAgICBba2V5IGluIFBhZ2VWaXNpdENhdGVnb3J5XT86IHN0cmluZ1tdO1xuICAgIH07XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeURlZmF1bHQgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0PiB7XG4gICAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxudHlwZSBDYXRlZ29yeUV4dHJhY3RvciA9IFZpc2l0Q2F0ZWdvcnlNYXAgfCBWaXNpdENhdGVnb3J5RGVmYXVsdDtcbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIGVsZW1lbnQ6IHN0cmluZztcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbmRlY2xhcmUgZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgICBQYWdlQ2F0ZWdvcnkgPSBcIlBhZ2VDYXRlZ29yeVwiLFxuICAgIENhdGFsb2dDYXRlZ29yeSA9IFwiQ2F0YWxvZ0NhdGVnb3J5XCIsXG4gICAgVG9wQ2F0YWxvZ0NhdGVnb3J5ID0gXCJUb3BDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBIYXNSZXZpZXdzID0gXCJIYXNSZXZpZXdzXCIsXG4gICAgSW5Db2xsZWN0aW9uID0gXCJJbkNvbGxlY3Rpb25cIixcbiAgICBIYXNNZXJjaGFudFRhZyA9IFwiSGFzTWVyY2hhbnRUYWdcIixcbiAgICBGZWF0dXJlR2F0ZSA9IFwiRmVhdHVyZUdhdGVcIixcbiAgICBQbHBJZCA9IFwiUGxwSWRcIixcbiAgICBRdWVyeVBhcmFtID0gXCJRdWVyeVBhcmFtXCIsXG4gICAgUHJvZHVjdElkID0gXCJQcm9kdWN0SWRcIixcbiAgICBVc2VySGFzSW50ZXJhY3RlZCA9IFwiVXNlckhhc0ludGVyYWN0ZWRcIixcbiAgICBVc2VySGFzTm90SW50ZXJhY3RlZCA9IFwiVXNlckhhc05vdEludGVyYWN0ZWRcIixcbiAgICBpc0xvYWRpbmcgPSBcImlzTG9hZGluZ1wiLFxuICAgIGlzUHJvZHVjdENvbXBhcmlzb24gPSBcImlzUHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBGYWxsYmFjayA9IFwiRmFsbGJhY2tcIixcbiAgICBVcmxSZXNvbHZlciA9IFwiVXJsUmVzb2x2ZXJcIixcbiAgICBpc1NjcmVlbldpZHRoU21hbGxlciA9IFwiaXNTY3JlZW5XaWR0aFNtYWxsZXJcIixcbiAgICBOdWxsID0gXCJudWxsXCJcbn1cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gICAgdGVzdFR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICAgIHRvcENhdGVnb3J5OiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICAgIGNhdGVnb3J5OiBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeTtcbn1cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gICAgcmV2aWV3TWluaW11bT86IG51bWJlcjtcbn1cbmludGVyZmFjZSBJbkNvbGxlY3Rpb25UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbj4ge1xuICAgIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBIYXNNZXJjaGFudFRhZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzTWVyY2hhbnRUYWc+IHtcbiAgICBtZXJjaGFudFRhZ3M6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBhZ2VDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5PiB7XG4gICAgZXh0cmFjdG9yOiBDYXRlZ29yeUV4dHJhY3Rvcjtcbn1cbmludGVyZmFjZSBGZWF0dXJlR2F0ZVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGU+IHtcbiAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzO1xufVxuaW50ZXJmYWNlIFByb2R1Y3RJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUHJvZHVjdElkPiB7XG4gICAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBQbHBJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQ+IHtcbiAgICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gICAgcGxwSWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gICAgcXVlcnlQYXJhbTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7XG59XG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7XG59XG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge1xufVxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge1xufVxuaW50ZXJmYWNlIElzU2NyZWVuV2lkdGhTbWFsbGVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1NjcmVlbldpZHRoU21hbGxlcj4ge1xuICAgIGJyZWFrcG9pbnQ6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9IFBhZ2VDYXRlZ29yeVRlc3QgfCBDYXRhbG9nQ2F0ZWdvcnlUZXN0IHwgVG9wQ2F0YWxvZ0NhdGVnb3J5IHwgSGFzUmV2aWV3c1Rlc3QgfCBJbkNvbGxlY3Rpb25UZXN0IHwgSGFzTWVyY2hhbnRUYWdUZXN0IHwgRmVhdHVyZUdhdGVUZXN0IHwgUHJvZHVjdElkVGVzdCB8IFBscElkVGVzdCB8IFF1ZXJ5UGFyYW1UZXN0IHwgVXNlckhhc0ludGVyYWN0ZWRUZXN0IHwgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IHwgSXNMb2FkaW5nVGVzdCB8IElzUHJvZHVjdENvbXBhcmlzb24gfCBQYWdlRmFsbGJhY2tUZXN0IHwgVXJsUmVzb2x2ZXJUZXN0IHwgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0O1xuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgc29jaWFsIHByb29mIGVtYmVkZGVkIHdpZGdldFxuICpcbiAqIEBwYXJhbSBoZWFkZXJUaXRsZSAtIFRoZSB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBoZWFkZXJcbiAqIEBwYXJhbSBzdGF0aWNTdWdnZXN0aW9ucyAtIEEgbGlzdCBvZiBzdHJpbmdzIHRvIGRpc3BsYXkgYXMgc3VnZ2VzdGlvbnMgaW4gdGhlIHdpZGdldFxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgZm9vdGVyXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGJvZHlcbiAqIEBwYXJhbSBzdGF0aWNJbWFnZUluZGV4IC0gSW5kZXggb2YgdGhlIGltYWdlVXJsIHRvIHVzZSBmcm9tIHRoZSBwcm9kdWN0IHJlc3BvbnNlXG4gKi9cbmludGVyZmFjZSBTb2NpYWxQcm9vZkNvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeTogc3RyaW5nO1xuICAgIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0PzogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGhlYWRlckZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICAgIHN0YXRpY0ltYWdlSW5kZXg/OiBudW1iZXI7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uRGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBsb2dvTmFtZT86IHN0cmluZztcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIHRlc3RJZD86IHN0cmluZztcbiAgICBwYXJlbnRJbnNlcnRpb25Qb2ludD86IEluc2VydGlvblBvaW50O1xuICAgIGluc2VydGlvblBvaW50OiBJbnNlcnRpb25Qb2ludDtcbiAgICBncmlkSW5zZXJ0aW9uVHlwZT86IEdyaWRJbnNlcnRpb25UeXBlO1xuICAgIHdyYXBwaW5nRWxlbWVudD86IFdyYXBwaW5nRWxlbWVudDtcbiAgICBkaXZDaGVja1NlbGVjdG9yPzogc3RyaW5nO1xuICAgIHN1cHByZXNzaW9uU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgc3R5bGU/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICBkYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xudHlwZSBTdGF0aWNXaWRnZXRNb3VudGluZyA9IHtcbiAgICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG50eXBlIER5bmFtaWNXaWRnZXRNb3VudGluZyA9IHtcbiAgICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gICAgbW91bnRpbmdQb2ludFdpZGdldHM6IFdpZGdldERpc3BsYXlUZXN0c1tdO1xufTtcbnR5cGUgV2lkZ2V0RGlzcGxheVRlc3RzID0ge1xuICAgIHRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgV2lkZ2V0TW91bnRpbmcgPSBTdGF0aWNXaWRnZXRNb3VudGluZyB8IER5bmFtaWNXaWRnZXRNb3VudGluZztcbmRlY2xhcmUgZW51bSBXaWRnZXRUeXBlIHtcbiAgICBDaGF0UHJldmlldyA9IFwiQ2hhdFByZXZpZXdcIixcbiAgICBTb2NpYWxQcm9vZlYyID0gXCJTb2NpYWxQcm9vZlYyXCIsXG4gICAgQ2hhdFByZXZpZXdWMiA9IFwiQ2hhdFByZXZpZXdWMlwiLFxuICAgIENoYXRQcmV2aWV3SXNMb2FkaW5nID0gXCJDaGF0UHJldmlld0lzTG9hZGluZ1wiLFxuICAgIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uID0gXCJDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvblwiLFxuICAgIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24gPSBcIkNoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBTdWdnZXN0aW9uQmFyID0gXCJTdWdnZXN0aW9uQmFyXCIsXG4gICAgU3VnZ2VzdGlvbkJhclYyID0gXCJTdWdnZXN0aW9uQmFyVjJcIixcbiAgICBJbWFnZVByb21wdENhcmQgPSBcIkltYWdlUHJvbXB0Q2FyZFwiLFxuICAgIEltYWdlQmFubmVyID0gXCJJbWFnZUJhbm5lclwiLFxuICAgIFNpbmdsZUltYWdlUHJvbXB0ID0gXCJTaW5nbGVJbWFnZVByb21wdFwiLFxuICAgIFNlYXJjaFByb21wdCA9IFwiU2VhcmNoUHJvbXB0XCIsXG4gICAgU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCA9IFwiU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludFwiLFxuICAgIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50ID0gXCJTZWFyY2hSZXN1bHRzRW50cnlQb2ludFwiLFxuICAgIFNlYXJjaE92ZXJsYXlIb3N0ID0gXCJTZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgIE5vT3AgPSBcIk5vT3BcIlxufVxudHlwZSBXaWRnZXRDb25maWcgPSBDaGF0UHJldmlld1dpZGdldENvbmZpZyB8IFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcgfCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcgfCBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcgfCBJbWFnZVByb21wdFdpZGdldENvbmZpZyB8IEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnIHwgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgfCBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcgfCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIHwgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgfCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyB8IE5vT3BXaWRnZXRDb25maWc7XG5pbnRlcmZhY2UgQmFzZVdpZGdldENvbmZpZzxUIGV4dGVuZHMgV2lkZ2V0VHlwZT4ge1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gICAgdHlwZTogVDtcbiAgICBjb250ZW50SWQ/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VCYW5uZXI+IHtcbiAgICBpbWFnZVNyYzogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3VidGl0bGU6IHN0cmluZztcbiAgICBhc3Npc3RhbnRNZXNzYWdlOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXc+IHtcbiAgICB2YXJpYW50OiAnZmlsbGVkJyB8ICdmbGF0JyB8ICdvdXRsaW5lZCc7XG4gICAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG4gICAgc29jaWFsUHJvb2ZDb25maWc/OiBTb2NpYWxQcm9vZkNvbmZpZztcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbn1cbnR5cGUgU2luZ2xlSW1hZ2VDb25maWcgPSB7XG4gICAgbGF5b3V0OiAnc2luZ2xlJztcbiAgICBpbWFnZUluZGV4OiBudW1iZXI7XG59O1xudHlwZSBNdWx0aUltYWdlQ29uZmlnID0ge1xuICAgIGxheW91dDogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGltYWdlTmFtZXM6IHN0cmluZ1tdO1xufTtcbnR5cGUgU29jaWFsUHJvb2ZJbWFnZUNvbmZpZyA9IFNpbmdsZUltYWdlQ29uZmlnIHwgTXVsdGlJbWFnZUNvbmZpZztcbnR5cGUgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnID0ge1xuICAgIGJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIGFjY2VudEJ1dHRvblZhcmlhbnRzPzoge1xuICAgICAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgfTtcbiAgICBidXR0b25WYXJpYW50czoge1xuICAgICAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgfTtcbiAgICBudW1Sb3dzPzogTnVtUm93cztcbn07XG50eXBlIENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnID0ge1xuICAgIGxlYWRpbmdUZXh0OiBzdHJpbmc7XG4gICAgYW5pbWF0ZWRTdHJpbmdzOiBzdHJpbmdbXTtcbn07XG50eXBlIENoYXRQcmV2aWV3VmFyaWFudCA9IHtcbiAgICB2YXJpYW50OiAnZmxhdCc7XG59IHwge1xuICAgIHZhcmlhbnQ6ICdmaWxsZWQnO1xuICAgIGJhY2tncm91bmRGaWxsQ29sb3I6IHN0cmluZztcbn0gfCB7XG4gICAgdmFyaWFudDogJ291dGxpbmVkJztcbn07XG5pbnRlcmZhY2UgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBoZWFkZXJDb25maWc6IENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWc7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbnNDb25maWc6IENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gICAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdJc0xvYWRpbmc+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgdXNlTGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1YyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBhbmltYXRlZFRleHRDb25maWc6IENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnO1xufVxuaW50ZXJmYWNlIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU29jaWFsUHJvb2ZWMj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeT86IHN0cmluZztcbiAgICBpbWFnZUNvbmZpZzogU29jaWFsUHJvb2ZJbWFnZUNvbmZpZztcbn1cbmludGVyZmFjZSBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyPiB7XG4gICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbjtcbiAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcztcbiAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlclZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IHN0cmluZ1tdO1xuICAgICAgICBwcm9kdWN0U3BlY2lmaWM/OiB7XG4gICAgICAgICAgICBbcHJvZHVjdElkOiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gICAgdHdvUm93c09uTW9iaWxlPzogYm9vbGVhbjtcbiAgICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gICAgYnV0dG9uQm9yZGVyUmFkaXVzPzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xufVxuaW50ZXJmYWNlIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZD4ge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGxpZ2h0VGV4dD86IGJvb2xlYW47XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZTogc3RyaW5nW107XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gICAgZmFsbGJhY2tCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2luZ2xlSW1hZ2VQcm9tcHQ+IHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHN0cmluZ1tdO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xufVxuaW50ZXJmYWNlIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludD4ge1xuICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ7XG4gICAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gICAgc2VhcmNoSWNvblZhcmlhbnQ/OiBTZWFyY2hJY29uVmFyaWFudDtcbiAgICBzZWFyY2hJY29uU2l6ZT86IG51bWJlcjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIGxheW91dDogU2VhcmNoWmVyb1N0YXRlTGF5b3V0O1xuICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgYW5pbWF0aW9uU3BlZWQ/OiAnc3RhbmRhcmQnIHwgJ3Nsb3cnIHwgJ25vbmUnO1xuICAgIGNvbXBhY3RMYWJlbD86IHN0cmluZztcbiAgICBpbml0aWFsU3VnZ2VzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICB1c2luZ1BvcnRhbD86IGJvb2xlYW47XG4gICAgaW5jbHVkZVN1YnRpdGxlPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBOb09wV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLk5vT3A+IHtcbn1cbmludGVyZmFjZSBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hPdmVybGF5SG9zdD4ge1xufVxuaW50ZXJmYWNlIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50PiB7XG4gICAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gICAgc2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ6IFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50O1xuICAgIHByb2R1Y3RHcmlkVmFyaWFudDogUHJvZHVjdEdyaWRWYXJpYW50O1xuICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgbm9SZXN1bHRzRm91bmRUZXh0Pzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRIZWFkZXJQcm9wcyBleHRlbmRzIFRlc3RQcm9wcyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbG9nbz86IHN0cmluZztcbiAgICBsb2dvSGVpZ2h0PzogbnVtYmVyO1xuICAgIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICAgIHZhcmlhbnQ/OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyUXVlcnlPcHRpb25zIHtcbiAgICBmb290ZXJWYXJpYW50PzogJ3N0YW5kYXJkJztcbiAgICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ21hZ25pZnlpbmdHbGFzcycgfCAnc2VuZCcgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnYWktc2VhcmNoJztcbn1cbnR5cGUgU2VhcmNoUHJvbXB0VmFyaWFudCA9ICdwcmltYXJ5JztcbmludGVyZmFjZSBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUHJvbXB0PiB7XG4gICAgdmFyaWFudDogU2VhcmNoUHJvbXB0VmFyaWFudDtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGhlYWRlckNvbmZpZzogV2lkZ2V0SGVhZGVyUHJvcHM7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbnM6IHtcbiAgICAgICAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGJ1dHRvblRleHRzOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGZvb3RlckNvbmZpZz86IFVzZXJRdWVyeU9wdGlvbnM7XG59XG50eXBlIFBhZ2VWYXJpYW50QmFzZSA9IHtcbiAgICB2YXJpYW50SWQ6IHN0cmluZztcbiAgICB3aWRnZXRNb3VudGluZzogV2lkZ2V0TW91bnRpbmdbXTtcbiAgICB2YXJpYW50VGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICAgIGZsb2F0aW5nQnV0dG9uT3ZlcnJpZGU/OiBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zO1xufTtcbnR5cGUgUExQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwbHAnO1xuICAgIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG50eXBlIFBEUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGRwJztcbiAgICBwYXJlbnRQcm9kdWN0SWRFeHRyYWN0b3I/OiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcbnR5cGUgVmlzaXRQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BhZ2VfdmlzaXQnO1xufTtcbnR5cGUgT3RoZXJQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ290aGVyJztcbn07XG50eXBlIEhvbWVQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ2hvbWVwYWdlJztcbn07XG50eXBlIFNlYXJjaFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnc2VhcmNoJztcbn07XG50eXBlIEZ1bGxQYWdlU2FsZXNBZ2VudFZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdmdWxsX3BhZ2UnO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID0gUExQUGFnZVZhcmlhbnQgfCBQRFBQYWdlVmFyaWFudCB8IFZpc2l0UGFnZVZhcmlhbnQgfCBPdGhlclBhZ2VWYXJpYW50IHwgSG9tZVBhZ2VWYXJpYW50IHwgU2VhcmNoUGFnZVZhcmlhbnQgfCBGdWxsUGFnZVNhbGVzQWdlbnRWYXJpYW50O1xuZXhwb3J0IHR5cGUgT3JnUGFnZUNvbmZpZyA9IHtcbiAgICBwYWdlVmFyaWFudHM6IFBhZ2VWYXJpYW50Q29uZmlnW107XG4gICAgd2lkZ2V0Q29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0Q29uZmlnVjM+O1xuICAgIG1vdW50aW5nQ29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0TW91bnRpbmdDb25maWc+O1xufTtcbmV4cG9ydCB0eXBlIE9yZ0NvbmZpZyA9IE9yZ1VJQ29uZmlnO1xuZXhwb3J0IHsgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLCBDb2xvck5hbWVzLCBjb2xvclZhciwgUGFnZVZhcmlhbnRUZXN0VHlwZSwgV2lkZ2V0VHlwZSB9O1xuZXhwb3J0IGludGVyZmFjZSBFbnZpdmVDb25maWcge1xuICAgIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgICBkYXRhUmVzaWRlbmN5Pzogc3RyaW5nO1xuICAgIGVudj86IHN0cmluZztcbiAgICBiYXNlVXJsPzogc3RyaW5nO1xuICAgIHJlYWN0QXBwTmFtZT86IHN0cmluZztcbiAgICBjZG5Vcmw/OiBzdHJpbmc7XG4gICAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgICBvcmdMZXZlbEFwaUtleT86IHN0cmluZztcbiAgICBvcmdTaG9ydE5hbWU/OiBzdHJpbmc7XG4gICAgb3JnSWQ/OiBzdHJpbmc7XG4gICAgaWRlbnRpZnlpbmdQcmVmaXg/OiBzdHJpbmc7XG4gICAgZmVhdHVyZU92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAgIHZhcmlhbnRVcmxPdmVycmlkZT86IHN0cmluZztcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlPzogYW55O1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIGVudml2ZU9uPzogYm9vbGVhbjtcbiAgICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gICAgZmVhdHVyZUdhdGVzPzogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgICBoYXJkY29weU92ZXJyaWRlPzogUGFydGlhbDxSZWNvcmQ8V2lkZ2V0VHlwZVYzLCBIYXJkY29weVJlc3BvbnNlPj47XG4gICAgYWRkVG9DYXJ0PzogQWRkVG9DYXJ0Q2FsbGJhY2s7XG59XG5leHBvcnQgdHlwZSB7IENhdGVnb3J5RXh0cmFjdG9yLCBDaGF0TWVzc2FnZVZhcmlhbnQsIENoYXRNZXNzYWdlQ29uZmlnLCBDaGF0UHJldmlld0NvbmZpZywgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcsIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcsIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnLCBDaGF0UHJldmlld0hlYWRlckNvbmZpZywgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3VmFyaWFudCwgQ29sb3JNYXBwaW5nLCBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnLCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sIElkRXh0cmFjdG9yLCBJbWFnZUJhbm5lcldpZGdldENvbmZpZywgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIEluc2VydGlvblBvaW50LCBNdWx0aUltYWdlQ29uZmlnLCBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncywgU2VhcmNoQ29uZmlnLCBPcmdVSUNvbmZpZywgUGFnZUNhcmRDb25maWcsIFBhZ2VDYXJkVmFyaWFudCwgUGFnZUNhcmRIb3ZlclZhcmlhbnQsIFBhZ2VDYXJkSWNvblZhcmlhbnQsIFByb2R1Y3RDYXJkQ29uZmlnLCBQcm9kdWN0Q2FyZFZhcmlhbnQsIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCwgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50LCBQcm9kdWN0TGlua0ljb25WYXJpYW50LCBQcm9kdWN0TGlua1ZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb25maWcsIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQsIFNlYXJjaFByb21wdFZhcmlhbnQsIFNlYXJjaFByb21wdFdpZGdldENvbmZpZywgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMsIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZywgU29jaWFsUHJvb2ZDb25maWcsIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQsIFVSTFRlc3QsIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZywgVXNlclF1ZXJ5QnV0dG9uSWNvbiwgV2VsY29tZVNlY3Rpb25Db25maWcsIFdlbGNvbWVTZWN0aW9uVmFyaWFudCwgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQsIFdpZGdldENvbmZpZywgV3JhcHBpbmdFbGVtZW50LCBTZWFyY2hDYXJkVmFyaWFudCwgV2lkZ2V0RGlzcGxheVRlc3RzLCBOb09wV2lkZ2V0Q29uZmlnLCBXaWRnZXRNb3VudGluZywgU3RhdGljV2lkZ2V0TW91bnRpbmcsIER5bmFtaWNXaWRnZXRNb3VudGluZywgUERQUGFnZVZhcmlhbnQsIFBMUFBhZ2VWYXJpYW50LCBWaXNpdFBhZ2VWYXJpYW50LCBPdGhlclBhZ2VWYXJpYW50LCBIb21lUGFnZVZhcmlhbnQsIFNlYXJjaFBhZ2VWYXJpYW50LCBOdW1Sb3dzLCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBY0EsSUFBSSw0QkFBNEIsQ0FBQyxHQUFHO0FBQ3BDLElBQUksMkJBQTJCLENBQUMsVUFBQSwwQkFBQTtBQUNoQyxJQUFJLHdCQUF3QixDQUFDLEdBQUc7QUFDaEMsSUFBSSw2QkFBZ0IsQ0FBQSxHQUFBO0FBQ3BCLElBQUksdUJBQWU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFJLG9CQUFlO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBSSwwQkFBQyxDQUFBLEdBQUE7QUFDTCxJ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
@@ -706,4 +706,4 @@ interface EnviveConfig {
706
706
  }
707
707
  //#endregion
708
708
  export { type CategoryExtractor, CategoryExtractorType, type ChatMessageConfig, type ChatMessageVariant, type ChatPreviewConfig, type ChatPreviewFooterConfig, type ChatPreviewHeaderConfig, type ChatPreviewHeaderV2Config, type ChatPreviewIsLoadingWidgetConfig, type ChatPreviewPostInteractionWidgetConfig, type ChatPreviewProductComparisonWidgetConfig, type ChatPreviewSuggestionButtonConfig, type ChatPreviewV2WidgetConfig, type ChatPreviewVariant, type ChatPreviewWidgetConfig, type ColorMapping, ColorNames, type CustomerServiceIntegration, type DynamicWidgetMounting, EnviveConfig, FilterAttribute, type FloatingEntryPointConfig, type FullCustomerServiceIntegration, type HomePageVariant, type IdExtractor, type ImageBannerWidgetConfig, type ImagePromptWidgetConfig, type InsertionPoint, type MerchantVariantSettings, type MultiImageConfig, type NoOpWidgetConfig, type NumRows, OrgConfig, OrgPageConfig, type OrgUIConfig, type OtherPageVariant, type PDPPageVariant, type PLPPageVariant, type PageCardConfig, type PageCardHoverVariant, type PageCardIconVariant, type PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, type ProductCardConfig, type ProductCardHoverVariant, type ProductCardLayoutVariant, type ProductCardVariant, ProductGridVariant, type ProductLinkHoverVariant, type ProductLinkIconVariant, type ProductLinkVariant, type ProductReviewColorVariant, type ProductReviewConfig, type ProductReviewStyleVariant, type SearchCardVariant, type SearchConfig, type SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, type SearchOverlayHostWidgetConfig, type SearchPageVariant, type SearchPromptVariant, type SearchPromptWidgetConfig, type SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, type ShowFloatingButtonOptions, type SingleImagePromptWidgetConfig, type SocialProofConfig, type SocialProofV2WidgetConfig, type StaticWidgetMounting, type SuggestionBarWidgetV2Config, type SuggestionButtonConfig, type SuggestionButtonVariant, type URLTest, type UserQueryButtonConfig, type UserQueryButtonIcon, UserQueryOptions, type VisitPageVariant, type WelcomeSectionColorVariant, type WelcomeSectionConfig, type WelcomeSectionVariant, type WidgetConfig, type WidgetDisplayTests, WidgetHeaderProps, type WidgetMounting, WidgetMountingConfig, WidgetType, type WrappingElement, colorVar };
709
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dHMvdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24nO1xuaW1wb3J0IHsgQ29sb3JNYXBwaW5nLCBDb2xvck5hbWVzLCBjb2xvclZhciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnJztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSwgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0b21lclNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2dyaWRJbnNlcnRpb24nO1xuaW1wb3J0IHsgRE9NSW5zZXJ0aW9uVHlwZSB9IGZyb20gJ3NyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uJztcbmltcG9ydCB0eXBlIHsgUGFnZVZpc2l0Q2F0ZWdvcnksIFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENoYXRTdGF0ZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0c2VydmljZS10eXBlcyc7XG5pbXBvcnQgeyBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIH0gZnJvbSAnc3JjL3R5cGVzL3N1Z2dlc3Rpb25CYXJWMi10eXBlcyc7XG5pbXBvcnQgeyBUZXN0UHJvcHMgfSBmcm9tICdzcmMvdHlwZXMvdGVzdC10eXBlcyc7XG5pbXBvcnQgeyBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHMnO1xuaW1wb3J0IHR5cGUgeyBBZGRUb0NhcnRDYWxsYmFjayB9IGZyb20gJ3NyYy90eXBlcy9lbnZpdmVDb25maWcnO1xuaW1wb3J0IHsgV2lkZ2V0Q29uZmlnVjMsIFdpZGdldFR5cGVWMyB9IGZyb20gJy4vdHlwZXNWMyc7XG5pbXBvcnQgdHlwZSB7IEhhcmRjb3B5UmVzcG9uc2UgfSBmcm9tICcuL2hhcmRjb3B5Q29udGV4dC9oYXJkY29weUNvbnRleHQnO1xudHlwZSBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zID0gJ2Fsd2F5cycgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tb24tbW9iaWxlLWFsd2F5cy1kZXNrdG9wJyB8ICdhZnRlci1pbnRlcmFjdGlvbi1hbnl3aGVyZScgfCAnbmV2ZXInO1xudHlwZSBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcgPSB7XG4gICAgcG9zaXRpb246ICdib3R0b20tbGVmdCcgfCAnbWlkZGxlLWxlZnQnIHwgJ21pZGRsZS1yaWdodCcgfCAnYm90dG9tLXJpZ2h0JztcbiAgICBleHBhbnNpb25UZXh0Pzoge1xuICAgICAgICBwZHA6IHN0cmluZztcbiAgICAgICAgcGxwOiBzdHJpbmc7XG4gICAgfTtcbiAgICBtaW5pbWl6ZWRDb2xvcjogc3RyaW5nO1xuICAgIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgc2hvd09wdGlvbjogU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucztcbiAgICBpY29uU1ZHU3JjPzogc3RyaW5nO1xuICAgIGljb25TaXplPzogbnVtYmVyO1xuICAgIGljb25TdHJva2VDb2xvcj86IHN0cmluZztcbiAgICBpY29uRmlsbENvbG9yPzogc3RyaW5nO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBmb250U2l6ZT86IG51bWJlcjtcbn07XG50eXBlIFdlbGNvbWVTZWN0aW9uVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnb3V0bGluZWQnO1xudHlwZSBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYWNjZW50JyB8ICdicmFuZCcgfCAnbGlnaHQnO1xudHlwZSBXZWxjb21lU2VjdGlvbkNvbmZpZyA9IHtcbiAgICB2YXJpYW50OiBXZWxjb21lU2VjdGlvblZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50PzogV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQ7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG59O1xudHlwZSBDaGF0UHJldmlld0NvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnZmxhdCcgfCAnZmlsbGVkJyB8ICdvdXRsaW5lZCc7XG4gICAgbGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG4gICAgZmlsbGVkQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRDb2xvcj86IHN0cmluZztcbiAgICBidXR0b25UZXh0U2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dEhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQmFja2dyb3VuZEhvdmVyQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25Cb3JkZXJDb2xvcj86IHN0cmluZztcbiAgICBidXR0b25Cb3JkZXJIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGNvcGllczoge1xuICAgICAgICBwZHA6IHN0cmluZ1tdO1xuICAgICAgICBwbHA6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllcz86IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1BMUEltYWdlcz86IHN0cmluZ1tdO1xuICAgIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xuICAgIGhlYWRlckNvbmZpZz86IENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnO1xuICAgIHRvcE1hcmdpbj86IG51bWJlcjtcbn07XG50eXBlIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnID0ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xuICAgIHNwYXJrbGVzQ29sb3I/OiBzdHJpbmc7XG4gICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgaWNvbldpZHRoPzogc3RyaW5nO1xuICAgIGljb25IZWlnaHQ/OiBzdHJpbmc7XG59O1xuaW50ZXJmYWNlIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnIHtcbiAgICBoYXNGYWRlPzogYm9vbGVhbjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudD86ICdkYXJrJyB8ICdsaWdodCcgfCAnb3V0bGluZWQnO1xuICAgIHN1Z2dlc3Rpb25zQmFja2dyb3VuZD86IHN0cmluZztcbiAgICByZXBseUJ1dHRvbkljb24/OiAnc2VuZCcgfCAnbWFnbmlmeWluZ0dsYXNzJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdzZWFyY2hJY29uJztcbiAgICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gICAgcmVwbHlJbnB1dEhhc1NoYWRvdz86IGJvb2xlYW47XG4gICAgcmVwbHlJbnB1dEhhc0JvcmRlcj86IGJvb2xlYW47XG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxudHlwZSBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdib3JkZXJlZCc7XG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSAnbmV1dHJhbCcgfCAnYnJhbmQnIHwgJ3ByZW1pdW0nO1xuaW50ZXJmYWNlIFByb2R1Y3RSZXZpZXdDb25maWcge1xuICAgIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgICBjb2xvclZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQ7XG4gICAgdmVyaWZpZWRCdXllclRpdGxlOiBzdHJpbmc7XG4gICAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG50eXBlIFBhZ2VDYXJkVmFyaWFudCA9ICdmaWxsZWQnIHwgJ291dGxpbmVkJyB8ICdtaW5pbWFsJztcbnR5cGUgUGFnZUNhcmRIb3ZlclZhcmlhbnQgPSAnbm9uZScgfCAnc2hhZG93JyB8ICdsaWZ0JztcbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ2JhY2tncm91bmQnIHwgJ25vbmUnO1xudHlwZSBQYWdlQ2FyZENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiBQYWdlQ2FyZFZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQYWdlQ2FyZEhvdmVyVmFyaWFudDtcbiAgICBpY29uVmFyaWFudDogUGFnZUNhcmRJY29uVmFyaWFudDtcbn07XG50eXBlIFByb2R1Y3RDYXJkVmFyaWFudCA9ICdmaWxsZWQnIHwgJ2JvcmRlcmVkJyB8ICdtaW5pbWFsJyB8ICd0cmFuc3BhcmVudEJvcmRlcmVkJztcbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnIHwgJ25vbmUnO1xudHlwZSBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQgPSAnbm9ybWFsJyB8ICd0YWxsJyB8ICdzcXVhcmUnO1xuaW50ZXJmYWNlIFByb2R1Y3RDYXJkQ29uZmlnIHtcbiAgICB2YXJpYW50OiBQcm9kdWN0Q2FyZFZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudDtcbiAgICBsYXlvdXRWYXJpYW50OiBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQ7XG4gICAgcHJpY2VQcmVmaXg/OiBzdHJpbmc7XG59XG50eXBlIENTU3dpdGNoQ29uZmlnID0ge1xuICAgIHZhcmlhbnQ6ICdhdHRhY2hlZCcgfCAnZGV0YWNoZWQnO1xuICAgIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJvcmRlckNvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRUZXh0Q29sb3I6IHN0cmluZztcbiAgICBzZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICB1bnNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBzdXBwb3J0VGl0bGU/OiBzdHJpbmc7XG4gICAgc3BpZmZ5VGl0bGU/OiBzdHJpbmc7XG4gICAgc3BpZmZ5VGl0bGVIYXNMb2dvPzogYm9vbGVhbjtcbn07XG50eXBlIENoYXRIZWFkZXJDb25maWcgPSB7XG4gICAgY29sbGFwc2VkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgY2hldnJvbkNvbG9yOiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gICAgaWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgICBjbG9zZUljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgYm9yZGVyQm90dG9tPzogc3RyaW5nO1xuICAgIGhlYWRlckJhckhlaWdodFBhcnRpYWxWaWV3OiBudW1iZXI7XG4gICAgaGVhZGVyQmFySGVpZ2h0RnVsbFZpZXc6IG51bWJlcjtcbiAgICBjdXN0b21lclN1cHBvcnRTd2l0Y2hDb25maWc/OiBDU1N3aXRjaENvbmZpZztcbn07XG50eXBlIFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICAgIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICAgIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICAgIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xufTtcbnR5cGUgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICAgIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICAgIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICAgIGNoYXRFbmFibGVkRHVyaW5nQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gICAgc2hvd05hbWVJbnB1dD86IGJvb2xlYW47XG4gICAgZm9ybUFpTmFtZT86IHN0cmluZztcbiAgICB3ZWxjb21lVGl0bGU6IHN0cmluZztcbiAgICB3ZWxjb21lRGVzY3JpcHRpb246IHN0cmluZztcbiAgICBzaG93V2VsY29tZU9uRm9ybT86IGJvb2xlYW47XG4gICAgY29udGFjdFN1YmplY3RPcHRpb25zPzogc3RyaW5nW107XG4gICAgZ2V0Q3VzdG9tV2FpdGluZ01lc3NhZ2U/OiAobmFtZT86IHN0cmluZykgPT4gc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICBvdXRzaWRlQnVzaW5lc3NIb3Vyc01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgICBzdWdnZXN0ZWRBSVF1ZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGJ1c2luZXNzSG91cnNQb2xsaW5nPzogbnVtYmVyO1xuICAgIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAgICovXG4gICAgYnVzaW5lc3NIb3Vyc1N0YXJ0VVRDPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAgICovXG4gICAgYnVzaW5lc3NIb3Vyc0VuZFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNUaW1lem9uZT86IHN0cmluZztcbiAgICBzaG93QUlTdWdnZXN0aW9uc1dpdGhpbkJ1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHdhaXRpbmdNZXNzYWdlUG9zaXRpb24/OiAnQkVGT1JFX01FU1NBR0VTJyB8ICdBRlRFUl9NRVNTQUdFUyc7XG4gICAgbGVnYWxNZXNzYWdlPzogc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIHJlb3BlbkNoYXRNZXNzYWdlOiBzdHJpbmc7XG59O1xudHlwZSBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uIHwgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xudHlwZSBDb252ZXJzYXRpb25hbFNlYWNoID0ge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXQ/OiBSZXBseUlucHV0Q29uZmlnO1xuICAgIHN1Z2dlc3Rpb25zPzogc3RyaW5nW107XG4gICAgZW50cnlwb2ludEJnQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRleHRDb2xvcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50QnRuQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0blRleHRDb2xvcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50QnRuQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludENvbnRhaW5lcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50VHJpZ2dlcj86IHN0cmluZztcbiAgICBwcm9kdWN0R3JpZENvbnRhaW5lcj86IHN0cmluZztcbiAgICBnZW5lcmFsU2VhcmNoQnRuPzogc3RyaW5nO1xuICAgIHBhZ2VDb250ZW50Pzogc3RyaW5nO1xuICAgIHNlYXJjaENvbnRlbnQ/OiBzdHJpbmc7XG4gICAgc29ydGluZ1RpdGxlPzogc3RyaW5nO1xuICAgIHNlbGVjdGlvblRpdGxlPzogc3RyaW5nO1xuICAgIHNvcnRpbmdGb250Pzogc3RyaW5nO1xuICAgIG9wdGlvbnNGb250Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdCdXR0b25UZXh0Pzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdE1lc3NhZ2VWYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdwcmVtaXVtJyB8ICdhY2NlbnQnO1xuaW50ZXJmYWNlIENoYXRNZXNzYWdlQ29uZmlnIHtcbiAgICBhc3Npc3RhbnRDaGF0VGl0bGU6IHN0cmluZztcbiAgICB2YXJpYW50OiBDaGF0TWVzc2FnZVZhcmlhbnQ7XG4gICAgcHJvZHVjdExpbms6IHtcbiAgICAgICAgdmFyaWFudDogUHJvZHVjdExpbmtWYXJpYW50O1xuICAgICAgICBob3ZlclZhcmlhbnQ6IFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50O1xuICAgICAgICBpY29uVmFyaWFudDogUHJvZHVjdExpbmtJY29uVmFyaWFudDtcbiAgICB9O1xufVxuaW50ZXJmYWNlIFJlcGx5SW5wdXRDb25maWcge1xuICAgIHNpemU/OiAnbWQnIHwgJ2xnJztcbiAgICBzZW5kSWNvbjogJ2Fycm93VXAnIHwgJ3NlbmQnIHwgJ3NlYXJjaCc7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgUGFydGlhbFZpZXdDb25maWcge1xuICAgIG1heEhlaWdodDogbnVtYmVyO1xuICAgIGJvcmRlclJhZGl1cz86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdExpbmtJY29uVmFyaWFudCA9ICdhY2NlbnRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kUHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnlEYXJrJyB8ICdib3JkZXJMaWdodCcgfCAnYmFja2dyb3VuZFNhdHVyYXRlZCc7XG50eXBlIFByb2R1Y3RMaW5rVmFyaWFudCA9ICd0ZXh0TGluayc7XG50eXBlIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJztcbnR5cGUgU2VhcmNoQ2FyZFZhcmlhbnQgPSAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRTZWNvbmRhcnknIHwgJ2JhY2tncm91bmRTZWNvbmRhcnlEYXJrJyB8ICdiYWNrZ3JvdW5kTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCA9ICdvdXRsaW5lZCcgfCAnb3V0bGluZWRMaWdodCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeScgfCAnZGFyaycgfCAnZGFya0FjY2VudCcgfCAnZGFya1ByaW1hcnknIHwgJ3NlY29uZGFyeURhcmsnIHwgJ3NlY29uZGFyeUFjY2VudCcgfCAndHJhbnNwYXJlbnQnIHwgJ3RyYW5zcGFyZW50RGFyaycgfCAnbGlnaHREYXJrJztcbmludGVyZmFjZSBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnIHtcbiAgICB2YXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYW5zd2VyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJvcmRlclJhZGl1cz86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn1cbnR5cGUgTnVtUm93cyA9ICdkZWZhdWx0JyB8ICdhbHdheXNPbmVSb3cnIHwgJ2Fsd2F5c1R3b1Jvd3MnIHwgJ3R3b1Jvd3NPbk1vYmlsZSc7XG5pbnRlcmZhY2UgQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcge1xuICAgIHR5cGU6ICdhbHBoYWJldGljJztcbn1cbmludGVyZmFjZSBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAncHJvZHVjdENvdW50Jztcbn1cbmludGVyZmFjZSBDdXN0b21GaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnY3VzdG9tJztcbiAgICBtYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG59XG50eXBlIEZpbHRlclNvcnRpbmcgPSBBbHBoYWJldGljRmlsdGVyU29ydGluZyB8IFByb2R1Y3RDb3VudEZpbHRlclNvcnRpbmcgfCBDdXN0b21GaWx0ZXJTb3J0aW5nO1xuaW50ZXJmYWNlIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbmludGVyZmFjZSBEeW5hbWljRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ2R5bmFtaWMnO1xuICAgIGF0dHJpYnV0ZTogc3RyaW5nO1xuICAgIHNvcnRpbmc6IEZpbHRlclNvcnRpbmc7XG59XG5pbnRlcmZhY2UgUHJpY2VGaWx0ZXJDb25maWcgZXh0ZW5kcyBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICB0eXBlOiAncHJpY2UnO1xuICAgIGJ1Y2tldFNpemU6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIEZpbHRlckF0dHJpYnV0ZSA9IER5bmFtaWNGaWx0ZXJDb25maWcgfCBQcmljZUZpbHRlckNvbmZpZztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQgPSAnYmFja2dyb3VuZFRlcnRpYXJ5JyB8ICdiYWNrZ3JvdW5kRGFyaycgfCAnYmFja2dyb3VuZFByaW1hcnknO1xuZXhwb3J0IHR5cGUgU2VhcmNoWmVyb1N0YXRlTGF5b3V0ID0gJ2lucHV0JyB8ICdpY29uJztcbmV4cG9ydCB0eXBlIFNlYXJjaElucHV0VmFyaWFudCA9ICdzdGFuZGFyZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hJY29uVmFyaWFudCA9ICd0aGluJyB8ICdib2xkJztcbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50ID0gJ2RhcmtCdXR0b24nIHwgJ2xpZ2h0QnV0dG9uJztcbmV4cG9ydCB0eXBlIFByb2R1Y3RHcmlkVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnc3F1YXJlJztcbnR5cGUgVXNlclF1ZXJ5QnV0dG9uSWNvbiA9ICdtYWduaWZ5aW5nR2xhc3MnIHwgJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzc1RoaW4nIHwgJ3NlbmRBcnJvdycgfCAnc2VhcmNoSWNvbic7XG5pbnRlcmZhY2UgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnIHtcbiAgICB2YXJpYW50PzogJ2JveCcgfCAndW5kZXJsaW5lTGlnaHQnIHwgJ3VuZGVybGluZURhcmsnO1xuICAgIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZztcbiAgICBpY29uOiBVc2VyUXVlcnlCdXR0b25JY29uO1xufVxuaW50ZXJmYWNlIFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZyB7XG4gICAgY29weTogc3RyaW5nO1xuICAgIGxpbms6IHN0cmluZztcbiAgICBsaW5rVGV4dDogc3RyaW5nO1xufVxuaW50ZXJmYWNlIE1lcmNoYW50VmFyaWFudFNldHRpbmdzIHtcbiAgICBkeW5hbWljVmFyaWFudHM6IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgcmVmcmVzaEludGVydmFsPzogbnVtYmVyO1xuICAgIH07XG59XG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0Q29uZmlnIHtcbiAgICBlbmFibGVXYXRlcm1hcms6IGJvb2xlYW47XG4gICAgdXNlclF1ZXJ5SW5wdXRFbmFibGVkOiBib29sZWFuO1xuICAgIGlnbm9yZUZpcnN0TW9kZWxSZXNwb25zZT86IGJvb2xlYW47XG4gICAgbmV2ZXJTaG93U2luZ2xlUHJvZHVjdENhcmRzPzogYm9vbGVhbjtcbiAgICB0ZXJtc0FuZENvbmRpdGlvbnNDb25maWc/OiBUZXJtc0FuZENvbmRpdGlvbnNDb25maWc7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZz86IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgcmVwbHlJbnB1dENvbmZpZzogUmVwbHlJbnB1dENvbmZpZztcbn1cbmludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICAgIGVuYWJsZUdsb2JhbFNlYXJjaDogYm9vbGVhbjtcbiAgICBzZWFyY2hGaWx0ZXJDb25maWc6IEZpbHRlckF0dHJpYnV0ZVtdO1xuICAgIHNlYXJjaE92ZXJsYXlIZWFkaW5nPzogc3RyaW5nO1xuICAgIHJlZGlyZWN0U2VhcmNoUmVzdWx0c1VybD86IHN0cmluZztcbiAgICBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzPzogYm9vbGVhbjtcbiAgICByZWNvbW1lbmRlZFByb2R1Y3RzPzogc3RyaW5nW107XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc/OiBzdHJpbmc7XG59XG50eXBlIENvbmZpZ1ZlcnNpb24gPSAndjMnIHwgJ2RlcHJlY2F0ZWQnIHwgdW5kZWZpbmVkO1xudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgICB2ZXJzaW9uPzogQ29uZmlnVmVyc2lvbjtcbiAgICBzaG9ydE5hbWU6IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc/OiBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWc7XG4gICAgY2hhdFByZXZpZXdDb25maWc/OiBDaGF0UHJldmlld0NvbmZpZztcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2g/OiBDb252ZXJzYXRpb25hbFNlYWNoO1xuICAgIG1lcmNoYW50T3ZlcnJpZGVDc3M/OiBzdHJpbmc7XG4gICAgaGlkZGVuRWxlbWVudFNlbGVjdG9ycz86IHN0cmluZ1tdO1xuICAgIG1lcmNoYW50VmFyaWFudFNldHRpbmdzPzogTWVyY2hhbnRWYXJpYW50U2V0dGluZ3M7XG4gICAgZmxvYXRpbmdDaGF0Q29uZmlnOiBGbG9hdGluZ0NoYXRDb25maWc7XG4gICAgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWc7XG4gICAgY2hhdEhlYWRlcjogQ2hhdEhlYWRlckNvbmZpZztcbiAgICBzdGlja3lBZ2VudFN3aXRjaFN1Z2dlc3Rpb24/OiBib29sZWFuO1xuICAgIHBhcnRpYWxWaWV3Q29uZmlnOiBQYXJ0aWFsVmlld0NvbmZpZztcbiAgICB3ZWxjb21lU2VjdGlvbkNvbmZpZz86IFdlbGNvbWVTZWN0aW9uQ29uZmlnO1xuICAgIHByb2R1Y3RDYXJkQ29uZmlnPzogUHJvZHVjdENhcmRDb25maWc7XG4gICAgcHJvZHVjdFJldmlld0NvbmZpZz86IFByb2R1Y3RSZXZpZXdDb25maWc7XG4gICAgcGFnZUNhcmRDb25maWc/OiBQYWdlQ2FyZENvbmZpZztcbiAgICBjaGF0TWVzc2FnZUNvbmZpZzogQ2hhdE1lc3NhZ2VDb25maWc7XG59O1xudHlwZSBJbnNlcnRpb25Qb2ludCA9IHtcbiAgICBzZWxlY3Rvcjogc3RyaW5nO1xuICAgIHNlbGVjdGlvbkluZGV4PzogbnVtYmVyO1xuICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xudHlwZSBVUkxUZXN0ID0gJ3Nob3BpZnknIHwgJ251bGwnO1xudHlwZSBJZEV4dHJhY3RvciA9ICdzaG9waWZ5LXByb2R1Y3QtaWQnIHwgJ3Nob3BpZnktY29sbGVjdGlvbi1pZCcgfCAnc2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWQnIHwgJ3VybC1yZXNvbHZlci1wcm9kdWN0LWlkJyB8ICd1cmwtcmVzb2x2ZXItcGxwLWlkJyB8ICdudWxsJztcbmRlY2xhcmUgZW51bSBDYXRlZ29yeUV4dHJhY3RvclR5cGUge1xuICAgIFZpc2l0Q2F0ZWdvcnlNYXAgPSBcIlZpc2l0Q2F0ZWdvcnlNYXBcIixcbiAgICBWaXNpdENhdGVnb3J5RGVmYXVsdCA9IFwiVmlzaXRDYXRlZ29yeURlZmF1bHRcIlxufVxuaW50ZXJmYWNlIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxUIGV4dGVuZHMgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlPiB7XG4gICAgdHlwZTogVDtcbn1cbmludGVyZmFjZSBWaXNpdENhdGVnb3J5TWFwIGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5TWFwPiB7XG4gICAgbWFwOiB7XG4gICAgICAgIFtrZXkgaW4gUGFnZVZpc2l0Q2F0ZWdvcnldPzogc3RyaW5nW107XG4gICAgfTtcbn1cbmludGVyZmFjZSBWaXNpdENhdGVnb3J5RGVmYXVsdCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeURlZmF1bHQ+IHtcbiAgICB2YWx1ZTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG50eXBlIENhdGVnb3J5RXh0cmFjdG9yID0gVmlzaXRDYXRlZ29yeU1hcCB8IFZpc2l0Q2F0ZWdvcnlEZWZhdWx0O1xudHlwZSBXcmFwcGluZ0VsZW1lbnQgPSB7XG4gICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgZWxlbWVudDogc3RyaW5nO1xuICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xuZGVjbGFyZSBlbnVtIFBhZ2VWYXJpYW50VGVzdFR5cGUge1xuICAgIFBhZ2VDYXRlZ29yeSA9IFwiUGFnZUNhdGVnb3J5XCIsXG4gICAgQ2F0YWxvZ0NhdGVnb3J5ID0gXCJDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBUb3BDYXRhbG9nQ2F0ZWdvcnkgPSBcIlRvcENhdGFsb2dDYXRlZ29yeVwiLFxuICAgIEhhc1Jldmlld3MgPSBcIkhhc1Jldmlld3NcIixcbiAgICBJbkNvbGxlY3Rpb24gPSBcIkluQ29sbGVjdGlvblwiLFxuICAgIEhhc01lcmNoYW50VGFnID0gXCJIYXNNZXJjaGFudFRhZ1wiLFxuICAgIEZlYXR1cmVHYXRlID0gXCJGZWF0dXJlR2F0ZVwiLFxuICAgIFBscElkID0gXCJQbHBJZFwiLFxuICAgIFF1ZXJ5UGFyYW0gPSBcIlF1ZXJ5UGFyYW1cIixcbiAgICBQcm9kdWN0SWQgPSBcIlByb2R1Y3RJZFwiLFxuICAgIFVzZXJIYXNJbnRlcmFjdGVkID0gXCJVc2VySGFzSW50ZXJhY3RlZFwiLFxuICAgIFVzZXJIYXNOb3RJbnRlcmFjdGVkID0gXCJVc2VySGFzTm90SW50ZXJhY3RlZFwiLFxuICAgIGlzTG9hZGluZyA9IFwiaXNMb2FkaW5nXCIsXG4gICAgaXNQcm9kdWN0Q29tcGFyaXNvbiA9IFwiaXNQcm9kdWN0Q29tcGFyaXNvblwiLFxuICAgIEZhbGxiYWNrID0gXCJGYWxsYmFja1wiLFxuICAgIFVybFJlc29sdmVyID0gXCJVcmxSZXNvbHZlclwiLFxuICAgIGlzU2NyZWVuV2lkdGhTbWFsbGVyID0gXCJpc1NjcmVlbldpZHRoU21hbGxlclwiLFxuICAgIE51bGwgPSBcIm51bGxcIlxufVxuaW50ZXJmYWNlIEJhc2VQYWdlVmFyaWFudFRlc3Q8VCBleHRlbmRzIFBhZ2VWYXJpYW50VGVzdFR5cGU+IHtcbiAgICB0ZXN0VHlwZTogVDtcbn1cbmludGVyZmFjZSBUb3BDYXRhbG9nQ2F0ZWdvcnkgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5PiB7XG4gICAgdG9wQ2F0ZWdvcnk6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIENhdGFsb2dDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuQ2F0YWxvZ0NhdGVnb3J5PiB7XG4gICAgY2F0ZWdvcnk6IFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5O1xufVxuaW50ZXJmYWNlIEhhc1Jldmlld3NUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3M+IHtcbiAgICByZXZpZXdNaW5pbXVtPzogbnVtYmVyO1xufVxuaW50ZXJmYWNlIEluQ29sbGVjdGlvblRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uPiB7XG4gICAgY29sbGVjdGlvbnM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIEhhc01lcmNoYW50VGFnVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNNZXJjaGFudFRhZz4ge1xuICAgIG1lcmNoYW50VGFnczogc3RyaW5nW107XG59XG5pbnRlcmZhY2UgUGFnZUNhdGVnb3J5VGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QYWdlQ2F0ZWdvcnk+IHtcbiAgICBleHRyYWN0b3I6IENhdGVnb3J5RXh0cmFjdG9yO1xufVxuaW50ZXJmYWNlIEZlYXR1cmVHYXRlVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZT4ge1xuICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXM7XG59XG5pbnRlcmZhY2UgUHJvZHVjdElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Qcm9kdWN0SWQ+IHtcbiAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xuICAgIHByb2R1Y3RJZHM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBscElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZD4ge1xuICAgIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwbHBJZHM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFF1ZXJ5UGFyYW1UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlF1ZXJ5UGFyYW0+IHtcbiAgICBxdWVyeVBhcmFtOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgVXNlckhhc0ludGVyYWN0ZWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNJbnRlcmFjdGVkPiB7XG59XG5pbnRlcmZhY2UgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNOb3RJbnRlcmFjdGVkPiB7XG59XG5pbnRlcmZhY2UgSXNMb2FkaW5nVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc0xvYWRpbmc+IHtcbn1cbmludGVyZmFjZSBJc1Byb2R1Y3RDb21wYXJpc29uIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzUHJvZHVjdENvbXBhcmlzb24+IHtcbn1cbmludGVyZmFjZSBQYWdlRmFsbGJhY2tUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZhbGxiYWNrPiB7XG59XG5pbnRlcmZhY2UgVXJsUmVzb2x2ZXJUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyPiB7XG59XG5pbnRlcmZhY2UgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzU2NyZWVuV2lkdGhTbWFsbGVyPiB7XG4gICAgYnJlYWtwb2ludDogbnVtYmVyO1xufVxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRUZXN0ID0gUGFnZUNhdGVnb3J5VGVzdCB8IENhdGFsb2dDYXRlZ29yeVRlc3QgfCBUb3BDYXRhbG9nQ2F0ZWdvcnkgfCBIYXNSZXZpZXdzVGVzdCB8IEluQ29sbGVjdGlvblRlc3QgfCBIYXNNZXJjaGFudFRhZ1Rlc3QgfCBGZWF0dXJlR2F0ZVRlc3QgfCBQcm9kdWN0SWRUZXN0IHwgUGxwSWRUZXN0IHwgUXVlcnlQYXJhbVRlc3QgfCBVc2VySGFzSW50ZXJhY3RlZFRlc3QgfCBVc2VySGFzTm90SW50ZXJhY3RlZFRlc3QgfCBJc0xvYWRpbmdUZXN0IHwgSXNQcm9kdWN0Q29tcGFyaXNvbiB8IFBhZ2VGYWxsYmFja1Rlc3QgfCBVcmxSZXNvbHZlclRlc3QgfCBJc1NjcmVlbldpZHRoU21hbGxlclRlc3Q7XG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBzb2NpYWwgcHJvb2YgZW1iZWRkZWQgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGhlYWRlclRpdGxlIC0gVGhlIHRpdGxlIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGhlYWRlclxuICogQHBhcmFtIHN0YXRpY1N1Z2dlc3Rpb25zIC0gQSBsaXN0IG9mIHN0cmluZ3MgdG8gZGlzcGxheSBhcyBzdWdnZXN0aW9ucyBpbiB0aGUgd2lkZ2V0XG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0IC0gVGhlIHZhcmlhbnQgb2YgdGhlIHN1Z2dlc3Rpb24gYnV0dG9uIHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBmb290ZXJcbiAqIEBwYXJhbSBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgYm9keVxuICogQHBhcmFtIHN0YXRpY0ltYWdlSW5kZXggLSBJbmRleCBvZiB0aGUgaW1hZ2VVcmwgdG8gdXNlIGZyb20gdGhlIHByb2R1Y3QgcmVzcG9uc2VcbiAqL1xuaW50ZXJmYWNlIFNvY2lhbFByb29mQ29uZmlnIHtcbiAgICBjdXN0b21lclF1ZXJ5OiBzdHJpbmc7XG4gICAgaGVhZGVyVGl0bGU6IHN0cmluZztcbiAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ/OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gICAgaGVhZGVyRm9udEZhbWlseT86IHN0cmluZztcbiAgICBzdGF0aWNQTFBJbWFnZU5hbWVzPzogc3RyaW5nW107XG4gICAgc3RhdGljSW1hZ2VJbmRleD86IG51bWJlcjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIHN1Z2dlc3Rpb25CdXR0b25EYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnPzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGxvZ29OYW1lPzogc3RyaW5nO1xufVxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBjcmVhdGluZyB0aGUgbW91bnQgcG9pbnQgZm9yIGEgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGNsYXNzTmFtZSAtIE9wdGlvbmFsIGNsYXNzIG5hbWUgdG8gYXBwbHkgdG8gdGhlIG1vdW50IHBvaW50LiBUYWlsd2luZCBjbGFzc2VzIGFyZSBzdXBwb3J0ZWRcbiAqIGFuZCBlbmNvdXJhZ2VkLiBVc2UgdGhpcyBwYXJhbWV0ZXIgdG8gc3R5bGUgdGhlIG1vdW50aW5nIGNvbnRhaW5lciBmb3IgdGhlIHdpZGdldC5cbiAqL1xuZXhwb3J0IHR5cGUgV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gICAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICAgIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gICAgdGVzdElkPzogc3RyaW5nO1xuICAgIHBhcmVudEluc2VydGlvblBvaW50PzogSW5zZXJ0aW9uUG9pbnQ7XG4gICAgaW5zZXJ0aW9uUG9pbnQ6IEluc2VydGlvblBvaW50O1xuICAgIGdyaWRJbnNlcnRpb25UeXBlPzogR3JpZEluc2VydGlvblR5cGU7XG4gICAgd3JhcHBpbmdFbGVtZW50PzogV3JhcHBpbmdFbGVtZW50O1xuICAgIGRpdkNoZWNrU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgc3VwcHJlc3Npb25TZWxlY3Rvcj86IHN0cmluZztcbiAgICBzdHlsZT86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG50eXBlIFN0YXRpY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgRHluYW1pY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBtb3VudGluZ1BvaW50V2lkZ2V0czogV2lkZ2V0RGlzcGxheVRlc3RzW107XG59O1xudHlwZSBXaWRnZXREaXNwbGF5VGVzdHMgPSB7XG4gICAgdGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBXaWRnZXRNb3VudGluZyA9IFN0YXRpY1dpZGdldE1vdW50aW5nIHwgRHluYW1pY1dpZGdldE1vdW50aW5nO1xuZGVjbGFyZSBlbnVtIFdpZGdldFR5cGUge1xuICAgIENoYXRQcmV2aWV3ID0gXCJDaGF0UHJldmlld1wiLFxuICAgIFNvY2lhbFByb29mVjIgPSBcIlNvY2lhbFByb29mVjJcIixcbiAgICBDaGF0UHJldmlld1YyID0gXCJDaGF0UHJldmlld1YyXCIsXG4gICAgQ2hhdFByZXZpZXdJc0xvYWRpbmcgPSBcIkNoYXRQcmV2aWV3SXNMb2FkaW5nXCIsXG4gICAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24gPSBcIkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uXCIsXG4gICAgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbiA9IFwiQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvblwiLFxuICAgIFN1Z2dlc3Rpb25CYXIgPSBcIlN1Z2dlc3Rpb25CYXJcIixcbiAgICBTdWdnZXN0aW9uQmFyVjIgPSBcIlN1Z2dlc3Rpb25CYXJWMlwiLFxuICAgIEltYWdlUHJvbXB0Q2FyZCA9IFwiSW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgSW1hZ2VCYW5uZXIgPSBcIkltYWdlQmFubmVyXCIsXG4gICAgU2luZ2xlSW1hZ2VQcm9tcHQgPSBcIlNpbmdsZUltYWdlUHJvbXB0XCIsXG4gICAgU2VhcmNoUHJvbXB0ID0gXCJTZWFyY2hQcm9tcHRcIixcbiAgICBTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50ID0gXCJTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQgPSBcIlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoT3ZlcmxheUhvc3QgPSBcIlNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgTm9PcCA9IFwiTm9PcFwiXG59XG50eXBlIFdpZGdldENvbmZpZyA9IENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnIHwgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyB8IFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyB8IEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIHwgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgfCBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaFByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgfCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyB8IFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIHwgTm9PcFdpZGdldENvbmZpZztcbmludGVyZmFjZSBCYXNlV2lkZ2V0Q29uZmlnPFQgZXh0ZW5kcyBXaWRnZXRUeXBlPiB7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbiAgICB0eXBlOiBUO1xuICAgIGNvbnRlbnRJZD86IHN0cmluZztcbn1cbmludGVyZmFjZSBJbWFnZUJhbm5lcldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZUJhbm5lcj4ge1xuICAgIGltYWdlU3JjOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIGFzc2lzdGFudE1lc3NhZ2U6IHN0cmluZztcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlldz4ge1xuICAgIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ2ZsYXQnIHwgJ291dGxpbmVkJztcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbiAgICBzb2NpYWxQcm9vZkNvbmZpZz86IFNvY2lhbFByb29mQ29uZmlnO1xuICAgIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xufVxudHlwZSBTaW5nbGVJbWFnZUNvbmZpZyA9IHtcbiAgICBsYXlvdXQ6ICdzaW5nbGUnO1xuICAgIGltYWdlSW5kZXg6IG51bWJlcjtcbn07XG50eXBlIE11bHRpSW1hZ2VDb25maWcgPSB7XG4gICAgbGF5b3V0OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gICAgaW1hZ2VOYW1lczogc3RyaW5nW107XG59O1xudHlwZSBTb2NpYWxQcm9vZkltYWdlQ29uZmlnID0gU2luZ2xlSW1hZ2VDb25maWcgfCBNdWx0aUltYWdlQ29uZmlnO1xudHlwZSBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcgPSB7XG4gICAgYnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gICAgYWNjZW50QnV0dG9uVmFyaWFudHM/OiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIGJ1dHRvblZhcmlhbnRzOiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIG51bVJvd3M/OiBOdW1Sb3dzO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWcgPSB7XG4gICAgbGVhZGluZ1RleHQ6IHN0cmluZztcbiAgICBhbmltYXRlZFN0cmluZ3M6IHN0cmluZ1tdO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdWYXJpYW50ID0ge1xuICAgIHZhcmlhbnQ6ICdmbGF0Jztcbn0gfCB7XG4gICAgdmFyaWFudDogJ2ZpbGxlZCc7XG4gICAgYmFja2dyb3VuZEZpbGxDb2xvcjogc3RyaW5nO1xufSB8IHtcbiAgICB2YXJpYW50OiAnb3V0bGluZWQnO1xufTtcbmludGVyZmFjZSBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGhlYWRlckNvbmZpZzogQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZztcbiAgICBzdWdnZXN0aW9uQnV0dG9uc0NvbmZpZzogQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICAgIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld0lzTG9hZGluZz4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICB1c2VMYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3VjI+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGFuaW1hdGVkVGV4dENvbmZpZzogQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWc7XG59XG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Tb2NpYWxQcm9vZlYyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjdXN0b21lclF1ZXJ5Pzogc3RyaW5nO1xuICAgIGltYWdlQ29uZmlnOiBTb2NpYWxQcm9vZkltYWdlQ29uZmlnO1xufVxuaW50ZXJmYWNlIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjI+IHtcbiAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uO1xuICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzO1xuICAgIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogc3RyaW5nW107XG4gICAgICAgIHByb2R1Y3RTcGVjaWZpYz86IHtcbiAgICAgICAgICAgIFtwcm9kdWN0SWQ6IHN0cmluZ106IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgYm9sZEZpcnN0QnV0dG9uPzogYm9vbGVhbjtcbiAgICB0d29Sb3dzT25Nb2JpbGU/OiBib29sZWFuO1xuICAgIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgICBidXR0b25Cb3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5pbnRlcmZhY2UgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkPiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgbGlnaHRUZXh0PzogYm9vbGVhbjtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlOiBzdHJpbmdbXTtcbiAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBmYWxsYmFja0JhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbmludGVyZmFjZSBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TaW5nbGVJbWFnZVByb21wdD4ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50PiB7XG4gICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogU2VhcmNoWmVyb1N0YXRlVmFyaWFudDtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hJY29uVmFyaWFudD86IFNlYXJjaEljb25WYXJpYW50O1xuICAgIHNlYXJjaEljb25TaXplPzogbnVtYmVyO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgbGF5b3V0OiBTZWFyY2haZXJvU3RhdGVMYXlvdXQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gICAgY29tcGFjdExhYmVsPzogc3RyaW5nO1xuICAgIGluaXRpYWxTdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIHVzaW5nUG9ydGFsPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlU3VidGl0bGU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIE5vT3BXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuTm9PcD4ge1xufVxuaW50ZXJmYWNlIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaE92ZXJsYXlIb3N0PiB7XG59XG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQ+IHtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDogU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ7XG4gICAgcHJvZHVjdEdyaWRWYXJpYW50OiBQcm9kdWN0R3JpZFZhcmlhbnQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBub1Jlc3VsdHNGb3VuZFRleHQ/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEhlYWRlclByb3BzIGV4dGVuZHMgVGVzdFByb3BzIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBsb2dvPzogc3RyaW5nO1xuICAgIGxvZ29IZWlnaHQ/OiBudW1iZXI7XG4gICAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gICAgdmFyaWFudD86IFNlYXJjaFByb21wdFZhcmlhbnQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJRdWVyeU9wdGlvbnMge1xuICAgIGZvb3RlclZhcmlhbnQ/OiAnc3RhbmRhcmQnO1xuICAgIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgICByZXBseUJ1dHRvbkljb24/OiAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdhaS1zZWFyY2gnO1xufVxudHlwZSBTZWFyY2hQcm9tcHRWYXJpYW50ID0gJ3ByaW1hcnknO1xuaW50ZXJmYWNlIFNlYXJjaFByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hQcm9tcHQ+IHtcbiAgICB2YXJpYW50OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaGVhZGVyQ29uZmlnOiBXaWRnZXRIZWFkZXJQcm9wcztcbiAgICBzdWdnZXN0aW9uQnV0dG9uczoge1xuICAgICAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgYnV0dG9uVGV4dHM6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgZm9vdGVyQ29uZmlnPzogVXNlclF1ZXJ5T3B0aW9ucztcbn1cbnR5cGUgUGFnZVZhcmlhbnRCYXNlID0ge1xuICAgIHZhcmlhbnRJZDogc3RyaW5nO1xuICAgIHdpZGdldE1vdW50aW5nOiBXaWRnZXRNb3VudGluZ1tdO1xuICAgIHZhcmlhbnRUZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG4gICAgZmxvYXRpbmdCdXR0b25PdmVycmlkZT86IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG59O1xudHlwZSBQTFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BscCc7XG4gICAgcGxwSWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcbnR5cGUgUERQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwZHAnO1xuICAgIHBhcmVudFByb2R1Y3RJZEV4dHJhY3Rvcj86IElkRXh0cmFjdG9yO1xuICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xudHlwZSBWaXNpdFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGFnZV92aXNpdCc7XG59O1xudHlwZSBPdGhlclBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnb3RoZXInO1xufTtcbnR5cGUgSG9tZVBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnaG9tZXBhZ2UnO1xufTtcbnR5cGUgU2VhcmNoUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdzZWFyY2gnO1xufTtcbnR5cGUgRnVsbFBhZ2VTYWxlc0FnZW50VmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ2Z1bGxfcGFnZSc7XG59O1xuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRDb25maWcgPSBQTFBQYWdlVmFyaWFudCB8IFBEUFBhZ2VWYXJpYW50IHwgVmlzaXRQYWdlVmFyaWFudCB8IE90aGVyUGFnZVZhcmlhbnQgfCBIb21lUGFnZVZhcmlhbnQgfCBTZWFyY2hQYWdlVmFyaWFudCB8IEZ1bGxQYWdlU2FsZXNBZ2VudFZhcmlhbnQ7XG5leHBvcnQgdHlwZSBPcmdQYWdlQ29uZmlnID0ge1xuICAgIHBhZ2VWYXJpYW50czogUGFnZVZhcmlhbnRDb25maWdbXTtcbiAgICB3aWRnZXRDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRDb25maWdWMz47XG4gICAgbW91bnRpbmdDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRNb3VudGluZ0NvbmZpZz47XG59O1xuZXhwb3J0IHR5cGUgT3JnQ29uZmlnID0gT3JnVUlDb25maWc7XG5leHBvcnQgeyBDYXRlZ29yeUV4dHJhY3RvclR5cGUsIENvbG9yTmFtZXMsIGNvbG9yVmFyLCBQYWdlVmFyaWFudFRlc3RUeXBlLCBXaWRnZXRUeXBlIH07XG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gICAgYW1wbGl0dWRlQXBpS2V5Pzogc3RyaW5nO1xuICAgIGRhdGFSZXNpZGVuY3k/OiBzdHJpbmc7XG4gICAgZW52Pzogc3RyaW5nO1xuICAgIGJhc2VVcmw/OiBzdHJpbmc7XG4gICAgcmVhY3RBcHBOYW1lPzogc3RyaW5nO1xuICAgIGNkblVybD86IHN0cmluZztcbiAgICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuICAgIG9yZ0xldmVsQXBpS2V5Pzogc3RyaW5nO1xuICAgIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgICBvcmdJZD86IHN0cmluZztcbiAgICBpZGVudGlmeWluZ1ByZWZpeD86IHN0cmluZztcbiAgICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGU/OiBhbnk7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgZW52aXZlT24/OiBib29sZWFuO1xuICAgIHB1YmxpY0tleT86IHN0cmluZztcbiAgICBmZWF0dXJlR2F0ZXM/OiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICAgIGhhcmRjb3B5T3ZlcnJpZGU/OiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+PjtcbiAgICBhZGRUb0NhcnQ/OiBBZGRUb0NhcnRDYWxsYmFjaztcbn1cbmV4cG9ydCB0eXBlIHsgQ2F0ZWdvcnlFeHRyYWN0b3IsIENoYXRNZXNzYWdlVmFyaWFudCwgQ2hhdE1lc3NhZ2VDb25maWcsIENoYXRQcmV2aWV3Q29uZmlnLCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZywgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcsIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZywgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZywgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZywgQ2hhdFByZXZpZXdGb290ZXJDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnLCBDaGF0UHJldmlld1dpZGdldENvbmZpZywgQ2hhdFByZXZpZXdWYXJpYW50LCBDb2xvck1hcHBpbmcsIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLCBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcsIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgSWRFeHRyYWN0b3IsIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnLCBJbWFnZVByb21wdFdpZGdldENvbmZpZywgSW5zZXJ0aW9uUG9pbnQsIE11bHRpSW1hZ2VDb25maWcsIE1lcmNoYW50VmFyaWFudFNldHRpbmdzLCBTZWFyY2hDb25maWcsIE9yZ1VJQ29uZmlnLCBQYWdlQ2FyZENvbmZpZywgUGFnZUNhcmRWYXJpYW50LCBQYWdlQ2FyZEhvdmVyVmFyaWFudCwgUGFnZUNhcmRJY29uVmFyaWFudCwgUHJvZHVjdENhcmRDb25maWcsIFByb2R1Y3RDYXJkVmFyaWFudCwgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50LCBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudCwgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQsIFByb2R1Y3RMaW5rVmFyaWFudCwgUHJvZHVjdFJldmlld0NvbmZpZywgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCwgUHJvZHVjdFJldmlld0NvbG9yVmFyaWFudCwgU2VhcmNoUHJvbXB0VmFyaWFudCwgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZywgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucywgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnLCBTb2NpYWxQcm9vZkNvbmZpZywgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLCBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnLCBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCwgVVJMVGVzdCwgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnLCBVc2VyUXVlcnlCdXR0b25JY29uLCBXZWxjb21lU2VjdGlvbkNvbmZpZywgV2VsY29tZVNlY3Rpb25WYXJpYW50LCBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCwgV2lkZ2V0Q29uZmlnLCBXcmFwcGluZ0VsZW1lbnQsIFNlYXJjaENhcmRWYXJpYW50LCBXaWRnZXREaXNwbGF5VGVzdHMsIE5vT3BXaWRnZXRDb25maWcsIFdpZGdldE1vdW50aW5nLCBTdGF0aWNXaWRnZXRNb3VudGluZywgRHluYW1pY1dpZGdldE1vdW50aW5nLCBQRFBQYWdlVmFyaWFudCwgUExQUGFnZVZhcmlhbnQsIFZpc2l0UGFnZVZhcmlhbnQsIE90aGVyUGFnZVZhcmlhbnQsIEhvbWVQYWdlVmFyaWFudCwgU2VhcmNoUGFnZVZhcmlhbnQsIE51bVJvd3MsIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQSxJQUFJLDRCQUE0QixDQUFDLEdBQUc7QUFDcEMsSUFBSSwyQkFBMkIsQ0FBQyxVQUFBLDBCQUFBO0FBQ2hDLElBQUksd0JBQXdCLENBQUMsR0FBRztBQUNoQyxJQUFJLDZCQUFnQixDQUFBLEdBQUE7QUFDcEIsSUFBSSx1QkFBZTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25CLElBQUksb0JBQWU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFJLDBCQUFDLENBQUEsR0FBQTtBQUNMLElBQUksMEJBQXNCLENBQUEsSUFBQTtBQUMxQixJQUFJLDRCQUFxQixDQUFBLElBQUE7QUFDekIsSUFBSSw0QkFBa0IsQ0FBQSxJQUFBO0FBQ3RCLElBQUksc0JBQXNCO0NBQUM7T0FBVztPQUFHO0NBQUE7QUFDekMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFBO0FBQ3ZCLElBQUksdUJBQWlCLENBQUEsSUFBQTtBQUNyQixJQUFJLHNCQUFzQixDQUFDLElBQUM7QUFDNUIsSUFBSSxpQkFBaUI7Q0FBQztPQUFJO09BQUE7T0FBQTtDQUFBO0FBQzFCLElBQUkscUJBQWUsQ0FBQSxJQUFBO0FBQ25CLElBQUksMEJBQWlCLENBQUEsSUFBQTtBQUNyQixJQUFDLDJCQUFBLENBQUEsSUFBQTtBQUNELElBQUksb0JBQW9CO0NBQUM7T0FBVztPQUFnQjtPQUFBO0NBQUE7QUFDcEQsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJO0FBQzFCLElBQUksbUJBQW1CO0NBQUM7T0FBSTtPQUFBLE1BQUE7T0FBQSxNQUFBO09BQUE7T0FBQSxNQUFBO09BQUEsTUFBQTtPQUFBO0NBQUE7QUFDNUIsSUFBSSxtQ0FBOEI7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNsQyxJQUFJLGlDQUFpQztDQUFDO09BQU87T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUM3QyxJQUFJLDZCQUFjO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbEIsSUFBSSxzQkFBaUIsQ0FBQSxXQUFBLGlCQUFBO0FBQ3JCLElBQUkscUJBQWlCLENBQUEsSUFBQTtBQUNyQixJQUFJLG9CQUFpQjtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNyQixJQUFDLG1CQUFBLENBQUEsSUFBQTtBQUNELElBQUksb0JBQW9CLENBQUMsSUFBQTtBQUN6QixJQUFJLHlCQUF5QixDQUFDLElBQUk7QUFDbEMsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJO0FBQzlCLElBQUksMEJBQTBCLENBQUMsSUFBRTtBQUNqQyxJQUFJLG9CQUFvQixDQUFDLElBQUE7QUFDekIsSUFBSSwwQkFBd0IsQ0FBQSxJQUFBO0FBQzVCLElBQUkseUJBQXlCO0NBQUM7T0FBTztPQUFBO09BQUE7Q0FBQTtBQUNyQyxJQUFJLFVBQVUsQ0FBQyxJQUFJO0FBQ25CLElBQUksMEJBQTBCLENBQUMsSUFBRTtBQUNqQyxJQUFJLDRCQUE0QixDQUFDLElBQUk7QUFDckMsSUFBSSxzQkFBc0IsQ0FBQyxXQUFHLE9BQUE7QUFDOUIsSUFBSSxnQkFBZ0I7Q0FBQztPQUFXO09BQUc7T0FBQTtDQUFBO0FBQ25DLElBQUksbUJBQVEsQ0FBQSxJQUFBO0FBQ1osSUFBSSxzQkFBaUI7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNyQixJQUFJLG9CQUFpQixDQUFBLFdBQUEsaUJBQUE7QUFDckIsSUFBSyxrQkFBQTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0wsSUFBVyx5QkFBa0IsQ0FBQSxJQUFBO0FBQzdCLElBQVcsd0JBQVUsQ0FBQSxJQUFBO0FBQ3JCLElBQVcscUJBQVUsQ0FBQSxJQUFBO0FBQ3JCLElBQUssb0JBQUEsQ0FBQSxJQUFBO0FBQ0wsSUFBVyw2QkFBbUIsQ0FBQSxJQUFBO0FBQzlCLElBQVcscUJBQXFCLENBQUMsSUFBSTtBQUNyQyxJQUFJLHNCQUFzQixDQUFDLElBQUk7QUFDL0IsSUFBSSx3QkFBa0IsQ0FBQSxXQUFBLG9CQUFBO0FBQ3RCLElBQUMsMkJBQUEsQ0FBQSxJQUFBO0FBQ0QsSUFBSSwwQkFBMEIsQ0FBQyxJQUFBO0FBQy9CLElBQUkscUJBQWM7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ2xCLElBQUksZUFBZSxDQUFDLFdBQUMsZ0JBQUE7QUFDckIsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFHO0FBQ3hCLElBQUksY0FBYztDQUFDO09BQU87T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDMUIsSUFBSSxpQkFBaUIsQ0FBQSxXQUFBLGlCQUFBO0FBQ3JCLElBQUksVUFBVSxDQUFDLElBQUk7QUFDbkIsSUFBSSxjQUFjLENBQUMsSUFBSTtBQUN2QixJQUFDLHdCQUFBLENBQUEsSUFBQTtBQUNELElBQUksd0JBQXdCO0NBQUM7T0FBSztPQUFBO0NBQUE7QUFDbEMsSUFBSSxtQkFBaUI7Q0FBQTtPQUFBLHNCQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3JCLElBQUksdUJBQXVCO0NBQUM7T0FBVyxzQkFBb0I7T0FBQTtPQUFBO0NBQUE7QUFDM0QsSUFBSSxvQkFBb0I7Q0FBQztPQUFTO09BQUE7Q0FBQTtBQUNsQyxJQUFJLGtCQUFrQixDQUFDLFdBQVcsaUJBQWlCO0FBQ25ELElBQUksc0JBQXNCLENBQUMsSUFBQztBQUM1QixJQUFJLHNCQUFzQjtDQUFDO09BQU07T0FBQTtDQUFBO0FBQ2pDLElBQUkscUJBQXFCO0NBQUM7T0FBTyxvQkFBQTtPQUFBO0NBQUE7QUFDakMsSUFBSSxzQkFBc0I7Q0FBQztPQUFDLG9CQUFBO09BQUE7T0FBQTtDQUFBO0FBQzVCLElBQUEsaUJBQUE7Q0FBQTtPQUFBLG9CQUFBO09BQUE7Q0FBQTtBQUNBLElBQUksbUJBQW1CO0NBQUM7T0FBVyxvQkFBb0I7T0FBQztDQUFBO0FBQ3hELElBQUkscUJBQXFCO0NBQUM7T0FBVyxvQkFBb0I7T0FBTztDQUFBO0FBQ2hFLElBQUksbUJBQW1CO0NBQUM7T0FBTSxvQkFBQTtPQUFBO09BQUE7Q0FBQTtBQUM5QixJQUFJLGtCQUFrQjtDQUFDO09BQVcsb0JBQVM7T0FBQTtPQUFBO0NBQUE7QUFDM0MsSUFBSSxnQkFBZ0I7Q0FBQztPQUFXLG9CQUFXO09BQUE7T0FBQTtDQUFBO0FBQzNDLElBQUksWUFBWTtDQUFDO09BQVcsb0JBQUU7T0FBQTtPQUFBO0NBQUE7QUFDOUIsSUFBSSxpQkFBaUI7Q0FBQztPQUFXLG9CQUFHO09BQUE7Q0FBQTtBQUNwQyxJQUFBLHdCQUFBO0NBQUE7T0FBQSxvQkFBQTtPQUFBO0NBQUE7QUFDQSxJQUFJLDJCQUEyQjtDQUFDO09BQVcsb0JBQWE7T0FBQTtDQUFBO0FBQ3hELElBQUksZ0JBQWdCO0NBQUM7T0FBVyxvQkFBb0I7T0FBRTtDQUFBO0FBQ3RELElBQUksc0JBQXNCO0NBQUM7T0FBVyxvQkFBb0I7T0FBYTtDQUFBO0FBQ3ZFLElBQUksbUJBQWtCO0NBQUE7T0FBQSxvQkFBQTtPQUFBO0NBQUE7QUFDdEIsSUFBSSxrQkFBa0I7Q0FBQztPQUFLLG9CQUFBO09BQUE7Q0FBQTtBQUM1QixJQUFJLDJCQUEyQjtDQUFDO09BQU0sb0JBQUE7T0FBQTtDQUFBO0FBQ3RDLElBQVcsa0JBQWtCO0NBQUM7T0FBTTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDcEMsSUFBQyxvQkFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNELElBQVcsdUJBQXVCO0NBQUM7T0FBVztPQUFzQjtPQUFlO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuRixJQUFJLHVCQUF1QixDQUFDLElBQUk7QUFDaEMsSUFBSSx3QkFBd0IsQ0FBQyxXQUFXLG1CQUFtQjtBQUMzRCxJQUFJLHFCQUFxQixDQUFDLFdBQUUsZ0JBQUE7QUFDNUIsSUFBSSxpQkFBaUI7Q0FBQztPQUFTO09BQUE7Q0FBQTtBQUMvQixJQUFJLGFBQWEsQ0FBQyxJQUFJO0FBQ3RCLElBQUksZUFBZTtDQUFDO09BQVc7T0FBWTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDM0MsSUFBSSxtQkFBbUI7Q0FBQztPQUFBO09BQUE7Q0FBQTtBQUN4QixJQUFBLDBCQUFBO0NBQUE7T0FBQSxXQUFBO09BQUE7Q0FBQTtBQUNBLElBQUksMEJBQWtCO0NBQUE7T0FBQSxXQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDdEIsSUFBSSw0QkFBNEIsQ0FBQyxJQUFHO0FBQ3BDLElBQUksb0JBQW9CLENBQUMsSUFBRTtBQUMzQixJQUFJLG1CQUFtQixDQUFBLElBQUE7QUFDdkIsSUFBSSx5QkFBeUI7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUM3QixJQUFJLG9DQUFnQztDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3BDLElBQUksZ0NBQTJCLENBQUEsSUFBQTtBQUMvQixJQUFJLHFCQUFxQixDQUFDLElBQUk7QUFDOUIsSUFBSSx3QkFBcUI7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDekIsSUFBSSx5Q0FBb0I7Q0FBQTtPQUFBLFdBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN4QixJQUFJLG1DQUE0QjtDQUFBO09BQUEsV0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNoQyxJQUFDLDJDQUFBO0NBQUE7T0FBQSxXQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0QsSUFBSSw0QkFBb0I7Q0FBQTtPQUFBLFdBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN4QixJQUFJLDRCQUFzQjtDQUFBO09BQUEsV0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQzFCLElBQUksOEJBQXFCO0NBQUE7T0FBQSxXQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3pCLElBQUksMEJBQW9CO0NBQUE7T0FBQSxXQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3hCLElBQUksZ0NBQWlCO0NBQUE7T0FBQSxXQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3JCLElBQUksK0JBQStCO0NBQUM7T0FBVyxXQUFXO09BQU87T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDakUsSUFBSSxtQkFBbUI7Q0FBQztPQUFXLFdBQVc7T0FBWTtDQUFZO0FBQ3RFLElBQUksZ0NBQXFCO0NBQUE7T0FBQSxXQUFBO09BQUE7Q0FBQTtBQUN6QixJQUFJLHNDQUFrQztDQUFBO09BQUEsV0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDdEMsSUFBVyxvQkFBb0I7Q0FBQztPQUFHO09BQUE7Q0FBQTtBQUNuQyxJQUFXLG1CQUFtQixDQUFDLElBQUk7QUFDbkMsSUFBQyxzQkFBQSxDQUFBLElBQUE7QUFDRCxJQUFJLDJCQUEyQjtDQUFDO09BQVEsV0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3hDLElBQUksa0JBQWtCO0NBQUM7T0FBVztPQUFpQjtPQUFBO0NBQUE7QUFDbkQsSUFBSSxpQkFBaUI7Q0FBQztPQUFXO09BQUE7Q0FBQTtBQUNqQyxJQUFJLGlCQUFpQjtDQUFDO09BQVE7T0FBQTtPQUFBO0NBQUE7QUFDOUIsSUFBSSxtQkFBbUIsQ0FBQyxXQUFNLGdCQUFBO0FBQzlCLElBQUMsbUJBQUEsQ0FBQSxXQUFBLGdCQUFBO0FBQ0QsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLGdCQUFJO0FBQ3RDLElBQUksb0JBQW9CLENBQUMsV0FBVyxnQkFBZTtBQUNuRCxJQUFJLDRCQUE0QixDQUFDLFdBQUEsZ0JBQUE7QUFDakMsSUFBVyxvQkFBbUI7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDOUIsSUFBVyxnQkFBZ0I7Q0FBQztPQUFXO09BQUs7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUM1QyxJQUFXLFlBQVksQ0FBQyxXQUFHLFlBQUE7QUFFM0IsSUFBVyxlQUFhO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
709
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dHMvdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24nO1xuaW1wb3J0IHsgQ29sb3JNYXBwaW5nLCBDb2xvck5hbWVzLCBjb2xvclZhciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnJztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSwgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0b21lclNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2dyaWRJbnNlcnRpb24nO1xuaW1wb3J0IHsgRE9NSW5zZXJ0aW9uVHlwZSB9IGZyb20gJ3NyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uJztcbmltcG9ydCB0eXBlIHsgUGFnZVZpc2l0Q2F0ZWdvcnksIFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENoYXRTdGF0ZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0c2VydmljZS10eXBlcyc7XG5pbXBvcnQgeyBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIH0gZnJvbSAnc3JjL3R5cGVzL3N1Z2dlc3Rpb25CYXJWMi10eXBlcyc7XG5pbXBvcnQgeyBUZXN0UHJvcHMgfSBmcm9tICdzcmMvdHlwZXMvdGVzdC10eXBlcyc7XG5pbXBvcnQgeyBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHMnO1xuaW1wb3J0IHR5cGUgeyBBZGRUb0NhcnRDYWxsYmFjayB9IGZyb20gJ3NyYy90eXBlcy9lbnZpdmVDb25maWcnO1xuaW1wb3J0IHsgV2lkZ2V0Q29uZmlnVjMsIFdpZGdldFR5cGVWMyB9IGZyb20gJy4vdHlwZXNWMyc7XG5pbXBvcnQgdHlwZSB7IEhhcmRjb3B5UmVzcG9uc2UgfSBmcm9tICcuL2hhcmRjb3B5Q29udGV4dC9oYXJkY29weUNvbnRleHQnO1xudHlwZSBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zID0gJ2Fsd2F5cycgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tb24tbW9iaWxlLWFsd2F5cy1kZXNrdG9wJyB8ICdhZnRlci1pbnRlcmFjdGlvbi1hbnl3aGVyZScgfCAnbmV2ZXInO1xudHlwZSBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcgPSB7XG4gICAgcG9zaXRpb246ICdib3R0b20tbGVmdCcgfCAnbWlkZGxlLWxlZnQnIHwgJ21pZGRsZS1yaWdodCcgfCAnYm90dG9tLXJpZ2h0JztcbiAgICBleHBhbnNpb25UZXh0Pzoge1xuICAgICAgICBwZHA6IHN0cmluZztcbiAgICAgICAgcGxwOiBzdHJpbmc7XG4gICAgfTtcbiAgICBtaW5pbWl6ZWRDb2xvcjogc3RyaW5nO1xuICAgIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgc2hvd09wdGlvbjogU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucztcbiAgICBpY29uU1ZHU3JjPzogc3RyaW5nO1xuICAgIGljb25TaXplPzogbnVtYmVyO1xuICAgIGljb25TdHJva2VDb2xvcj86IHN0cmluZztcbiAgICBpY29uRmlsbENvbG9yPzogc3RyaW5nO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBmb250U2l6ZT86IG51bWJlcjtcbn07XG50eXBlIFdlbGNvbWVTZWN0aW9uVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnb3V0bGluZWQnO1xudHlwZSBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYWNjZW50JyB8ICdicmFuZCcgfCAnbGlnaHQnO1xudHlwZSBXZWxjb21lU2VjdGlvbkNvbmZpZyA9IHtcbiAgICB2YXJpYW50OiBXZWxjb21lU2VjdGlvblZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50PzogV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQ7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG59O1xudHlwZSBDaGF0UHJldmlld0NvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnZmxhdCcgfCAnZmlsbGVkJyB8ICdvdXRsaW5lZCc7XG4gICAgbGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG4gICAgZmlsbGVkQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRDb2xvcj86IHN0cmluZztcbiAgICBidXR0b25UZXh0U2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dEhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQmFja2dyb3VuZEhvdmVyQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25Cb3JkZXJDb2xvcj86IHN0cmluZztcbiAgICBidXR0b25Cb3JkZXJIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGNvcGllczoge1xuICAgICAgICBwZHA6IHN0cmluZ1tdO1xuICAgICAgICBwbHA6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllcz86IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1BMUEltYWdlcz86IHN0cmluZ1tdO1xuICAgIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xuICAgIGhlYWRlckNvbmZpZz86IENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnO1xuICAgIHRvcE1hcmdpbj86IG51bWJlcjtcbn07XG50eXBlIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnID0ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xuICAgIHNwYXJrbGVzQ29sb3I/OiBzdHJpbmc7XG4gICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgaWNvbldpZHRoPzogc3RyaW5nO1xuICAgIGljb25IZWlnaHQ/OiBzdHJpbmc7XG59O1xuaW50ZXJmYWNlIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnIHtcbiAgICBoYXNGYWRlPzogYm9vbGVhbjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudD86ICdkYXJrJyB8ICdsaWdodCcgfCAnb3V0bGluZWQnO1xuICAgIHN1Z2dlc3Rpb25zQmFja2dyb3VuZD86IHN0cmluZztcbiAgICByZXBseUJ1dHRvbkljb24/OiAnc2VuZCcgfCAnbWFnbmlmeWluZ0dsYXNzJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdzZWFyY2hJY29uJztcbiAgICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gICAgcmVwbHlJbnB1dEhhc1NoYWRvdz86IGJvb2xlYW47XG4gICAgcmVwbHlJbnB1dEhhc0JvcmRlcj86IGJvb2xlYW47XG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxudHlwZSBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdib3JkZXJlZCc7XG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSAnbmV1dHJhbCcgfCAnYnJhbmQnIHwgJ3ByZW1pdW0nO1xuaW50ZXJmYWNlIFByb2R1Y3RSZXZpZXdDb25maWcge1xuICAgIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgICBjb2xvclZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQ7XG4gICAgdmVyaWZpZWRCdXllclRpdGxlOiBzdHJpbmc7XG4gICAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG50eXBlIFBhZ2VDYXJkVmFyaWFudCA9ICdmaWxsZWQnIHwgJ291dGxpbmVkJyB8ICdtaW5pbWFsJztcbnR5cGUgUGFnZUNhcmRIb3ZlclZhcmlhbnQgPSAnbm9uZScgfCAnc2hhZG93JyB8ICdsaWZ0JztcbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ2JhY2tncm91bmQnIHwgJ25vbmUnO1xudHlwZSBQYWdlQ2FyZENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiBQYWdlQ2FyZFZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQYWdlQ2FyZEhvdmVyVmFyaWFudDtcbiAgICBpY29uVmFyaWFudDogUGFnZUNhcmRJY29uVmFyaWFudDtcbn07XG50eXBlIFByb2R1Y3RDYXJkVmFyaWFudCA9ICdmaWxsZWQnIHwgJ2JvcmRlcmVkJyB8ICdtaW5pbWFsJyB8ICd0cmFuc3BhcmVudEJvcmRlcmVkJztcbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnIHwgJ25vbmUnO1xudHlwZSBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQgPSAnbm9ybWFsJyB8ICd0YWxsJyB8ICdzcXVhcmUnO1xuaW50ZXJmYWNlIFByb2R1Y3RDYXJkQ29uZmlnIHtcbiAgICB2YXJpYW50OiBQcm9kdWN0Q2FyZFZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudDtcbiAgICBsYXlvdXRWYXJpYW50OiBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQ7XG4gICAgcHJpY2VQcmVmaXg/OiBzdHJpbmc7XG59XG50eXBlIENTU3dpdGNoQ29uZmlnID0ge1xuICAgIHZhcmlhbnQ6ICdhdHRhY2hlZCcgfCAnZGV0YWNoZWQnO1xuICAgIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJvcmRlckNvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRUZXh0Q29sb3I6IHN0cmluZztcbiAgICBzZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICB1bnNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBzdXBwb3J0VGl0bGU/OiBzdHJpbmc7XG4gICAgc3BpZmZ5VGl0bGU/OiBzdHJpbmc7XG4gICAgc3BpZmZ5VGl0bGVIYXNMb2dvPzogYm9vbGVhbjtcbn07XG50eXBlIENoYXRIZWFkZXJDb25maWcgPSB7XG4gICAgY29sbGFwc2VkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgY2hldnJvbkNvbG9yOiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gICAgaWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgICBjbG9zZUljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgYm9yZGVyQm90dG9tPzogc3RyaW5nO1xuICAgIGhlYWRlckJhckhlaWdodFBhcnRpYWxWaWV3OiBudW1iZXI7XG4gICAgaGVhZGVyQmFySGVpZ2h0RnVsbFZpZXc6IG51bWJlcjtcbiAgICBjdXN0b21lclN1cHBvcnRTd2l0Y2hDb25maWc/OiBDU1N3aXRjaENvbmZpZztcbn07XG50eXBlIFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICAgIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICAgIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICAgIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xufTtcbnR5cGUgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICAgIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICAgIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICAgIGNoYXRFbmFibGVkRHVyaW5nQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gICAgc2hvd05hbWVJbnB1dD86IGJvb2xlYW47XG4gICAgZm9ybUFpTmFtZT86IHN0cmluZztcbiAgICB3ZWxjb21lVGl0bGU6IHN0cmluZztcbiAgICB3ZWxjb21lRGVzY3JpcHRpb246IHN0cmluZztcbiAgICBzaG93V2VsY29tZU9uRm9ybT86IGJvb2xlYW47XG4gICAgY29udGFjdFN1YmplY3RPcHRpb25zPzogc3RyaW5nW107XG4gICAgZ2V0Q3VzdG9tV2FpdGluZ01lc3NhZ2U/OiAobmFtZT86IHN0cmluZykgPT4gc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICBvdXRzaWRlQnVzaW5lc3NIb3Vyc01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgICBzdWdnZXN0ZWRBSVF1ZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGJ1c2luZXNzSG91cnNQb2xsaW5nPzogbnVtYmVyO1xuICAgIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAgICovXG4gICAgYnVzaW5lc3NIb3Vyc1N0YXJ0VVRDPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAgICovXG4gICAgYnVzaW5lc3NIb3Vyc0VuZFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNUaW1lem9uZT86IHN0cmluZztcbiAgICBzaG93QUlTdWdnZXN0aW9uc1dpdGhpbkJ1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHdhaXRpbmdNZXNzYWdlUG9zaXRpb24/OiAnQkVGT1JFX01FU1NBR0VTJyB8ICdBRlRFUl9NRVNTQUdFUyc7XG4gICAgbGVnYWxNZXNzYWdlPzogc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIHJlb3BlbkNoYXRNZXNzYWdlOiBzdHJpbmc7XG59O1xudHlwZSBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uIHwgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xudHlwZSBDb252ZXJzYXRpb25hbFNlYWNoID0ge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXQ/OiBSZXBseUlucHV0Q29uZmlnO1xuICAgIHN1Z2dlc3Rpb25zPzogc3RyaW5nW107XG4gICAgZW50cnlwb2ludEJnQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRleHRDb2xvcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50QnRuQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0blRleHRDb2xvcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50QnRuQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludENvbnRhaW5lcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50VHJpZ2dlcj86IHN0cmluZztcbiAgICBwcm9kdWN0R3JpZENvbnRhaW5lcj86IHN0cmluZztcbiAgICBnZW5lcmFsU2VhcmNoQnRuPzogc3RyaW5nO1xuICAgIHBhZ2VDb250ZW50Pzogc3RyaW5nO1xuICAgIHNlYXJjaENvbnRlbnQ/OiBzdHJpbmc7XG4gICAgc29ydGluZ1RpdGxlPzogc3RyaW5nO1xuICAgIHNlbGVjdGlvblRpdGxlPzogc3RyaW5nO1xuICAgIHNvcnRpbmdGb250Pzogc3RyaW5nO1xuICAgIG9wdGlvbnNGb250Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdCdXR0b25UZXh0Pzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdE1lc3NhZ2VWYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdwcmVtaXVtJyB8ICdhY2NlbnQnO1xuaW50ZXJmYWNlIENoYXRNZXNzYWdlQ29uZmlnIHtcbiAgICBhc3Npc3RhbnRDaGF0VGl0bGU6IHN0cmluZztcbiAgICB2YXJpYW50OiBDaGF0TWVzc2FnZVZhcmlhbnQ7XG4gICAgcHJvZHVjdExpbms6IHtcbiAgICAgICAgdmFyaWFudDogUHJvZHVjdExpbmtWYXJpYW50O1xuICAgICAgICBob3ZlclZhcmlhbnQ6IFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50O1xuICAgICAgICBpY29uVmFyaWFudDogUHJvZHVjdExpbmtJY29uVmFyaWFudDtcbiAgICB9O1xufVxuaW50ZXJmYWNlIFJlcGx5SW5wdXRDb25maWcge1xuICAgIHNpemU/OiAnbWQnIHwgJ2xnJztcbiAgICBzZW5kSWNvbjogJ2Fycm93VXAnIHwgJ3NlbmQnIHwgJ3NlYXJjaCc7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgUGFydGlhbFZpZXdDb25maWcge1xuICAgIG1heEhlaWdodDogbnVtYmVyO1xuICAgIGJvcmRlclJhZGl1cz86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdExpbmtJY29uVmFyaWFudCA9ICdhY2NlbnRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kUHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnlEYXJrJyB8ICdib3JkZXJMaWdodCcgfCAnYmFja2dyb3VuZFNhdHVyYXRlZCc7XG50eXBlIFByb2R1Y3RMaW5rVmFyaWFudCA9ICd0ZXh0TGluayc7XG50eXBlIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJztcbnR5cGUgU2VhcmNoQ2FyZFZhcmlhbnQgPSAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRTZWNvbmRhcnknIHwgJ2JhY2tncm91bmRTZWNvbmRhcnlEYXJrJyB8ICdiYWNrZ3JvdW5kTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCA9ICdvdXRsaW5lZCcgfCAnb3V0bGluZWRMaWdodCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeScgfCAnZGFyaycgfCAnZGFya0FjY2VudCcgfCAnZGFya1ByaW1hcnknIHwgJ3NlY29uZGFyeURhcmsnIHwgJ3NlY29uZGFyeUFjY2VudCcgfCAndHJhbnNwYXJlbnQnIHwgJ3RyYW5zcGFyZW50RGFyaycgfCAnbGlnaHREYXJrJztcbmludGVyZmFjZSBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnIHtcbiAgICB2YXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYW5zd2VyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJvcmRlclJhZGl1cz86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn1cbnR5cGUgTnVtUm93cyA9ICdkZWZhdWx0JyB8ICdhbHdheXNPbmVSb3cnIHwgJ2Fsd2F5c1R3b1Jvd3MnIHwgJ3R3b1Jvd3NPbk1vYmlsZSc7XG5pbnRlcmZhY2UgQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcge1xuICAgIHR5cGU6ICdhbHBoYWJldGljJztcbn1cbmludGVyZmFjZSBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAncHJvZHVjdENvdW50Jztcbn1cbmludGVyZmFjZSBDdXN0b21GaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnY3VzdG9tJztcbiAgICBtYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG59XG50eXBlIEZpbHRlclNvcnRpbmcgPSBBbHBoYWJldGljRmlsdGVyU29ydGluZyB8IFByb2R1Y3RDb3VudEZpbHRlclNvcnRpbmcgfCBDdXN0b21GaWx0ZXJTb3J0aW5nO1xuaW50ZXJmYWNlIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbmludGVyZmFjZSBEeW5hbWljRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ2R5bmFtaWMnO1xuICAgIGF0dHJpYnV0ZTogc3RyaW5nO1xuICAgIHNvcnRpbmc6IEZpbHRlclNvcnRpbmc7XG59XG5pbnRlcmZhY2UgUHJpY2VGaWx0ZXJDb25maWcgZXh0ZW5kcyBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICB0eXBlOiAncHJpY2UnO1xuICAgIGJ1Y2tldFNpemU6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIEZpbHRlckF0dHJpYnV0ZSA9IER5bmFtaWNGaWx0ZXJDb25maWcgfCBQcmljZUZpbHRlckNvbmZpZztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQgPSAnYmFja2dyb3VuZFRlcnRpYXJ5JyB8ICdiYWNrZ3JvdW5kRGFyaycgfCAnYmFja2dyb3VuZFByaW1hcnknO1xuZXhwb3J0IHR5cGUgU2VhcmNoWmVyb1N0YXRlTGF5b3V0ID0gJ2lucHV0JyB8ICdpY29uJztcbmV4cG9ydCB0eXBlIFNlYXJjaElucHV0VmFyaWFudCA9ICdzdGFuZGFyZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hJY29uVmFyaWFudCA9ICd0aGluJyB8ICdib2xkJztcbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50ID0gJ2RhcmtCdXR0b24nIHwgJ2xpZ2h0QnV0dG9uJztcbmV4cG9ydCB0eXBlIFByb2R1Y3RHcmlkVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnc3F1YXJlJztcbnR5cGUgVXNlclF1ZXJ5QnV0dG9uSWNvbiA9ICdtYWduaWZ5aW5nR2xhc3MnIHwgJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzc1RoaW4nIHwgJ3NlbmRBcnJvdycgfCAnc2VhcmNoSWNvbic7XG5pbnRlcmZhY2UgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnIHtcbiAgICB2YXJpYW50PzogJ2JveCcgfCAndW5kZXJsaW5lTGlnaHQnIHwgJ3VuZGVybGluZURhcmsnO1xuICAgIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZztcbiAgICBpY29uOiBVc2VyUXVlcnlCdXR0b25JY29uO1xufVxuaW50ZXJmYWNlIFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZyB7XG4gICAgY29weTogc3RyaW5nO1xuICAgIGxpbms6IHN0cmluZztcbiAgICBsaW5rVGV4dDogc3RyaW5nO1xufVxuaW50ZXJmYWNlIE1lcmNoYW50VmFyaWFudFNldHRpbmdzIHtcbiAgICBkeW5hbWljVmFyaWFudHM6IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgcmVmcmVzaEludGVydmFsPzogbnVtYmVyO1xuICAgIH07XG59XG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0Q29uZmlnIHtcbiAgICBlbmFibGVXYXRlcm1hcms6IGJvb2xlYW47XG4gICAgdXNlclF1ZXJ5SW5wdXRFbmFibGVkOiBib29sZWFuO1xuICAgIGlnbm9yZUZpcnN0TW9kZWxSZXNwb25zZT86IGJvb2xlYW47XG4gICAgbmV2ZXJTaG93U2luZ2xlUHJvZHVjdENhcmRzPzogYm9vbGVhbjtcbiAgICB0ZXJtc0FuZENvbmRpdGlvbnNDb25maWc/OiBUZXJtc0FuZENvbmRpdGlvbnNDb25maWc7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZz86IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgcmVwbHlJbnB1dENvbmZpZzogUmVwbHlJbnB1dENvbmZpZztcbn1cbmludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICAgIGVuYWJsZUdsb2JhbFNlYXJjaDogYm9vbGVhbjtcbiAgICBzZWFyY2hGaWx0ZXJDb25maWc6IEZpbHRlckF0dHJpYnV0ZVtdO1xuICAgIHNlYXJjaE92ZXJsYXlIZWFkaW5nPzogc3RyaW5nO1xuICAgIHJlZGlyZWN0U2VhcmNoUmVzdWx0c1VybD86IHN0cmluZztcbiAgICBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzPzogYm9vbGVhbjtcbiAgICByZWNvbW1lbmRlZFByb2R1Y3RzPzogc3RyaW5nW107XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc/OiBzdHJpbmc7XG59XG50eXBlIENvbmZpZ1ZlcnNpb24gPSAndjMnIHwgJ2RlcHJlY2F0ZWQnIHwgdW5kZWZpbmVkO1xudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgICB2ZXJzaW9uPzogQ29uZmlnVmVyc2lvbjtcbiAgICBzaG9ydE5hbWU6IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc/OiBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWc7XG4gICAgY2hhdFByZXZpZXdDb25maWc/OiBDaGF0UHJldmlld0NvbmZpZztcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2g/OiBDb252ZXJzYXRpb25hbFNlYWNoO1xuICAgIG1lcmNoYW50T3ZlcnJpZGVDc3M/OiBzdHJpbmc7XG4gICAgaGlkZGVuRWxlbWVudFNlbGVjdG9ycz86IHN0cmluZ1tdO1xuICAgIG1lcmNoYW50VmFyaWFudFNldHRpbmdzPzogTWVyY2hhbnRWYXJpYW50U2V0dGluZ3M7XG4gICAgZmxvYXRpbmdDaGF0Q29uZmlnOiBGbG9hdGluZ0NoYXRDb25maWc7XG4gICAgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWc7XG4gICAgY2hhdEhlYWRlcjogQ2hhdEhlYWRlckNvbmZpZztcbiAgICBzdGlja3lBZ2VudFN3aXRjaFN1Z2dlc3Rpb24/OiBib29sZWFuO1xuICAgIHBhcnRpYWxWaWV3Q29uZmlnOiBQYXJ0aWFsVmlld0NvbmZpZztcbiAgICB3ZWxjb21lU2VjdGlvbkNvbmZpZz86IFdlbGNvbWVTZWN0aW9uQ29uZmlnO1xuICAgIHByb2R1Y3RDYXJkQ29uZmlnPzogUHJvZHVjdENhcmRDb25maWc7XG4gICAgcHJvZHVjdFJldmlld0NvbmZpZz86IFByb2R1Y3RSZXZpZXdDb25maWc7XG4gICAgcGFnZUNhcmRDb25maWc/OiBQYWdlQ2FyZENvbmZpZztcbiAgICBjaGF0TWVzc2FnZUNvbmZpZzogQ2hhdE1lc3NhZ2VDb25maWc7XG59O1xudHlwZSBJbnNlcnRpb25Qb2ludCA9IHtcbiAgICBzZWxlY3Rvcjogc3RyaW5nO1xuICAgIHNlbGVjdGlvbkluZGV4PzogbnVtYmVyO1xuICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xudHlwZSBVUkxUZXN0ID0gJ3Nob3BpZnknIHwgJ251bGwnO1xudHlwZSBJZEV4dHJhY3RvciA9ICdzaG9waWZ5LXByb2R1Y3QtaWQnIHwgJ3Nob3BpZnktY29sbGVjdGlvbi1pZCcgfCAnc2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWQnIHwgJ3VybC1yZXNvbHZlci1wcm9kdWN0LWlkJyB8ICd1cmwtcmVzb2x2ZXItcGxwLWlkJyB8ICdudWxsJztcbmRlY2xhcmUgZW51bSBDYXRlZ29yeUV4dHJhY3RvclR5cGUge1xuICAgIFZpc2l0Q2F0ZWdvcnlNYXAgPSBcIlZpc2l0Q2F0ZWdvcnlNYXBcIixcbiAgICBWaXNpdENhdGVnb3J5RGVmYXVsdCA9IFwiVmlzaXRDYXRlZ29yeURlZmF1bHRcIlxufVxuaW50ZXJmYWNlIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxUIGV4dGVuZHMgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlPiB7XG4gICAgdHlwZTogVDtcbn1cbmludGVyZmFjZSBWaXNpdENhdGVnb3J5TWFwIGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5TWFwPiB7XG4gICAgbWFwOiB7XG4gICAgICAgIFtrZXkgaW4gUGFnZVZpc2l0Q2F0ZWdvcnldPzogc3RyaW5nW107XG4gICAgfTtcbn1cbmludGVyZmFjZSBWaXNpdENhdGVnb3J5RGVmYXVsdCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeURlZmF1bHQ+IHtcbiAgICB2YWx1ZTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG50eXBlIENhdGVnb3J5RXh0cmFjdG9yID0gVmlzaXRDYXRlZ29yeU1hcCB8IFZpc2l0Q2F0ZWdvcnlEZWZhdWx0O1xudHlwZSBXcmFwcGluZ0VsZW1lbnQgPSB7XG4gICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgZWxlbWVudDogc3RyaW5nO1xuICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xuZGVjbGFyZSBlbnVtIFBhZ2VWYXJpYW50VGVzdFR5cGUge1xuICAgIFBhZ2VDYXRlZ29yeSA9IFwiUGFnZUNhdGVnb3J5XCIsXG4gICAgQ2F0YWxvZ0NhdGVnb3J5ID0gXCJDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBUb3BDYXRhbG9nQ2F0ZWdvcnkgPSBcIlRvcENhdGFsb2dDYXRlZ29yeVwiLFxuICAgIEhhc1Jldmlld3MgPSBcIkhhc1Jldmlld3NcIixcbiAgICBJbkNvbGxlY3Rpb24gPSBcIkluQ29sbGVjdGlvblwiLFxuICAgIEhhc01lcmNoYW50VGFnID0gXCJIYXNNZXJjaGFudFRhZ1wiLFxuICAgIEZlYXR1cmVHYXRlID0gXCJGZWF0dXJlR2F0ZVwiLFxuICAgIFBscElkID0gXCJQbHBJZFwiLFxuICAgIFF1ZXJ5UGFyYW0gPSBcIlF1ZXJ5UGFyYW1cIixcbiAgICBQcm9kdWN0SWQgPSBcIlByb2R1Y3RJZFwiLFxuICAgIFVzZXJIYXNJbnRlcmFjdGVkID0gXCJVc2VySGFzSW50ZXJhY3RlZFwiLFxuICAgIFVzZXJIYXNOb3RJbnRlcmFjdGVkID0gXCJVc2VySGFzTm90SW50ZXJhY3RlZFwiLFxuICAgIGlzTG9hZGluZyA9IFwiaXNMb2FkaW5nXCIsXG4gICAgaXNQcm9kdWN0Q29tcGFyaXNvbiA9IFwiaXNQcm9kdWN0Q29tcGFyaXNvblwiLFxuICAgIEZhbGxiYWNrID0gXCJGYWxsYmFja1wiLFxuICAgIFVybFJlc29sdmVyID0gXCJVcmxSZXNvbHZlclwiLFxuICAgIGlzU2NyZWVuV2lkdGhTbWFsbGVyID0gXCJpc1NjcmVlbldpZHRoU21hbGxlclwiLFxuICAgIE51bGwgPSBcIm51bGxcIlxufVxuaW50ZXJmYWNlIEJhc2VQYWdlVmFyaWFudFRlc3Q8VCBleHRlbmRzIFBhZ2VWYXJpYW50VGVzdFR5cGU+IHtcbiAgICB0ZXN0VHlwZTogVDtcbn1cbmludGVyZmFjZSBUb3BDYXRhbG9nQ2F0ZWdvcnkgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5PiB7XG4gICAgdG9wQ2F0ZWdvcnk6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIENhdGFsb2dDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuQ2F0YWxvZ0NhdGVnb3J5PiB7XG4gICAgY2F0ZWdvcnk6IFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5O1xufVxuaW50ZXJmYWNlIEhhc1Jldmlld3NUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3M+IHtcbiAgICByZXZpZXdNaW5pbXVtPzogbnVtYmVyO1xufVxuaW50ZXJmYWNlIEluQ29sbGVjdGlvblRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uPiB7XG4gICAgY29sbGVjdGlvbnM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIEhhc01lcmNoYW50VGFnVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNNZXJjaGFudFRhZz4ge1xuICAgIG1lcmNoYW50VGFnczogc3RyaW5nW107XG59XG5pbnRlcmZhY2UgUGFnZUNhdGVnb3J5VGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QYWdlQ2F0ZWdvcnk+IHtcbiAgICBleHRyYWN0b3I6IENhdGVnb3J5RXh0cmFjdG9yO1xufVxuaW50ZXJmYWNlIEZlYXR1cmVHYXRlVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZT4ge1xuICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXM7XG59XG5pbnRlcmZhY2UgUHJvZHVjdElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Qcm9kdWN0SWQ+IHtcbiAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xuICAgIHByb2R1Y3RJZHM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBscElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZD4ge1xuICAgIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwbHBJZHM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFF1ZXJ5UGFyYW1UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlF1ZXJ5UGFyYW0+IHtcbiAgICBxdWVyeVBhcmFtOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgVXNlckhhc0ludGVyYWN0ZWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNJbnRlcmFjdGVkPiB7XG59XG5pbnRlcmZhY2UgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNOb3RJbnRlcmFjdGVkPiB7XG59XG5pbnRlcmZhY2UgSXNMb2FkaW5nVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc0xvYWRpbmc+IHtcbn1cbmludGVyZmFjZSBJc1Byb2R1Y3RDb21wYXJpc29uIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzUHJvZHVjdENvbXBhcmlzb24+IHtcbn1cbmludGVyZmFjZSBQYWdlRmFsbGJhY2tUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZhbGxiYWNrPiB7XG59XG5pbnRlcmZhY2UgVXJsUmVzb2x2ZXJUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyPiB7XG59XG5pbnRlcmZhY2UgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzU2NyZWVuV2lkdGhTbWFsbGVyPiB7XG4gICAgYnJlYWtwb2ludDogbnVtYmVyO1xufVxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRUZXN0ID0gUGFnZUNhdGVnb3J5VGVzdCB8IENhdGFsb2dDYXRlZ29yeVRlc3QgfCBUb3BDYXRhbG9nQ2F0ZWdvcnkgfCBIYXNSZXZpZXdzVGVzdCB8IEluQ29sbGVjdGlvblRlc3QgfCBIYXNNZXJjaGFudFRhZ1Rlc3QgfCBGZWF0dXJlR2F0ZVRlc3QgfCBQcm9kdWN0SWRUZXN0IHwgUGxwSWRUZXN0IHwgUXVlcnlQYXJhbVRlc3QgfCBVc2VySGFzSW50ZXJhY3RlZFRlc3QgfCBVc2VySGFzTm90SW50ZXJhY3RlZFRlc3QgfCBJc0xvYWRpbmdUZXN0IHwgSXNQcm9kdWN0Q29tcGFyaXNvbiB8IFBhZ2VGYWxsYmFja1Rlc3QgfCBVcmxSZXNvbHZlclRlc3QgfCBJc1NjcmVlbldpZHRoU21hbGxlclRlc3Q7XG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBzb2NpYWwgcHJvb2YgZW1iZWRkZWQgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGhlYWRlclRpdGxlIC0gVGhlIHRpdGxlIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGhlYWRlclxuICogQHBhcmFtIHN0YXRpY1N1Z2dlc3Rpb25zIC0gQSBsaXN0IG9mIHN0cmluZ3MgdG8gZGlzcGxheSBhcyBzdWdnZXN0aW9ucyBpbiB0aGUgd2lkZ2V0XG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0IC0gVGhlIHZhcmlhbnQgb2YgdGhlIHN1Z2dlc3Rpb24gYnV0dG9uIHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBmb290ZXJcbiAqIEBwYXJhbSBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgYm9keVxuICogQHBhcmFtIHN0YXRpY0ltYWdlSW5kZXggLSBJbmRleCBvZiB0aGUgaW1hZ2VVcmwgdG8gdXNlIGZyb20gdGhlIHByb2R1Y3QgcmVzcG9uc2VcbiAqL1xuaW50ZXJmYWNlIFNvY2lhbFByb29mQ29uZmlnIHtcbiAgICBjdXN0b21lclF1ZXJ5OiBzdHJpbmc7XG4gICAgaGVhZGVyVGl0bGU6IHN0cmluZztcbiAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ/OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gICAgaGVhZGVyRm9udEZhbWlseT86IHN0cmluZztcbiAgICBzdGF0aWNQTFBJbWFnZU5hbWVzPzogc3RyaW5nW107XG4gICAgc3RhdGljSW1hZ2VJbmRleD86IG51bWJlcjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIHN1Z2dlc3Rpb25CdXR0b25EYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnPzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGxvZ29OYW1lPzogc3RyaW5nO1xufVxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBjcmVhdGluZyB0aGUgbW91bnQgcG9pbnQgZm9yIGEgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGNsYXNzTmFtZSAtIE9wdGlvbmFsIGNsYXNzIG5hbWUgdG8gYXBwbHkgdG8gdGhlIG1vdW50IHBvaW50LiBUYWlsd2luZCBjbGFzc2VzIGFyZSBzdXBwb3J0ZWRcbiAqIGFuZCBlbmNvdXJhZ2VkLiBVc2UgdGhpcyBwYXJhbWV0ZXIgdG8gc3R5bGUgdGhlIG1vdW50aW5nIGNvbnRhaW5lciBmb3IgdGhlIHdpZGdldC5cbiAqL1xuZXhwb3J0IHR5cGUgV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gICAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICAgIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gICAgdGVzdElkPzogc3RyaW5nO1xuICAgIHBhcmVudEluc2VydGlvblBvaW50PzogSW5zZXJ0aW9uUG9pbnQ7XG4gICAgaW5zZXJ0aW9uUG9pbnQ6IEluc2VydGlvblBvaW50O1xuICAgIGdyaWRJbnNlcnRpb25UeXBlPzogR3JpZEluc2VydGlvblR5cGU7XG4gICAgd3JhcHBpbmdFbGVtZW50PzogV3JhcHBpbmdFbGVtZW50O1xuICAgIGRpdkNoZWNrU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgc3VwcHJlc3Npb25TZWxlY3Rvcj86IHN0cmluZztcbiAgICBzdHlsZT86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG50eXBlIFN0YXRpY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgRHluYW1pY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBtb3VudGluZ1BvaW50V2lkZ2V0czogV2lkZ2V0RGlzcGxheVRlc3RzW107XG59O1xudHlwZSBXaWRnZXREaXNwbGF5VGVzdHMgPSB7XG4gICAgdGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBXaWRnZXRNb3VudGluZyA9IFN0YXRpY1dpZGdldE1vdW50aW5nIHwgRHluYW1pY1dpZGdldE1vdW50aW5nO1xuZGVjbGFyZSBlbnVtIFdpZGdldFR5cGUge1xuICAgIENoYXRQcmV2aWV3ID0gXCJDaGF0UHJldmlld1wiLFxuICAgIFNvY2lhbFByb29mVjIgPSBcIlNvY2lhbFByb29mVjJcIixcbiAgICBDaGF0UHJldmlld1YyID0gXCJDaGF0UHJldmlld1YyXCIsXG4gICAgQ2hhdFByZXZpZXdJc0xvYWRpbmcgPSBcIkNoYXRQcmV2aWV3SXNMb2FkaW5nXCIsXG4gICAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24gPSBcIkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uXCIsXG4gICAgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbiA9IFwiQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvblwiLFxuICAgIFN1Z2dlc3Rpb25CYXIgPSBcIlN1Z2dlc3Rpb25CYXJcIixcbiAgICBTdWdnZXN0aW9uQmFyVjIgPSBcIlN1Z2dlc3Rpb25CYXJWMlwiLFxuICAgIEltYWdlUHJvbXB0Q2FyZCA9IFwiSW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgSW1hZ2VCYW5uZXIgPSBcIkltYWdlQmFubmVyXCIsXG4gICAgU2luZ2xlSW1hZ2VQcm9tcHQgPSBcIlNpbmdsZUltYWdlUHJvbXB0XCIsXG4gICAgU2VhcmNoUHJvbXB0ID0gXCJTZWFyY2hQcm9tcHRcIixcbiAgICBTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50ID0gXCJTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQgPSBcIlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoT3ZlcmxheUhvc3QgPSBcIlNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgTm9PcCA9IFwiTm9PcFwiXG59XG50eXBlIFdpZGdldENvbmZpZyA9IENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnIHwgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyB8IFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyB8IEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIHwgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgfCBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaFByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgfCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyB8IFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIHwgTm9PcFdpZGdldENvbmZpZztcbmludGVyZmFjZSBCYXNlV2lkZ2V0Q29uZmlnPFQgZXh0ZW5kcyBXaWRnZXRUeXBlPiB7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbiAgICB0eXBlOiBUO1xuICAgIGNvbnRlbnRJZD86IHN0cmluZztcbn1cbmludGVyZmFjZSBJbWFnZUJhbm5lcldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZUJhbm5lcj4ge1xuICAgIGltYWdlU3JjOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIGFzc2lzdGFudE1lc3NhZ2U6IHN0cmluZztcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlldz4ge1xuICAgIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ2ZsYXQnIHwgJ291dGxpbmVkJztcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbiAgICBzb2NpYWxQcm9vZkNvbmZpZz86IFNvY2lhbFByb29mQ29uZmlnO1xuICAgIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xufVxudHlwZSBTaW5nbGVJbWFnZUNvbmZpZyA9IHtcbiAgICBsYXlvdXQ6ICdzaW5nbGUnO1xuICAgIGltYWdlSW5kZXg6IG51bWJlcjtcbn07XG50eXBlIE11bHRpSW1hZ2VDb25maWcgPSB7XG4gICAgbGF5b3V0OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gICAgaW1hZ2VOYW1lczogc3RyaW5nW107XG59O1xudHlwZSBTb2NpYWxQcm9vZkltYWdlQ29uZmlnID0gU2luZ2xlSW1hZ2VDb25maWcgfCBNdWx0aUltYWdlQ29uZmlnO1xudHlwZSBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcgPSB7XG4gICAgYnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gICAgYWNjZW50QnV0dG9uVmFyaWFudHM/OiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIGJ1dHRvblZhcmlhbnRzOiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIG51bVJvd3M/OiBOdW1Sb3dzO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWcgPSB7XG4gICAgbGVhZGluZ1RleHQ6IHN0cmluZztcbiAgICBhbmltYXRlZFN0cmluZ3M6IHN0cmluZ1tdO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdWYXJpYW50ID0ge1xuICAgIHZhcmlhbnQ6ICdmbGF0Jztcbn0gfCB7XG4gICAgdmFyaWFudDogJ2ZpbGxlZCc7XG4gICAgYmFja2dyb3VuZEZpbGxDb2xvcjogc3RyaW5nO1xufSB8IHtcbiAgICB2YXJpYW50OiAnb3V0bGluZWQnO1xufTtcbmludGVyZmFjZSBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGhlYWRlckNvbmZpZzogQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZztcbiAgICBzdWdnZXN0aW9uQnV0dG9uc0NvbmZpZzogQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICAgIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld0lzTG9hZGluZz4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICB1c2VMYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3VjI+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGFuaW1hdGVkVGV4dENvbmZpZzogQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWc7XG59XG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Tb2NpYWxQcm9vZlYyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjdXN0b21lclF1ZXJ5Pzogc3RyaW5nO1xuICAgIGltYWdlQ29uZmlnOiBTb2NpYWxQcm9vZkltYWdlQ29uZmlnO1xufVxuaW50ZXJmYWNlIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjI+IHtcbiAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uO1xuICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzO1xuICAgIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogc3RyaW5nW107XG4gICAgICAgIHByb2R1Y3RTcGVjaWZpYz86IHtcbiAgICAgICAgICAgIFtwcm9kdWN0SWQ6IHN0cmluZ106IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgYm9sZEZpcnN0QnV0dG9uPzogYm9vbGVhbjtcbiAgICB0d29Sb3dzT25Nb2JpbGU/OiBib29sZWFuO1xuICAgIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgICBidXR0b25Cb3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5pbnRlcmZhY2UgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkPiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgbGlnaHRUZXh0PzogYm9vbGVhbjtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlOiBzdHJpbmdbXTtcbiAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBmYWxsYmFja0JhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbmludGVyZmFjZSBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TaW5nbGVJbWFnZVByb21wdD4ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50PiB7XG4gICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogU2VhcmNoWmVyb1N0YXRlVmFyaWFudDtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hJY29uVmFyaWFudD86IFNlYXJjaEljb25WYXJpYW50O1xuICAgIHNlYXJjaEljb25TaXplPzogbnVtYmVyO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgbGF5b3V0OiBTZWFyY2haZXJvU3RhdGVMYXlvdXQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gICAgY29tcGFjdExhYmVsPzogc3RyaW5nO1xuICAgIGluaXRpYWxTdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIHVzaW5nUG9ydGFsPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlU3VidGl0bGU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIE5vT3BXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuTm9PcD4ge1xufVxuaW50ZXJmYWNlIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaE92ZXJsYXlIb3N0PiB7XG59XG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQ+IHtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDogU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ7XG4gICAgcHJvZHVjdEdyaWRWYXJpYW50OiBQcm9kdWN0R3JpZFZhcmlhbnQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBub1Jlc3VsdHNGb3VuZFRleHQ/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEhlYWRlclByb3BzIGV4dGVuZHMgVGVzdFByb3BzIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBsb2dvPzogc3RyaW5nO1xuICAgIGxvZ29IZWlnaHQ/OiBudW1iZXI7XG4gICAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gICAgdmFyaWFudD86IFNlYXJjaFByb21wdFZhcmlhbnQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJRdWVyeU9wdGlvbnMge1xuICAgIGZvb3RlclZhcmlhbnQ/OiAnc3RhbmRhcmQnO1xuICAgIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgICByZXBseUJ1dHRvbkljb24/OiAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdhaS1zZWFyY2gnO1xufVxudHlwZSBTZWFyY2hQcm9tcHRWYXJpYW50ID0gJ3ByaW1hcnknO1xuaW50ZXJmYWNlIFNlYXJjaFByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hQcm9tcHQ+IHtcbiAgICB2YXJpYW50OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaGVhZGVyQ29uZmlnOiBXaWRnZXRIZWFkZXJQcm9wcztcbiAgICBzdWdnZXN0aW9uQnV0dG9uczoge1xuICAgICAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgYnV0dG9uVGV4dHM6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgZm9vdGVyQ29uZmlnPzogVXNlclF1ZXJ5T3B0aW9ucztcbn1cbnR5cGUgUGFnZVZhcmlhbnRCYXNlID0ge1xuICAgIHZhcmlhbnRJZDogc3RyaW5nO1xuICAgIHdpZGdldE1vdW50aW5nOiBXaWRnZXRNb3VudGluZ1tdO1xuICAgIHZhcmlhbnRUZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG4gICAgZmxvYXRpbmdCdXR0b25PdmVycmlkZT86IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG59O1xudHlwZSBQTFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BscCc7XG4gICAgcGxwSWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcbnR5cGUgUERQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwZHAnO1xuICAgIHBhcmVudFByb2R1Y3RJZEV4dHJhY3Rvcj86IElkRXh0cmFjdG9yO1xuICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xudHlwZSBWaXNpdFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGFnZV92aXNpdCc7XG59O1xudHlwZSBPdGhlclBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnb3RoZXInO1xufTtcbnR5cGUgSG9tZVBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnaG9tZXBhZ2UnO1xufTtcbnR5cGUgU2VhcmNoUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdzZWFyY2gnO1xufTtcbnR5cGUgRnVsbFBhZ2VTYWxlc0FnZW50VmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ2Z1bGxfcGFnZSc7XG59O1xuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRDb25maWcgPSBQTFBQYWdlVmFyaWFudCB8IFBEUFBhZ2VWYXJpYW50IHwgVmlzaXRQYWdlVmFyaWFudCB8IE90aGVyUGFnZVZhcmlhbnQgfCBIb21lUGFnZVZhcmlhbnQgfCBTZWFyY2hQYWdlVmFyaWFudCB8IEZ1bGxQYWdlU2FsZXNBZ2VudFZhcmlhbnQ7XG5leHBvcnQgdHlwZSBPcmdQYWdlQ29uZmlnID0ge1xuICAgIHBhZ2VWYXJpYW50czogUGFnZVZhcmlhbnRDb25maWdbXTtcbiAgICB3aWRnZXRDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRDb25maWdWMz47XG4gICAgbW91bnRpbmdDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRNb3VudGluZ0NvbmZpZz47XG59O1xuZXhwb3J0IHR5cGUgT3JnQ29uZmlnID0gT3JnVUlDb25maWc7XG5leHBvcnQgeyBDYXRlZ29yeUV4dHJhY3RvclR5cGUsIENvbG9yTmFtZXMsIGNvbG9yVmFyLCBQYWdlVmFyaWFudFRlc3RUeXBlLCBXaWRnZXRUeXBlIH07XG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gICAgYW1wbGl0dWRlQXBpS2V5Pzogc3RyaW5nO1xuICAgIGRhdGFSZXNpZGVuY3k/OiBzdHJpbmc7XG4gICAgZW52Pzogc3RyaW5nO1xuICAgIGJhc2VVcmw/OiBzdHJpbmc7XG4gICAgcmVhY3RBcHBOYW1lPzogc3RyaW5nO1xuICAgIGNkblVybD86IHN0cmluZztcbiAgICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuICAgIG9yZ0xldmVsQXBpS2V5Pzogc3RyaW5nO1xuICAgIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgICBvcmdJZD86IHN0cmluZztcbiAgICBpZGVudGlmeWluZ1ByZWZpeD86IHN0cmluZztcbiAgICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGU/OiBhbnk7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgZW52aXZlT24/OiBib29sZWFuO1xuICAgIHB1YmxpY0tleT86IHN0cmluZztcbiAgICBmZWF0dXJlR2F0ZXM/OiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICAgIGhhcmRjb3B5T3ZlcnJpZGU/OiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+PjtcbiAgICBhZGRUb0NhcnQ/OiBBZGRUb0NhcnRDYWxsYmFjaztcbn1cbmV4cG9ydCB0eXBlIHsgQ2F0ZWdvcnlFeHRyYWN0b3IsIENoYXRNZXNzYWdlVmFyaWFudCwgQ2hhdE1lc3NhZ2VDb25maWcsIENoYXRQcmV2aWV3Q29uZmlnLCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZywgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcsIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZywgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZywgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZywgQ2hhdFByZXZpZXdGb290ZXJDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnLCBDaGF0UHJldmlld1dpZGdldENvbmZpZywgQ2hhdFByZXZpZXdWYXJpYW50LCBDb2xvck1hcHBpbmcsIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLCBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcsIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgSWRFeHRyYWN0b3IsIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnLCBJbWFnZVByb21wdFdpZGdldENvbmZpZywgSW5zZXJ0aW9uUG9pbnQsIE11bHRpSW1hZ2VDb25maWcsIE1lcmNoYW50VmFyaWFudFNldHRpbmdzLCBTZWFyY2hDb25maWcsIE9yZ1VJQ29uZmlnLCBQYWdlQ2FyZENvbmZpZywgUGFnZUNhcmRWYXJpYW50LCBQYWdlQ2FyZEhvdmVyVmFyaWFudCwgUGFnZUNhcmRJY29uVmFyaWFudCwgUHJvZHVjdENhcmRDb25maWcsIFByb2R1Y3RDYXJkVmFyaWFudCwgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50LCBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudCwgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQsIFByb2R1Y3RMaW5rVmFyaWFudCwgUHJvZHVjdFJldmlld0NvbmZpZywgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCwgUHJvZHVjdFJldmlld0NvbG9yVmFyaWFudCwgU2VhcmNoUHJvbXB0VmFyaWFudCwgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZywgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucywgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnLCBTb2NpYWxQcm9vZkNvbmZpZywgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLCBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnLCBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCwgVVJMVGVzdCwgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnLCBVc2VyUXVlcnlCdXR0b25JY29uLCBXZWxjb21lU2VjdGlvbkNvbmZpZywgV2VsY29tZVNlY3Rpb25WYXJpYW50LCBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCwgV2lkZ2V0Q29uZmlnLCBXcmFwcGluZ0VsZW1lbnQsIFNlYXJjaENhcmRWYXJpYW50LCBXaWRnZXREaXNwbGF5VGVzdHMsIE5vT3BXaWRnZXRDb25maWcsIFdpZGdldE1vdW50aW5nLCBTdGF0aWNXaWRnZXRNb3VudGluZywgRHluYW1pY1dpZGdldE1vdW50aW5nLCBQRFBQYWdlVmFyaWFudCwgUExQUGFnZVZhcmlhbnQsIFZpc2l0UGFnZVZhcmlhbnQsIE90aGVyUGFnZVZhcmlhbnQsIEhvbWVQYWdlVmFyaWFudCwgU2VhcmNoUGFnZVZhcmlhbnQsIE51bVJvd3MsIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQSxJQUFJLDRCQUE0QixDQUFDLEdBQUc7QUFDcEMsSUFBSSwyQkFBMkIsQ0FBQyxVQUFBLDBCQUFBO0FBQ2hDLElBQUksd0JBQXdCLENBQUMsR0FBRztBQUNoQyxJQUFJLDZCQUFnQixDQUFBLEdBQUE7QUFDcEIsSUFBSSx1QkFBZTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25CLElBQUksb0JBQWU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFJLDBCQUFDLENBQUEsR0FBQTtBQUNMLElB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
@@ -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;
@@ -12,12 +12,15 @@ const isOnScreen = (node) => {
12
12
  if (rect.width <= 0 || rect.height <= 0) return false;
13
13
  return rect.top < window.innerHeight && rect.bottom > 0 && rect.left < window.innerWidth && rect.right > 0;
14
14
  };
15
- const useIntersection = (element, rootMargin, logContext) => {
15
+ const useIntersection = (element, rootMargin, logContext, onFallbackEngaged) => {
16
16
  const [isVisible, setIsVisible] = (0, react.useState)(false);
17
17
  const observerRef = (0, react.useRef)(null);
18
18
  const observedNodeRef = (0, react.useRef)(null);
19
19
  const logContextRef = (0, react.useRef)(logContext);
20
20
  logContextRef.current = logContext;
21
+ const onFallbackEngagedRef = (0, react.useRef)(onFallbackEngaged);
22
+ onFallbackEngagedRef.current = onFallbackEngaged;
23
+ const fallbackEngagedRef = (0, react.useRef)(false);
21
24
  (0, react.useEffect)(() => {
22
25
  const current = element?.current;
23
26
  if (!current) return;
@@ -40,6 +43,10 @@ const useIntersection = (element, rootMargin, logContext) => {
40
43
  ...logContextRef.current,
41
44
  fallback_interval_ms: VISIBILITY_FALLBACK_INTERVAL_MS
42
45
  });
46
+ if (!fallbackEngagedRef.current) {
47
+ fallbackEngagedRef.current = true;
48
+ onFallbackEngagedRef.current?.();
49
+ }
43
50
  setIsVisible(true);
44
51
  }
45
52
  };
@@ -76,4 +83,4 @@ exports.VISIBILITY_FALLBACK_GRACE_MS = VISIBILITY_FALLBACK_GRACE_MS;
76
83
  exports.VISIBILITY_FALLBACK_INTERVAL_MS = VISIBILITY_FALLBACK_INTERVAL_MS;
77
84
  exports.VISIBILITY_FOREGROUND_GRACE_MS = VISIBILITY_FOREGROUND_GRACE_MS;
78
85
  exports.useIntersection = useIntersection;
79
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW50ZXJzZWN0aW9uLmNqcyIsIm5hbWVzIjpbIkxvZ2dlciIsImludGVydmFsOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQiLCJmb3JlZ3JvdW5kQ2hlY2s6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0ludGVyc2VjdGlvbi91c2VJbnRlcnNlY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3VzZUludGVyc2VjdGlvbicpO1xuXG4vLyBIb3cgbG9uZyB0byB3YWl0IGJlZm9yZSB0aGUgZmFsbGJhY2sncyBGSVJTVCByZWNvbmNpbGUuIExvbmcgZW5vdWdoIHRoYXQgYSBoZWFsdGh5XG4vLyBJbnRlcnNlY3Rpb25PYnNlcnZlciBoYXMgZGVsaXZlcmVkIGl0cyBpbml0aWFsIGNhbGxiYWNrIChzbyB3ZSBkb24ndCBmYWxzZWx5IGZsYWcgYVxuLy8gbm9ybWFsbHktbG9hZGluZyB3aWRnZXQpLCBzaG9ydCBlbm91Z2ggdG8ga2VlcCB0aGUgd29yc3QtY2FzZSBibGFuayB3aW5kb3cgc21hbGwuXG4vLyBFeHBvcnRlZCBmb3IgdGVzdHMuXG5leHBvcnQgY29uc3QgVklTSUJJTElUWV9GQUxMQkFDS19HUkFDRV9NUyA9IDEwMDA7XG5cbi8vIEhvdyBvZnRlbiB0aGUgZmFsbGJhY2sgcmUtY2hlY2tzIGFmdGVyIHRoZSBpbml0aWFsIGdyYWNlLiBBIGdlbnVpbmVseSBzdHVjayB3aWRnZXRcbi8vIHJlY292ZXJzIHdpdGhpbiBncmFjZSArIG9uZSBpbnRlcnZhbCAofjEuM3MpLiBFeHBvcnRlZCBmb3IgdGVzdHMuXG5leHBvcnQgY29uc3QgVklTSUJJTElUWV9GQUxMQkFDS19JTlRFUlZBTF9NUyA9IDMwMDtcblxuLy8gQWZ0ZXIgdGhlIHRhYiByZXR1cm5zIHRvIHRoZSBmb3JlZ3JvdW5kLCBob3cgbG9uZyB0byB3YWl0IGJlZm9yZSB0aGUgZmFzdC1wYXRoIHJlY29uY2lsZSDigJRcbi8vIGxvbmcgZW5vdWdoIGZvciBhIGhlYWx0aHkgb2JzZXJ2ZXIgdG8gcmUtZmlyZSBvbiBpdHMgb3duIChzbyB3ZSBkb24ndCBmYWxzZWx5IGZsYWcgaXQpLFxuLy8gc2hvcnQgZW5vdWdoIHRoYXQgcmVjb3ZlcnkgaXMgbmVhci1pbnN0YW50LiBFeHBvcnRlZCBmb3IgdGVzdHMuXG5leHBvcnQgY29uc3QgVklTSUJJTElUWV9GT1JFR1JPVU5EX0dSQUNFX01TID0gMjAwO1xuXG5jb25zdCBpc09uU2NyZWVuID0gKG5vZGU6IEhUTUxFbGVtZW50KTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHJlY3QgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAvLyBSZXF1aXJlIHJlYWwgYXJlYTogYW4gZWxlbWVudCB0aGF0IGhhcyBub3QgbGFpZCBvdXQgeWV0IChhIDDDlzAgaW5saW5lIHdyYXBwZXIgbWlkLW1vdW50KVxuICAvLyBvciBpcyBjb2xsYXBzZWQgdG8gemVybyBieSBhbiBvdmVyZmxvdy1jbGlwcGluZyBhbmNlc3RvciBpcyBub3Qgc29tZXRoaW5nIHRoZSBvYnNlcnZlclxuICAvLyB3cm9uZ2x5IG1pc3NlZCDigJQgaXQgaXMgZ2VudWluZWx5IG5vdCB2aXNpYmxlLiBkaXNwbGF5Om5vbmUgc3VidHJlZXMgcmVwb3J0IGFuIGFsbC16ZXJvXG4gIC8vIHJlY3QgYW5kIGFyZSBleGNsdWRlZCBoZXJlIHRvby5cbiAgaWYgKHJlY3Qud2lkdGggPD0gMCB8fCByZWN0LmhlaWdodCA8PSAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAoXG4gICAgcmVjdC50b3AgPCB3aW5kb3cuaW5uZXJIZWlnaHQgJiZcbiAgICByZWN0LmJvdHRvbSA+IDAgJiZcbiAgICByZWN0LmxlZnQgPCB3aW5kb3cuaW5uZXJXaWR0aCAmJlxuICAgIHJlY3QucmlnaHQgPiAwXG4gICk7XG59O1xuXG4vLyBodHRwczovL3Jhc2lsYmFpZGFyLm1lZGl1bS5jb20vdHJpZ2dlci1ldmVudC13aGVuLWVsZW1lbnQtZW50ZXJzLXZpZXdwb3J0LXRoZS1yZWFjdC13YXktMTY4NTA5ZGEyZTIzXG5leHBvcnQgY29uc3QgdXNlSW50ZXJzZWN0aW9uID0gKFxuICBlbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LFxuICByb290TWFyZ2luOiBzdHJpbmcsXG4gIGxvZ0NvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbikgPT4ge1xuICBjb25zdCBbaXNWaXNpYmxlLCBzZXRJc1Zpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBvYnNlcnZlclJlZiA9IHVzZVJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBvYnNlcnZlZE5vZGVSZWYgPSB1c2VSZWY8SFRNTEVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgbG9nQ29udGV4dFJlZiA9IHVzZVJlZihsb2dDb250ZXh0KTtcbiAgbG9nQ29udGV4dFJlZi5jdXJyZW50ID0gbG9nQ29udGV4dDtcblxuICAvLyBSdW5zIGFmdGVyIGV2ZXJ5IHJlbmRlciBzbyBpdCBjYXRjaGVzIHdoZW4gZWxlbWVudC5jdXJyZW50IHRyYW5zaXRpb25zIGZyb20gbnVsbCB0byBhXG4gIC8vIG1vdW50ZWQgRE9NIG5vZGUsIEFORCB3aGVuIHRoZSBub2RlIHVuZGVyIHRoZSByZWYgaXMgcmVwbGFjZWQuIFRoZSByZXBsYWNlbWVudCBjYXNlIGlzXG4gIC8vIGxvYWQtYmVhcmluZzogbW91bnQgY2h1cm4gKGUuZy4gdGhlIHNoYWRvdy1yb290IHBvcnRhbCByZS1jcmVhdGluZyB0aGUgd2lkZ2V0IHN1YnRyZWUpXG4gIC8vIGNhbiBzd2FwIHRoZSBET00gbm9kZSB3aGlsZSB0aGlzIGhvb2sgaW5zdGFuY2Ugc3Vydml2ZXMsIGFuZCBhbiBvYnNlcnZlciBsZWZ0IG9uIHRoZVxuICAvLyBkZXRhY2hlZCBvbGQgbm9kZSBuZXZlciBmaXJlcyBhZ2FpbiDigJQgdGhlIHdpZGdldCB0aGVuIHJlYWRzIGFzIHBlcm1hbmVudGx5IG5vdC12aXNpYmxlXG4gIC8vIGFuZCBuZXZlciBzdGFydHMgbG9hZGluZy4gQmFpbHMgb25jZSB0aGUgY3VycmVudCBub2RlIGlzIHRoZSBvbmUgYmVpbmcgb2JzZXJ2ZWQsXG4gIC8vIGtlZXBpbmcgcGVyLXJlbmRlciBjb3N0IE8oMSkuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudCA9IGVsZW1lbnQ/LmN1cnJlbnQ7XG4gICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChvYnNlcnZlZE5vZGVSZWYuY3VycmVudCA9PT0gY3VycmVudCkgcmV0dXJuOyAvLyBhbHJlYWR5IG9ic2VydmluZyB0aGlzIGV4YWN0IG5vZGVcblxuICAgIGlmIChvYnNlcnZlclJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBOb2RlIHVuZGVyIHRoZSByZWYgd2FzIHJlcGxhY2VkIOKAlCBkcm9wIHRoZSBvYnNlcnZlciBvbiB0aGUgZGV0YWNoZWQgbm9kZS5cbiAgICAgIG9ic2VydmVyUmVmLmN1cnJlbnQuZGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgKFtlbnRyeV0pID0+IHtcbiAgICAgICAgc2V0SXNWaXNpYmxlKGVudHJ5LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgIH0sXG4gICAgICB7IHJvb3RNYXJnaW4gfSxcbiAgICApO1xuXG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50KTtcbiAgICBvYnNlcnZlclJlZi5jdXJyZW50ID0gb2JzZXJ2ZXI7XG4gICAgb2JzZXJ2ZWROb2RlUmVmLmN1cnJlbnQgPSBjdXJyZW50O1xuICB9KTtcblxuICAvLyBTYWZldHkgbmV0OiB2aXNpYmlsaXR5IGRldGVjdGlvbiBtdXN0IG5vdCBiZSBhIHNpbmdsZSBwb2ludCBvZiBmYWlsdXJlLiBXaGlsZSB0aGVcbiAgLy8gb2JzZXJ2ZXIgcmVwb3J0cyBub3QtdmlzaWJsZSwgcGVyaW9kaWNhbGx5IHJlY29uY2lsZSBhZ2FpbnN0IHRoZSBlbGVtZW50J3MgYWN0dWFsXG4gIC8vIHBvc2l0aW9uOyBhbiBlbGVtZW50IHRoYXQgaXMgb24gc2NyZWVuIHdoaWxlIHRoZSBvYnNlcnZlciBzdGF5ZWQgc2lsZW50IG1lYW5zXG4gIC8vIG9ic2VydmF0aW9uIGlzIGJyb2tlbiBmb3IgYSByZWFzb24gd2UgaGF2ZW4ndCBtZXQgeWV0ICh3cmFwcGVkL292ZXJyaWRkZW5cbiAgLy8gSW50ZXJzZWN0aW9uT2JzZXJ2ZXIsIGVuZ2luZSBxdWlyaywgYSBmYWlsdXJlIG1vZGUgbGlrZSB0aGUgc3RhbGUtbm9kZSBidWcpLiBSZXBvcnQgaXRcbiAgLy8gYXMgYSBjb25zb2xlIGVycm9yIChzbyBzZXNzaW9uIHRvb2xzIGNhbiBjb3VudCBhZmZlY3RlZCBzZXNzaW9ucykgYW5kIHRyZWF0IHRoZVxuICAvLyBlbGVtZW50IGFzIHZpc2libGUgc28gaXQgc3RpbGwgbG9hZHMuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCByZWNvbmNpbGUgPSAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlID0gZWxlbWVudD8uY3VycmVudDtcbiAgICAgIGlmICghbm9kZSB8fCAhbm9kZS5pc0Nvbm5lY3RlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoaXNPblNjcmVlbihub2RlKSkge1xuICAgICAgICAvLyBSZWNvdmVyIHRoZSB3aWRnZXQgcmVnYXJkbGVzcyBvZiBkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUuIFRoZSBlbnZpcm9ubWVudHMgdGhpc1xuICAgICAgICAvLyBmYWxsYmFjayBleGlzdHMgZm9yIOKAlCBpT1MvV2ViS2l0IGluLWFwcCB3ZWJ2aWV3cyBhbmQgYmZjYWNoZSByZXN0b3JlcyDigJQgY2FuIHJlcG9ydFxuICAgICAgICAvLyB0aGUgZG9jdW1lbnQgYXMgaGlkZGVuIGV2ZW4gd2hpbGUgdGhlIHNob3BwZXIgaXMgbG9va2luZyBhdCBpdCwgc28gZ2F0aW5nIHJlY292ZXJ5XG4gICAgICAgIC8vIG9uIHZpc2liaWxpdHkgd291bGQgZGVmZWF0IHRoZSBmaXggaW4gZXhhY3RseSB0aG9zZSBjYXNlcy4gT25seSBMT0cgYSBnZW51aW5lXG4gICAgICAgIC8vIGZhaWx1cmUgd2hlbiB0aGUgcGFnZSBpcyBhY3R1YWxseSB2aXNpYmxlLCBzbyBhIGxlZ2l0aW1hdGVseSBzdXBwcmVzc2VkIG9ic2VydmVyIGluXG4gICAgICAgIC8vIGEgaGlkZGVuL2JhY2tncm91bmQgdGFiIGRvZXMgbm90IGZsb29kIGVycm9yIHRlbGVtZXRyeSB3aXRoIGZhbHNlIHBvc2l0aXZlcy5cbiAgICAgICAgaWYgKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgICAgbG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgICAgICAgJ1Zpc2liaWxpdHkgZmFsbGJhY2sgZW5nYWdlZCDigJQgZWxlbWVudCBpcyBvbiBzY3JlZW4gYnV0IEludGVyc2VjdGlvbk9ic2VydmVyIG5ldmVyIHJlcG9ydGVkIGl0JyxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLi4ubG9nQ29udGV4dFJlZi5jdXJyZW50LFxuICAgICAgICAgICAgICBmYWxsYmFja19pbnRlcnZhbF9tczogVklTSUJJTElUWV9GQUxMQkFDS19JTlRFUlZBTF9NUyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBzZXRJc1Zpc2libGUodHJ1ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIEdpdmUgdGhlIHJlYWwgb2JzZXJ2ZXIgYSBncmFjZSB3aW5kb3cgdG8gZGVsaXZlciBpdHMgaW5pdGlhbCBjYWxsYmFjaywgdGhlbiBwb2xsIG9uIGFcbiAgICAvLyBzaG9ydGVyIGNhZGVuY2Ugc28gYSBnZW51aW5lbHkgc3R1Y2sgd2lkZ2V0IHJlY292ZXJzIHF1aWNrbHkuXG4gICAgbGV0IGludGVydmFsOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgZ3JhY2UgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHJlY29uY2lsZSgpO1xuICAgICAgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChyZWNvbmNpbGUsIFZJU0lCSUxJVFlfRkFMTEJBQ0tfSU5URVJWQUxfTVMpO1xuICAgIH0sIFZJU0lCSUxJVFlfRkFMTEJBQ0tfR1JBQ0VfTVMpO1xuXG4gICAgLy8gRmFzdCBwYXRoOiBhIHdpZGdldCBjb21wb3NpdGVkIHdoaWxlIHRoZSB0YWIgd2FzIGhpZGRlbiBjYW4gaGF2ZSBpdHNcbiAgICAvLyBJbnRlcnNlY3Rpb25PYnNlcnZlciBzdXBwcmVzc2VkLCBhbmQgc29tZSBlbmdpbmVzIGZhaWwgdG8gcmUtZmlyZSBpdCB3aGVuIHRoZSB0YWJcbiAgICAvLyByZXR1cm5zIHRvIHRoZSBmb3JlZ3JvdW5kIGZvciBhbiBlbGVtZW50IGFscmVhZHkgaW4gdGhlIHZpZXdwb3J0LiBPbiB2aXNpYmlsaXR5XG4gICAgLy8gY2hhbmdlLCByZWNvbmNpbGUgYWZ0ZXIgYSBzaG9ydCBncmFjZSDigJQgaWYgYSBoZWFsdGh5IG9ic2VydmVyIHJlLWZpcmVzIGZpcnN0LFxuICAgIC8vIGlzVmlzaWJsZSBmbGlwcyBhbmQgdGhpcyBlZmZlY3QgdGVhcnMgdGhlIHRpbWVyIGRvd24gYmVmb3JlIGl0IHJ1bnMuXG4gICAgbGV0IGZvcmVncm91bmRDaGVjazogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWQ7XG4gICAgY29uc3Qgb25WaXNpYmlsaXR5Q2hhbmdlID0gKCkgPT4ge1xuICAgICAgaWYgKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSAhPT0gJ3Zpc2libGUnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGZvcmVncm91bmRDaGVjayA9IHNldFRpbWVvdXQocmVjb25jaWxlLCBWSVNJQklMSVRZX0ZPUkVHUk9VTkRfR1JBQ0VfTVMpO1xuICAgIH07XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIG9uVmlzaWJpbGl0eUNoYW5nZSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KGdyYWNlKTtcbiAgICAgIGlmIChpbnRlcnZhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgICAgfVxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIG9uVmlzaWJpbGl0eUNoYW5nZSk7XG4gICAgICBpZiAoZm9yZWdyb3VuZENoZWNrICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KGZvcmVncm91bmRDaGVjayk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2lzVmlzaWJsZSwgZWxlbWVudF0pO1xuXG4gIC8vIERpc2Nvbm5lY3Qgb24gdW5tb3VudCBvbmx5IOKAlCBpbnRlbnRpb25hbGx5IHNlcGFyYXRlIGZyb20gdGhlIHNldHVwIGVmZmVjdCBhYm92ZS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgb2JzZXJ2ZXJSZWYuY3VycmVudD8uZGlzY29ubmVjdCgpO1xuICAgICAgb2JzZXJ2ZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICBvYnNlcnZlZE5vZGVSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBpc1Zpc2libGU7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUdBLE1BQU0sU0FBUyxJQUFJQSx1QkFBTyxrQkFBa0I7QUFNNUMsTUFBYSwrQkFBK0I7QUFJNUMsTUFBYSxrQ0FBa0M7QUFLL0MsTUFBYSxpQ0FBaUM7QUFFOUMsTUFBTSxjQUFjLFNBQStCO0NBQ2pELE1BQU0sT0FBTyxLQUFLLHVCQUF1QjtBQUt6QyxLQUFJLEtBQUssU0FBUyxLQUFLLEtBQUssVUFBVSxFQUNwQyxRQUFPO0FBRVQsUUFDRSxLQUFLLE1BQU0sT0FBTyxlQUNsQixLQUFLLFNBQVMsS0FDZCxLQUFLLE9BQU8sT0FBTyxjQUNuQixLQUFLLFFBQVE7O0FBS2pCLE1BQWEsbUJBQ1gsU0FDQSxZQUNBLGVBQ0c7Q0FDSCxNQUFNLENBQUMsV0FBVyxvQ0FBeUIsTUFBTTtDQUNqRCxNQUFNLGdDQUFrRCxLQUFLO0NBQzdELE1BQU0sb0NBQTZDLEtBQUs7Q0FDeEQsTUFBTSxrQ0FBdUIsV0FBVztBQUN4QyxlQUFjLFVBQVU7QUFTeEIsNEJBQWdCO0VBQ2QsTUFBTSxVQUFVLFNBQVM7QUFDekIsTUFBSSxDQUFDLFFBQ0g7QUFFRixNQUFJLGdCQUFnQixZQUFZLFFBQVM7QUFFekMsTUFBSSxZQUFZLFFBRWQsYUFBWSxRQUFRLFlBQVk7RUFHbEMsTUFBTSxXQUFXLElBQUksc0JBQ2xCLENBQUMsV0FBVztBQUNYLGdCQUFhLE1BQU0sZUFBZTtLQUVwQyxFQUFFLFlBQVksQ0FDZjtBQUVELFdBQVMsUUFBUSxRQUFRO0FBQ3pCLGNBQVksVUFBVTtBQUN0QixrQkFBZ0IsVUFBVTtHQUMxQjtBQVNGLDRCQUFnQjtBQUNkLE1BQUksVUFDRjtFQUdGLE1BQU0sa0JBQWtCO0dBQ3RCLE1BQU0sT0FBTyxTQUFTO0FBQ3RCLE9BQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxZQUNqQjtBQUVGLE9BQUksV0FBVyxLQUFLLEVBQUU7QUFPcEIsUUFBSSxTQUFTLG9CQUFvQixVQUMvQixRQUFPLFNBQ0wsaUdBQ0EsUUFDQTtLQUNFLEdBQUcsY0FBYztLQUNqQixzQkFBc0I7S0FDdkIsQ0FDRjtBQUVILGlCQUFhLEtBQUs7OztFQU10QixJQUFJQztFQUNKLE1BQU0sUUFBUSxpQkFBaUI7QUFDN0IsY0FBVztBQUNYLGNBQVcsWUFBWSxXQUFXLGdDQUFnQztLQUNqRSw2QkFBNkI7RUFPaEMsSUFBSUM7RUFDSixNQUFNLDJCQUEyQjtBQUMvQixPQUFJLFNBQVMsb0JBQW9CLFVBQy9CO0FBRUYscUJBQWtCLFdBQVcsV0FBVywrQkFBK0I7O0FBRXpFLFdBQVMsaUJBQWlCLG9CQUFvQixtQkFBbUI7QUFFakUsZUFBYTtBQUNYLGdCQUFhLE1BQU07QUFDbkIsT0FBSSxhQUFhLE9BQ2YsZUFBYyxTQUFTO0FBRXpCLFlBQVMsb0JBQW9CLG9CQUFvQixtQkFBbUI7QUFDcEUsT0FBSSxvQkFBb0IsT0FDdEIsY0FBYSxnQkFBZ0I7O0lBR2hDLENBQUMsV0FBVyxRQUFRLENBQUM7QUFHeEIsNEJBQWdCO0FBQ2QsZUFBYTtBQUNYLGVBQVksU0FBUyxZQUFZO0FBQ2pDLGVBQVksVUFBVTtBQUN0QixtQkFBZ0IsVUFBVTs7SUFFM0IsRUFBRSxDQUFDO0FBRU4sUUFBTyJ9
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW50ZXJzZWN0aW9uLmNqcyIsIm5hbWVzIjpbIkxvZ2dlciIsImludGVydmFsOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQiLCJmb3JlZ3JvdW5kQ2hlY2s6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0ludGVyc2VjdGlvbi91c2VJbnRlcnNlY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3VzZUludGVyc2VjdGlvbicpO1xuXG4vLyBIb3cgbG9uZyB0byB3YWl0IGJlZm9yZSB0aGUgZmFsbGJhY2sncyBGSVJTVCByZWNvbmNpbGUuIExvbmcgZW5vdWdoIHRoYXQgYSBoZWFsdGh5XG4vLyBJbnRlcnNlY3Rpb25PYnNlcnZlciBoYXMgZGVsaXZlcmVkIGl0cyBpbml0aWFsIGNhbGxiYWNrIChzbyB3ZSBkb24ndCBmYWxzZWx5IGZsYWcgYVxuLy8gbm9ybWFsbHktbG9hZGluZyB3aWRnZXQpLCBzaG9ydCBlbm91Z2ggdG8ga2VlcCB0aGUgd29yc3QtY2FzZSBibGFuayB3aW5kb3cgc21hbGwuXG4vLyBFeHBvcnRlZCBmb3IgdGVzdHMuXG5leHBvcnQgY29uc3QgVklTSUJJTElUWV9GQUxMQkFDS19HUkFDRV9NUyA9IDEwMDA7XG5cbi8vIEhvdyBvZnRlbiB0aGUgZmFsbGJhY2sgcmUtY2hlY2tzIGFmdGVyIHRoZSBpbml0aWFsIGdyYWNlLiBBIGdlbnVpbmVseSBzdHVjayB3aWRnZXRcbi8vIHJlY292ZXJzIHdpdGhpbiBncmFjZSArIG9uZSBpbnRlcnZhbCAofjEuM3MpLiBFeHBvcnRlZCBmb3IgdGVzdHMuXG5leHBvcnQgY29uc3QgVklTSUJJTElUWV9GQUxMQkFDS19JTlRFUlZBTF9NUyA9IDMwMDtcblxuLy8gQWZ0ZXIgdGhlIHRhYiByZXR1cm5zIHRvIHRoZSBmb3JlZ3JvdW5kLCBob3cgbG9uZyB0byB3YWl0IGJlZm9yZSB0aGUgZmFzdC1wYXRoIHJlY29uY2lsZSDigJRcbi8vIGxvbmcgZW5vdWdoIGZvciBhIGhlYWx0aHkgb2JzZXJ2ZXIgdG8gcmUtZmlyZSBvbiBpdHMgb3duIChzbyB3ZSBkb24ndCBmYWxzZWx5IGZsYWcgaXQpLFxuLy8gc2hvcnQgZW5vdWdoIHRoYXQgcmVjb3ZlcnkgaXMgbmVhci1pbnN0YW50LiBFeHBvcnRlZCBmb3IgdGVzdHMuXG5leHBvcnQgY29uc3QgVklTSUJJTElUWV9GT1JFR1JPVU5EX0dSQUNFX01TID0gMjAwO1xuXG5jb25zdCBpc09uU2NyZWVuID0gKG5vZGU6IEhUTUxFbGVtZW50KTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHJlY3QgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAvLyBSZXF1aXJlIHJlYWwgYXJlYTogYW4gZWxlbWVudCB0aGF0IGhhcyBub3QgbGFpZCBvdXQgeWV0IChhIDDDlzAgaW5saW5lIHdyYXBwZXIgbWlkLW1vdW50KVxuICAvLyBvciBpcyBjb2xsYXBzZWQgdG8gemVybyBieSBhbiBvdmVyZmxvdy1jbGlwcGluZyBhbmNlc3RvciBpcyBub3Qgc29tZXRoaW5nIHRoZSBvYnNlcnZlclxuICAvLyB3cm9uZ2x5IG1pc3NlZCDigJQgaXQgaXMgZ2VudWluZWx5IG5vdCB2aXNpYmxlLiBkaXNwbGF5Om5vbmUgc3VidHJlZXMgcmVwb3J0IGFuIGFsbC16ZXJvXG4gIC8vIHJlY3QgYW5kIGFyZSBleGNsdWRlZCBoZXJlIHRvby5cbiAgaWYgKHJlY3Qud2lkdGggPD0gMCB8fCByZWN0LmhlaWdodCA8PSAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAoXG4gICAgcmVjdC50b3AgPCB3aW5kb3cuaW5uZXJIZWlnaHQgJiZcbiAgICByZWN0LmJvdHRvbSA+IDAgJiZcbiAgICByZWN0LmxlZnQgPCB3aW5kb3cuaW5uZXJXaWR0aCAmJlxuICAgIHJlY3QucmlnaHQgPiAwXG4gICk7XG59O1xuXG4vLyBodHRwczovL3Jhc2lsYmFpZGFyLm1lZGl1bS5jb20vdHJpZ2dlci1ldmVudC13aGVuLWVsZW1lbnQtZW50ZXJzLXZpZXdwb3J0LXRoZS1yZWFjdC13YXktMTY4NTA5ZGEyZTIzXG5leHBvcnQgY29uc3QgdXNlSW50ZXJzZWN0aW9uID0gKFxuICBlbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LFxuICByb290TWFyZ2luOiBzdHJpbmcsXG4gIGxvZ0NvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgLy8gQ2FsbGVkIHRoZSBmaXJzdCB0aW1lIHZpc2liaWxpdHkgaXMgZm9yY2VkIGJ5IHRoZSByZWNvbmNpbGUgZmFsbGJhY2sgKG9ic2VydmVyIHN0YXllZFxuICAvLyBzaWxlbnQgZm9yIGFuIG9uLXNjcmVlbiBlbGVtZW50KS4gTGV0cyBjYWxsZXJzIHJlY29yZCB0aGF0IHRoaXMgd2lkZ2V0J3MgdmlzaWJpbGl0eSBjYW1lXG4gIC8vIGZyb20gdGhlIGZhbGxiYWNrIHJhdGhlciB0aGFuIHRoZSBvYnNlcnZlciDigJQgdGhlIGRpYWdub3N0aWMgZm9yIG9ic2VydmVyIGZhaWx1cmVzLlxuICBvbkZhbGxiYWNrRW5nYWdlZD86ICgpID0+IHZvaWQsXG4pID0+IHtcbiAgY29uc3QgW2lzVmlzaWJsZSwgc2V0SXNWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3Qgb2JzZXJ2ZXJSZWYgPSB1c2VSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3Qgb2JzZXJ2ZWROb2RlUmVmID0gdXNlUmVmPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGxvZ0NvbnRleHRSZWYgPSB1c2VSZWYobG9nQ29udGV4dCk7XG4gIGxvZ0NvbnRleHRSZWYuY3VycmVudCA9IGxvZ0NvbnRleHQ7XG4gIGNvbnN0IG9uRmFsbGJhY2tFbmdhZ2VkUmVmID0gdXNlUmVmKG9uRmFsbGJhY2tFbmdhZ2VkKTtcbiAgb25GYWxsYmFja0VuZ2FnZWRSZWYuY3VycmVudCA9IG9uRmFsbGJhY2tFbmdhZ2VkO1xuICBjb25zdCBmYWxsYmFja0VuZ2FnZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIC8vIFJ1bnMgYWZ0ZXIgZXZlcnkgcmVuZGVyIHNvIGl0IGNhdGNoZXMgd2hlbiBlbGVtZW50LmN1cnJlbnQgdHJhbnNpdGlvbnMgZnJvbSBudWxsIHRvIGFcbiAgLy8gbW91bnRlZCBET00gbm9kZSwgQU5EIHdoZW4gdGhlIG5vZGUgdW5kZXIgdGhlIHJlZiBpcyByZXBsYWNlZC4gVGhlIHJlcGxhY2VtZW50IGNhc2UgaXNcbiAgLy8gbG9hZC1iZWFyaW5nOiBtb3VudCBjaHVybiAoZS5nLiB0aGUgc2hhZG93LXJvb3QgcG9ydGFsIHJlLWNyZWF0aW5nIHRoZSB3aWRnZXQgc3VidHJlZSlcbiAgLy8gY2FuIHN3YXAgdGhlIERPTSBub2RlIHdoaWxlIHRoaXMgaG9vayBpbnN0YW5jZSBzdXJ2aXZlcywgYW5kIGFuIG9ic2VydmVyIGxlZnQgb24gdGhlXG4gIC8vIGRldGFjaGVkIG9sZCBub2RlIG5ldmVyIGZpcmVzIGFnYWluIOKAlCB0aGUgd2lkZ2V0IHRoZW4gcmVhZHMgYXMgcGVybWFuZW50bHkgbm90LXZpc2libGVcbiAgLy8gYW5kIG5ldmVyIHN0YXJ0cyBsb2FkaW5nLiBCYWlscyBvbmNlIHRoZSBjdXJyZW50IG5vZGUgaXMgdGhlIG9uZSBiZWluZyBvYnNlcnZlZCxcbiAgLy8ga2VlcGluZyBwZXItcmVuZGVyIGNvc3QgTygxKS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50ID0gZWxlbWVudD8uY3VycmVudDtcbiAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG9ic2VydmVkTm9kZVJlZi5jdXJyZW50ID09PSBjdXJyZW50KSByZXR1cm47IC8vIGFscmVhZHkgb2JzZXJ2aW5nIHRoaXMgZXhhY3Qgbm9kZVxuXG4gICAgaWYgKG9ic2VydmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIE5vZGUgdW5kZXIgdGhlIHJlZiB3YXMgcmVwbGFjZWQg4oCUIGRyb3AgdGhlIG9ic2VydmVyIG9uIHRoZSBkZXRhY2hlZCBub2RlLlxuICAgICAgb2JzZXJ2ZXJSZWYuY3VycmVudC5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAoW2VudHJ5XSkgPT4ge1xuICAgICAgICBzZXRJc1Zpc2libGUoZW50cnkuaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgfSxcbiAgICAgIHsgcm9vdE1hcmdpbiB9LFxuICAgICk7XG5cbiAgICBvYnNlcnZlci5vYnNlcnZlKGN1cnJlbnQpO1xuICAgIG9ic2VydmVyUmVmLmN1cnJlbnQgPSBvYnNlcnZlcjtcbiAgICBvYnNlcnZlZE5vZGVSZWYuY3VycmVudCA9IGN1cnJlbnQ7XG4gIH0pO1xuXG4gIC8vIFNhZmV0eSBuZXQ6IHZpc2liaWxpdHkgZGV0ZWN0aW9uIG11c3Qgbm90IGJlIGEgc2luZ2xlIHBvaW50IG9mIGZhaWx1cmUuIFdoaWxlIHRoZVxuICAvLyBvYnNlcnZlciByZXBvcnRzIG5vdC12aXNpYmxlLCBwZXJpb2RpY2FsbHkgcmVjb25jaWxlIGFnYWluc3QgdGhlIGVsZW1lbnQncyBhY3R1YWxcbiAgLy8gcG9zaXRpb247IGFuIGVsZW1lbnQgdGhhdCBpcyBvbiBzY3JlZW4gd2hpbGUgdGhlIG9ic2VydmVyIHN0YXllZCBzaWxlbnQgbWVhbnNcbiAgLy8gb2JzZXJ2YXRpb24gaXMgYnJva2VuIGZvciBhIHJlYXNvbiB3ZSBoYXZlbid0IG1ldCB5ZXQgKHdyYXBwZWQvb3ZlcnJpZGRlblxuICAvLyBJbnRlcnNlY3Rpb25PYnNlcnZlciwgZW5naW5lIHF1aXJrLCBhIGZhaWx1cmUgbW9kZSBsaWtlIHRoZSBzdGFsZS1ub2RlIGJ1ZykuIFJlcG9ydCBpdFxuICAvLyBhcyBhIGNvbnNvbGUgZXJyb3IgKHNvIHNlc3Npb24gdG9vbHMgY2FuIGNvdW50IGFmZmVjdGVkIHNlc3Npb25zKSBhbmQgdHJlYXQgdGhlXG4gIC8vIGVsZW1lbnQgYXMgdmlzaWJsZSBzbyBpdCBzdGlsbCBsb2Fkcy5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHJlY29uY2lsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSBlbGVtZW50Py5jdXJyZW50O1xuICAgICAgaWYgKCFub2RlIHx8ICFub2RlLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChpc09uU2NyZWVuKG5vZGUpKSB7XG4gICAgICAgIC8vIFJlY292ZXIgdGhlIHdpZGdldCByZWdhcmRsZXNzIG9mIGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZS4gVGhlIGVudmlyb25tZW50cyB0aGlzXG4gICAgICAgIC8vIGZhbGxiYWNrIGV4aXN0cyBmb3Ig4oCUIGlPUy9XZWJLaXQgaW4tYXBwIHdlYnZpZXdzIGFuZCBiZmNhY2hlIHJlc3RvcmVzIOKAlCBjYW4gcmVwb3J0XG4gICAgICAgIC8vIHRoZSBkb2N1bWVudCBhcyBoaWRkZW4gZXZlbiB3aGlsZSB0aGUgc2hvcHBlciBpcyBsb29raW5nIGF0IGl0LCBzbyBnYXRpbmcgcmVjb3ZlcnlcbiAgICAgICAgLy8gb24gdmlzaWJpbGl0eSB3b3VsZCBkZWZlYXQgdGhlIGZpeCBpbiBleGFjdGx5IHRob3NlIGNhc2VzLiBPbmx5IExPRyBhIGdlbnVpbmVcbiAgICAgICAgLy8gZmFpbHVyZSB3aGVuIHRoZSBwYWdlIGlzIGFjdHVhbGx5IHZpc2libGUsIHNvIGEgbGVnaXRpbWF0ZWx5IHN1cHByZXNzZWQgb2JzZXJ2ZXIgaW5cbiAgICAgICAgLy8gYSBoaWRkZW4vYmFja2dyb3VuZCB0YWIgZG9lcyBub3QgZmxvb2QgZXJyb3IgdGVsZW1ldHJ5IHdpdGggZmFsc2UgcG9zaXRpdmVzLlxuICAgICAgICBpZiAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID09PSAndmlzaWJsZScpIHtcbiAgICAgICAgICBsb2dnZXIubG9nRXJyb3IoXG4gICAgICAgICAgICAnVmlzaWJpbGl0eSBmYWxsYmFjayBlbmdhZ2VkIOKAlCBlbGVtZW50IGlzIG9uIHNjcmVlbiBidXQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgbmV2ZXIgcmVwb3J0ZWQgaXQnLFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5sb2dDb250ZXh0UmVmLmN1cnJlbnQsXG4gICAgICAgICAgICAgIGZhbGxiYWNrX2ludGVydmFsX21zOiBWSVNJQklMSVRZX0ZBTExCQUNLX0lOVEVSVkFMX01TLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZmFsbGJhY2tFbmdhZ2VkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBmYWxsYmFja0VuZ2FnZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgb25GYWxsYmFja0VuZ2FnZWRSZWYuY3VycmVudD8uKCk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0SXNWaXNpYmxlKHRydWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBHaXZlIHRoZSByZWFsIG9ic2VydmVyIGEgZ3JhY2Ugd2luZG93IHRvIGRlbGl2ZXIgaXRzIGluaXRpYWwgY2FsbGJhY2ssIHRoZW4gcG9sbCBvbiBhXG4gICAgLy8gc2hvcnRlciBjYWRlbmNlIHNvIGEgZ2VudWluZWx5IHN0dWNrIHdpZGdldCByZWNvdmVycyBxdWlja2x5LlxuICAgIGxldCBpbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGdyYWNlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICByZWNvbmNpbGUoKTtcbiAgICAgIGludGVydmFsID0gc2V0SW50ZXJ2YWwocmVjb25jaWxlLCBWSVNJQklMSVRZX0ZBTExCQUNLX0lOVEVSVkFMX01TKTtcbiAgICB9LCBWSVNJQklMSVRZX0ZBTExCQUNLX0dSQUNFX01TKTtcblxuICAgIC8vIEZhc3QgcGF0aDogYSB3aWRnZXQgY29tcG9zaXRlZCB3aGlsZSB0aGUgdGFiIHdhcyBoaWRkZW4gY2FuIGhhdmUgaXRzXG4gICAgLy8gSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgc3VwcHJlc3NlZCwgYW5kIHNvbWUgZW5naW5lcyBmYWlsIHRvIHJlLWZpcmUgaXQgd2hlbiB0aGUgdGFiXG4gICAgLy8gcmV0dXJucyB0byB0aGUgZm9yZWdyb3VuZCBmb3IgYW4gZWxlbWVudCBhbHJlYWR5IGluIHRoZSB2aWV3cG9ydC4gT24gdmlzaWJpbGl0eVxuICAgIC8vIGNoYW5nZSwgcmVjb25jaWxlIGFmdGVyIGEgc2hvcnQgZ3JhY2Ug4oCUIGlmIGEgaGVhbHRoeSBvYnNlcnZlciByZS1maXJlcyBmaXJzdCxcbiAgICAvLyBpc1Zpc2libGUgZmxpcHMgYW5kIHRoaXMgZWZmZWN0IHRlYXJzIHRoZSB0aW1lciBkb3duIGJlZm9yZSBpdCBydW5zLlxuICAgIGxldCBmb3JlZ3JvdW5kQ2hlY2s6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IG9uVmlzaWJpbGl0eUNoYW5nZSA9ICgpID0+IHtcbiAgICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgIT09ICd2aXNpYmxlJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBmb3JlZ3JvdW5kQ2hlY2sgPSBzZXRUaW1lb3V0KHJlY29uY2lsZSwgVklTSUJJTElUWV9GT1JFR1JPVU5EX0dSQUNFX01TKTtcbiAgICB9O1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBvblZpc2liaWxpdHlDaGFuZ2UpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dChncmFjZSk7XG4gICAgICBpZiAoaW50ZXJ2YWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgIH1cbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBvblZpc2liaWxpdHlDaGFuZ2UpO1xuICAgICAgaWYgKGZvcmVncm91bmRDaGVjayAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFyVGltZW91dChmb3JlZ3JvdW5kQ2hlY2spO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtpc1Zpc2libGUsIGVsZW1lbnRdKTtcblxuICAvLyBEaXNjb25uZWN0IG9uIHVubW91bnQgb25seSDigJQgaW50ZW50aW9uYWxseSBzZXBhcmF0ZSBmcm9tIHRoZSBzZXR1cCBlZmZlY3QgYWJvdmUuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIG9ic2VydmVyUmVmLmN1cnJlbnQ/LmRpc2Nvbm5lY3QoKTtcbiAgICAgIG9ic2VydmVyUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgb2JzZXJ2ZWROb2RlUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICByZXR1cm4gaXNWaXNpYmxlO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxNQUFNLFNBQVMsSUFBSUEsdUJBQU8sa0JBQWtCO0FBTTVDLE1BQWEsK0JBQStCO0FBSTVDLE1BQWEsa0NBQWtDO0FBSy9DLE1BQWEsaUNBQWlDO0FBRTlDLE1BQU0sY0FBYyxTQUErQjtDQUNqRCxNQUFNLE9BQU8sS0FBSyx1QkFBdUI7QUFLekMsS0FBSSxLQUFLLFNBQVMsS0FBSyxLQUFLLFVBQVUsRUFDcEMsUUFBTztBQUVULFFBQ0UsS0FBSyxNQUFNLE9BQU8sZUFDbEIsS0FBSyxTQUFTLEtBQ2QsS0FBSyxPQUFPLE9BQU8sY0FDbkIsS0FBSyxRQUFROztBQUtqQixNQUFhLG1CQUNYLFNBQ0EsWUFDQSxZQUlBLHNCQUNHO0NBQ0gsTUFBTSxDQUFDLFdBQVcsb0NBQXlCLE1BQU07Q0FDakQsTUFBTSxnQ0FBa0QsS0FBSztDQUM3RCxNQUFNLG9DQUE2QyxLQUFLO0NBQ3hELE1BQU0sa0NBQXVCLFdBQVc7QUFDeEMsZUFBYyxVQUFVO0NBQ3hCLE1BQU0seUNBQThCLGtCQUFrQjtBQUN0RCxzQkFBcUIsVUFBVTtDQUMvQixNQUFNLHVDQUE0QixNQUFNO0FBU3hDLDRCQUFnQjtFQUNkLE1BQU0sVUFBVSxTQUFTO0FBQ3pCLE1BQUksQ0FBQyxRQUNIO0FBRUYsTUFBSSxnQkFBZ0IsWUFBWSxRQUFTO0FBRXpDLE1BQUksWUFBWSxRQUVkLGFBQVksUUFBUSxZQUFZO0VBR2xDLE1BQU0sV0FBVyxJQUFJLHNCQUNsQixDQUFDLFdBQVc7QUFDWCxnQkFBYSxNQUFNLGVBQWU7S0FFcEMsRUFBRSxZQUFZLENBQ2Y7QUFFRCxXQUFTLFFBQVEsUUFBUTtBQUN6QixjQUFZLFVBQVU7QUFDdEIsa0JBQWdCLFVBQVU7R0FDMUI7QUFTRiw0QkFBZ0I7QUFDZCxNQUFJLFVBQ0Y7RUFHRixNQUFNLGtCQUFrQjtHQUN0QixNQUFNLE9BQU8sU0FBUztBQUN0QixPQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssWUFDakI7QUFFRixPQUFJLFdBQVcsS0FBSyxFQUFFO0FBT3BCLFFBQUksU0FBUyxvQkFBb0IsVUFDL0IsUUFBTyxTQUNMLGlHQUNBLFFBQ0E7S0FDRSxHQUFHLGNBQWM7S0FDakIsc0JBQXNCO0tBQ3ZCLENBQ0Y7QUFFSCxRQUFJLENBQUMsbUJBQW1CLFNBQVM7QUFDL0Isd0JBQW1CLFVBQVU7QUFDN0IsMEJBQXFCLFdBQVc7O0FBRWxDLGlCQUFhLEtBQUs7OztFQU10QixJQUFJQztFQUNKLE1BQU0sUUFBUSxpQkFBaUI7QUFDN0IsY0FBVztBQUNYLGNBQVcsWUFBWSxXQUFXLGdDQUFnQztLQUNqRSw2QkFBNkI7RUFPaEMsSUFBSUM7RUFDSixNQUFNLDJCQUEyQjtBQUMvQixPQUFJLFNBQVMsb0JBQW9CLFVBQy9CO0FBRUYscUJBQWtCLFdBQVcsV0FBVywrQkFBK0I7O0FBRXpFLFdBQVMsaUJBQWlCLG9CQUFvQixtQkFBbUI7QUFFakUsZUFBYTtBQUNYLGdCQUFhLE1BQU07QUFDbkIsT0FBSSxhQUFhLE9BQ2YsZUFBYyxTQUFTO0FBRXpCLFlBQVMsb0JBQW9CLG9CQUFvQixtQkFBbUI7QUFDcEUsT0FBSSxvQkFBb0IsT0FDdEIsY0FBYSxnQkFBZ0I7O0lBR2hDLENBQUMsV0FBVyxRQUFRLENBQUM7QUFHeEIsNEJBQWdCO0FBQ2QsZUFBYTtBQUNYLGVBQVksU0FBUyxZQUFZO0FBQ2pDLGVBQVksVUFBVTtBQUN0QixtQkFBZ0IsVUFBVTs7SUFFM0IsRUFBRSxDQUFDO0FBRU4sUUFBTyJ9
@@ -4,7 +4,7 @@ import { RefObject } from "react";
4
4
  declare const VISIBILITY_FALLBACK_GRACE_MS = 1000;
5
5
  declare const VISIBILITY_FALLBACK_INTERVAL_MS = 300;
6
6
  declare const VISIBILITY_FOREGROUND_GRACE_MS = 200;
7
- declare const useIntersection: (element: RefObject<HTMLElement>, rootMargin: string, logContext?: Record<string, unknown>) => boolean;
7
+ declare const useIntersection: (element: RefObject<HTMLElement>, rootMargin: string, logContext?: Record<string, unknown>, onFallbackEngaged?: () => void) => boolean;
8
8
  //#endregion
9
9
  export { VISIBILITY_FALLBACK_GRACE_MS, VISIBILITY_FALLBACK_INTERVAL_MS, VISIBILITY_FOREGROUND_GRACE_MS, useIntersection };
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW50ZXJzZWN0aW9uLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9JbnRlcnNlY3Rpb24vdXNlSW50ZXJzZWN0aW9uLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0IH0gZnJvbSAncmVhY3QnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgVklTSUJJTElUWV9GQUxMQkFDS19HUkFDRV9NUyA9IDEwMDA7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBWSVNJQklMSVRZX0ZBTExCQUNLX0lOVEVSVkFMX01TID0gMzAwO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgVklTSUJJTElUWV9GT1JFR1JPVU5EX0dSQUNFX01TID0gMjAwO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlSW50ZXJzZWN0aW9uOiAoZWxlbWVudDogUmVmT2JqZWN0PEhUTUxFbGVtZW50Piwgcm9vdE1hcmdpbjogc3RyaW5nLCBsb2dDb250ZXh0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IGJvb2xlYW47XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcsK0JBQStCLENBQUMsSUFBSTtBQUMvQyxJQUFXLGtDQUFrQyxDQUFDLElBQUk7QUFDbEQsSUFBVyxpQ0FBaUMsQ0FBQyxJQUFJO0FBQ2pELElBQVcsa0JBQWtCO0NBQUM7T0FBVztPQUFtQjtPQUFpQjtDQUFPIn0=
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW50ZXJzZWN0aW9uLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9JbnRlcnNlY3Rpb24vdXNlSW50ZXJzZWN0aW9uLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0IH0gZnJvbSAncmVhY3QnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgVklTSUJJTElUWV9GQUxMQkFDS19HUkFDRV9NUyA9IDEwMDA7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBWSVNJQklMSVRZX0ZBTExCQUNLX0lOVEVSVkFMX01TID0gMzAwO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgVklTSUJJTElUWV9GT1JFR1JPVU5EX0dSQUNFX01TID0gMjAwO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlSW50ZXJzZWN0aW9uOiAoZWxlbWVudDogUmVmT2JqZWN0PEhUTUxFbGVtZW50Piwgcm9vdE1hcmdpbjogc3RyaW5nLCBsb2dDb250ZXh0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIG9uRmFsbGJhY2tFbmdhZ2VkPzogKCkgPT4gdm9pZCkgPT4gYm9vbGVhbjtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBVywrQkFBK0IsQ0FBQyxJQUFJO0FBQy9DLElBQVcsa0NBQWtDLENBQUMsSUFBSTtBQUNsRCxJQUFXLGlDQUFpQyxDQUFDLElBQUk7QUFDakQsSUFBVyxrQkFBa0I7Q0FBQztPQUFXO09BQW1CO09BQWlCO0NBQU8ifQ==
@@ -4,7 +4,7 @@ import { RefObject } from "react";
4
4
  declare const VISIBILITY_FALLBACK_GRACE_MS = 1000;
5
5
  declare const VISIBILITY_FALLBACK_INTERVAL_MS = 300;
6
6
  declare const VISIBILITY_FOREGROUND_GRACE_MS = 200;
7
- declare const useIntersection: (element: RefObject<HTMLElement>, rootMargin: string, logContext?: Record<string, unknown>) => boolean;
7
+ declare const useIntersection: (element: RefObject<HTMLElement>, rootMargin: string, logContext?: Record<string, unknown>, onFallbackEngaged?: () => void) => boolean;
8
8
  //#endregion
9
9
  export { VISIBILITY_FALLBACK_GRACE_MS, VISIBILITY_FALLBACK_INTERVAL_MS, VISIBILITY_FOREGROUND_GRACE_MS, useIntersection };
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW50ZXJzZWN0aW9uLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0ludGVyc2VjdGlvbi91c2VJbnRlcnNlY3Rpb24uZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWZPYmplY3QgfSBmcm9tICdyZWFjdCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBWSVNJQklMSVRZX0ZBTExCQUNLX0dSQUNFX01TID0gMTAwMDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFZJU0lCSUxJVFlfRkFMTEJBQ0tfSU5URVJWQUxfTVMgPSAzMDA7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBWSVNJQklMSVRZX0ZPUkVHUk9VTkRfR1JBQ0VfTVMgPSAyMDA7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VJbnRlcnNlY3Rpb246IChlbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LCByb290TWFyZ2luOiBzdHJpbmcsIGxvZ0NvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gYm9vbGVhbjtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBVywrQkFBK0IsQ0FBQyxJQUFJO0FBQy9DLElBQVcsa0NBQWtDLENBQUMsSUFBSTtBQUNsRCxJQUFXLGlDQUFpQyxDQUFDLElBQUk7QUFDakQsSUFBVyxrQkFBa0I7Q0FBQztPQUFXO09BQW1CO09BQWlCO0NBQU8ifQ==
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW50ZXJzZWN0aW9uLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0ludGVyc2VjdGlvbi91c2VJbnRlcnNlY3Rpb24uZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWZPYmplY3QgfSBmcm9tICdyZWFjdCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBWSVNJQklMSVRZX0ZBTExCQUNLX0dSQUNFX01TID0gMTAwMDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFZJU0lCSUxJVFlfRkFMTEJBQ0tfSU5URVJWQUxfTVMgPSAzMDA7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBWSVNJQklMSVRZX0ZPUkVHUk9VTkRfR1JBQ0VfTVMgPSAyMDA7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VJbnRlcnNlY3Rpb246IChlbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LCByb290TWFyZ2luOiBzdHJpbmcsIGxvZ0NvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgb25GYWxsYmFja0VuZ2FnZWQ/OiAoKSA9PiB2b2lkKSA9PiBib29sZWFuO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFDQSxJQUFXLCtCQUErQixDQUFDLElBQUk7QUFDL0MsSUFBVyxrQ0FBa0MsQ0FBQyxJQUFJO0FBQ2xELElBQVcsaUNBQWlDLENBQUMsSUFBSTtBQUNqRCxJQUFXLGtCQUFrQjtDQUFDO09BQVc7T0FBbUI7T0FBaUI7Q0FBTyJ9