@hitachivantara/app-shell-ui 1.6.0 → 1.6.2

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 (139) hide show
  1. package/dist/esm/components/AppShell/AppShell.js +8 -6
  2. package/dist/esm/components/AppShellProvider/AppShellProvider.js +80 -56
  3. package/dist/esm/components/AppShellRoutes/AppShellRoutes.js +74 -65
  4. package/dist/esm/components/AppShellViewProvider/AppShellViewProvider.js +13 -13
  5. package/dist/esm/components/CustomHooksInitializer/CustomHooksInitializer.js +9 -5
  6. package/dist/esm/components/GlobalStyles/GlobalStyles.js +8 -8
  7. package/dist/esm/components/GlobalStyles/index.js +2 -3
  8. package/dist/esm/components/IconUiKit/IconUiKit.js +11 -8
  9. package/dist/esm/components/IconUiKit/index.js +4 -5
  10. package/dist/esm/components/hoc/withClickAwayListener.js +19 -12
  11. package/dist/esm/components/hoc/withGlobalProvider.js +30 -25
  12. package/dist/esm/components/layout/Header/BrandLogo/BrandLogo.js +27 -17
  13. package/dist/esm/components/layout/Header/BrandLogo/Logos/Hitachi.js +10 -8
  14. package/dist/esm/components/layout/Header/BrandLogo/Logos/Lumada.js +15 -13
  15. package/dist/esm/components/layout/Header/BrandLogo/Logos/Pentaho.js +10 -8
  16. package/dist/esm/components/layout/Header/Header.js +54 -42
  17. package/dist/esm/components/layout/Header/HeaderActions/DynamicAction/DynamicAction.js +22 -18
  18. package/dist/esm/components/layout/Header/HeaderActions/DynamicAction/index.js +2 -3
  19. package/dist/esm/components/layout/Header/HeaderActions/HeaderActions.js +17 -14
  20. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/AppSwitcherToggle.js +57 -46
  21. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/index.js +2 -3
  22. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/styles.js +6 -6
  23. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/ColorModeSwitcher/ColorModeSwitcher.js +19 -17
  24. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/ColorModeSwitcher/index.js +2 -3
  25. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/HelpButton/HelpButton.js +23 -20
  26. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/HelpButton/index.js +2 -3
  27. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/InternalAction/InternalAction.js +23 -21
  28. package/dist/esm/components/layout/Header/HeaderActions/index.js +2 -3
  29. package/dist/esm/components/layout/Header/styles.js +7 -7
  30. package/dist/esm/components/layout/Loading/Loading.js +9 -7
  31. package/dist/esm/components/layout/Loading/styles.js +20 -8
  32. package/dist/esm/components/layout/Main/Main.js +23 -22
  33. package/dist/esm/components/layout/Main/styles.js +17 -8
  34. package/dist/esm/components/layout/VerticalNavigation/VerticalNavigation.js +67 -49
  35. package/dist/esm/components/layout/VerticalNavigation/styles.js +15 -16
  36. package/dist/esm/index.js +2 -3
  37. package/dist/esm/lib/hooks/useClearLocationState.js +14 -14
  38. package/dist/esm/lib/hooks/useCustomEventListener.js +19 -14
  39. package/dist/esm/lib/hooks/useLocalStorage.js +22 -16
  40. package/dist/esm/lib/hooks/useNavigationMenuItems.js +36 -28
  41. package/dist/esm/lib/hooks/useNotificationsEventListener.js +47 -37
  42. package/dist/esm/lib/hooks/useThemeEventListener.js +25 -20
  43. package/dist/esm/lib/i18n/index.js +23 -19
  44. package/dist/esm/lib/i18n/localization/en.json.js +18 -15
  45. package/dist/esm/lib/i18n/localization/pt.json.js +18 -15
  46. package/dist/esm/lib/utils/CombinedProviders.js +19 -14
  47. package/dist/esm/lib/utils/basePathUtils.js +4 -3
  48. package/dist/esm/lib/utils/documentUtil.js +10 -6
  49. package/dist/esm/lib/utils/navigationUtil.js +65 -38
  50. package/dist/esm/lib/utils/textUtil.js +4 -3
  51. package/dist/esm/pages/ErrorPage/ErrorPage.js +24 -24
  52. package/dist/esm/pages/ErrorPage/Footer/Footer.js +47 -31
  53. package/dist/esm/pages/ErrorPage/Footer/styles.js +8 -8
  54. package/dist/esm/pages/ErrorPage/styles.js +25 -15
  55. package/dist/esm/pages/GenericError/500.svg.js +2 -3
  56. package/dist/esm/pages/GenericError/GenericError.js +13 -13
  57. package/dist/esm/pages/LoadingPage/LoadingPage.js +12 -12
  58. package/dist/esm/pages/LoadingPage/index.js +2 -3
  59. package/dist/esm/pages/LoadingPage/styles.js +15 -9
  60. package/dist/esm/pages/NotFound/404.svg.js +2 -3
  61. package/dist/esm/pages/NotFound/NotFound.js +11 -11
  62. package/dist/esm/pages/NotFound/index.js +2 -3
  63. package/dist/esm/pages/Root/Root.js +22 -22
  64. package/dist/esm/providers/BannerProvider.js +67 -57
  65. package/dist/esm/providers/LayoutProvider.js +19 -16
  66. package/dist/esm/providers/NavigationProvider.js +87 -55
  67. package/dist/esm/providers/hooks/useBannerContext.js +9 -7
  68. package/dist/esm/providers/hooks/useLayoutContext.js +9 -7
  69. package/dist/esm/providers/hooks/useNavigationContext.js +9 -7
  70. package/package.json +5 -5
  71. package/dist/esm/components/AppShell/AppShell.js.map +0 -1
  72. package/dist/esm/components/AppShellProvider/AppShellProvider.js.map +0 -1
  73. package/dist/esm/components/AppShellRoutes/AppShellRoutes.js.map +0 -1
  74. package/dist/esm/components/AppShellViewProvider/AppShellViewProvider.js.map +0 -1
  75. package/dist/esm/components/CustomHooksInitializer/CustomHooksInitializer.js.map +0 -1
  76. package/dist/esm/components/GlobalStyles/GlobalStyles.js.map +0 -1
  77. package/dist/esm/components/GlobalStyles/index.js.map +0 -1
  78. package/dist/esm/components/IconUiKit/IconUiKit.js.map +0 -1
  79. package/dist/esm/components/IconUiKit/index.js.map +0 -1
  80. package/dist/esm/components/hoc/withClickAwayListener.js.map +0 -1
  81. package/dist/esm/components/hoc/withGlobalProvider.js.map +0 -1
  82. package/dist/esm/components/layout/Header/BrandLogo/BrandLogo.js.map +0 -1
  83. package/dist/esm/components/layout/Header/BrandLogo/Logos/Hitachi.js.map +0 -1
  84. package/dist/esm/components/layout/Header/BrandLogo/Logos/Lumada.js.map +0 -1
  85. package/dist/esm/components/layout/Header/BrandLogo/Logos/Pentaho.js.map +0 -1
  86. package/dist/esm/components/layout/Header/Header.js.map +0 -1
  87. package/dist/esm/components/layout/Header/HeaderActions/DynamicAction/DynamicAction.js.map +0 -1
  88. package/dist/esm/components/layout/Header/HeaderActions/DynamicAction/index.js.map +0 -1
  89. package/dist/esm/components/layout/Header/HeaderActions/HeaderActions.js.map +0 -1
  90. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/AppSwitcherToggle.js.map +0 -1
  91. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/index.js.map +0 -1
  92. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/AppSwitcherToggle/styles.js.map +0 -1
  93. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/ColorModeSwitcher/ColorModeSwitcher.js.map +0 -1
  94. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/ColorModeSwitcher/index.js.map +0 -1
  95. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/HelpButton/HelpButton.js.map +0 -1
  96. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/HelpButton/index.js.map +0 -1
  97. package/dist/esm/components/layout/Header/HeaderActions/InternalActions/InternalAction/InternalAction.js.map +0 -1
  98. package/dist/esm/components/layout/Header/HeaderActions/index.js.map +0 -1
  99. package/dist/esm/components/layout/Header/styles.js.map +0 -1
  100. package/dist/esm/components/layout/Loading/Loading.js.map +0 -1
  101. package/dist/esm/components/layout/Loading/styles.js.map +0 -1
  102. package/dist/esm/components/layout/Main/Main.js.map +0 -1
  103. package/dist/esm/components/layout/Main/styles.js.map +0 -1
  104. package/dist/esm/components/layout/VerticalNavigation/VerticalNavigation.js.map +0 -1
  105. package/dist/esm/components/layout/VerticalNavigation/styles.js.map +0 -1
  106. package/dist/esm/index.js.map +0 -1
  107. package/dist/esm/lib/hooks/useClearLocationState.js.map +0 -1
  108. package/dist/esm/lib/hooks/useCustomEventListener.js.map +0 -1
  109. package/dist/esm/lib/hooks/useLocalStorage.js.map +0 -1
  110. package/dist/esm/lib/hooks/useNavigationMenuItems.js.map +0 -1
  111. package/dist/esm/lib/hooks/useNotificationsEventListener.js.map +0 -1
  112. package/dist/esm/lib/hooks/useThemeEventListener.js.map +0 -1
  113. package/dist/esm/lib/i18n/index.js.map +0 -1
  114. package/dist/esm/lib/i18n/localization/en.json.js.map +0 -1
  115. package/dist/esm/lib/i18n/localization/pt.json.js.map +0 -1
  116. package/dist/esm/lib/utils/CombinedProviders.js.map +0 -1
  117. package/dist/esm/lib/utils/basePathUtils.js.map +0 -1
  118. package/dist/esm/lib/utils/documentUtil.js.map +0 -1
  119. package/dist/esm/lib/utils/navigationUtil.js.map +0 -1
  120. package/dist/esm/lib/utils/textUtil.js.map +0 -1
  121. package/dist/esm/pages/ErrorPage/ErrorPage.js.map +0 -1
  122. package/dist/esm/pages/ErrorPage/Footer/Footer.js.map +0 -1
  123. package/dist/esm/pages/ErrorPage/Footer/styles.js.map +0 -1
  124. package/dist/esm/pages/ErrorPage/styles.js.map +0 -1
  125. package/dist/esm/pages/GenericError/500.svg.js.map +0 -1
  126. package/dist/esm/pages/GenericError/GenericError.js.map +0 -1
  127. package/dist/esm/pages/LoadingPage/LoadingPage.js.map +0 -1
  128. package/dist/esm/pages/LoadingPage/index.js.map +0 -1
  129. package/dist/esm/pages/LoadingPage/styles.js.map +0 -1
  130. package/dist/esm/pages/NotFound/404.svg.js.map +0 -1
  131. package/dist/esm/pages/NotFound/NotFound.js.map +0 -1
  132. package/dist/esm/pages/NotFound/index.js.map +0 -1
  133. package/dist/esm/pages/Root/Root.js.map +0 -1
  134. package/dist/esm/providers/BannerProvider.js.map +0 -1
  135. package/dist/esm/providers/LayoutProvider.js.map +0 -1
  136. package/dist/esm/providers/NavigationProvider.js.map +0 -1
  137. package/dist/esm/providers/hooks/useBannerContext.js.map +0 -1
  138. package/dist/esm/providers/hooks/useLayoutContext.js.map +0 -1
  139. package/dist/esm/providers/hooks/useNavigationContext.js.map +0 -1
@@ -1,5 +1,4 @@
1
- const M = "data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iODQ1LjU4OSIgaGVpZ2h0PSI0OTguMjYiIHZpZXdCb3g9IjAgMCA4NDUuNTg5IDQ5OC4yNiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzg4NDc1IiBkYXRhLW5hbWU9IlBhdGggODg0NzUiIGQ9Ik0yOTYuODkxLDEuMTY4YzE2My4wOC01LjkzMSwyOTQuNTY0LDExLjMxMSwyOTMuNjc3LDM4LjUxUzQ1Ni43NjIsOTMuNzM0LDI5My42ODIsOTkuNjY1LS44ODIsODguMzU0LDAsNjEuMTU1LDEzMy44MTEsNy4xLDI5Ni44OTEsMS4xNjhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDExMi42ODcpIHJvdGF0ZSgtMTEpIiBmaWxsPSIjZmZmIi8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMiI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMTM1MTkiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDEzNTE5IiB3aWR0aD0iMTA0Ny4wMDUiIGhlaWdodD0iNTI3LjE3NyIgZmlsbD0ibm9uZSIvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTQiPgogICAgICA8cGF0aCBpZD0iUGF0aF84ODQ3NyIgZGF0YS1uYW1lPSJQYXRoIDg4NDc3IiBkPSJNMTI0LjgxOS40OTFDMTkzLjM4Mi0yLDI0OC42Niw1LjI0NiwyNDguMjg4LDE2LjY4MlMxOTIuMDMyLDM5LjQwOCwxMjMuNDcsNDEuOS0uMzcxLDM3LjE0NiwwLDI1LjcxMSw1Ni4yNTcsMi45ODQsMTI0LjgxOS40OTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDQ3LjM3Nikgcm90YXRlKC0xMSkiIGZpbGw9IiNmZmYiLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC01Ij4KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8xMzUxOS0yIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAxMzUxOSIgd2lkdGg9IjQ0MC4xODQiIGhlaWdodD0iMjIxLjYzNiIgZmlsbD0ibm9uZSIvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTciPgogICAgICA8Y2lyY2xlIGlkPSJFbGxpcHNlXzEzMzciIGRhdGEtbmFtZT0iRWxsaXBzZSAxMzM3IiBjeD0iNjQuNyIgY3k9IjY0LjciIHI9IjY0LjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ5LjMxNyAwKSIgZmlsbD0iI2VkZWRlZCIvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTgiPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzEzNTE5LTMiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDEzNTE5IiB3aWR0aD0iMTI2My42IiBoZWlnaHQ9IjU2NC40IiBmaWxsPSJub25lIi8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtOCI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMTM1MTktMyIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMTM1MTkiIHdpZHRoPSIxMjYzLjYiIGhlaWdodD0iNTY0LjQiIGZpbGw9Im5vbmUiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJfNDA0IiBkYXRhLW5hbWU9IjQwNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUxNC4zODkgLTI3Ny41NjMpIj4KICAgIDxnIGlkPSJFbGVtZW50cyI+CiAgICAgIDxnIGlkPSJQbHVzIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk5OSwgMC4wMzUsIC0wLjAzNSwgMC45OTksIDExOTAuNDUzLCAzNzYuMjE4KSI+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgxMjMiIGRhdGEtbmFtZT0iUGF0aCA4ODEyMyIgZD0iTTAsMEgxNy43MjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgOC44NjIpIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmE4MDMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgxMjQiIGRhdGEtbmFtZT0iUGF0aCA4ODEyNCIgZD0iTTAsMEgxNy43MjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguODYyIDE3LjcyNCkgcm90YXRlKC05MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmYTgwMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iUGx1cy0yIiBkYXRhLW5hbWU9IlBsdXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgzNC41MDMgNzQzLjQpIj4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODEyMy0yIiBkYXRhLW5hbWU9IlBhdGggODgxMjMiIGQ9Ik02OTMuMjc2LTY0ODYuMjU1aDIzLjgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02OTMuMjc2IDY0OTguMTU3KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZhODAzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTI0LTIiIGRhdGEtbmFtZT0iUGF0aCA4ODEyNCIgZD0iTTAsMEgyMy44IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS45MDIgMjMuODA0KSByb3RhdGUoLTkwKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZhODAzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJFbGxpcHNlXzEzMjEiIGRhdGEtbmFtZT0iRWxsaXBzZSAxMzIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzM5LjAwOSA3NDUuMDQ2KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjY2NjZWQwIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgIDxlbGxpcHNlIGN4PSIxMC40ODQiIGN5PSIxMC40ODQiIHJ4PSIxMC40ODQiIHJ5PSIxMC40ODQiIHN0cm9rZT0ibm9uZSIvPgogICAgICAgIDxlbGxpcHNlIGN4PSIxMC40ODQiIGN5PSIxMC40ODQiIHJ4PSI5LjQ4NCIgcnk9IjkuNDg0IiBmaWxsPSJub25lIi8+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkVsbGlwc2VfMTM0NiIgZGF0YS1uYW1lPSJFbGxpcHNlIDEzNDYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY0Mi45NjQgNTQwKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjY2NjZWQwIiBzdHJva2Utd2lkdGg9IjEiPgogICAgICAgIDxlbGxpcHNlIGN4PSIxOC41MTgiIGN5PSIxOC41MTgiIHJ4PSIxOC41MTgiIHJ5PSIxOC41MTgiIHN0cm9rZT0ibm9uZSIvPgogICAgICAgIDxlbGxpcHNlIGN4PSIxOC41MTgiIGN5PSIxOC41MTgiIHJ4PSIxOC4wMTgiIHJ5PSIxOC4wMTgiIGZpbGw9Im5vbmUiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iUGx1cy0zIiBkYXRhLW5hbWU9IlBsdXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU4NC4zNjQgNzM4Ljk4MSkiPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTIzLTMiIGRhdGEtbmFtZT0iUGF0aCA4ODEyMyIgZD0iTTY5My4yNzYtNjQ4Ni4yNTVoNy45NiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTY5My4yNzYgNjQ5MC4yMzUpIiBmaWxsPSJub25lIiBzdHJva2U9IiM5OTkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgxMjQtMyIgZGF0YS1uYW1lPSJQYXRoIDg4MTI0IiBkPSJNMCwwSDcuOTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTggNy45Nikgcm90YXRlKC05MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzk5OSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iUGx1cy00IiBkYXRhLW5hbWU9IlBsdXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExNjMuMjk2IDU5Mi4zMjIpIj4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODEyMy00IiBkYXRhLW5hbWU9IlBhdGggODgxMjMiIGQ9Ik02OTMuMjc2LTY0ODYuMjU1aDcuOTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02OTMuMjc2IDY0OTAuMjM1KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOTk5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTI0LTQiIGRhdGEtbmFtZT0iUGF0aCA4ODEyNCIgZD0iTTAsMEg3Ljk2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjk4IDcuOTYpIHJvdGF0ZSgtOTApIiBmaWxsPSJub25lIiBzdHJva2U9IiM5OTkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IlBsdXMtNSIgZGF0YS1uYW1lPSJQbHVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5ODAuMDQgMzkwLjYzNikiPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTIzLTUiIGRhdGEtbmFtZT0iUGF0aCA4ODEyMyIgZD0iTTY5My4yNzYtNjQ4Ni4yNTVoNy45NiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTY5My4yNzYgNjQ5MC4yMzUpIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgxMjQtNSIgZGF0YS1uYW1lPSJQYXRoIDg4MTI0IiBkPSJNMCwwSDcuOTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTggNy45Nikgcm90YXRlKC05MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9IlNQQUNFU0hJUF9zIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg5OSwgMC40MzgsIC0wLjQzOCwgMC44OTksIDEyMzEuOTIsIDU2NS42NDUpIj4KICAgICAgPHBhdGggaWQ9InNwYWNlc2hpcF8xXyIgZD0iTTU5LjU4MSwxMjIuMTcybC0xLjQ3My0yLjU1NmM0LjctMjYuODkxLTM0LjItNDkuMzQzLTU1LjE1My0zMS43ODJIMFY2OC43OTFhMS40NzYsMS40NzYsMCwwLDEsMS40NzctMS40NzdoMjAuOUwzMi4zNCw0NS4yOEE2OC44NDcsNjguODQ3LDAsMCwxLDYwLjgyLDEzLjg0M0w4My4yMzUuOWE2LjY2MSw2LjY2MSwwLDAsMSw5Ljk4Nyw1Ljc3M1YzMi41NDlhNjguODU5LDY4Ljg1OSwwLDAsMS0xMyw0MC4zNzhsLTE0LjEsMTkuNjUsMTAuNDQyLDE4LjA5YTEuNDc0LDEuNDc0LDAsMCwxLS41NDIsMi4wMTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDMzLjQwOCkgcm90YXRlKC0yMSkiIGZpbGw9IiNlOGU4ZTgiLz4KICAgICAgPGcgaWQ9Ikdyb3VwXzMzMjA5IiBkYXRhLW5hbWU9Ikdyb3VwIDMzMjA5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMC45NjQgMTA1LjY5Nikgcm90YXRlKC0zOSkiPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTIwIiBkYXRhLW5hbWU9IlBhdGggODgxMjAiIGQ9Ik0wLDMyLjMwOCwyMC4xLDAiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTY2LCAwLjI1OSwgLTAuMjU5LCAwLjk2NiwgMjUuNywgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzk5OSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODEyMiIgZGF0YS1uYW1lPSJQYXRoIDg4MTIyIiBkPSJNMCwzMi4zMDgsMjAuMSwwIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk2NiwgMC4yNTksIC0wLjI1OSwgMC45NjYsIDIzLjgwNCwgMTcuMzM3KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOTk5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTIxIiBkYXRhLW5hbWU9IlBhdGggODgxMjEiIGQ9Ik0wLDMyLjMwOCwyMC4xLDAiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTY2LCAwLjI1OSwgLTAuMjU5LCAwLjk2NiwgOC4zNjIsIDEuODk2KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOTk5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0iU1BBQ0VTSElQX0wiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMTIuMzQxKSI+CiAgICAgIDxnIGlkPSJNYXNrX0dyb3VwXzE4OTgyIiBkYXRhLW5hbWU9Ik1hc2sgR3JvdXAgMTg5ODIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY1Ni41MjggNTA0Ljc2Nykgcm90YXRlKC03KSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aCkiPgogICAgICAgIDxnIGlkPSJCR19UZXh0dXJlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTguNTEgLTMyOS45NjgpIj4KICAgICAgICAgIDxnIGlkPSJHcm91cF8zMzIxMiIgZGF0YS1uYW1lPSJHcm91cCAzMzIxMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxNjMuNzg4KSByb3RhdGUoLTkpIiBvcGFjaXR5PSIwLjIiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgtMikiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXBfMzMyMTEiIGRhdGEtbmFtZT0iR3JvdXAgMzMyMTEiPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgICA8L2c+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzg4NDc2IiBkYXRhLW5hbWU9IlBhdGggODg0NzYiIGQ9Ik0zMTIuNTE0LDEuNGMxNzEuNy03LjQsMzEwLjE1OCwxNS4xNTIsMzA5LjI2LDUwLjM2NXMtMTQwLjgxMyw2OS43NTQtMzEyLjUxLDc3LjE1MVMtLjg5MywxMTMuNzY4LDAsNzguNTU2LDE0MC44MTcsOC44LDMxMi41MTQsMS40WiIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NTYsIC0wLjI5MiwgMC4yOTIsIDAuOTU2LCA2MzcuNjI5LCA1NzguNDk4KSIgZmlsbD0iI2ZmZiIgb3BhY2l0eT0iMC42NSIvPgogICAgICA8ZyBpZD0iTWFza19Hcm91cF8xODk4MyIgZGF0YS1uYW1lPSJNYXNrIEdyb3VwIDE4OTgzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3ODIuMDM2IDQ3OS45ODgpIHJvdGF0ZSgtNykiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgtNCkiPgogICAgICAgIDxnIGlkPSJCR19UZXh0dXJlLTIiIGRhdGEtbmFtZT0iQkdfVGV4dHVyZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI0LjU5OSAtMTM4LjcyNikiPgogICAgICAgICAgPGcgaWQ9Ikdyb3VwXzMzMjEyLTIiIGRhdGEtbmFtZT0iR3JvdXAgMzMyMTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgNjguODYpIHJvdGF0ZSgtOSkiIG9wYWNpdHk9IjAuMiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aC01KSI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cF8zMzIxMS0yIiBkYXRhLW5hbWU9Ikdyb3VwIDMzMjExIj4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgICA8cGF0aCBpZD0iUGF0aF84ODQ3OCIgZGF0YS1uYW1lPSJQYXRoIDg4NDc4IiBkPSJNMTMxLjM4OC41OTFjNzIuMTg1LTMuMTEsMTMwLjQsNi4zNywxMzAuMDIsMjEuMTc1UzIwMi4yMDcsNTEuMDkxLDEzMC4wMjEsNTQuMi0uMzc1LDQ3LjgzLDAsMzMuMDI2LDU5LjIsMy43LDEzMS4zODguNTkxWiIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NTYsIC0wLjI5MiwgMC4yOTIsIDAuOTU2LCA3NzQuMDkxLCA1MTAuOTg1KSIgZmlsbD0iI2ZmZiIgb3BhY2l0eT0iMC42NSIvPgogICAgPC9nPgogICAgPGcgaWQ9IlBMQU5FVF9zIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjY0MywgLTAuNzY2LCAwLjc2NiwgMC42NDMsIDEyNzEuMTU1LCAzMTUuOTAxKSI+CiAgICAgIDxjaXJjbGUgaWQ9IkVsbGlwc2VfMTMzNy0yIiBkYXRhLW5hbWU9IkVsbGlwc2UgMTMzNyIgY3g9IjE3Ljc1NCIgY3k9IjE3Ljc1NCIgcj0iMTcuNzU0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy41MzIgMCkiIGZpbGw9IiNlOGU4ZTgiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfODgyODciIGRhdGEtbmFtZT0iUGF0aCA4ODI4NyIgZD0iTTE1LjIsMFMtNi45MTEsMS4yNDMsMi4yLDUuODg1czM2Ljg2LDExLjM0OSw1My4zNDQsOC42MzYtNy4wMTItNy45NzgtNy4wMTItNy45NzgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuNDA3IDMuMDA0KSByb3RhdGUoMTMpIiBmaWxsPSJub25lIiBzdHJva2U9IiM5OTkiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPC9nPgogICAgPGcgaWQ9IlBMQU5FVF9MIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk5LCAtMC4xMzksIDAuMTM5LCAwLjk5LCA1MDcuMTQ0LCAzNDIuNTE1KSI+CiAgICAgIDxnIGlkPSJHcm91cF8zMzMwNCIgZGF0YS1uYW1lPSJHcm91cCAzMzMwNCI+CiAgICAgICAgPGcgaWQ9Ik1hc2tfR3JvdXBfMTg5ODEiIGRhdGEtbmFtZT0iTWFzayBHcm91cCAxODk4MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aC03KSI+CiAgICAgICAgICA8ZyBpZD0iQkdfVGV4dHVyZS0zIiBkYXRhLW5hbWU9IkJHX1RleHR1cmUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03My4zNjkgLTM2Ny42MTcpIHJvdGF0ZSgxMikiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXBfMzMyMTItMyIgZGF0YS1uYW1lPSJHcm91cCAzMzIxMiIgb3BhY2l0eT0iMC4yIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoLTgpIj4KICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXBfMzMyMTEtMyIgZGF0YS1uYW1lPSJHcm91cCAzMzIxMSI+CiAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4Mjg3LTIiIGRhdGEtbmFtZT0iUGF0aCA4ODI4NyIgZD0iTTU1LjcxNiwwUy0yNS4zMzUsNC4yODcsOC4wNzcsMjAuM3MxMzUuMTI5LDM5LjE1NiwxOTUuNTYsMjkuOC0yNS43MDYtMjcuNTI0LTI1LjcwNi0yNy41MjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwLjc5IDEyLjA4Mykgcm90YXRlKDEzKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOTk5IiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9IkRPR19TUEFDRSIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NzgsIC0wLjIwOCwgMC4yMDgsIDAuOTc4LCA3OTcuOTE3LCA0MzUuMjY3KSI+CiAgICAgIDxnIGlkPSJHcm91cF8zMzE4NSIgZGF0YS1uYW1lPSJHcm91cCAzMzE4NSIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NzgsIC0wLjIwOCwgMC4yMDgsIDAuOTc4LCAwLCA0Mi44ODcpIj4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI3NyIgZGF0YS1uYW1lPSJQYXRoIDg4Mjc3IiBkPSJNMTkuNSw1LjAxN1MzLjI0Ny03LjEuNyw2LjMzMSwzLjE0LDI2Ljc0NCw1LjQ1OCwyOS40M3MxMy4zNDYsMTEuODM1LDIyLjYsMi43MjljMS4yODEtNS4wOTItLjM3Mi0xMC45NjctMi4yNjQtMTUuN0E0Ny42MjksNDcuNjI5LDAsMCwwLDE5LjUsNS4wMTdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0Ny41MDMgMjY0LjQ1OSkgcm90YXRlKDUpIiBmaWxsPSIjZmZhODAzIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI3NSIgZGF0YS1uYW1lPSJQYXRoIDg4Mjc1IiBkPSJNMTAuNzcyLDEwOC41MTZjMTAuOTA4LDMxLjEzLDEzLjAzOSwyOC4yMTUsMTkuODMzLDQzLjQ5czIuNCwyNy4zMjIsNC41NDIsNDAuMzI0LDkuMTcyLDEzLjkxNCw5LjE3MiwxMy45MTQsMjMuMTQ0LDEuNjU4LDI1LjM0OS00LjE2NCwxLjE3Ni05Ljg5NCwwLTE1LjQxMy0zLjUtMTMuMywyLjU0Ni0xOC4wMSwxNy4wMDgtMy4yLDI2LjItMTAuNDQ5LDkuNDEyLTEzLjQ5MywxNC41Ny0xMy42ODgsOS43NTYsNS41NDYsMTYuNDc5LDcuNzM1LDE1LjkxOCwzLjIzNiwyMS43LDAsMy45NzctMTUuNjM1LDAtMTkuMDM2LTcuMTUzLTMuOS0xMy4zMTQtOC44NzItOC4yOC0xNC4yNjEtOC40OTEtMjYuOTMzLS42NDItMTIuMDU1LTEuNzctMjUuMzEzUzg3LjM0OCwwLDg3LjM0OCwwcy04LjU4LDEwLjA1Ny0zMC45MzksMTUuN1MwLDcuNzcxLDAsNy43NzFaIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk5OCwgMC4wNywgLTAuMDcsIDAuOTk4LCA1MS44MSwgMTM1Ljc4OCkiIGZpbGw9IiNmZmE4MDMiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4Mjc4IiBkYXRhLW5hbWU9IlBhdGggODgyNzgiIGQ9Ik0xLjE1NCwxMC41MVMtNC44ODEsNDMsMTAuNjU1LDQ1LjQ0M3MyNi45NDItLjQwOCwyNS45MzMtOS40Ni0yLjM3Ni0xNy4zNjctMi4zNzYtMTcuMzY3LTYuMTI0LTkuMzI4LTEyLjMxLTcuMTMtOS40MzMsMS41NzMtOS45ODEsMFM3Ljg1NS0uNCw0LjQzOC4wMTIsMS4xNTQsMTAuNTEsMS4xNTQsMTAuNTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3My4wMzYgMjk5LjgzOCkiIGZpbGw9IiNmMGYwZjAiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI4MCIgZGF0YS1uYW1lPSJQYXRoIDg4MjgwIiBkPSJNMTYuMDQ2LDBhMjIuNzQzLDIyLjc0MywwLDAsMCwxMC40OCwxOC4xODhDMzcuMjc5LDI1LjM4OCwzNy4yLDI4LjUsMzcuMiwyOC41czMuNjE4LDE1LjQ2Ny03LjMyMywxNi4xMDhTMTIuMSw0My4xLDQuMzkxLDM3LjE2MSwxLjEsMzEuODY5LDIuOSwyNy4xMjZzOS4zNC4zMzksOC42NjctOC45MzhTMTYuMDQ2LDAsMTYuMDQ2LDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTguMzc4IDI1NC42NjgpIiBmaWxsPSIjZjBmMGYwIi8+CiAgICAgICAgPGcgaWQ9Ikdyb3VwXzMzMTg0IiBkYXRhLW5hbWU9Ikdyb3VwIDMzMTg0IiB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCAxOTAuODY0LCAyODkuMDk2KSI+CiAgICAgICAgICA8bGluZSBpZD0iTGluZV8xODU2MCIgZGF0YS1uYW1lPSJMaW5lIDE4NTYwIiB5Mj0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgIDwvZz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI3OSIgZGF0YS1uYW1lPSJQYXRoIDg4Mjc5IiBkPSJNOS43NjYsMTA4LjUxNmMxMC45MDgsMzEuMTMsMTMuMDM5LDI4LjIxNSwxOS44MzMsNDMuNDlzMi40LDI3LjMyMiw0LjU0Miw0MC4zMjQsOS4xNzIsMTMuOTE0LDkuMTcyLDEzLjkxNCwyMy4xNDQsMS42NTgsMjUuMzQ5LTQuMTY0LDEuMTc2LTkuODk0LDAtMTUuNDEzLTMuNS0xMy4zLDIuNTQ2LTE4LjAxLDE3LjAwOC0zLjIsMjYuMi0xMC40NDksOS40MTItMTMuNDkzLDE0LjU3LTEzLjY4OCw5Ljc1Niw1LjU0NiwxNi40NzksNy43MzUsMTUuOTE4LDMuMjM2LDIxLjcsMCwzLjk3Ny0xNS42MzUsMC0xOS4wMzYtNy4xNTMtMy45LTEzLjMxNC04Ljg3Mi04LjI4LTE0LjI2MS04LjQ5MS0yNi45MzMtLjY0Mi0xMi4wNTUtMS43Ny0yNS4zMTNTODYuMzQyLDAsODYuMzQyLDAsNzcuOTksMTAuMDg5LDU1LjYzMSwxNS43MzEsMCwxMS4yNzMsMCwxMS4yNzNaIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk5OCwgMC4wNywgLTAuMDcsIDAuOTk4LCA1Mi44MTMsIDEzNS44NTgpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI3NCIgZGF0YS1uYW1lPSJQYXRoIDg4Mjc0IiBkPSJNNDAuNzI3LDBDMjQuMDg2LDQuOTc0LDE0LjkwOCwzMy44NzIsNi44NDgsNTMuODIzQTk1LjkyOCw5NS45MjgsMCwwLDAsLjA3Niw5Mi4yM3MuMzA5LDcuMTA3LDcuMTA2LDcuMTA3SDIyLjE3czcuNzkzLS4yMzEsNy42NjItNy4xMDctLjQtOC4xNTksMC0xMS40MzYsNC4wMzMtMTEuMDA2LDQuMDMzLTExLjAwNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMuNTkzIDE1Mi43MzMpIHJvdGF0ZSgtMTUpIiBmaWxsPSIjZmZhODAzIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8ZyBpZD0iR3JvdXBfMzMxODMiIGRhdGEtbmFtZT0iR3JvdXAgMzMxODMiIHRyYW5zZm9ybT0ibWF0cml4KDEsIDAsIDAsIDEsIDg3LjUwMywgMzM3LjUyNykiPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjAtMiIgZGF0YS1uYW1lPSJMaW5lIDE4NTYwIiB5Mj0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjIiIGRhdGEtbmFtZT0iTGluZSAxODU2MiIgeTI9IjcuNzIzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjkyOSAwKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMi41Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MjczIiBkYXRhLW5hbWU9IlBhdGggODgyNzMiIGQ9Ik0zLjA4MSw2My41NDdzMy42MjgsNy43MjksNC4wMzMsMTEuMDA3LjEzMiw0LjU2MSwwLDExLjQzNlMxNC43NzYsOTMuMSwxNC43NzYsOTMuMXM5LjQyOS0uMjA2LDE0Ljk4OCwwLDYuMjI2LTMuMTU0LDcuMTA2LTcuMTA3UzM1LjE0LDY4LjQsMzMuNyw1Mi45ODUsMzAuMDA4LDMxLjYyNCwyNC4wNCwxOC41MzIsMTguMzk0LDMuMjMxLDEyLjM1OC4yMTFDOC42NjItMS42MzksMy4wNDEsOS4zLDAsOC4wNjQiIHRyYW5zZm9ybT0ibWF0cml4KDAuODkxLCAtMC40NTQsIDAuNDU0LCAwLjg5MSwgMTIyLjg0OSwgMTMyLjcyNCkiIGZpbGw9IiNmZmE4MDMiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MjgxIiBkYXRhLW5hbWU9IlBhdGggODgyODEiIGQ9Ik0uODMzLDEyYy0yLjU4MywzLjQ2MywxLjU3Niw5LjE1NCwyLjU4NiwxMy44NTNTNS42MiwzNy4wNjYsMTIuMywzNS44YTEzMi4yNjQsMTMyLjI2NCwwLDAsMCwxNS44ODUtNC41NjFzNi45NjUtLjYxNiw0Ljc3My0xMC4wMjRTMjguMTg1LDMuOTYyLDI4LjE4NSwzLjk2MiwyNC4zMS0zLjE4MywxOS42NjUsMS43MTcsMTguMjA5LDEwLjQ3LDEzLjc1MSwxMiwzLjQxNiw4LjUzMi44MzMsMTJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTcuOTQyIDE3Ni41MzEpIHJvdGF0ZSgtMTEpIiBmaWxsPSIjZjBmMGYwIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgyODIiIGRhdGEtbmFtZT0iUGF0aCA4ODI4MiIgZD0iTTMxLjk0NCwxMS43NzFjMi41MzUsMy40LTEuNTQ2LDguOTg0LTIuNTM5LDEzLjU5NHMtMi4xNiwxMS4wMDktOC43MTUsOS43NjNBMTI5LjczNSwxMjkuNzM1LDAsMCwxLDUuMSwzMC42NTNzLTYuODM2LS42MDUtNC42ODQtOS44MzdTNS4xLDMuODg5LDUuMSwzLjg4OXMzLjgtNy4wMTIsOC4zNi0yLjIsMS40MjksOC41ODksNS44LDEwLjA4N1MyOS40MDksOC4zNzMsMzEuOTQ0LDExLjc3MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI2Ljk0NyAyMjMuMjE3KSByb3RhdGUoLTMxKSIgZmlsbD0iI2YwZjBmMCIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MjgzIiBkYXRhLW5hbWU9IlBhdGggODgyODMiIGQ9Ik00MC43MjcsMEMyNC4wODYsNC45NzQsMTQuOTA4LDMzLjg3Miw2Ljg0OCw1My44MjNBOTUuOTI4LDk1LjkyOCwwLDAsMCwuMDc2LDkyLjIzcy4zMDksNy4xMDcsNy4xMDYsNy4xMDdIMjIuMTdzNy43OTMtLjIzMSw3LjY2Mi03LjEwNy0uNC04LjE1OSwwLTExLjQzNiw0LjAzMy0xMS4wMDYsNC4wMzMtMTEuMDA2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy41OTMgMTUyLjczMykgcm90YXRlKC0xNSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4Mjg0IiBkYXRhLW5hbWU9IlBhdGggODgyODQiIGQ9Ik0zLjA4MSw2Mi42MTJzMy42MjgsNy43MjksNC4wMzMsMTEuMDA3LjEzMiw0LjU2MSwwLDExLjQzNiw3LjY2Miw3LjEwNyw3LjY2Miw3LjEwNyw5LjQyOS0uMjA2LDE0Ljk4OCwwLDYuMjI2LTMuMTU0LDcuMTA2LTcuMTA3LTEuMjY0LTE3LjA0MS0yLjctMzIuNDU3LTMuNjkxLTIxLjM2MS05LjY1OS0zNC40NTNTMTYuMzI2LDMuMjQ5LDEwLjI5LjIyOUM2LjU5NC0xLjYyMSwzLjA0MSw4LjM2NCwwLDcuMTI5IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg5MSwgLTAuNDU0LCAwLjQ1NCwgMC44OTEsIDEyMy4yNzMsIDEzMy41NTcpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8ZyBpZD0iR3JvdXBfMzMxODAiIGRhdGEtbmFtZT0iR3JvdXAgMzMxODAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4OS41NDkgMjAxLjY0OSkgcm90YXRlKDE1NSkiPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjAtMyIgZGF0YS1uYW1lPSJMaW5lIDE4NTYwIiB5MT0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjItMiIgZGF0YS1uYW1lPSJMaW5lIDE4NTYyIiB5MT0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuOTI5IDApIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgaWQ9Ikdyb3VwXzMzMTgyIiBkYXRhLW5hbWU9Ikdyb3VwIDMzMTgyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0Ni45MDUgMjM3LjAwNCkgcm90YXRlKC0xNSkiPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjAtNCIgZGF0YS1uYW1lPSJMaW5lIDE4NTYwIiB5Mj0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjItMyIgZGF0YS1uYW1lPSJMaW5lIDE4NTYyIiB5Mj0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuOTI5IDApIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8L2c+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgyODUiIGRhdGEtbmFtZT0iUGF0aCA4ODI4NSIgZD0iTS4yNTQsMTEuNTYyQTQ5LjIwOCw0OS4yMDgsMCwwLDAsMTIuMTM3LDQ4LjYxQzI3LjA1NSw2NS40NCwyNS44MjgsNzkuMzIsMzEuNTQsOTguMzI5czIyLjUsNDcuMzA5LDM1LjQsNDcuNjU1LDIyLjEyNC0xMi45ODksMjYtMjIuMiwxMS44NDgtMjMuMDgxLDQuNTUtMzYuODVTNzguNDExLDU1LjEyNiw4MS40NjYsNDIuNTI2LDc5LjksNS43ODMsNTguNjE0LjkzOS4yNTQsMTEuNTYyLjI1NCwxMS41NjJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MS4yMjYgMTM2LjAzNikiIGZpbGw9IiNmMGYwZjAiLz4KICAgICAgICA8ZyBpZD0iRE9HIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk3OCwgMC4yMDgsIC0wLjIwOCwgMC45NzgsIDQ0LjA4OCwgMjEuNzMxKSI+CiAgICAgICAgICA8ZyBpZD0iR3JvdXBfMzMxNjYiIGRhdGEtbmFtZT0iR3JvdXAgMzMxNjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI0MCIgZGF0YS1uYW1lPSJQYXRoIDg4MjQwIiBkPSJNMzEuODgyLDM5LjUxN2wyOS4xLTEzLjQyMlM2NC4wNzkuNjIzLDcwLjc4Ny4wMjUsODcuNzU3LDkuNTQsODguNTQ0LDMxLjY4M2MwLDAsMTAuMzY2LDMuOTE0LDE4LjcsMTUuOTg4czUuNDUxLDMyLjY3OS0zLjg2LDQ3LjMzOVM3Ni4yLDExNS42MjksNzYuMiwxMTUuNjI5cy0yMi4xMjMsNy4wNzUtNDAuNzg4LTMuMTkzLTIzLjI4Mi0yNC42NjEtMTguMS00Mi40N2MwLDAtMjIuMzkxLTMwLjY1MS0xNi4yNTQtMzYuOTg4UzI4LjgxNywzOC43NywzMS44ODIsMzkuNTE3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4zMTUgMCkiIGZpbGw9IiNmMGYwZjAiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICAgICAgPHBhdGggaWQ9IlN1YnRyYWN0aW9uXzEzNiIgZGF0YS1uYW1lPSJTdWJ0cmFjdGlvbiAxMzYiIGQ9Ik01OS40NTEsMTE4aDBjLjEzNC0uMjE4LjIzMS0uMzguMzMyLS41NjFhMzMuMTY2LDMzLjE2NiwwLDAsMCw0LjQzNi4zMWwuMzcyLDBDNjIuODYzLDExNy45LDYxLjEzNSwxMTcuOTg3LDU5LjQ1MSwxMThabTEzLjk0My0xLjYzNWgwYzEuMDcyLS4zMjIsMi4yMDctLjcxNiwzLjM3My0xLjE3MmE4Ny44MjYsODcuODI2LDAsMCwwLDE0LjUxNS03Ljc0OGMuNDI3LS4yNzEuODQ2LS41NDksMS4yNDYtLjgyNUE2My44MSw2My44MSwwLDAsMSw4MS4zLDExMy40ODNhNDkuOSw0OS45LDAsMCwxLTUuMDkyLDIuMTQ0bC0uMDA4LDAtLjAwOSwwYy0uMTEyLjAzNS0xLjE0Mi4zNTMtMi44LjczNVptLTUxLjMzLTE0LjU0NmgwYTI5Ljk3NCwyOS45NzQsMCwwLDEtNC4yOTQtNi45NjQsMjguOTU5LDI4Ljk1OSwwLDAsMS0yLjEzNS03LjY0NSwzNS4yODgsMzUuMjg4LDAsMCwxLS4xMDYtOC4zLDQ5Ljk0NSw0OS45NDUsMCwwLDEsMS43OS04Ljk0MWwwLS4wMDVjLS4yMzMtLjMyMS01Ljc2MS03Ljk1Mi0xMC40MjUtMTYuMTEyQTcxLjMxNyw3MS4zMTcsMCwwLDEsMS4wMTQsNDEuNDMxYy0xLjM2OC00LjE2NC0xLjM1MS03LjAwOC4wNDktOC40NTMsMS4xNzItMS4yMTIsMy4wMDktMS44MjYsNS40NTktMS44MjYsNi40NzcsMCwxNS43NjYsNC4xOCwyMS4zMTYsNi42NzdsLjAwOCwwLC4wMjUuMDExYTM2LjAxOCwzNi4wMTgsMCwwLDAsNC4wMDgsMS42NzNsMjkuMS0xMy40MjJ2LS4wMDhhMTE5Ljk4MywxMTkuOTgzLDAsMCwxLDIuMzg4LTEyLjgsNDUuMyw0NS4zLDAsMCwxLDMuMDU3LTguOTMzQzY3Ljc4NywxLjYxNyw2OS4yNTUuMTYxLDcwLjc4Ni4wMjVjLjE2OS0uMDE3LjM2LS4wMjUuNTY5LS4wMjVBOS43MTksOS43MTksMCwwLDEsNzYuNzYsMS45MjNhMjAuNjc2LDIwLjY3NiwwLDAsMSw1LjQxNSw1Ljg0NWMyLjY2NCw0LjE0NCw1LjkzMSwxMS42NTgsNi4zNjcsMjMuOTE1YTMxLjAyMywzMS4wMjMsMCwwLDEsNC44NywyLjU3NSw0Ny42Niw0Ny42NiwwLDAsMSwxMC41Miw5LjEyNEEyMC42NDEsMjAuNjQxLDAsMCwwLDkyLjQsNTQuMzQ3YTgyLjYxNCw4Mi42MTQsMCwwLDEtOS44MiwxMy44OTIsNjIuMDI3LDYyLjAyNywwLDAsMS00Ljg4LDUuMDM5bC0zLjk0Miw3LjY3OGExMC44NSwxMC44NSwwLDAsMC01LjgzNi0yLjI2NUE1LjIsNS4yLDAsMCwwLDYzLjYsODAuOTU2Yy0uODY3LDEuMTYzLTIuNTQ3LDIuMTg5LTQuOTk0LDMuMDVhNDMuMzA4LDQzLjMwOCwwLDAsMS03LjI4LDEuNzM4LDg3LjE4Miw4Ny4xODIsMCwwLDEtOS40MjMuOTYzLDIwLjU3NywyMC41NzcsMCwwLDAtMTkuODM3LDE1LjExM1pNNDcuNCw2MC4wNDRjLTEuMjQ5LDAtMi40MzYuMzMyLTIuNjQ4LjczOS0uMy41NzItMS4yNzkuODA4LTIuOTA3LDEuMi0uNTQxLjEzLTEuMTU1LjI3Ny0xLjgzNy40NTgtMi4yNjIuNi0yLjM0OSwxLjUxMS0yLjQ4MSwyLjg4NC0uMDI3LjI4NC0uMDU2LjU3OC0uMS45YS45ODYuOTg2LDAsMCwwLC4xODMuODI2LDEuNzUsMS43NSwwLDAsMCwxLjM2My40MjgsNi42NTMsNi42NTMsMCwwLDAsMS4zODUtLjE2OCw5MC4yLDkwLjIsMCwwLDEsOC44NjgtMi4zODMsMS44NTIsMS44NTIsMCwwLDAsMS42MTUtMS4wMzdjLjMzNi0uODg0LS4yNjMtMi4xODctMS4wMDUtMy4wODZBMy4yMTYsMy4yMTYsMCwwLDAsNDcuNCw2MC4wNDRaTTguOSwzNi40ODJjLTEuNjU1LDAtMi42MDYuNS0yLjgyNywxLjUtLjUxNywyLjMyNywxLjE0Miw3LjA3OCw0LjIyNSwxMi4xLDMuMjc3LDUuMzQxLDcuMjUsOS41NDMsMTAuNjI4LDExLjI0bC4wMDctLjAxYTQ2LjIxOSw0Ni4yMTksMCwwLDAsMi42NDUtNC40YzIuMDQ1LTMuOTM4LDEuOTkxLTUuNzI5LDEuNTg2LTYuNTM4YTEuNzUxLDEuNzUxLDAsMCwxLC40ODctMi40NjdjLjMtLjI3Ny41NzctLjUzOS41NzMtLjg5cy0uMjgzLS43NTQtLjg3NS0xLjI3NGEyLjgsMi44LDAsMCwxLTEuMTc3LTIuMjE2LDIuNjUsMi42NSwwLDAsMSwxLjEwNi0xLjc5MmwtLjAyOS0uMDE0Yy0uNjkzLS4zMjUtMy4xOS0xLjQ3NC02LjIzMS0yLjYzNS0zLjExNy0xLjE5LTcuNC0yLjYxLTEwLjExNi0yLjYxWk02Ny4zOTMsNDYuNTY5Yy0uMzcxLDAtMSwuNTYxLTEuNTczLDEuNC0uNjMzLjkyOC0xLjE5MywyLjIxOS0uODY0LDMuMDU4LjM0OS44ODcsMS4yNDYsMi4zODgsMi40LDIuMzg4YTEuOTgyLDEuOTgyLDAsMCwwLDEuNS0uOTI0LDkwLjM0OSw5MC4zNDksMCwwLDEsNi4zODQtNi42Yy4wMTQtLjAxNSwxLjM2Mi0xLjQ4MywxLjEzNC0yLjQzM2EuOTQ4Ljk0OCwwLDAsMC0uNjYzLS42NTljLS4zLS4xMDgtLjU2LS4yMjMtLjgxNS0uMzM0bC0uMDIxLS4wMDlhNC4wNDYsNC4wNDYsMCwwLDAtMS41NjYtLjQ1OSwzLjEzOSwzLjEzOSwwLDAsMC0yLjE2LDEuMjMxYy0uNDkyLjUxLS45MTcuOTc0LTEuMjkyLDEuMzg0LTEuMTE5LDEuMjIyLTEuNzk1LDEuOTYtMi40MzIsMS45NmgtLjAzNFptMy43NjItMjBhMS43NjEsMS43NjEsMCwwLDEsMS41MjQsMS4wNjhjLjU1OC45NTEsMi4xNjksMS42MzYsNC43ODYsMi4wMzhhNDAuMTgzLDQwLjE4MywwLDAsMCw1LjcxOC4zODNjLjM3LDAsLjY5NCwwLC45NjMtLjAxMmguMDIxYy40MTgtMy43NTQtLjk0Mi05LjM3NS0zLjYzNi0xNS4wMzRDNzgsOS42OTEsNzQuOTEzLDUuNzEyLDcyLjY3OSw0Ljg3OGExLjY2NiwxLjY2NiwwLDAsMC0uNTgzLS4xMDljLS45ODgsMC0xLjk1Ni45Ni0yLjg3NywyLjg1M0EzMy4yNjMsMzMuMjYzLDAsMCwwLDY3LjExLDEzLjljLTEuMDY3LDQuMjc3LTEuNjcxLDguNjM2LTEuNzM3LDkuMTE5bDAsLjAxMi4wMDcsMGEzLjA1NCwzLjA1NCwwLDAsMSwxLjA2NS0uMmMuODYzLDAsMS45NTQuNDI0LDIuMjUxLDIuNDQ2LjIsMS4zNTkuNjIyLDEuNTQyLDEuMDA4LDEuNTQyYTIuNzMzLDIuNzMzLDAsMCwwLC42MjQtLjEwNmwuMDA5LDAsLjAwOSwwLC4wNDMtLjAxMUEzLjExNywzLjExNywwLDAsMSw3MS4xNTUsMjYuNTczWm00Ljc2OCw2OS42Yy0yLjMyNCwwLTQuMDQ1LS41My00LjI4My0xLjMxOS0uMTQ1LS40NzkuMjQ2LTEuMDQ0LDEuMTMtMS42MzNhNS43MzMsNS43MzMsMCwwLDAsMi4yNzYtMi45NzQsOC45NjksOC45NjksMCwwLDAsLjQtMy40NzMsMTQuNzQ3LDE0Ljc0NywwLDAsMC0uODc2LTQuMDg1LDEzLjE0MywxMy4xNDMsMCwwLDAsNy4xMDgsMi41MjNBNy41MDcsNy41MDcsMCwwLDAsODUuOSw4My45NDksNi4zNTEsNi4zNTEsMCwwLDAsODcuMjkxLDgyLjdsMC0uMDA1YS4wMDcuMDA3LDAsMCwxLDAsLjAwN3YuMDFhMjEuMDMyLDIxLjAzMiwwLDAsMS0uMjY0LDQuMzc2Yy0uMzczLDIuMi0xLjMsNS4yLTMuNTksNi45ODJDODEuNDQ2LDk1LjYxOSw3OC4yNDksOTYuMTczLDc1LjkyMyw5Ni4xNzNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjMxNyAwKSIgZmlsbD0iI2ZmYTgwMyIvPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI0MSIgZGF0YS1uYW1lPSJQYXRoIDg4MjQxIiBkPSJNMTguOCwyNS4yOEMxOS43MTYsMTcsMTIuMDA3LDEuODY0LDcuMzA4LjEwOVMwLDE4LjI2MiwwLDE4LjI2MnMyLjgxNi0xLjIsMy4zMjMsMi4yNDIsMi4zNzYtLjM3LDMuOTg1LDIuMzY4UzE4LjgsMjUuMjgsMTguOCwyNS4yOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY1LjY4OSA0Ljc2OSkiIGZpbGw9IiNmYWZhZmEiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgyNDIiIGRhdGEtbmFtZT0iUGF0aCA4ODI0MiIgZD0iTS4wNzUsMjUuMjgxQy0uODQ0LDE3LDYuODY1LDEuODY0LDExLjU2NC4xMDlzNy4zMDgsMTguMTUzLDcuMzA4LDE4LjE1My0yLjgxNi0xLjItMy4zMjMsMi4yNDItMi4zNzYtLjM2OS0zLjk4NSwyLjM2OFMuMDc1LDI1LjI4MS4wNzUsMjUuMjgxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCA0Ny42MjIpIHJvdGF0ZSgtNTcpIiBmaWxsPSIjZmFmYWZhIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMi41Ii8+CiAgICAgICAgICAgIDxsaW5lIGlkPSJMaW5lXzE4NTU5IiBkYXRhLW5hbWU9IkxpbmUgMTg1NTkiIHkxPSIzLjY5NyIgeDI9IjUuNDE3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4Mi45OTkgOTUuOTc2KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMi41Ii8+CiAgICAgICAgICAgIDxnIGlkPSJFbGxpcHNlXzEzMzIiIGRhdGEtbmFtZT0iRWxsaXBzZSAxMzMyIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjU4OCwgLTAuODA5LCAwLjgwOSwgMC41ODgsIDcwLjk2NCwgNTYuMjU3KSIgZmlsbD0iI2YwZjBmMCIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxlbGxpcHNlIGN4PSI2Ljg3OCIgY3k9IjQuOTkxIiByeD0iNi44NzgiIHJ5PSI0Ljk5MSIgc3Ryb2tlPSJub25lIi8+CiAgICAgICAgICAgICAgPGVsbGlwc2UgY3g9IjYuODc4IiBjeT0iNC45OTEiIHJ4PSI1Ljg3OCIgcnk9IjMuOTkxIiBmaWxsPSJub25lIi8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9IkVsbGlwc2VfMTMzMyIgZGF0YS1uYW1lPSJFbGxpcHNlIDEzMzMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM4LjgxMyA3MC43NjQpIHJvdGF0ZSgtMTQpIiBmaWxsPSIjZjBmMGYwIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPGVsbGlwc2UgY3g9IjcuMDYzIiBjeT0iNS4wNDMiIHJ4PSI3LjA2MyIgcnk9IjUuMDQzIiBzdHJva2U9Im5vbmUiLz4KICAgICAgICAgICAgICA8ZWxsaXBzZSBjeD0iNy4wNjMiIGN5PSI1LjA0MyIgcng9IjYuMDYzIiByeT0iNC4wNDMiIGZpbGw9Im5vbmUiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI0NyIgZGF0YS1uYW1lPSJQYXRoIDg4MjQ3IiBkPSJNMS4wMjksMTQuOTM4Yy0uNDczLDEuNjM5LTIuNzA3LDguMzkxLDEuNDEsMTQuMDc2czE0LjI5Miw4LjkwNywzNy4zNDgsMTguNCwyMC43MzEsMTkuNjc0LDIyLjIsMjAuNTA3LDEyLjEtNS4zMjUsMjEuMjcxLTI4LjQ4M1M5Ny43MTUsNS41NDcsOTQuMi43NDksODcuMDI5LDE1LjQ0NCw3My42MzMsMjMuOGMtNi45NjYsNC4zNDYtMjAuNDc0LDEwLjc5MS0zMy44NDUsOS42LTExLjg1OC0xLjA1Ni0yNC42LTMuNzI3LTM4Ljc1OC0xOC40NjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLjAwMSA4OS4yNDYpIHJvdGF0ZSgtNykiIGZpbGw9IiNmMGYwZjAiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgICA8cGF0aCBpZD0iVW5pb25fMjY1IiBkYXRhLW5hbWU9IlVuaW9uIDI2NSIgZD0iTS4zMzUsMy4yMzZDLS43NTcuNTc4LDEuMDU0LjEyMywyLjQzMS4wMThBNTQuNiw1NC42LDAsMCwxLDcuOTg0LjMxLDU0Ljc0Nyw1NC43NDcsMCwwLDEsMTMuNTM3LjAxN2MxLjM3Ny4xMDYsMy4xODguNTYsMi4xLDMuMjE5QTcuODc2LDcuODc2LDAsMCwxLDguMTkyLDguMjc3bC0uMDcsMGgtLjE0QTcuODkzLDcuODkzLDAsMCwxLC4zMzUsMy4yMzZaIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjgzOSwgLTAuNTQ1LCAwLjU0NSwgMC44MzksIDYyLjk1MSwgNzguNTA5KSIgZmlsbD0iIzQxNDE0MSIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2Utd2lkdGg9IjIuNCIvPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI0NSIgZGF0YS1uYW1lPSJQYXRoIDg4MjQ1IiBkPSJNOS4zNjMsMFMxNi4zMjIsMTIuODg0LDAsMTQuMTc2IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk5OSwgLTAuMDM1LCAwLjAzNSwgMC45OTksIDY0LjY5LCA4MS44MSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI0NiIgZGF0YS1uYW1lPSJQYXRoIDg4MjQ2IiBkPSJNMS40NzQsMHMtNi45NTksMTIuODg0LDkuMzYzLDE0LjE3NSIgdHJhbnNmb3JtPSJtYXRyaXgoMC4zMjYsIC0wLjk0NiwgMC45NDYsIDAuMzI2LCA3My45MzIsIDgyLjg2NykiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI4NiIgZGF0YS1uYW1lPSJQYXRoIDg4Mjg2IiBkPSJNMzEuODgyLDM5LjUxN2wyOS4xLTEzLjQyMlM2NC4wNzkuNjIzLDcwLjc4Ny4wMjUsODcuNzU3LDkuNTQsODguNTQ0LDMxLjY4M2MwLDAsMTAuMzY2LDMuOTE0LDE4LjcsMTUuOTg4czUuNDUxLDMyLjY3OS0zLjg2LDQ3LjMzOVM3Ni4yLDExNS42MjksNzYuMiwxMTUuNjI5cy0yMi4xMjMsNy4wNzUtNDAuNzg4LTMuMTkzLTIzLjI4Mi0yNC42NjEtMTguMS00Mi40N2MwLDAtMjIuMzkxLTMwLjY1MS0xNi4yNTQtMzYuOTg4UzI4LjgxNywzOC43NywzMS44ODIsMzkuNTE3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4zMTUgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgaWQ9IkVsbGlwc2VfMTMzNiIgZGF0YS1uYW1lPSJFbGxpcHNlIDEzMzYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLXdpZHRoPSIyLjUiPgogICAgICAgICAgPGVsbGlwc2UgY3g9IjgzLjQyNSIgY3k9IjgzLjQyNSIgcng9IjgzLjQyNSIgcnk9IjgzLjQyNSIgc3Ryb2tlPSJub25lIi8+CiAgICAgICAgICA8ZWxsaXBzZSBjeD0iODMuNDI1IiBjeT0iODMuNDI1IiByeD0iODIuMTc1IiByeT0iODIuMTc1IiBmaWxsPSJub25lIi8+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4Mjc2IiBkYXRhLW5hbWU9IlBhdGggODgyNzYiIGQ9Ik0wLDEuMzI0UzI3LjA2Mi00LjExLDQ3LjU2OSw3LjAzOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjEuNTAyIDQ3Ljk0OCkgcm90YXRlKC00NikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICA8L2c+CiAgICAgIDxlbGxpcHNlIGlkPSJFbGxpcHNlXzEzMzgiIGRhdGEtbmFtZT0iRWxsaXBzZSAxMzM4IiBjeD0iMi44NjciIGN5PSIyLjg2NyIgcng9IjIuODY3IiByeT0iMi44NjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNS45ODYgMTA1Ljg0OSkiIGZpbGw9IiM0MTQxNDEiLz4KICAgICAgPGVsbGlwc2UgaWQ9IkVsbGlwc2VfMTMzOSIgZGF0YS1uYW1lPSJFbGxpcHNlIDEzMzkiIGN4PSIyLjg2NyIgY3k9IjIuODY3IiByeD0iMi44NjciIHJ5PSIyLjg2NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTMuMDk1IDEyNy4yMDUpIiBmaWxsPSIjNDE0MTQxIi8+CiAgICA8L2c+CiAgPC9nPgogIDx0ZXh0Lz4KPC9zdmc+Cg==";
1
+ const DogeSpace = "data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iODQ1LjU4OSIgaGVpZ2h0PSI0OTguMjYiIHZpZXdCb3g9IjAgMCA4NDUuNTg5IDQ5OC4yNiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzg4NDc1IiBkYXRhLW5hbWU9IlBhdGggODg0NzUiIGQ9Ik0yOTYuODkxLDEuMTY4YzE2My4wOC01LjkzMSwyOTQuNTY0LDExLjMxMSwyOTMuNjc3LDM4LjUxUzQ1Ni43NjIsOTMuNzM0LDI5My42ODIsOTkuNjY1LS44ODIsODguMzU0LDAsNjEuMTU1LDEzMy44MTEsNy4xLDI5Ni44OTEsMS4xNjhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDExMi42ODcpIHJvdGF0ZSgtMTEpIiBmaWxsPSIjZmZmIi8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMiI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMTM1MTkiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDEzNTE5IiB3aWR0aD0iMTA0Ny4wMDUiIGhlaWdodD0iNTI3LjE3NyIgZmlsbD0ibm9uZSIvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTQiPgogICAgICA8cGF0aCBpZD0iUGF0aF84ODQ3NyIgZGF0YS1uYW1lPSJQYXRoIDg4NDc3IiBkPSJNMTI0LjgxOS40OTFDMTkzLjM4Mi0yLDI0OC42Niw1LjI0NiwyNDguMjg4LDE2LjY4MlMxOTIuMDMyLDM5LjQwOCwxMjMuNDcsNDEuOS0uMzcxLDM3LjE0NiwwLDI1LjcxMSw1Ni4yNTcsMi45ODQsMTI0LjgxOS40OTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDQ3LjM3Nikgcm90YXRlKC0xMSkiIGZpbGw9IiNmZmYiLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aC01Ij4KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8xMzUxOS0yIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAxMzUxOSIgd2lkdGg9IjQ0MC4xODQiIGhlaWdodD0iMjIxLjYzNiIgZmlsbD0ibm9uZSIvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTciPgogICAgICA8Y2lyY2xlIGlkPSJFbGxpcHNlXzEzMzciIGRhdGEtbmFtZT0iRWxsaXBzZSAxMzM3IiBjeD0iNjQuNyIgY3k9IjY0LjciIHI9IjY0LjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ5LjMxNyAwKSIgZmlsbD0iI2VkZWRlZCIvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTgiPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzEzNTE5LTMiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDEzNTE5IiB3aWR0aD0iMTI2My42IiBoZWlnaHQ9IjU2NC40IiBmaWxsPSJub25lIi8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtOCI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMTM1MTktMyIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMTM1MTkiIHdpZHRoPSIxMjYzLjYiIGhlaWdodD0iNTY0LjQiIGZpbGw9Im5vbmUiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJfNDA0IiBkYXRhLW5hbWU9IjQwNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUxNC4zODkgLTI3Ny41NjMpIj4KICAgIDxnIGlkPSJFbGVtZW50cyI+CiAgICAgIDxnIGlkPSJQbHVzIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk5OSwgMC4wMzUsIC0wLjAzNSwgMC45OTksIDExOTAuNDUzLCAzNzYuMjE4KSI+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgxMjMiIGRhdGEtbmFtZT0iUGF0aCA4ODEyMyIgZD0iTTAsMEgxNy43MjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgOC44NjIpIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmE4MDMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgxMjQiIGRhdGEtbmFtZT0iUGF0aCA4ODEyNCIgZD0iTTAsMEgxNy43MjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguODYyIDE3LjcyNCkgcm90YXRlKC05MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmYTgwMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iUGx1cy0yIiBkYXRhLW5hbWU9IlBsdXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgzNC41MDMgNzQzLjQpIj4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODEyMy0yIiBkYXRhLW5hbWU9IlBhdGggODgxMjMiIGQ9Ik02OTMuMjc2LTY0ODYuMjU1aDIzLjgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02OTMuMjc2IDY0OTguMTU3KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZhODAzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTI0LTIiIGRhdGEtbmFtZT0iUGF0aCA4ODEyNCIgZD0iTTAsMEgyMy44IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS45MDIgMjMuODA0KSByb3RhdGUoLTkwKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZhODAzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJFbGxpcHNlXzEzMjEiIGRhdGEtbmFtZT0iRWxsaXBzZSAxMzIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzM5LjAwOSA3NDUuMDQ2KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjY2NjZWQwIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgIDxlbGxpcHNlIGN4PSIxMC40ODQiIGN5PSIxMC40ODQiIHJ4PSIxMC40ODQiIHJ5PSIxMC40ODQiIHN0cm9rZT0ibm9uZSIvPgogICAgICAgIDxlbGxpcHNlIGN4PSIxMC40ODQiIGN5PSIxMC40ODQiIHJ4PSI5LjQ4NCIgcnk9IjkuNDg0IiBmaWxsPSJub25lIi8+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkVsbGlwc2VfMTM0NiIgZGF0YS1uYW1lPSJFbGxpcHNlIDEzNDYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY0Mi45NjQgNTQwKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjY2NjZWQwIiBzdHJva2Utd2lkdGg9IjEiPgogICAgICAgIDxlbGxpcHNlIGN4PSIxOC41MTgiIGN5PSIxOC41MTgiIHJ4PSIxOC41MTgiIHJ5PSIxOC41MTgiIHN0cm9rZT0ibm9uZSIvPgogICAgICAgIDxlbGxpcHNlIGN4PSIxOC41MTgiIGN5PSIxOC41MTgiIHJ4PSIxOC4wMTgiIHJ5PSIxOC4wMTgiIGZpbGw9Im5vbmUiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iUGx1cy0zIiBkYXRhLW5hbWU9IlBsdXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU4NC4zNjQgNzM4Ljk4MSkiPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTIzLTMiIGRhdGEtbmFtZT0iUGF0aCA4ODEyMyIgZD0iTTY5My4yNzYtNjQ4Ni4yNTVoNy45NiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTY5My4yNzYgNjQ5MC4yMzUpIiBmaWxsPSJub25lIiBzdHJva2U9IiM5OTkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgxMjQtMyIgZGF0YS1uYW1lPSJQYXRoIDg4MTI0IiBkPSJNMCwwSDcuOTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTggNy45Nikgcm90YXRlKC05MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzk5OSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iUGx1cy00IiBkYXRhLW5hbWU9IlBsdXMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExNjMuMjk2IDU5Mi4zMjIpIj4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODEyMy00IiBkYXRhLW5hbWU9IlBhdGggODgxMjMiIGQ9Ik02OTMuMjc2LTY0ODYuMjU1aDcuOTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02OTMuMjc2IDY0OTAuMjM1KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOTk5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTI0LTQiIGRhdGEtbmFtZT0iUGF0aCA4ODEyNCIgZD0iTTAsMEg3Ljk2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjk4IDcuOTYpIHJvdGF0ZSgtOTApIiBmaWxsPSJub25lIiBzdHJva2U9IiM5OTkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IlBsdXMtNSIgZGF0YS1uYW1lPSJQbHVzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5ODAuMDQgMzkwLjYzNikiPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTIzLTUiIGRhdGEtbmFtZT0iUGF0aCA4ODEyMyIgZD0iTTY5My4yNzYtNjQ4Ni4yNTVoNy45NiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTY5My4yNzYgNjQ5MC4yMzUpIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgxMjQtNSIgZGF0YS1uYW1lPSJQYXRoIDg4MTI0IiBkPSJNMCwwSDcuOTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTggNy45Nikgcm90YXRlKC05MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9IlNQQUNFU0hJUF9zIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg5OSwgMC40MzgsIC0wLjQzOCwgMC44OTksIDEyMzEuOTIsIDU2NS42NDUpIj4KICAgICAgPHBhdGggaWQ9InNwYWNlc2hpcF8xXyIgZD0iTTU5LjU4MSwxMjIuMTcybC0xLjQ3My0yLjU1NmM0LjctMjYuODkxLTM0LjItNDkuMzQzLTU1LjE1My0zMS43ODJIMFY2OC43OTFhMS40NzYsMS40NzYsMCwwLDEsMS40NzctMS40NzdoMjAuOUwzMi4zNCw0NS4yOEE2OC44NDcsNjguODQ3LDAsMCwxLDYwLjgyLDEzLjg0M0w4My4yMzUuOWE2LjY2MSw2LjY2MSwwLDAsMSw5Ljk4Nyw1Ljc3M1YzMi41NDlhNjguODU5LDY4Ljg1OSwwLDAsMS0xMyw0MC4zNzhsLTE0LjEsMTkuNjUsMTAuNDQyLDE4LjA5YTEuNDc0LDEuNDc0LDAsMCwxLS41NDIsMi4wMTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDMzLjQwOCkgcm90YXRlKC0yMSkiIGZpbGw9IiNlOGU4ZTgiLz4KICAgICAgPGcgaWQ9Ikdyb3VwXzMzMjA5IiBkYXRhLW5hbWU9Ikdyb3VwIDMzMjA5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMC45NjQgMTA1LjY5Nikgcm90YXRlKC0zOSkiPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTIwIiBkYXRhLW5hbWU9IlBhdGggODgxMjAiIGQ9Ik0wLDMyLjMwOCwyMC4xLDAiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTY2LCAwLjI1OSwgLTAuMjU5LCAwLjk2NiwgMjUuNywgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzk5OSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODEyMiIgZGF0YS1uYW1lPSJQYXRoIDg4MTIyIiBkPSJNMCwzMi4zMDgsMjAuMSwwIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk2NiwgMC4yNTksIC0wLjI1OSwgMC45NjYsIDIzLjgwNCwgMTcuMzM3KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOTk5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MTIxIiBkYXRhLW5hbWU9IlBhdGggODgxMjEiIGQ9Ik0wLDMyLjMwOCwyMC4xLDAiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTY2LCAwLjI1OSwgLTAuMjU5LCAwLjk2NiwgOC4zNjIsIDEuODk2KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOTk5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0iU1BBQ0VTSElQX0wiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMTIuMzQxKSI+CiAgICAgIDxnIGlkPSJNYXNrX0dyb3VwXzE4OTgyIiBkYXRhLW5hbWU9Ik1hc2sgR3JvdXAgMTg5ODIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY1Ni41MjggNTA0Ljc2Nykgcm90YXRlKC03KSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aCkiPgogICAgICAgIDxnIGlkPSJCR19UZXh0dXJlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTguNTEgLTMyOS45NjgpIj4KICAgICAgICAgIDxnIGlkPSJHcm91cF8zMzIxMiIgZGF0YS1uYW1lPSJHcm91cCAzMzIxMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxNjMuNzg4KSByb3RhdGUoLTkpIiBvcGFjaXR5PSIwLjIiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgtMikiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXBfMzMyMTEiIGRhdGEtbmFtZT0iR3JvdXAgMzMyMTEiPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgICA8L2c+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzg4NDc2IiBkYXRhLW5hbWU9IlBhdGggODg0NzYiIGQ9Ik0zMTIuNTE0LDEuNGMxNzEuNy03LjQsMzEwLjE1OCwxNS4xNTIsMzA5LjI2LDUwLjM2NXMtMTQwLjgxMyw2OS43NTQtMzEyLjUxLDc3LjE1MVMtLjg5MywxMTMuNzY4LDAsNzguNTU2LDE0MC44MTcsOC44LDMxMi41MTQsMS40WiIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NTYsIC0wLjI5MiwgMC4yOTIsIDAuOTU2LCA2MzcuNjI5LCA1NzguNDk4KSIgZmlsbD0iI2ZmZiIgb3BhY2l0eT0iMC42NSIvPgogICAgICA8ZyBpZD0iTWFza19Hcm91cF8xODk4MyIgZGF0YS1uYW1lPSJNYXNrIEdyb3VwIDE4OTgzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3ODIuMDM2IDQ3OS45ODgpIHJvdGF0ZSgtNykiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgtNCkiPgogICAgICAgIDxnIGlkPSJCR19UZXh0dXJlLTIiIGRhdGEtbmFtZT0iQkdfVGV4dHVyZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI0LjU5OSAtMTM4LjcyNikiPgogICAgICAgICAgPGcgaWQ9Ikdyb3VwXzMzMjEyLTIiIGRhdGEtbmFtZT0iR3JvdXAgMzMyMTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgNjguODYpIHJvdGF0ZSgtOSkiIG9wYWNpdHk9IjAuMiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aC01KSI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cF8zMzIxMS0yIiBkYXRhLW5hbWU9Ikdyb3VwIDMzMjExIj4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgICA8cGF0aCBpZD0iUGF0aF84ODQ3OCIgZGF0YS1uYW1lPSJQYXRoIDg4NDc4IiBkPSJNMTMxLjM4OC41OTFjNzIuMTg1LTMuMTEsMTMwLjQsNi4zNywxMzAuMDIsMjEuMTc1UzIwMi4yMDcsNTEuMDkxLDEzMC4wMjEsNTQuMi0uMzc1LDQ3LjgzLDAsMzMuMDI2LDU5LjIsMy43LDEzMS4zODguNTkxWiIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NTYsIC0wLjI5MiwgMC4yOTIsIDAuOTU2LCA3NzQuMDkxLCA1MTAuOTg1KSIgZmlsbD0iI2ZmZiIgb3BhY2l0eT0iMC42NSIvPgogICAgPC9nPgogICAgPGcgaWQ9IlBMQU5FVF9zIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjY0MywgLTAuNzY2LCAwLjc2NiwgMC42NDMsIDEyNzEuMTU1LCAzMTUuOTAxKSI+CiAgICAgIDxjaXJjbGUgaWQ9IkVsbGlwc2VfMTMzNy0yIiBkYXRhLW5hbWU9IkVsbGlwc2UgMTMzNyIgY3g9IjE3Ljc1NCIgY3k9IjE3Ljc1NCIgcj0iMTcuNzU0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy41MzIgMCkiIGZpbGw9IiNlOGU4ZTgiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfODgyODciIGRhdGEtbmFtZT0iUGF0aCA4ODI4NyIgZD0iTTE1LjIsMFMtNi45MTEsMS4yNDMsMi4yLDUuODg1czM2Ljg2LDExLjM0OSw1My4zNDQsOC42MzYtNy4wMTItNy45NzgtNy4wMTItNy45NzgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuNDA3IDMuMDA0KSByb3RhdGUoMTMpIiBmaWxsPSJub25lIiBzdHJva2U9IiM5OTkiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPC9nPgogICAgPGcgaWQ9IlBMQU5FVF9MIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk5LCAtMC4xMzksIDAuMTM5LCAwLjk5LCA1MDcuMTQ0LCAzNDIuNTE1KSI+CiAgICAgIDxnIGlkPSJHcm91cF8zMzMwNCIgZGF0YS1uYW1lPSJHcm91cCAzMzMwNCI+CiAgICAgICAgPGcgaWQ9Ik1hc2tfR3JvdXBfMTg5ODEiIGRhdGEtbmFtZT0iTWFzayBHcm91cCAxODk4MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aC03KSI+CiAgICAgICAgICA8ZyBpZD0iQkdfVGV4dHVyZS0zIiBkYXRhLW5hbWU9IkJHX1RleHR1cmUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03My4zNjkgLTM2Ny42MTcpIHJvdGF0ZSgxMikiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXBfMzMyMTItMyIgZGF0YS1uYW1lPSJHcm91cCAzMzIxMiIgb3BhY2l0eT0iMC4yIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoLTgpIj4KICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXBfMzMyMTEtMyIgZGF0YS1uYW1lPSJHcm91cCAzMzIxMSI+CiAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4Mjg3LTIiIGRhdGEtbmFtZT0iUGF0aCA4ODI4NyIgZD0iTTU1LjcxNiwwUy0yNS4zMzUsNC4yODcsOC4wNzcsMjAuM3MxMzUuMTI5LDM5LjE1NiwxOTUuNTYsMjkuOC0yNS43MDYtMjcuNTI0LTI1LjcwNi0yNy41MjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwLjc5IDEyLjA4Mykgcm90YXRlKDEzKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOTk5IiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9IkRPR19TUEFDRSIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NzgsIC0wLjIwOCwgMC4yMDgsIDAuOTc4LCA3OTcuOTE3LCA0MzUuMjY3KSI+CiAgICAgIDxnIGlkPSJHcm91cF8zMzE4NSIgZGF0YS1uYW1lPSJHcm91cCAzMzE4NSIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NzgsIC0wLjIwOCwgMC4yMDgsIDAuOTc4LCAwLCA0Mi44ODcpIj4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI3NyIgZGF0YS1uYW1lPSJQYXRoIDg4Mjc3IiBkPSJNMTkuNSw1LjAxN1MzLjI0Ny03LjEuNyw2LjMzMSwzLjE0LDI2Ljc0NCw1LjQ1OCwyOS40M3MxMy4zNDYsMTEuODM1LDIyLjYsMi43MjljMS4yODEtNS4wOTItLjM3Mi0xMC45NjctMi4yNjQtMTUuN0E0Ny42MjksNDcuNjI5LDAsMCwwLDE5LjUsNS4wMTdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0Ny41MDMgMjY0LjQ1OSkgcm90YXRlKDUpIiBmaWxsPSIjZmZhODAzIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI3NSIgZGF0YS1uYW1lPSJQYXRoIDg4Mjc1IiBkPSJNMTAuNzcyLDEwOC41MTZjMTAuOTA4LDMxLjEzLDEzLjAzOSwyOC4yMTUsMTkuODMzLDQzLjQ5czIuNCwyNy4zMjIsNC41NDIsNDAuMzI0LDkuMTcyLDEzLjkxNCw5LjE3MiwxMy45MTQsMjMuMTQ0LDEuNjU4LDI1LjM0OS00LjE2NCwxLjE3Ni05Ljg5NCwwLTE1LjQxMy0zLjUtMTMuMywyLjU0Ni0xOC4wMSwxNy4wMDgtMy4yLDI2LjItMTAuNDQ5LDkuNDEyLTEzLjQ5MywxNC41Ny0xMy42ODgsOS43NTYsNS41NDYsMTYuNDc5LDcuNzM1LDE1LjkxOCwzLjIzNiwyMS43LDAsMy45NzctMTUuNjM1LDAtMTkuMDM2LTcuMTUzLTMuOS0xMy4zMTQtOC44NzItOC4yOC0xNC4yNjEtOC40OTEtMjYuOTMzLS42NDItMTIuMDU1LTEuNzctMjUuMzEzUzg3LjM0OCwwLDg3LjM0OCwwcy04LjU4LDEwLjA1Ny0zMC45MzksMTUuN1MwLDcuNzcxLDAsNy43NzFaIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk5OCwgMC4wNywgLTAuMDcsIDAuOTk4LCA1MS44MSwgMTM1Ljc4OCkiIGZpbGw9IiNmZmE4MDMiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4Mjc4IiBkYXRhLW5hbWU9IlBhdGggODgyNzgiIGQ9Ik0xLjE1NCwxMC41MVMtNC44ODEsNDMsMTAuNjU1LDQ1LjQ0M3MyNi45NDItLjQwOCwyNS45MzMtOS40Ni0yLjM3Ni0xNy4zNjctMi4zNzYtMTcuMzY3LTYuMTI0LTkuMzI4LTEyLjMxLTcuMTMtOS40MzMsMS41NzMtOS45ODEsMFM3Ljg1NS0uNCw0LjQzOC4wMTIsMS4xNTQsMTAuNTEsMS4xNTQsMTAuNTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3My4wMzYgMjk5LjgzOCkiIGZpbGw9IiNmMGYwZjAiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI4MCIgZGF0YS1uYW1lPSJQYXRoIDg4MjgwIiBkPSJNMTYuMDQ2LDBhMjIuNzQzLDIyLjc0MywwLDAsMCwxMC40OCwxOC4xODhDMzcuMjc5LDI1LjM4OCwzNy4yLDI4LjUsMzcuMiwyOC41czMuNjE4LDE1LjQ2Ny03LjMyMywxNi4xMDhTMTIuMSw0My4xLDQuMzkxLDM3LjE2MSwxLjEsMzEuODY5LDIuOSwyNy4xMjZzOS4zNC4zMzksOC42NjctOC45MzhTMTYuMDQ2LDAsMTYuMDQ2LDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTguMzc4IDI1NC42NjgpIiBmaWxsPSIjZjBmMGYwIi8+CiAgICAgICAgPGcgaWQ9Ikdyb3VwXzMzMTg0IiBkYXRhLW5hbWU9Ikdyb3VwIDMzMTg0IiB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCAxOTAuODY0LCAyODkuMDk2KSI+CiAgICAgICAgICA8bGluZSBpZD0iTGluZV8xODU2MCIgZGF0YS1uYW1lPSJMaW5lIDE4NTYwIiB5Mj0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgIDwvZz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI3OSIgZGF0YS1uYW1lPSJQYXRoIDg4Mjc5IiBkPSJNOS43NjYsMTA4LjUxNmMxMC45MDgsMzEuMTMsMTMuMDM5LDI4LjIxNSwxOS44MzMsNDMuNDlzMi40LDI3LjMyMiw0LjU0Miw0MC4zMjQsOS4xNzIsMTMuOTE0LDkuMTcyLDEzLjkxNCwyMy4xNDQsMS42NTgsMjUuMzQ5LTQuMTY0LDEuMTc2LTkuODk0LDAtMTUuNDEzLTMuNS0xMy4zLDIuNTQ2LTE4LjAxLDE3LjAwOC0zLjIsMjYuMi0xMC40NDksOS40MTItMTMuNDkzLDE0LjU3LTEzLjY4OCw5Ljc1Niw1LjU0NiwxNi40NzksNy43MzUsMTUuOTE4LDMuMjM2LDIxLjcsMCwzLjk3Ny0xNS42MzUsMC0xOS4wMzYtNy4xNTMtMy45LTEzLjMxNC04Ljg3Mi04LjI4LTE0LjI2MS04LjQ5MS0yNi45MzMtLjY0Mi0xMi4wNTUtMS43Ny0yNS4zMTNTODYuMzQyLDAsODYuMzQyLDAsNzcuOTksMTAuMDg5LDU1LjYzMSwxNS43MzEsMCwxMS4yNzMsMCwxMS4yNzNaIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk5OCwgMC4wNywgLTAuMDcsIDAuOTk4LCA1Mi44MTMsIDEzNS44NTgpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI3NCIgZGF0YS1uYW1lPSJQYXRoIDg4Mjc0IiBkPSJNNDAuNzI3LDBDMjQuMDg2LDQuOTc0LDE0LjkwOCwzMy44NzIsNi44NDgsNTMuODIzQTk1LjkyOCw5NS45MjgsMCwwLDAsLjA3Niw5Mi4yM3MuMzA5LDcuMTA3LDcuMTA2LDcuMTA3SDIyLjE3czcuNzkzLS4yMzEsNy42NjItNy4xMDctLjQtOC4xNTksMC0xMS40MzYsNC4wMzMtMTEuMDA2LDQuMDMzLTExLjAwNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMuNTkzIDE1Mi43MzMpIHJvdGF0ZSgtMTUpIiBmaWxsPSIjZmZhODAzIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8ZyBpZD0iR3JvdXBfMzMxODMiIGRhdGEtbmFtZT0iR3JvdXAgMzMxODMiIHRyYW5zZm9ybT0ibWF0cml4KDEsIDAsIDAsIDEsIDg3LjUwMywgMzM3LjUyNykiPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjAtMiIgZGF0YS1uYW1lPSJMaW5lIDE4NTYwIiB5Mj0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjIiIGRhdGEtbmFtZT0iTGluZSAxODU2MiIgeTI9IjcuNzIzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjkyOSAwKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMi41Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MjczIiBkYXRhLW5hbWU9IlBhdGggODgyNzMiIGQ9Ik0zLjA4MSw2My41NDdzMy42MjgsNy43MjksNC4wMzMsMTEuMDA3LjEzMiw0LjU2MSwwLDExLjQzNlMxNC43NzYsOTMuMSwxNC43NzYsOTMuMXM5LjQyOS0uMjA2LDE0Ljk4OCwwLDYuMjI2LTMuMTU0LDcuMTA2LTcuMTA3UzM1LjE0LDY4LjQsMzMuNyw1Mi45ODUsMzAuMDA4LDMxLjYyNCwyNC4wNCwxOC41MzIsMTguMzk0LDMuMjMxLDEyLjM1OC4yMTFDOC42NjItMS42MzksMy4wNDEsOS4zLDAsOC4wNjQiIHRyYW5zZm9ybT0ibWF0cml4KDAuODkxLCAtMC40NTQsIDAuNDU0LCAwLjg5MSwgMTIyLjg0OSwgMTMyLjcyNCkiIGZpbGw9IiNmZmE4MDMiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MjgxIiBkYXRhLW5hbWU9IlBhdGggODgyODEiIGQ9Ik0uODMzLDEyYy0yLjU4MywzLjQ2MywxLjU3Niw5LjE1NCwyLjU4NiwxMy44NTNTNS42MiwzNy4wNjYsMTIuMywzNS44YTEzMi4yNjQsMTMyLjI2NCwwLDAsMCwxNS44ODUtNC41NjFzNi45NjUtLjYxNiw0Ljc3My0xMC4wMjRTMjguMTg1LDMuOTYyLDI4LjE4NSwzLjk2MiwyNC4zMS0zLjE4MywxOS42NjUsMS43MTcsMTguMjA5LDEwLjQ3LDEzLjc1MSwxMiwzLjQxNiw4LjUzMi44MzMsMTJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTcuOTQyIDE3Ni41MzEpIHJvdGF0ZSgtMTEpIiBmaWxsPSIjZjBmMGYwIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgyODIiIGRhdGEtbmFtZT0iUGF0aCA4ODI4MiIgZD0iTTMxLjk0NCwxMS43NzFjMi41MzUsMy40LTEuNTQ2LDguOTg0LTIuNTM5LDEzLjU5NHMtMi4xNiwxMS4wMDktOC43MTUsOS43NjNBMTI5LjczNSwxMjkuNzM1LDAsMCwxLDUuMSwzMC42NTNzLTYuODM2LS42MDUtNC42ODQtOS44MzdTNS4xLDMuODg5LDUuMSwzLjg4OXMzLjgtNy4wMTIsOC4zNi0yLjIsMS40MjksOC41ODksNS44LDEwLjA4N1MyOS40MDksOC4zNzMsMzEuOTQ0LDExLjc3MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI2Ljk0NyAyMjMuMjE3KSByb3RhdGUoLTMxKSIgZmlsbD0iI2YwZjBmMCIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4MjgzIiBkYXRhLW5hbWU9IlBhdGggODgyODMiIGQ9Ik00MC43MjcsMEMyNC4wODYsNC45NzQsMTQuOTA4LDMzLjg3Miw2Ljg0OCw1My44MjNBOTUuOTI4LDk1LjkyOCwwLDAsMCwuMDc2LDkyLjIzcy4zMDksNy4xMDcsNy4xMDYsNy4xMDdIMjIuMTdzNy43OTMtLjIzMSw3LjY2Mi03LjEwNy0uNC04LjE1OSwwLTExLjQzNiw0LjAzMy0xMS4wMDYsNC4wMzMtMTEuMDA2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy41OTMgMTUyLjczMykgcm90YXRlKC0xNSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4Mjg0IiBkYXRhLW5hbWU9IlBhdGggODgyODQiIGQ9Ik0zLjA4MSw2Mi42MTJzMy42MjgsNy43MjksNC4wMzMsMTEuMDA3LjEzMiw0LjU2MSwwLDExLjQzNiw3LjY2Miw3LjEwNyw3LjY2Miw3LjEwNyw5LjQyOS0uMjA2LDE0Ljk4OCwwLDYuMjI2LTMuMTU0LDcuMTA2LTcuMTA3LTEuMjY0LTE3LjA0MS0yLjctMzIuNDU3LTMuNjkxLTIxLjM2MS05LjY1OS0zNC40NTNTMTYuMzI2LDMuMjQ5LDEwLjI5LjIyOUM2LjU5NC0xLjYyMSwzLjA0MSw4LjM2NCwwLDcuMTI5IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg5MSwgLTAuNDU0LCAwLjQ1NCwgMC44OTEsIDEyMy4yNzMsIDEzMy41NTcpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8ZyBpZD0iR3JvdXBfMzMxODAiIGRhdGEtbmFtZT0iR3JvdXAgMzMxODAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4OS41NDkgMjAxLjY0OSkgcm90YXRlKDE1NSkiPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjAtMyIgZGF0YS1uYW1lPSJMaW5lIDE4NTYwIiB5MT0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjItMiIgZGF0YS1uYW1lPSJMaW5lIDE4NTYyIiB5MT0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuOTI5IDApIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgaWQ9Ikdyb3VwXzMzMTgyIiBkYXRhLW5hbWU9Ikdyb3VwIDMzMTgyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0Ni45MDUgMjM3LjAwNCkgcm90YXRlKC0xNSkiPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjAtNCIgZGF0YS1uYW1lPSJMaW5lIDE4NTYwIiB5Mj0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgPGxpbmUgaWQ9IkxpbmVfMTg1NjItMyIgZGF0YS1uYW1lPSJMaW5lIDE4NTYyIiB5Mj0iNy43MjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuOTI5IDApIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICA8L2c+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgyODUiIGRhdGEtbmFtZT0iUGF0aCA4ODI4NSIgZD0iTS4yNTQsMTEuNTYyQTQ5LjIwOCw0OS4yMDgsMCwwLDAsMTIuMTM3LDQ4LjYxQzI3LjA1NSw2NS40NCwyNS44MjgsNzkuMzIsMzEuNTQsOTguMzI5czIyLjUsNDcuMzA5LDM1LjQsNDcuNjU1LDIyLjEyNC0xMi45ODksMjYtMjIuMiwxMS44NDgtMjMuMDgxLDQuNTUtMzYuODVTNzguNDExLDU1LjEyNiw4MS40NjYsNDIuNTI2LDc5LjksNS43ODMsNTguNjE0LjkzOS4yNTQsMTEuNTYyLjI1NCwxMS41NjJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MS4yMjYgMTM2LjAzNikiIGZpbGw9IiNmMGYwZjAiLz4KICAgICAgICA8ZyBpZD0iRE9HIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk3OCwgMC4yMDgsIC0wLjIwOCwgMC45NzgsIDQ0LjA4OCwgMjEuNzMxKSI+CiAgICAgICAgICA8ZyBpZD0iR3JvdXBfMzMxNjYiIGRhdGEtbmFtZT0iR3JvdXAgMzMxNjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI0MCIgZGF0YS1uYW1lPSJQYXRoIDg4MjQwIiBkPSJNMzEuODgyLDM5LjUxN2wyOS4xLTEzLjQyMlM2NC4wNzkuNjIzLDcwLjc4Ny4wMjUsODcuNzU3LDkuNTQsODguNTQ0LDMxLjY4M2MwLDAsMTAuMzY2LDMuOTE0LDE4LjcsMTUuOTg4czUuNDUxLDMyLjY3OS0zLjg2LDQ3LjMzOVM3Ni4yLDExNS42MjksNzYuMiwxMTUuNjI5cy0yMi4xMjMsNy4wNzUtNDAuNzg4LTMuMTkzLTIzLjI4Mi0yNC42NjEtMTguMS00Mi40N2MwLDAtMjIuMzkxLTMwLjY1MS0xNi4yNTQtMzYuOTg4UzI4LjgxNywzOC43NywzMS44ODIsMzkuNTE3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4zMTUgMCkiIGZpbGw9IiNmMGYwZjAiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICAgICAgPHBhdGggaWQ9IlN1YnRyYWN0aW9uXzEzNiIgZGF0YS1uYW1lPSJTdWJ0cmFjdGlvbiAxMzYiIGQ9Ik01OS40NTEsMTE4aDBjLjEzNC0uMjE4LjIzMS0uMzguMzMyLS41NjFhMzMuMTY2LDMzLjE2NiwwLDAsMCw0LjQzNi4zMWwuMzcyLDBDNjIuODYzLDExNy45LDYxLjEzNSwxMTcuOTg3LDU5LjQ1MSwxMThabTEzLjk0My0xLjYzNWgwYzEuMDcyLS4zMjIsMi4yMDctLjcxNiwzLjM3My0xLjE3MmE4Ny44MjYsODcuODI2LDAsMCwwLDE0LjUxNS03Ljc0OGMuNDI3LS4yNzEuODQ2LS41NDksMS4yNDYtLjgyNUE2My44MSw2My44MSwwLDAsMSw4MS4zLDExMy40ODNhNDkuOSw0OS45LDAsMCwxLTUuMDkyLDIuMTQ0bC0uMDA4LDAtLjAwOSwwYy0uMTEyLjAzNS0xLjE0Mi4zNTMtMi44LjczNVptLTUxLjMzLTE0LjU0NmgwYTI5Ljk3NCwyOS45NzQsMCwwLDEtNC4yOTQtNi45NjQsMjguOTU5LDI4Ljk1OSwwLDAsMS0yLjEzNS03LjY0NSwzNS4yODgsMzUuMjg4LDAsMCwxLS4xMDYtOC4zLDQ5Ljk0NSw0OS45NDUsMCwwLDEsMS43OS04Ljk0MWwwLS4wMDVjLS4yMzMtLjMyMS01Ljc2MS03Ljk1Mi0xMC40MjUtMTYuMTEyQTcxLjMxNyw3MS4zMTcsMCwwLDEsMS4wMTQsNDEuNDMxYy0xLjM2OC00LjE2NC0xLjM1MS03LjAwOC4wNDktOC40NTMsMS4xNzItMS4yMTIsMy4wMDktMS44MjYsNS40NTktMS44MjYsNi40NzcsMCwxNS43NjYsNC4xOCwyMS4zMTYsNi42NzdsLjAwOCwwLC4wMjUuMDExYTM2LjAxOCwzNi4wMTgsMCwwLDAsNC4wMDgsMS42NzNsMjkuMS0xMy40MjJ2LS4wMDhhMTE5Ljk4MywxMTkuOTgzLDAsMCwxLDIuMzg4LTEyLjgsNDUuMyw0NS4zLDAsMCwxLDMuMDU3LTguOTMzQzY3Ljc4NywxLjYxNyw2OS4yNTUuMTYxLDcwLjc4Ni4wMjVjLjE2OS0uMDE3LjM2LS4wMjUuNTY5LS4wMjVBOS43MTksOS43MTksMCwwLDEsNzYuNzYsMS45MjNhMjAuNjc2LDIwLjY3NiwwLDAsMSw1LjQxNSw1Ljg0NWMyLjY2NCw0LjE0NCw1LjkzMSwxMS42NTgsNi4zNjcsMjMuOTE1YTMxLjAyMywzMS4wMjMsMCwwLDEsNC44NywyLjU3NSw0Ny42Niw0Ny42NiwwLDAsMSwxMC41Miw5LjEyNEEyMC42NDEsMjAuNjQxLDAsMCwwLDkyLjQsNTQuMzQ3YTgyLjYxNCw4Mi42MTQsMCwwLDEtOS44MiwxMy44OTIsNjIuMDI3LDYyLjAyNywwLDAsMS00Ljg4LDUuMDM5bC0zLjk0Miw3LjY3OGExMC44NSwxMC44NSwwLDAsMC01LjgzNi0yLjI2NUE1LjIsNS4yLDAsMCwwLDYzLjYsODAuOTU2Yy0uODY3LDEuMTYzLTIuNTQ3LDIuMTg5LTQuOTk0LDMuMDVhNDMuMzA4LDQzLjMwOCwwLDAsMS03LjI4LDEuNzM4LDg3LjE4Miw4Ny4xODIsMCwwLDEtOS40MjMuOTYzLDIwLjU3NywyMC41NzcsMCwwLDAtMTkuODM3LDE1LjExM1pNNDcuNCw2MC4wNDRjLTEuMjQ5LDAtMi40MzYuMzMyLTIuNjQ4LjczOS0uMy41NzItMS4yNzkuODA4LTIuOTA3LDEuMi0uNTQxLjEzLTEuMTU1LjI3Ny0xLjgzNy40NTgtMi4yNjIuNi0yLjM0OSwxLjUxMS0yLjQ4MSwyLjg4NC0uMDI3LjI4NC0uMDU2LjU3OC0uMS45YS45ODYuOTg2LDAsMCwwLC4xODMuODI2LDEuNzUsMS43NSwwLDAsMCwxLjM2My40MjgsNi42NTMsNi42NTMsMCwwLDAsMS4zODUtLjE2OCw5MC4yLDkwLjIsMCwwLDEsOC44NjgtMi4zODMsMS44NTIsMS44NTIsMCwwLDAsMS42MTUtMS4wMzdjLjMzNi0uODg0LS4yNjMtMi4xODctMS4wMDUtMy4wODZBMy4yMTYsMy4yMTYsMCwwLDAsNDcuNCw2MC4wNDRaTTguOSwzNi40ODJjLTEuNjU1LDAtMi42MDYuNS0yLjgyNywxLjUtLjUxNywyLjMyNywxLjE0Miw3LjA3OCw0LjIyNSwxMi4xLDMuMjc3LDUuMzQxLDcuMjUsOS41NDMsMTAuNjI4LDExLjI0bC4wMDctLjAxYTQ2LjIxOSw0Ni4yMTksMCwwLDAsMi42NDUtNC40YzIuMDQ1LTMuOTM4LDEuOTkxLTUuNzI5LDEuNTg2LTYuNTM4YTEuNzUxLDEuNzUxLDAsMCwxLC40ODctMi40NjdjLjMtLjI3Ny41NzctLjUzOS41NzMtLjg5cy0uMjgzLS43NTQtLjg3NS0xLjI3NGEyLjgsMi44LDAsMCwxLTEuMTc3LTIuMjE2LDIuNjUsMi42NSwwLDAsMSwxLjEwNi0xLjc5MmwtLjAyOS0uMDE0Yy0uNjkzLS4zMjUtMy4xOS0xLjQ3NC02LjIzMS0yLjYzNS0zLjExNy0xLjE5LTcuNC0yLjYxLTEwLjExNi0yLjYxWk02Ny4zOTMsNDYuNTY5Yy0uMzcxLDAtMSwuNTYxLTEuNTczLDEuNC0uNjMzLjkyOC0xLjE5MywyLjIxOS0uODY0LDMuMDU4LjM0OS44ODcsMS4yNDYsMi4zODgsMi40LDIuMzg4YTEuOTgyLDEuOTgyLDAsMCwwLDEuNS0uOTI0LDkwLjM0OSw5MC4zNDksMCwwLDEsNi4zODQtNi42Yy4wMTQtLjAxNSwxLjM2Mi0xLjQ4MywxLjEzNC0yLjQzM2EuOTQ4Ljk0OCwwLDAsMC0uNjYzLS42NTljLS4zLS4xMDgtLjU2LS4yMjMtLjgxNS0uMzM0bC0uMDIxLS4wMDlhNC4wNDYsNC4wNDYsMCwwLDAtMS41NjYtLjQ1OSwzLjEzOSwzLjEzOSwwLDAsMC0yLjE2LDEuMjMxYy0uNDkyLjUxLS45MTcuOTc0LTEuMjkyLDEuMzg0LTEuMTE5LDEuMjIyLTEuNzk1LDEuOTYtMi40MzIsMS45NmgtLjAzNFptMy43NjItMjBhMS43NjEsMS43NjEsMCwwLDEsMS41MjQsMS4wNjhjLjU1OC45NTEsMi4xNjksMS42MzYsNC43ODYsMi4wMzhhNDAuMTgzLDQwLjE4MywwLDAsMCw1LjcxOC4zODNjLjM3LDAsLjY5NCwwLC45NjMtLjAxMmguMDIxYy40MTgtMy43NTQtLjk0Mi05LjM3NS0zLjYzNi0xNS4wMzRDNzgsOS42OTEsNzQuOTEzLDUuNzEyLDcyLjY3OSw0Ljg3OGExLjY2NiwxLjY2NiwwLDAsMC0uNTgzLS4xMDljLS45ODgsMC0xLjk1Ni45Ni0yLjg3NywyLjg1M0EzMy4yNjMsMzMuMjYzLDAsMCwwLDY3LjExLDEzLjljLTEuMDY3LDQuMjc3LTEuNjcxLDguNjM2LTEuNzM3LDkuMTE5bDAsLjAxMi4wMDcsMGEzLjA1NCwzLjA1NCwwLDAsMSwxLjA2NS0uMmMuODYzLDAsMS45NTQuNDI0LDIuMjUxLDIuNDQ2LjIsMS4zNTkuNjIyLDEuNTQyLDEuMDA4LDEuNTQyYTIuNzMzLDIuNzMzLDAsMCwwLC42MjQtLjEwNmwuMDA5LDAsLjAwOSwwLC4wNDMtLjAxMUEzLjExNywzLjExNywwLDAsMSw3MS4xNTUsMjYuNTczWm00Ljc2OCw2OS42Yy0yLjMyNCwwLTQuMDQ1LS41My00LjI4My0xLjMxOS0uMTQ1LS40NzkuMjQ2LTEuMDQ0LDEuMTMtMS42MzNhNS43MzMsNS43MzMsMCwwLDAsMi4yNzYtMi45NzQsOC45NjksOC45NjksMCwwLDAsLjQtMy40NzMsMTQuNzQ3LDE0Ljc0NywwLDAsMC0uODc2LTQuMDg1LDEzLjE0MywxMy4xNDMsMCwwLDAsNy4xMDgsMi41MjNBNy41MDcsNy41MDcsMCwwLDAsODUuOSw4My45NDksNi4zNTEsNi4zNTEsMCwwLDAsODcuMjkxLDgyLjdsMC0uMDA1YS4wMDcuMDA3LDAsMCwxLDAsLjAwN3YuMDFhMjEuMDMyLDIxLjAzMiwwLDAsMS0uMjY0LDQuMzc2Yy0uMzczLDIuMi0xLjMsNS4yLTMuNTksNi45ODJDODEuNDQ2LDk1LjYxOSw3OC4yNDksOTYuMTczLDc1LjkyMyw5Ni4xNzNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjMxNyAwKSIgZmlsbD0iI2ZmYTgwMyIvPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI0MSIgZGF0YS1uYW1lPSJQYXRoIDg4MjQxIiBkPSJNMTguOCwyNS4yOEMxOS43MTYsMTcsMTIuMDA3LDEuODY0LDcuMzA4LjEwOVMwLDE4LjI2MiwwLDE4LjI2MnMyLjgxNi0xLjIsMy4zMjMsMi4yNDIsMi4zNzYtLjM3LDMuOTg1LDIuMzY4UzE4LjgsMjUuMjgsMTguOCwyNS4yOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY1LjY4OSA0Ljc2OSkiIGZpbGw9IiNmYWZhZmEiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICAgICAgPHBhdGggaWQ9IlBhdGhfODgyNDIiIGRhdGEtbmFtZT0iUGF0aCA4ODI0MiIgZD0iTS4wNzUsMjUuMjgxQy0uODQ0LDE3LDYuODY1LDEuODY0LDExLjU2NC4xMDlzNy4zMDgsMTguMTUzLDcuMzA4LDE4LjE1My0yLjgxNi0xLjItMy4zMjMsMi4yNDItMi4zNzYtLjM2OS0zLjk4NSwyLjM2OFMuMDc1LDI1LjI4MS4wNzUsMjUuMjgxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCA0Ny42MjIpIHJvdGF0ZSgtNTcpIiBmaWxsPSIjZmFmYWZhIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMi41Ii8+CiAgICAgICAgICAgIDxsaW5lIGlkPSJMaW5lXzE4NTU5IiBkYXRhLW5hbWU9IkxpbmUgMTg1NTkiIHkxPSIzLjY5NyIgeDI9IjUuNDE3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4Mi45OTkgOTUuOTc2KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMi41Ii8+CiAgICAgICAgICAgIDxnIGlkPSJFbGxpcHNlXzEzMzIiIGRhdGEtbmFtZT0iRWxsaXBzZSAxMzMyIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjU4OCwgLTAuODA5LCAwLjgwOSwgMC41ODgsIDcwLjk2NCwgNTYuMjU3KSIgZmlsbD0iI2YwZjBmMCIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxlbGxpcHNlIGN4PSI2Ljg3OCIgY3k9IjQuOTkxIiByeD0iNi44NzgiIHJ5PSI0Ljk5MSIgc3Ryb2tlPSJub25lIi8+CiAgICAgICAgICAgICAgPGVsbGlwc2UgY3g9IjYuODc4IiBjeT0iNC45OTEiIHJ4PSI1Ljg3OCIgcnk9IjMuOTkxIiBmaWxsPSJub25lIi8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9IkVsbGlwc2VfMTMzMyIgZGF0YS1uYW1lPSJFbGxpcHNlIDEzMzMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM4LjgxMyA3MC43NjQpIHJvdGF0ZSgtMTQpIiBmaWxsPSIjZjBmMGYwIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPGVsbGlwc2UgY3g9IjcuMDYzIiBjeT0iNS4wNDMiIHJ4PSI3LjA2MyIgcnk9IjUuMDQzIiBzdHJva2U9Im5vbmUiLz4KICAgICAgICAgICAgICA8ZWxsaXBzZSBjeD0iNy4wNjMiIGN5PSI1LjA0MyIgcng9IjYuMDYzIiByeT0iNC4wNDMiIGZpbGw9Im5vbmUiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI0NyIgZGF0YS1uYW1lPSJQYXRoIDg4MjQ3IiBkPSJNMS4wMjksMTQuOTM4Yy0uNDczLDEuNjM5LTIuNzA3LDguMzkxLDEuNDEsMTQuMDc2czE0LjI5Miw4LjkwNywzNy4zNDgsMTguNCwyMC43MzEsMTkuNjc0LDIyLjIsMjAuNTA3LDEyLjEtNS4zMjUsMjEuMjcxLTI4LjQ4M1M5Ny43MTUsNS41NDcsOTQuMi43NDksODcuMDI5LDE1LjQ0NCw3My42MzMsMjMuOGMtNi45NjYsNC4zNDYtMjAuNDc0LDEwLjc5MS0zMy44NDUsOS42LTExLjg1OC0xLjA1Ni0yNC42LTMuNzI3LTM4Ljc1OC0xOC40NjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLjAwMSA4OS4yNDYpIHJvdGF0ZSgtNykiIGZpbGw9IiNmMGYwZjAiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgICA8cGF0aCBpZD0iVW5pb25fMjY1IiBkYXRhLW5hbWU9IlVuaW9uIDI2NSIgZD0iTS4zMzUsMy4yMzZDLS43NTcuNTc4LDEuMDU0LjEyMywyLjQzMS4wMThBNTQuNiw1NC42LDAsMCwxLDcuOTg0LjMxLDU0Ljc0Nyw1NC43NDcsMCwwLDEsMTMuNTM3LjAxN2MxLjM3Ny4xMDYsMy4xODguNTYsMi4xLDMuMjE5QTcuODc2LDcuODc2LDAsMCwxLDguMTkyLDguMjc3bC0uMDcsMGgtLjE0QTcuODkzLDcuODkzLDAsMCwxLC4zMzUsMy4yMzZaIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjgzOSwgLTAuNTQ1LCAwLjU0NSwgMC44MzksIDYyLjk1MSwgNzguNTA5KSIgZmlsbD0iIzQxNDE0MSIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2Utd2lkdGg9IjIuNCIvPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI0NSIgZGF0YS1uYW1lPSJQYXRoIDg4MjQ1IiBkPSJNOS4zNjMsMFMxNi4zMjIsMTIuODg0LDAsMTQuMTc2IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk5OSwgLTAuMDM1LCAwLjAzNSwgMC45OTksIDY0LjY5LCA4MS44MSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI0NiIgZGF0YS1uYW1lPSJQYXRoIDg4MjQ2IiBkPSJNMS40NzQsMHMtNi45NTksMTIuODg0LDkuMzYzLDE0LjE3NSIgdHJhbnNmb3JtPSJtYXRyaXgoMC4zMjYsIC0wLjk0NiwgMC45NDYsIDAuMzI2LCA3My45MzIsIDgyLjg2NykiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICAgICAgICA8cGF0aCBpZD0iUGF0aF84ODI4NiIgZGF0YS1uYW1lPSJQYXRoIDg4Mjg2IiBkPSJNMzEuODgyLDM5LjUxN2wyOS4xLTEzLjQyMlM2NC4wNzkuNjIzLDcwLjc4Ny4wMjUsODcuNzU3LDkuNTQsODguNTQ0LDMxLjY4M2MwLDAsMTAuMzY2LDMuOTE0LDE4LjcsMTUuOTg4czUuNDUxLDMyLjY3OS0zLjg2LDQ3LjMzOVM3Ni4yLDExNS42MjksNzYuMiwxMTUuNjI5cy0yMi4xMjMsNy4wNzUtNDAuNzg4LTMuMTkzLTIzLjI4Mi0yNC42NjEtMTguMS00Mi40N2MwLDAtMjIuMzkxLTMwLjY1MS0xNi4yNTQtMzYuOTg4UzI4LjgxNywzOC43NywzMS44ODIsMzkuNTE3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4zMTUgMCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgaWQ9IkVsbGlwc2VfMTMzNiIgZGF0YS1uYW1lPSJFbGxpcHNlIDEzMzYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLXdpZHRoPSIyLjUiPgogICAgICAgICAgPGVsbGlwc2UgY3g9IjgzLjQyNSIgY3k9IjgzLjQyNSIgcng9IjgzLjQyNSIgcnk9IjgzLjQyNSIgc3Ryb2tlPSJub25lIi8+CiAgICAgICAgICA8ZWxsaXBzZSBjeD0iODMuNDI1IiBjeT0iODMuNDI1IiByeD0iODIuMTc1IiByeT0iODIuMTc1IiBmaWxsPSJub25lIi8+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzg4Mjc2IiBkYXRhLW5hbWU9IlBhdGggODgyNzYiIGQ9Ik0wLDEuMzI0UzI3LjA2Mi00LjExLDQ3LjU2OSw3LjAzOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjEuNTAyIDQ3Ljk0OCkgcm90YXRlKC00NikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgICA8L2c+CiAgICAgIDxlbGxpcHNlIGlkPSJFbGxpcHNlXzEzMzgiIGRhdGEtbmFtZT0iRWxsaXBzZSAxMzM4IiBjeD0iMi44NjciIGN5PSIyLjg2NyIgcng9IjIuODY3IiByeT0iMi44NjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNS45ODYgMTA1Ljg0OSkiIGZpbGw9IiM0MTQxNDEiLz4KICAgICAgPGVsbGlwc2UgaWQ9IkVsbGlwc2VfMTMzOSIgZGF0YS1uYW1lPSJFbGxpcHNlIDEzMzkiIGN4PSIyLjg2NyIgY3k9IjIuODY3IiByeD0iMi44NjciIHJ5PSIyLjg2NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTMuMDk1IDEyNy4yMDUpIiBmaWxsPSIjNDE0MTQxIi8+CiAgICA8L2c+CiAgPC9nPgogIDx0ZXh0Lz4KPC9zdmc+Cg==";
2
2
  export {
3
- M as default
3
+ DogeSpace as default
4
4
  };
5
- //# sourceMappingURL=404.svg.js.map
@@ -1,16 +1,16 @@
1
- import { jsx as r } from "@emotion/react/jsx-runtime";
2
- import { useTranslation as t } from "react-i18next";
3
- import e from "./404.svg.js";
4
- import n from "../ErrorPage/ErrorPage.js";
5
- const i = () => {
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { useTranslation } from "react-i18next";
3
+ import DogeSpace from "./404.svg.js";
4
+ import ErrorPage from "../ErrorPage/ErrorPage.js";
5
+ const NotFound = () => {
6
6
  const {
7
- t: o
8
- } = t(void 0, {
7
+ t
8
+ } = useTranslation(void 0, {
9
9
  keyPrefix: "errors.notFound"
10
10
  });
11
- return /* @__PURE__ */ r(n, { code: o("code"), title: o("title"), backgroundLabel: o("image_description"), background: `url(${e})` });
12
- }, s = i;
11
+ return /* @__PURE__ */ jsx(ErrorPage, { code: t("code"), title: t("title"), backgroundLabel: t("image_description"), background: `url(${DogeSpace})` });
12
+ };
13
+ const NotFound$1 = NotFound;
13
14
  export {
14
- s as default
15
+ NotFound$1 as default
15
16
  };
16
- //# sourceMappingURL=NotFound.js.map
@@ -1,5 +1,4 @@
1
- import { default as o } from "./NotFound.js";
1
+ import { default as default2 } from "./NotFound.js";
2
2
  export {
3
- o as default
3
+ default2 as default
4
4
  };
5
- //# sourceMappingURL=index.js.map
@@ -1,25 +1,25 @@
1
- import { jsx as r, jsxs as o, Fragment as e } from "@emotion/react/jsx-runtime";
2
- import { Suspense as m } from "react";
3
- import { Outlet as t } from "react-router-dom";
4
- import { ErrorBoundary as n } from "react-error-boundary";
5
- import a from "../../lib/utils/CombinedProviders.js";
6
- import f from "../../providers/BannerProvider.js";
7
- import l from "../../providers/NavigationProvider.js";
8
- import d from "../LoadingPage/LoadingPage.js";
9
- import p from "../GenericError/GenericError.js";
10
- import c from "../../components/CustomHooksInitializer/CustomHooksInitializer.js";
11
- import s from "../../components/layout/Header/Header.js";
12
- import u from "../../components/layout/Main/Main.js";
13
- const h = ({
14
- providers: i
15
- }) => /* @__PURE__ */ r(n, { fallback: /* @__PURE__ */ r(p, { fullPage: !0 }), children: /* @__PURE__ */ r(a, { providers: i, children: /* @__PURE__ */ r(l, { children: /* @__PURE__ */ o(f, { children: [
16
- /* @__PURE__ */ r(c, {}),
17
- /* @__PURE__ */ o(e, { children: [
18
- /* @__PURE__ */ r(s, {}),
19
- /* @__PURE__ */ r(u, { children: /* @__PURE__ */ r(m, { fallback: /* @__PURE__ */ r(d, {}), children: /* @__PURE__ */ r(t, {}) }) })
1
+ import { jsx, jsxs, Fragment } from "@emotion/react/jsx-runtime";
2
+ import { Suspense } from "react";
3
+ import { Outlet } from "react-router-dom";
4
+ import { ErrorBoundary } from "react-error-boundary";
5
+ import CombinedProviders from "../../lib/utils/CombinedProviders.js";
6
+ import BannerProvider from "../../providers/BannerProvider.js";
7
+ import NavigationProvider from "../../providers/NavigationProvider.js";
8
+ import LoadingPage from "../LoadingPage/LoadingPage.js";
9
+ import GenericError from "../GenericError/GenericError.js";
10
+ import CustomHooksInitializer from "../../components/CustomHooksInitializer/CustomHooksInitializer.js";
11
+ import Header from "../../components/layout/Header/Header.js";
12
+ import Main from "../../components/layout/Main/Main.js";
13
+ const Root = ({
14
+ providers
15
+ }) => /* @__PURE__ */ jsx(ErrorBoundary, { fallback: /* @__PURE__ */ jsx(GenericError, { fullPage: true }), children: /* @__PURE__ */ jsx(CombinedProviders, { providers, children: /* @__PURE__ */ jsx(NavigationProvider, { children: /* @__PURE__ */ jsxs(BannerProvider, { children: [
16
+ /* @__PURE__ */ jsx(CustomHooksInitializer, {}),
17
+ /* @__PURE__ */ jsxs(Fragment, { children: [
18
+ /* @__PURE__ */ jsx(Header, {}),
19
+ /* @__PURE__ */ jsx(Main, { children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingPage, {}), children: /* @__PURE__ */ jsx(Outlet, {}) }) })
20
20
  ] })
21
- ] }) }) }) }), y = h;
21
+ ] }) }) }) });
22
+ const RootRoute = Root;
22
23
  export {
23
- y as default
24
+ RootRoute as default
24
25
  };
25
- //# sourceMappingURL=Root.js.map
@@ -1,73 +1,83 @@
1
- import { jsxs as h, jsx as n } from "@emotion/react/jsx-runtime";
2
- import { createContext as s, useState as o, useMemo as u, useEffect as B } from "react";
3
- import { css as p } from "@emotion/css";
4
- import { v4 as V } from "uuid";
5
- import { theme as g, HvBanner as Y } from "@hitachivantara/uikit-react-core";
6
- import { useTranslation as H } from "react-i18next";
7
- import F from "./hooks/useNavigationContext.js";
8
- import J from "./hooks/useLayoutContext.js";
9
- const N = s({
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import { createContext, useState, useMemo, useEffect } from "react";
3
+ import { css } from "@emotion/css";
4
+ import { v4 } from "uuid";
5
+ import { theme, HvBanner } from "@hitachivantara/uikit-react-core";
6
+ import { useTranslation } from "react-i18next";
7
+ import useNavigationContext from "./hooks/useNavigationContext.js";
8
+ import useLayoutContext from "./hooks/useLayoutContext.js";
9
+ const BannerContext = createContext({
10
10
  show: () => {
11
11
  },
12
12
  dismiss: () => {
13
13
  }
14
- }), x = ({
15
- children: t
14
+ });
15
+ const BannerProvider = ({
16
+ children
16
17
  }) => {
17
18
  const {
18
- t: i
19
- } = H(void 0, {
19
+ t
20
+ } = useTranslation(void 0, {
20
21
  keyPrefix: "notifications.banner"
21
- }), {
22
- showHeaderSubMenu: d,
23
- isCompactMode: A
24
- } = F(), {
25
- verticalNavigationWidth: G,
26
- setBannerMaxHeight: m
27
- } = J(), [b, X] = o([]), a = (I) => {
28
- const c = {
29
- id: V(),
30
- ...I,
31
- variant: I.variant ?? "default"
22
+ });
23
+ const {
24
+ showHeaderSubMenu,
25
+ isCompactMode
26
+ } = useNavigationContext();
27
+ const {
28
+ verticalNavigationWidth,
29
+ setBannerMaxHeight
30
+ } = useLayoutContext();
31
+ const [banners, setBanners] = useState([]);
32
+ const show = (notification) => {
33
+ const id = v4();
34
+ const newBanner = {
35
+ id,
36
+ ...notification,
37
+ variant: notification.variant ?? "default"
32
38
  };
33
- X((l) => [...l, c]);
34
- }, Z = (I) => {
35
- X((C) => C.filter((c) => c.id !== I));
36
- }, W = u(() => ({
37
- show: a,
38
- dismiss: Z
39
+ setBanners((prevBanners) => [...prevBanners, newBanner]);
40
+ };
41
+ const dismiss = (id) => {
42
+ setBanners((prevBanners) => prevBanners.filter((banner) => banner.id !== id));
43
+ };
44
+ const value = useMemo(() => ({
45
+ show,
46
+ dismiss
39
47
  }), []);
40
- B(() => {
41
- if (b.length > 0) {
42
- const I = b.map((c) => {
43
- const l = document.getElementById(c.id);
44
- return l ? l.clientHeight : 0;
45
- }), C = Math.max(...I);
46
- m(C);
47
- } else
48
- m(0);
49
- }, [b, m]);
50
- const e = u(() => /* @__PURE__ */ p({
51
- marginTop: d && !A ? `calc(${g.header.height} + ${g.header.secondLevelHeight} + ${g.space.sm})` : `calc(${g.header.height} + ${g.space.sm})`,
52
- left: `calc(${G}px + ${g.space.sm})`,
53
- width: `calc(100% - (${G}px + ${g.space.sm}) - ${g.space.sm})`,
48
+ useEffect(() => {
49
+ if (banners.length > 0) {
50
+ const bannerHeights = banners.map((item) => {
51
+ const bannerElement = document.getElementById(item.id);
52
+ return bannerElement ? bannerElement.clientHeight : 0;
53
+ });
54
+ const maxBannerHeight = Math.max(...bannerHeights);
55
+ setBannerMaxHeight(maxBannerHeight);
56
+ } else {
57
+ setBannerMaxHeight(0);
58
+ }
59
+ }, [banners, setBannerMaxHeight]);
60
+ const styles = useMemo(() => /* @__PURE__ */ css({
61
+ marginTop: showHeaderSubMenu && !isCompactMode ? `calc(${theme.header.height} + ${theme.header.secondLevelHeight} + ${theme.space.sm})` : `calc(${theme.header.height} + ${theme.space.sm})`,
62
+ left: `calc(${verticalNavigationWidth}px + ${theme.space.sm})`,
63
+ width: `calc(100% - (${verticalNavigationWidth}px + ${theme.space.sm}) - ${theme.space.sm})`,
54
64
  transform: "unset",
55
65
  minWidth: "unset",
56
- zIndex: g.zIndices.banner
57
- }, process.env.NODE_ENV === "production" ? "" : ";label:styles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9wcm92aWRlcnMvQmFubmVyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1GTSIsImZpbGUiOiIvX193L2h2LWFwcC1zaGVsbC9odi1hcHAtc2hlbGwvY2xpZW50L3BhY2thZ2VzL2FwcC1zaGVsbC11aS9zcmMvcHJvdmlkZXJzL0Jhbm5lclByb3ZpZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tIFwidXVpZFwiO1xuXG5pbXBvcnQgeyBIdkJhbm5lciwgdGhlbWUgfSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXJlYWN0LWNvcmVcIjtcbmltcG9ydCB7IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbiB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvYXBwLXNoZWxsLWV2ZW50c1wiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHVzZU5hdmlnYXRpb25Db250ZXh0IGZyb20gXCIuL2hvb2tzL3VzZU5hdmlnYXRpb25Db250ZXh0XCI7XG5pbXBvcnQgdXNlTGF5b3V0Q29udGV4dCBmcm9tIFwiLi9ob29rcy91c2VMYXlvdXRDb250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIEJhbm5lclByb3ZpZGVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lciBleHRlbmRzIE9taXQ8SHZBcHBTaGVsbEV2ZW50Tm90aWZpY2F0aW9uLCBcInR5cGVcIj4ge1xuICBpZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lckNvbnRleHRWYWx1ZSB7XG4gIHNob3c6IChub3RpZmljYXRpb246IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbikgPT4gdm9pZDtcbiAgZGlzbWlzczogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBCYW5uZXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxCYW5uZXJDb250ZXh0VmFsdWU+KHtcbiAgc2hvdzogKCkgPT4ge1xuICAgIC8vIEVtcHR5IGZ1bmN0aW9uXG4gIH0sXG4gIGRpc21pc3M6ICgpID0+IHtcbiAgICAvLyBFbXB0eSBmdW5jdGlvblxuICB9XG59KTtcblxuY29uc3QgQmFubmVyUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBCYW5uZXJQcm92aWRlclByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24odW5kZWZpbmVkLCB7XG4gICAga2V5UHJlZml4OiBcIm5vdGlmaWNhdGlvbnMuYmFubmVyXCJcbiAgfSk7XG4gIGNvbnN0IHsgc2hvd0hlYWRlclN1Yk1lbnUsIGlzQ29tcGFjdE1vZGUgfSA9IHVzZU5hdmlnYXRpb25Db250ZXh0KCk7XG4gIGNvbnN0IHsgdmVydGljYWxOYXZpZ2F0aW9uV2lkdGgsIHNldEJhbm5lck1heEhlaWdodCB9ID0gdXNlTGF5b3V0Q29udGV4dCgpO1xuICBjb25zdCBbYmFubmVycywgc2V0QmFubmVyc10gPSB1c2VTdGF0ZTxCYW5uZXJbXT4oW10pO1xuXG4gIGNvbnN0IHNob3cgPSAobm90aWZpY2F0aW9uOiBIdkFwcFNoZWxsRXZlbnROb3RpZmljYXRpb24pID0+IHtcbiAgICBjb25zdCBpZCA9IHV1aWQoKTtcblxuICAgIGNvbnN0IG5ld0Jhbm5lcjogQmFubmVyID0ge1xuICAgICAgaWQsXG4gICAgICAuLi5ub3RpZmljYXRpb24sXG4gICAgICB2YXJpYW50OiBub3RpZmljYXRpb24udmFyaWFudCA/PyBcImRlZmF1bHRcIlxuICAgIH07XG4gICAgc2V0QmFubmVycyhwcmV2QmFubmVycyA9PiBbLi4ucHJldkJhbm5lcnMsIG5ld0Jhbm5lcl0pO1xuICB9O1xuXG4gIGNvbnN0IGRpc21pc3MgPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIHNldEJhbm5lcnMocHJldkJhbm5lcnMgPT4gcHJldkJhbm5lcnMuZmlsdGVyKGJhbm5lciA9PiBiYW5uZXIuaWQgIT09IGlkKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBzaG93LFxuICAgICAgZGlzbWlzc1xuICAgIH0pLFxuICAgIFtdXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYmFubmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBHZXQgYWxsIGhlaWdodHMgZnJvbSB0aGUgcmVuZGVyZWQgYmFubmVyc1xuICAgICAgY29uc3QgYmFubmVySGVpZ2h0cyA9IGJhbm5lcnMubWFwKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBiYW5uZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbS5pZCk7XG4gICAgICAgIHJldHVybiBiYW5uZXJFbGVtZW50ID8gYmFubmVyRWxlbWVudC5jbGllbnRIZWlnaHQgOiAwO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEZpbmQgdGhlICd0YWxsZXN0JyBiYW5uZXJcbiAgICAgIGNvbnN0IG1heEJhbm5lckhlaWdodCA9IE1hdGgubWF4KC4uLmJhbm5lckhlaWdodHMpO1xuXG4gICAgICAvLyBVcGRhdGUgcGFkZGluZyB2YWx1ZVxuICAgICAgc2V0QmFubmVyTWF4SGVpZ2h0KG1heEJhbm5lckhlaWdodCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEJhbm5lck1heEhlaWdodCgwKTtcbiAgICB9XG4gIH0sIFtiYW5uZXJzLCBzZXRCYW5uZXJNYXhIZWlnaHRdKTtcblxuICBjb25zdCBzdHlsZXMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBjc3Moe1xuICAgICAgICBtYXJnaW5Ub3A6XG4gICAgICAgICAgc2hvd0hlYWRlclN1Yk1lbnUgJiYgIWlzQ29tcGFjdE1vZGVcbiAgICAgICAgICAgID8gYGNhbGMoJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSArICR7dGhlbWUuaGVhZGVyLnNlY29uZExldmVsSGVpZ2h0fSArICR7dGhlbWUuc3BhY2Uuc219KWBcbiAgICAgICAgICAgIDogYGNhbGMoJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSArICR7dGhlbWUuc3BhY2Uuc219KWAsXG4gICAgICAgIGxlZnQ6IGBjYWxjKCR7dmVydGljYWxOYXZpZ2F0aW9uV2lkdGh9cHggKyAke3RoZW1lLnNwYWNlLnNtfSlgLFxuICAgICAgICB3aWR0aDogYGNhbGMoMTAwJSAtICgke3ZlcnRpY2FsTmF2aWdhdGlvbldpZHRofXB4ICsgJHt0aGVtZS5zcGFjZS5zbX0pIC0gJHt0aGVtZS5zcGFjZS5zbX0pYCxcbiAgICAgICAgdHJhbnNmb3JtOiBcInVuc2V0XCIsXG4gICAgICAgIG1pbldpZHRoOiBcInVuc2V0XCIsXG4gICAgICAgIHpJbmRleDogdGhlbWUuekluZGljZXMuYmFubmVyXG4gICAgICB9KSxcbiAgICBbaXNDb21wYWN0TW9kZSwgc2hvd0hlYWRlclN1Yk1lbnUsIHZlcnRpY2FsTmF2aWdhdGlvbldpZHRoXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPEJhbm5lckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtiYW5uZXJzLm1hcChiYW5uZXIgPT4gKFxuICAgICAgICA8SHZCYW5uZXJcbiAgICAgICAgICBjbGFzc2VzPXt7XG4gICAgICAgICAgICBhbmNob3JPcmlnaW5Ub3BDZW50ZXI6IHN0eWxlc1xuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9e2Jhbm5lci5pZH1cbiAgICAgICAgICBrZXk9e2Jhbm5lci5pZH1cbiAgICAgICAgICBvZmZzZXQ9ezB9XG4gICAgICAgICAgb3BlblxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IGRpc21pc3MoYmFubmVyLmlkKX1cbiAgICAgICAgICB2YXJpYW50PXtiYW5uZXIudmFyaWFudH1cbiAgICAgICAgICBsYWJlbD17YmFubmVyLm1lc3NhZ2V9XG4gICAgICAgICAgc2hvd0ljb25cbiAgICAgICAgICBhY3Rpb25zPXtiYW5uZXIuYWN0aW9uc31cbiAgICAgICAgICBhY3Rpb25zQ2FsbGJhY2s9e2Jhbm5lci5hY3Rpb25zQ2FsbGJhY2t9XG4gICAgICAgICAgYmFubmVyQ29udGVudFByb3BzPXt7XG4gICAgICAgICAgICBhY3Rpb25Qcm9wczogeyBcImFyaWEtbGFiZWxcIjogdChcImNsb3NlXCIpIH1cbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKSl9XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYW5uZXJDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQmFubmVyUHJvdmlkZXI7XG4iXX0= */"), [A, d, G]);
58
- return /* @__PURE__ */ h(N.Provider, { value: W, children: [
59
- b.map((I) => /* @__PURE__ */ n(Y, { classes: {
60
- anchorOriginTopCenter: e
61
- }, id: I.id, offset: 0, open: !0, onClose: () => Z(I.id), variant: I.variant, label: I.message, showIcon: !0, actions: I.actions, actionsCallback: I.actionsCallback, bannerContentProps: {
66
+ zIndex: theme.zIndices.banner
67
+ }, process.env.NODE_ENV === "production" ? "" : ";label:styles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9fX3cvaHYtYXBwLXNoZWxsL2h2LWFwcC1zaGVsbC9jbGllbnQvcGFja2FnZXMvYXBwLXNoZWxsLXVpL3NyYy9wcm92aWRlcnMvQmFubmVyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1GTSIsImZpbGUiOiIvX193L2h2LWFwcC1zaGVsbC9odi1hcHAtc2hlbGwvY2xpZW50L3BhY2thZ2VzL2FwcC1zaGVsbC11aS9zcmMvcHJvdmlkZXJzL0Jhbm5lclByb3ZpZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tIFwidXVpZFwiO1xuXG5pbXBvcnQgeyBIdkJhbm5lciwgdGhlbWUgfSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXJlYWN0LWNvcmVcIjtcbmltcG9ydCB7IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbiB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvYXBwLXNoZWxsLWV2ZW50c1wiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHVzZU5hdmlnYXRpb25Db250ZXh0IGZyb20gXCIuL2hvb2tzL3VzZU5hdmlnYXRpb25Db250ZXh0XCI7XG5pbXBvcnQgdXNlTGF5b3V0Q29udGV4dCBmcm9tIFwiLi9ob29rcy91c2VMYXlvdXRDb250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIEJhbm5lclByb3ZpZGVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lciBleHRlbmRzIE9taXQ8SHZBcHBTaGVsbEV2ZW50Tm90aWZpY2F0aW9uLCBcInR5cGVcIj4ge1xuICBpZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lckNvbnRleHRWYWx1ZSB7XG4gIHNob3c6IChub3RpZmljYXRpb246IEh2QXBwU2hlbGxFdmVudE5vdGlmaWNhdGlvbikgPT4gdm9pZDtcbiAgZGlzbWlzczogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBCYW5uZXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxCYW5uZXJDb250ZXh0VmFsdWU+KHtcbiAgc2hvdzogKCkgPT4ge1xuICAgIC8vIEVtcHR5IGZ1bmN0aW9uXG4gIH0sXG4gIGRpc21pc3M6ICgpID0+IHtcbiAgICAvLyBFbXB0eSBmdW5jdGlvblxuICB9XG59KTtcblxuY29uc3QgQmFubmVyUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBCYW5uZXJQcm92aWRlclByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24odW5kZWZpbmVkLCB7XG4gICAga2V5UHJlZml4OiBcIm5vdGlmaWNhdGlvbnMuYmFubmVyXCJcbiAgfSk7XG4gIGNvbnN0IHsgc2hvd0hlYWRlclN1Yk1lbnUsIGlzQ29tcGFjdE1vZGUgfSA9IHVzZU5hdmlnYXRpb25Db250ZXh0KCk7XG4gIGNvbnN0IHsgdmVydGljYWxOYXZpZ2F0aW9uV2lkdGgsIHNldEJhbm5lck1heEhlaWdodCB9ID0gdXNlTGF5b3V0Q29udGV4dCgpO1xuICBjb25zdCBbYmFubmVycywgc2V0QmFubmVyc10gPSB1c2VTdGF0ZTxCYW5uZXJbXT4oW10pO1xuXG4gIGNvbnN0IHNob3cgPSAobm90aWZpY2F0aW9uOiBIdkFwcFNoZWxsRXZlbnROb3RpZmljYXRpb24pID0+IHtcbiAgICBjb25zdCBpZCA9IHV1aWQoKTtcblxuICAgIGNvbnN0IG5ld0Jhbm5lcjogQmFubmVyID0ge1xuICAgICAgaWQsXG4gICAgICAuLi5ub3RpZmljYXRpb24sXG4gICAgICB2YXJpYW50OiBub3RpZmljYXRpb24udmFyaWFudCA/PyBcImRlZmF1bHRcIlxuICAgIH07XG4gICAgc2V0QmFubmVycyhwcmV2QmFubmVycyA9PiBbLi4ucHJldkJhbm5lcnMsIG5ld0Jhbm5lcl0pO1xuICB9O1xuXG4gIGNvbnN0IGRpc21pc3MgPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIHNldEJhbm5lcnMocHJldkJhbm5lcnMgPT4gcHJldkJhbm5lcnMuZmlsdGVyKGJhbm5lciA9PiBiYW5uZXIuaWQgIT09IGlkKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBzaG93LFxuICAgICAgZGlzbWlzc1xuICAgIH0pLFxuICAgIFtdXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYmFubmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBHZXQgYWxsIGhlaWdodHMgZnJvbSB0aGUgcmVuZGVyZWQgYmFubmVyc1xuICAgICAgY29uc3QgYmFubmVySGVpZ2h0cyA9IGJhbm5lcnMubWFwKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBiYW5uZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbS5pZCk7XG4gICAgICAgIHJldHVybiBiYW5uZXJFbGVtZW50ID8gYmFubmVyRWxlbWVudC5jbGllbnRIZWlnaHQgOiAwO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEZpbmQgdGhlICd0YWxsZXN0JyBiYW5uZXJcbiAgICAgIGNvbnN0IG1heEJhbm5lckhlaWdodCA9IE1hdGgubWF4KC4uLmJhbm5lckhlaWdodHMpO1xuXG4gICAgICAvLyBVcGRhdGUgcGFkZGluZyB2YWx1ZVxuICAgICAgc2V0QmFubmVyTWF4SGVpZ2h0KG1heEJhbm5lckhlaWdodCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEJhbm5lck1heEhlaWdodCgwKTtcbiAgICB9XG4gIH0sIFtiYW5uZXJzLCBzZXRCYW5uZXJNYXhIZWlnaHRdKTtcblxuICBjb25zdCBzdHlsZXMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBjc3Moe1xuICAgICAgICBtYXJnaW5Ub3A6XG4gICAgICAgICAgc2hvd0hlYWRlclN1Yk1lbnUgJiYgIWlzQ29tcGFjdE1vZGVcbiAgICAgICAgICAgID8gYGNhbGMoJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSArICR7dGhlbWUuaGVhZGVyLnNlY29uZExldmVsSGVpZ2h0fSArICR7dGhlbWUuc3BhY2Uuc219KWBcbiAgICAgICAgICAgIDogYGNhbGMoJHt0aGVtZS5oZWFkZXIuaGVpZ2h0fSArICR7dGhlbWUuc3BhY2Uuc219KWAsXG4gICAgICAgIGxlZnQ6IGBjYWxjKCR7dmVydGljYWxOYXZpZ2F0aW9uV2lkdGh9cHggKyAke3RoZW1lLnNwYWNlLnNtfSlgLFxuICAgICAgICB3aWR0aDogYGNhbGMoMTAwJSAtICgke3ZlcnRpY2FsTmF2aWdhdGlvbldpZHRofXB4ICsgJHt0aGVtZS5zcGFjZS5zbX0pIC0gJHt0aGVtZS5zcGFjZS5zbX0pYCxcbiAgICAgICAgdHJhbnNmb3JtOiBcInVuc2V0XCIsXG4gICAgICAgIG1pbldpZHRoOiBcInVuc2V0XCIsXG4gICAgICAgIHpJbmRleDogdGhlbWUuekluZGljZXMuYmFubmVyXG4gICAgICB9KSxcbiAgICBbaXNDb21wYWN0TW9kZSwgc2hvd0hlYWRlclN1Yk1lbnUsIHZlcnRpY2FsTmF2aWdhdGlvbldpZHRoXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPEJhbm5lckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtiYW5uZXJzLm1hcChiYW5uZXIgPT4gKFxuICAgICAgICA8SHZCYW5uZXJcbiAgICAgICAgICBjbGFzc2VzPXt7XG4gICAgICAgICAgICBhbmNob3JPcmlnaW5Ub3BDZW50ZXI6IHN0eWxlc1xuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9e2Jhbm5lci5pZH1cbiAgICAgICAgICBrZXk9e2Jhbm5lci5pZH1cbiAgICAgICAgICBvZmZzZXQ9ezB9XG4gICAgICAgICAgb3BlblxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IGRpc21pc3MoYmFubmVyLmlkKX1cbiAgICAgICAgICB2YXJpYW50PXtiYW5uZXIudmFyaWFudH1cbiAgICAgICAgICBsYWJlbD17YmFubmVyLm1lc3NhZ2V9XG4gICAgICAgICAgc2hvd0ljb25cbiAgICAgICAgICBhY3Rpb25zPXtiYW5uZXIuYWN0aW9uc31cbiAgICAgICAgICBhY3Rpb25zQ2FsbGJhY2s9e2Jhbm5lci5hY3Rpb25zQ2FsbGJhY2t9XG4gICAgICAgICAgYmFubmVyQ29udGVudFByb3BzPXt7XG4gICAgICAgICAgICBhY3Rpb25Qcm9wczogeyBcImFyaWEtbGFiZWxcIjogdChcImNsb3NlXCIpIH1cbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKSl9XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYW5uZXJDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQmFubmVyUHJvdmlkZXI7XG4iXX0= */"), [isCompactMode, showHeaderSubMenu, verticalNavigationWidth]);
68
+ return /* @__PURE__ */ jsxs(BannerContext.Provider, { value, children: [
69
+ banners.map((banner) => /* @__PURE__ */ jsx(HvBanner, { classes: {
70
+ anchorOriginTopCenter: styles
71
+ }, id: banner.id, offset: 0, open: true, onClose: () => dismiss(banner.id), variant: banner.variant, label: banner.message, showIcon: true, actions: banner.actions, actionsCallback: banner.actionsCallback, bannerContentProps: {
62
72
  actionProps: {
63
- "aria-label": i("close")
73
+ "aria-label": t("close")
64
74
  }
65
- } }, I.id)),
66
- t
75
+ } }, banner.id)),
76
+ children
67
77
  ] });
68
- }, j = x;
78
+ };
79
+ const BannerProvider$1 = BannerProvider;
69
80
  export {
70
- N as BannerContext,
71
- j as default
81
+ BannerContext,
82
+ BannerProvider$1 as default
72
83
  };
73
- //# sourceMappingURL=BannerProvider.js.map
@@ -1,25 +1,28 @@
1
- import { jsx as s } from "@emotion/react/jsx-runtime";
2
- import { createContext as c, useState as a, useMemo as v } from "react";
3
- const d = c({
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { createContext, useState, useMemo } from "react";
3
+ const LayoutContext = createContext({
4
4
  bannerMaxHeight: 0,
5
5
  setBannerMaxHeight: () => {
6
6
  },
7
7
  verticalNavigationWidth: 0,
8
8
  setVerticalNavigationWidth: () => {
9
9
  }
10
- }), g = ({
11
- children: i
10
+ });
11
+ const LayoutProvider = ({
12
+ children
12
13
  }) => {
13
- const [t, o] = a(0), [e, r] = a(0), n = v(() => ({
14
- bannerMaxHeight: t,
15
- setBannerMaxHeight: o,
16
- verticalNavigationWidth: e,
17
- setVerticalNavigationWidth: r
18
- }), [t, e]);
19
- return /* @__PURE__ */ s(d.Provider, { value: n, children: i });
20
- }, x = g;
14
+ const [bannerMaxHeight, setBannerMaxHeight] = useState(0);
15
+ const [verticalNavigationWidth, setVerticalNavigationWidth] = useState(0);
16
+ const value = useMemo(() => ({
17
+ bannerMaxHeight,
18
+ setBannerMaxHeight,
19
+ verticalNavigationWidth,
20
+ setVerticalNavigationWidth
21
+ }), [bannerMaxHeight, verticalNavigationWidth]);
22
+ return /* @__PURE__ */ jsx(LayoutContext.Provider, { value, children });
23
+ };
24
+ const LayoutProvider$1 = LayoutProvider;
21
25
  export {
22
- d as LayoutContext,
23
- x as default
26
+ LayoutContext,
27
+ LayoutProvider$1 as default
24
28
  };
25
- //# sourceMappingURL=LayoutProvider.js.map
@@ -1,66 +1,98 @@
1
- import { jsx as x } from "@emotion/react/jsx-runtime";
2
- import { createContext as L, useState as d, useMemo as s, useEffect as u, useCallback as A } from "react";
3
- import { useTheme as O, useMediaQuery as w } from "@mui/material";
4
- import { useHvAppShellConfig as T } from "@hitachivantara/app-shell-shared";
5
- import { removeHrefFromMenuItemsWithChildren as I, findItemById as V } from "../lib/utils/navigationUtil.js";
6
- import b from "../lib/hooks/useNavigationMenuItems.js";
7
- import H from "../lib/hooks/useLocalStorage.js";
8
- const X = L({
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { createContext, useState, useMemo, useEffect, useCallback } from "react";
3
+ import { useTheme, useMediaQuery } from "@mui/material";
4
+ import { useHvAppShellConfig } from "@hitachivantara/app-shell-shared";
5
+ import { removeHrefFromMenuItemsWithChildren, findItemById } from "../lib/utils/navigationUtil.js";
6
+ import useNavigationMenuItems from "../lib/hooks/useNavigationMenuItems.js";
7
+ import useLocalStorage from "../lib/hooks/useLocalStorage.js";
8
+ const NavigationContext = createContext({
9
9
  selectedMenuItemId: void 0,
10
10
  rootMenuItemId: void 0,
11
11
  items: [],
12
12
  verticalNavigationItems: [],
13
- hasVerticalNavigation: !1,
14
- showHeaderSubMenu: !1,
15
- isCompactMode: !1,
13
+ hasVerticalNavigation: false,
14
+ showHeaderSubMenu: false,
15
+ isCompactMode: false,
16
16
  verticalNavigationMode: "EXPANDED",
17
17
  switchVerticalNavigationMode: () => {
18
18
  }
19
- }), _ = ({
20
- children: h
19
+ });
20
+ const NavigationProvider = ({
21
+ children
21
22
  }) => {
22
23
  const {
23
- navigationMode: a
24
- } = T(), {
25
- items: t,
26
- selectedMenuItemId: c,
27
- rootMenuItemId: i
28
- } = b(), S = O(), e = w(S.breakpoints.down("md")), {
29
- value: m,
30
- setStoredValue: l
31
- } = H("NAV_EXPANDED"), [n, C] = d(m == null ? !0 : m === "true"), [v, f] = d(e), [N, D] = d(!1), g = s(() => e ? v ? "CLOSED" : "EXPANDED" : n ? "EXPANDED" : "COLLAPSED", [v, e, n]), r = s(() => {
32
- var E;
33
- if (e)
34
- return t;
35
- if (a === "ONLY_LEFT")
36
- return I(t);
37
- const o = i && ((E = V(t, i)) == null ? void 0 : E.data) || [];
38
- return I(o);
39
- }, [t, a, i, e]), M = s(() => e ? !0 : a === "ONLY_TOP" ? !1 : r && r.length > 0, [a, r, e]);
40
- u(() => {
41
- l(String(n));
42
- }, [n, l]), u(() => {
43
- f(e);
44
- }, [e]), u(() => {
45
- D(a === "ONLY_TOP" && t.some((o) => o.data && o.data.length > 0));
46
- }, [a, t]);
47
- const p = A(() => {
48
- e ? f((o) => !o) : C((o) => !o);
49
- }, [e]), P = s(() => ({
50
- selectedMenuItemId: c,
51
- rootMenuItemId: i,
52
- items: t,
53
- verticalNavigationItems: r,
54
- hasVerticalNavigation: M,
55
- showHeaderSubMenu: N,
56
- isCompactMode: e,
57
- verticalNavigationMode: g,
58
- switchVerticalNavigationMode: p
59
- }), [c, i, t, r, M, N, e, g, p]);
60
- return /* @__PURE__ */ x(X.Provider, { value: P, children: h });
61
- }, R = _;
24
+ navigationMode
25
+ } = useHvAppShellConfig();
26
+ const {
27
+ items,
28
+ selectedMenuItemId,
29
+ rootMenuItemId
30
+ } = useNavigationMenuItems();
31
+ const muiTheme = useTheme();
32
+ const isCompactMode = useMediaQuery(muiTheme.breakpoints.down("md"));
33
+ const {
34
+ value: storedExpanded,
35
+ setStoredValue: setStoreExpanded
36
+ } = useLocalStorage("NAV_EXPANDED");
37
+ const [isExpanded, setIsExpanded] = useState(storedExpanded == null ? true : storedExpanded === "true");
38
+ const [isClosed, setIsClosed] = useState(isCompactMode);
39
+ const [showHeaderSubMenu, setShowHeaderSubMenu] = useState(false);
40
+ const verticalNavigationMode = useMemo(() => {
41
+ if (isCompactMode) {
42
+ return isClosed ? "CLOSED" : "EXPANDED";
43
+ }
44
+ return isExpanded ? "EXPANDED" : "COLLAPSED";
45
+ }, [isClosed, isCompactMode, isExpanded]);
46
+ const verticalNavigationItems = useMemo(() => {
47
+ if (isCompactMode) {
48
+ return items;
49
+ }
50
+ if (navigationMode === "ONLY_LEFT") {
51
+ return removeHrefFromMenuItemsWithChildren(items);
52
+ }
53
+ const itemsToReturn = rootMenuItemId && findItemById(items, rootMenuItemId)?.data || [];
54
+ return removeHrefFromMenuItemsWithChildren(itemsToReturn);
55
+ }, [items, navigationMode, rootMenuItemId, isCompactMode]);
56
+ const hasVerticalNavigation = useMemo(() => {
57
+ if (isCompactMode) {
58
+ return true;
59
+ }
60
+ if (navigationMode === "ONLY_TOP") {
61
+ return false;
62
+ }
63
+ return verticalNavigationItems && verticalNavigationItems.length > 0;
64
+ }, [navigationMode, verticalNavigationItems, isCompactMode]);
65
+ useEffect(() => {
66
+ setStoreExpanded(String(isExpanded));
67
+ }, [isExpanded, setStoreExpanded]);
68
+ useEffect(() => {
69
+ setIsClosed(isCompactMode);
70
+ }, [isCompactMode]);
71
+ useEffect(() => {
72
+ setShowHeaderSubMenu(navigationMode === "ONLY_TOP" && items.some((item) => item.data && item.data.length > 0));
73
+ }, [navigationMode, items]);
74
+ const switchVerticalNavigationMode = useCallback(() => {
75
+ if (isCompactMode) {
76
+ setIsClosed((prevState) => !prevState);
77
+ } else {
78
+ setIsExpanded((prevState) => !prevState);
79
+ }
80
+ }, [isCompactMode]);
81
+ const value = useMemo(() => ({
82
+ selectedMenuItemId,
83
+ rootMenuItemId,
84
+ items,
85
+ verticalNavigationItems,
86
+ hasVerticalNavigation,
87
+ showHeaderSubMenu,
88
+ isCompactMode,
89
+ verticalNavigationMode,
90
+ switchVerticalNavigationMode
91
+ }), [selectedMenuItemId, rootMenuItemId, items, verticalNavigationItems, hasVerticalNavigation, showHeaderSubMenu, isCompactMode, verticalNavigationMode, switchVerticalNavigationMode]);
92
+ return /* @__PURE__ */ jsx(NavigationContext.Provider, { value, children });
93
+ };
94
+ const NavigationProvider$1 = NavigationProvider;
62
95
  export {
63
- X as NavigationContext,
64
- R as default
96
+ NavigationContext,
97
+ NavigationProvider$1 as default
65
98
  };
66
- //# sourceMappingURL=NavigationProvider.js.map
@@ -1,10 +1,12 @@
1
- import { useContext as t } from "react";
2
- import { BannerContext as e } from "../BannerProvider.js";
3
- const s = () => {
4
- const o = t(e);
5
- return o === void 0 && console.error("BannerContext was used outside of its Provider"), o;
1
+ import { useContext } from "react";
2
+ import { BannerContext } from "../BannerProvider.js";
3
+ const useBannerContext = () => {
4
+ const context = useContext(BannerContext);
5
+ if (context === void 0) {
6
+ console.error("BannerContext was used outside of its Provider");
7
+ }
8
+ return context;
6
9
  };
7
10
  export {
8
- s as default
11
+ useBannerContext as default
9
12
  };
10
- //# sourceMappingURL=useBannerContext.js.map