@bigbinary/neeto-team-members-frontend 5.0.41 → 5.0.43

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 (215) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/ActionBlock-C9Iy0jGZ.js.map +1 -1
  3. package/dist/ActionBlock-jgw1N-As.js.map +1 -1
  4. package/dist/Groups.js +8 -104
  5. package/dist/Groups.js.map +1 -1
  6. package/dist/{InviteLinkError-C6OLGrD0.js → InviteLinkError-5auG6HEb.js} +37 -2
  7. package/dist/InviteLinkError-5auG6HEb.js.map +1 -0
  8. package/dist/{InviteLinkError-AphtWLhe.js → InviteLinkError-Chs1iVCJ.js} +57 -16
  9. package/dist/InviteLinkError-Chs1iVCJ.js.map +1 -0
  10. package/dist/ManageMember.js +988 -50
  11. package/dist/ManageMember.js.map +1 -1
  12. package/dist/MembersInvite.js +5 -36
  13. package/dist/MembersInvite.js.map +1 -1
  14. package/dist/{Permissions-C5poOq-v.js → Permissions-Bz0SmJzH.js} +6 -6
  15. package/dist/{Permissions-C5poOq-v.js.map → Permissions-Bz0SmJzH.js.map} +1 -1
  16. package/dist/{Permissions-DoGY84sh.js → Permissions-LWRAefeb.js} +6 -6
  17. package/dist/{Permissions-DoGY84sh.js.map → Permissions-LWRAefeb.js.map} +1 -1
  18. package/dist/Profile.js +7 -24
  19. package/dist/Profile.js.map +1 -1
  20. package/dist/ProfileImage-BLnx0E90.js +136 -0
  21. package/dist/ProfileImage-BLnx0E90.js.map +1 -0
  22. package/dist/{ProfileImage-QeSzsfzl.js → ProfileImage-Ddqkbj2f.js} +3 -37
  23. package/dist/ProfileImage-Ddqkbj2f.js.map +1 -0
  24. package/dist/{ProfileImage-Ypf3HreX.js → ProfileImage-EB117DPX.js} +3 -34
  25. package/dist/ProfileImage-EB117DPX.js.map +1 -0
  26. package/dist/ProfileImage-V240yfTY.js +129 -0
  27. package/dist/ProfileImage-V240yfTY.js.map +1 -0
  28. package/dist/Roles.js +7 -48
  29. package/dist/Roles.js.map +1 -1
  30. package/dist/{RolesRadioGroup-D4LlGV4N.js → RolesRadioGroup-BCrxWI9_.js} +11 -10
  31. package/dist/RolesRadioGroup-BCrxWI9_.js.map +1 -0
  32. package/dist/{RolesRadioGroup-cjHORagK.js → RolesRadioGroup-BwiP6Akj.js} +13 -11
  33. package/dist/RolesRadioGroup-BwiP6Akj.js.map +1 -0
  34. package/dist/Select-CshPoN2b.js.map +1 -1
  35. package/dist/Select-DZ56UG-l.js.map +1 -1
  36. package/dist/TeamMembers.js +18 -176
  37. package/dist/TeamMembers.js.map +1 -1
  38. package/dist/cjs/Groups.js +12 -109
  39. package/dist/cjs/Groups.js.map +1 -1
  40. package/dist/cjs/ManageMember.js +1012 -51
  41. package/dist/cjs/ManageMember.js.map +1 -1
  42. package/dist/cjs/MembersInvite.js +9 -42
  43. package/dist/cjs/MembersInvite.js.map +1 -1
  44. package/dist/cjs/Profile.js +8 -25
  45. package/dist/cjs/Profile.js.map +1 -1
  46. package/dist/cjs/Roles.js +28 -70
  47. package/dist/cjs/Roles.js.map +1 -1
  48. package/dist/cjs/TeamMembers.js +30 -189
  49. package/dist/cjs/TeamMembers.js.map +1 -1
  50. package/dist/cjs/index.js +13 -7
  51. package/dist/cjs/index.js.map +1 -1
  52. package/dist/cjs/utils.js +512 -3
  53. package/dist/cjs/utils.js.map +1 -1
  54. package/dist/cjs/v2/Groups.js +38 -140
  55. package/dist/cjs/v2/Groups.js.map +1 -1
  56. package/dist/cjs/v2/ManageMember.js +18 -13
  57. package/dist/cjs/v2/ManageMember.js.map +1 -1
  58. package/dist/cjs/v2/MembersDropdown.js +1 -1
  59. package/dist/cjs/v2/MembersDropdown.js.map +1 -1
  60. package/dist/cjs/v2/MembersInvite.js +20 -59
  61. package/dist/cjs/v2/MembersInvite.js.map +1 -1
  62. package/dist/cjs/v2/Permissions.js +2 -2
  63. package/dist/cjs/v2/Profile.js +18 -35
  64. package/dist/cjs/v2/Profile.js.map +1 -1
  65. package/dist/cjs/v2/Roles.js +42 -86
  66. package/dist/cjs/v2/Roles.js.map +1 -1
  67. package/dist/cjs/v2/RolesRadioGroup.js +7 -6
  68. package/dist/cjs/v2/RolesRadioGroup.js.map +1 -1
  69. package/dist/cjs/v2/TeamMembers.js +42 -192
  70. package/dist/cjs/v2/TeamMembers.js.map +1 -1
  71. package/dist/cjs/v2/TeamsAndMembersDropdown.js +1 -1
  72. package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -1
  73. package/dist/cjs/v2/TeamsDropdown.js +1 -1
  74. package/dist/cjs/v2/TeamsDropdown.js.map +1 -1
  75. package/dist/cjs/v2/constants.js +8 -20
  76. package/dist/cjs/v2/constants.js.map +1 -1
  77. package/dist/cjs/v2/hooks.js +5 -5
  78. package/dist/cjs/v2/index.js +52 -35
  79. package/dist/cjs/v2/index.js.map +1 -1
  80. package/dist/cjs/v2/utils.js +9 -18
  81. package/dist/cjs/v2/utils.js.map +1 -1
  82. package/dist/hooks.js +1 -1
  83. package/dist/index-4wQ9Y7v9.js +61 -0
  84. package/dist/index-4wQ9Y7v9.js.map +1 -0
  85. package/dist/{index-CmsTaBay.js → index-BHZSKqUU.js} +248 -365
  86. package/dist/index-BHZSKqUU.js.map +1 -0
  87. package/dist/index-BISwUwuE.js +55 -0
  88. package/dist/index-BISwUwuE.js.map +1 -0
  89. package/dist/{index-CVZHlIdE.js → index-BMb0DElQ.js} +3 -3
  90. package/dist/index-BMb0DElQ.js.map +1 -0
  91. package/dist/index-BOQKf6as.js +61 -0
  92. package/dist/index-BOQKf6as.js.map +1 -0
  93. package/dist/{index-BVrpRWeD.js → index-BRgcqXVL.js} +3 -3
  94. package/dist/index-BRgcqXVL.js.map +1 -0
  95. package/dist/{index-DvkCYQ7m.js → index-BjyZ-9G_.js} +244 -356
  96. package/dist/index-BjyZ-9G_.js.map +1 -0
  97. package/dist/index-CKQDhbTA.js +55 -0
  98. package/dist/index-CKQDhbTA.js.map +1 -0
  99. package/dist/index.js +13 -7
  100. package/dist/index.js.map +1 -1
  101. package/dist/useCountriesApi-CjhrbnjK.js +43 -0
  102. package/dist/useCountriesApi-CjhrbnjK.js.map +1 -0
  103. package/dist/useCountriesApi-DK00167T.js +35 -0
  104. package/dist/useCountriesApi-DK00167T.js.map +1 -0
  105. package/dist/useInviteLinksApi-COVfmZiQ.js +64 -0
  106. package/dist/useInviteLinksApi-COVfmZiQ.js.map +1 -0
  107. package/dist/useInviteLinksApi-gn-AP0Yx.js +55 -0
  108. package/dist/useInviteLinksApi-gn-AP0Yx.js.map +1 -0
  109. package/dist/useProfileApi-BcuLCyms.js +35 -0
  110. package/dist/useProfileApi-BcuLCyms.js.map +1 -0
  111. package/dist/useProfileApi-Dkt6sE5p.js +28 -0
  112. package/dist/useProfileApi-Dkt6sE5p.js.map +1 -0
  113. package/dist/{index-D_GBFQ6T.js → useRolesApi-93OoRU1s.js} +2 -54
  114. package/dist/useRolesApi-93OoRU1s.js.map +1 -0
  115. package/dist/{index-BOmT_MDe.js → useRolesApi-DuL4eCuF.js} +1 -55
  116. package/dist/useRolesApi-DuL4eCuF.js.map +1 -0
  117. package/dist/useTeams-9Lgu4ogZ.js +187 -0
  118. package/dist/useTeams-9Lgu4ogZ.js.map +1 -0
  119. package/dist/useTeams-CJQiyvCI.js +178 -0
  120. package/dist/useTeams-CJQiyvCI.js.map +1 -0
  121. package/dist/{useTeamsApi-DH-TbrNP.js → useTeamsApi-BXvhKbyp.js} +2 -2
  122. package/dist/{useTeamsApi-DH-TbrNP.js.map → useTeamsApi-BXvhKbyp.js.map} +1 -1
  123. package/dist/useUsersApi-BRPy1kqa.js +105 -0
  124. package/dist/useUsersApi-BRPy1kqa.js.map +1 -0
  125. package/dist/useUsersApi-CBZ1Dk5d.js +117 -0
  126. package/dist/useUsersApi-CBZ1Dk5d.js.map +1 -0
  127. package/dist/utils-3WlshQ9e.js +312 -0
  128. package/dist/utils-3WlshQ9e.js.map +1 -0
  129. package/dist/{index-Dus0cbgo.js → utils-CcTwXoRH.js} +52 -1
  130. package/dist/utils-CcTwXoRH.js.map +1 -0
  131. package/dist/utils-CgwJI9pk.js +334 -0
  132. package/dist/utils-CgwJI9pk.js.map +1 -0
  133. package/dist/{index-ureO6U2w.js → utils-CrN1b-Jp.js} +48 -2
  134. package/dist/utils-CrN1b-Jp.js.map +1 -0
  135. package/dist/utils.js +512 -3
  136. package/dist/utils.js.map +1 -1
  137. package/dist/v2/Groups.js +31 -132
  138. package/dist/v2/Groups.js.map +1 -1
  139. package/dist/v2/ManageMember.js +18 -13
  140. package/dist/v2/ManageMember.js.map +1 -1
  141. package/dist/v2/MembersDropdown.js +1 -1
  142. package/dist/v2/MembersDropdown.js.map +1 -1
  143. package/dist/v2/MembersInvite.js +16 -54
  144. package/dist/v2/MembersInvite.js.map +1 -1
  145. package/dist/v2/Permissions.js +2 -2
  146. package/dist/v2/Profile.js +13 -30
  147. package/dist/v2/Profile.js.map +1 -1
  148. package/dist/v2/Roles.js +23 -66
  149. package/dist/v2/Roles.js.map +1 -1
  150. package/dist/v2/RolesRadioGroup.js +7 -6
  151. package/dist/v2/RolesRadioGroup.js.map +1 -1
  152. package/dist/v2/TeamMembers.js +39 -188
  153. package/dist/v2/TeamMembers.js.map +1 -1
  154. package/dist/v2/TeamsAndMembersDropdown.js +1 -1
  155. package/dist/v2/TeamsAndMembersDropdown.js.map +1 -1
  156. package/dist/v2/TeamsDropdown.js +1 -1
  157. package/dist/v2/TeamsDropdown.js.map +1 -1
  158. package/dist/v2/constants.js +2 -18
  159. package/dist/v2/constants.js.map +1 -1
  160. package/dist/v2/hooks.js +5 -5
  161. package/dist/v2/index.js +48 -31
  162. package/dist/v2/index.js.map +1 -1
  163. package/dist/v2/utils.js +6 -19
  164. package/dist/v2/utils.js.map +1 -1
  165. package/dist/withReactQuery-CSuiy5RK.js +1 -1
  166. package/dist/withReactQuery-CSuiy5RK.js.map +1 -1
  167. package/dist/withReactQuery-DvSkXhEx.js +1 -1
  168. package/dist/withReactQuery-DvSkXhEx.js.map +1 -1
  169. package/package.json +14 -14
  170. package/dist/InviteLinkError-AphtWLhe.js.map +0 -1
  171. package/dist/InviteLinkError-C6OLGrD0.js.map +0 -1
  172. package/dist/ProfileImage-QeSzsfzl.js.map +0 -1
  173. package/dist/ProfileImage-Ypf3HreX.js.map +0 -1
  174. package/dist/RolesRadioGroup-D4LlGV4N.js.map +0 -1
  175. package/dist/RolesRadioGroup-cjHORagK.js.map +0 -1
  176. package/dist/constants-B1L6arSR.js +0 -49
  177. package/dist/constants-B1L6arSR.js.map +0 -1
  178. package/dist/constants-CMNbKvoF.js +0 -61
  179. package/dist/constants-CMNbKvoF.js.map +0 -1
  180. package/dist/index-BOmT_MDe.js.map +0 -1
  181. package/dist/index-BVrpRWeD.js.map +0 -1
  182. package/dist/index-BkEJugj1.js +0 -184
  183. package/dist/index-BkEJugj1.js.map +0 -1
  184. package/dist/index-C6ph58Vg.js +0 -169
  185. package/dist/index-C6ph58Vg.js.map +0 -1
  186. package/dist/index-CVZHlIdE.js.map +0 -1
  187. package/dist/index-CmsTaBay.js.map +0 -1
  188. package/dist/index-DFFRcH_S.js +0 -1328
  189. package/dist/index-DFFRcH_S.js.map +0 -1
  190. package/dist/index-DTONHIze.js +0 -1373
  191. package/dist/index-DTONHIze.js.map +0 -1
  192. package/dist/index-D_GBFQ6T.js.map +0 -1
  193. package/dist/index-Dus0cbgo.js.map +0 -1
  194. package/dist/index-DvkCYQ7m.js.map +0 -1
  195. package/dist/index-ureO6U2w.js.map +0 -1
  196. package/dist/pluralize-BoSEafiC.js +0 -514
  197. package/dist/pluralize-BoSEafiC.js.map +0 -1
  198. package/dist/pluralize-CFlSRsRn.js +0 -516
  199. package/dist/pluralize-CFlSRsRn.js.map +0 -1
  200. package/dist/queryClient-B-JFya8X.js +0 -16
  201. package/dist/queryClient-B-JFya8X.js.map +0 -1
  202. package/dist/queryClient-BncpekSV.js +0 -14
  203. package/dist/queryClient-BncpekSV.js.map +0 -1
  204. package/dist/timezone-selector-CKRmWIBV.js +0 -161
  205. package/dist/timezone-selector-CKRmWIBV.js.map +0 -1
  206. package/dist/timezone-selector-DzjWIcWK.js +0 -171
  207. package/dist/timezone-selector-DzjWIcWK.js.map +0 -1
  208. package/dist/useMembersSidenav-CTK2-tT0.js +0 -19
  209. package/dist/useMembersSidenav-CTK2-tT0.js.map +0 -1
  210. package/dist/useMembersSidenav-Dj60wgFC.js +0 -17
  211. package/dist/useMembersSidenav-Dj60wgFC.js.map +0 -1
  212. package/dist/useTeamsApi-CWp4G7JZ.js +0 -179
  213. package/dist/useTeamsApi-CWp4G7JZ.js.map +0 -1
  214. package/dist/useTeamsApi-Ch5sHR2_.js +0 -197
  215. package/dist/useTeamsApi-Ch5sHR2_.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Roles.js","sources":["../../app/javascript/src/apis/permissions.js","../../app/javascript/src/hooks/roles/usePermissionsApi.js","../../app/javascript/src/components/Roles/Header/utils.js","../../app/javascript/src/components/Roles/AddRoleButton.jsx","../../app/javascript/src/components/Roles/Header/index.jsx","../../app/javascript/src/components/Roles/constants.js","../../app/javascript/src/components/Roles/ManageRoles.jsx","../../app/javascript/src/components/Roles/Table/constants.js","../../app/javascript/src/components/Roles/Table/utils.js","../../app/javascript/src/components/Roles/Table/Row.jsx","../../app/javascript/src/common/utils.js","../../app/javascript/src/components/Roles/Table/Sidebar/utils.jsx","../../app/javascript/src/components/Roles/Table/TableHeader.jsx","../../app/javascript/src/components/Roles/Delete.jsx","../../app/javascript/src/components/Roles/Table/Columns.jsx","../../app/javascript/src/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../../app/javascript/src/components/Roles/Table/Sidebar/index.jsx","../../app/javascript/src/components/Roles/Table/index.jsx","../../app/javascript/src/components/Roles/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/common/constants\";\n\nconst fetch = () => axios.get(`${BASE_URL}/permissions`);\n\nconst permissionsApi = { fetch };\n\nexport default permissionsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport permissionsApi from \"apis/permissions\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchPermissions = (options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.PERMISSIONS],\n queryFn: permissionsApi.fetch,\n select: response => response?.permissions,\n ...options,\n });\n\nexport { useFetchPermissions };\n","import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { taxonomies } from \"neetocommons/initializers\";\n\nexport const renderSearchProps = () => ({\n \"data-testid\": \"ntm-search-roles-input\",\n placeholder: t(\"neetoTeamMembers.placeholders.searchRole\", PLURAL),\n});\n\nexport const renderBreadcrumbs = breadcrumbs =>\n breadcrumbs ?? [{ text: taxonomies.member.plural, link: \"/members\" }];\n","import { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddRoleButton = ({ config, onClick }) => {\n const { t } = useTranslation();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n return (\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToAddRole\")}\n disabled={isCreatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-add-role-button\"\n disabled={!isCreatePermissionGranted}\n label={t(\"neetoTeamMembers.labels.addNewRole\")}\n onClick={onClick}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderBreadcrumbs, renderSearchProps } from \"./utils\";\n\nimport AddRoleButton from \"../AddRoleButton\";\n\nconst Header = ({\n config,\n handleReset,\n handleSubmit,\n isDirty = false,\n setIsNewRolePaneOpen,\n roles,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n return (\n <NeetoHeader\n breadcrumbs={renderBreadcrumbs(config?.header?.breadcrumbs)}\n className=\"ntm-roles-header\"\n searchProps={isNotEmpty(roles) ? renderSearchProps() : null}\n title={t(\"neetoTeamMembers.common.role\", PLURAL)}\n titleHelpPopoverProps={config?.header?.titleHelpPopoverProps ?? {}}\n actionBlock={\n isDirty ? (\n <>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\")}\n disabled={isUpdatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-role-submission-button\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.buttons.saveChanges\")}\n type=\"submit\"\n onClick={handleSubmit}\n />\n </span>\n </Tooltip>\n <Button\n data-testid=\"ntm-role-reset-button\"\n label={t(\"neetoTeamMembers.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n onClick={handleReset}\n />\n </>\n ) : (\n <AddRoleButton\n {...{ config }}\n onClick={() => setIsNewRolePaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Header;\n","import { t } from \"i18next\";\nimport { string, object } from \"yup\";\n\nexport const ROLE_NAME_MAX_LENGTH = 40;\n\nexport const ROLE_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const ADD_ROLE_FORM_VALIDATION_SCHEMA = object({\n name: string()\n .trim()\n .max(\n ROLE_NAME_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.nameLimitExceeded\", {\n limit: ROLE_NAME_MAX_LENGTH,\n })\n )\n // @ts-ignore\n .required(t(\"neetoTeamMembers.validations.enterRoleName\")),\n description: string()\n .nullable()\n .trim()\n .max(\n ROLE_DESCRIPTION_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.descriptionLimitExceeded\", {\n limit: ROLE_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const ADD_ROLE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n permissionIds: [],\n};\n\nexport const ROLE_FORMIK_PROPS = {\n validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA,\n};\n","import { useEffect, useRef } from \"react\";\n\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useCreateRole, useUpdateRole } from \"hooks/roles/useRolesApi\";\n\nimport {\n ADD_ROLE_FORM_INITIAL_VALUES,\n ROLE_DESCRIPTION_MAX_LENGTH,\n ROLE_FORMIK_PROPS,\n ROLE_NAME_MAX_LENGTH,\n} from \"./constants\";\nimport Permissions from \"./Permissions\";\n\nconst ManageRoles = ({\n config,\n isOpen = false,\n onClose,\n permissions = [],\n selectedRole = {},\n scrollTo = null,\n}) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const lastScrollKeyRef = useRef(null);\n const { mutate: createRole, isPending: isCreatingRole } = useCreateRole({\n onSuccess: onClose,\n });\n\n const { mutate: updateRole, isPending: isUpdatingRole } = useUpdateRole({\n onSuccess: onClose,\n });\n const isEdit = isPresent(selectedRole);\n const isSubmitting = isCreatingRole || isUpdatingRole;\n\n const handleSubmit = formValues => {\n const payload = {\n organizationRole: {\n ...formValues,\n name: formValues.name.trim(),\n description: formValues.description.trim(),\n },\n };\n\n isEdit ? updateRole({ payload, id: selectedRole.id }) : createRole(payload);\n };\n\n const initialValues = isEdit\n ? {\n ...selectedRole,\n permissionIds: selectedRole.permissionIds?.sort(),\n description: selectedRole.description || \"\",\n }\n : ADD_ROLE_FORM_INITIAL_VALUES;\n\n const formikProps = {\n ...ROLE_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n };\n\n const isReadOnly = selectedRole.kind === \"system\";\n const isDisabled = ADMIN_ROLES.includes(selectedRole.name) && isReadOnly;\n\n useEffect(() => {\n const activeClassName = \"ntm-roles-permission-category-card--active\";\n const blinkClassName = \"ntm-roles-permission__card--blink\";\n\n const getScrollableParent = node => {\n let current = node?.parentElement;\n while (current) {\n const style = getComputedStyle(current);\n const overflowY = style.overflowY;\n const isScrollable =\n (overflowY === \"auto\" || overflowY === \"scroll\") &&\n current.scrollHeight > current.clientHeight;\n if (isScrollable) return current;\n current = current.parentElement;\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n if (!isOpen) {\n lastScrollKeyRef.current = null;\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n return () => {};\n }\n\n if (!scrollTo) return () => {};\n\n const key = `${selectedRole?.id ?? \"new\"}:${scrollTo.type}:${\n scrollTo.permissionId ?? scrollTo.category ?? \"\"\n }`;\n if (lastScrollKeyRef.current === key) return () => {};\n lastScrollKeyRef.current = key;\n\n let timeoutId;\n let highlightTimeoutId;\n let blinkTimeoutId;\n let scrollEndTimeoutId;\n let attempts = 0;\n let highlightedCard = null;\n let blinkedPermissionCard = null;\n\n const attemptScroll = () => {\n attempts += 1;\n const elementId =\n scrollTo.type === \"permission\"\n ? `ntm-role-permission-${scrollTo.permissionId}`\n : `ntm-role-permission-category-${hyphenate(scrollTo.category || \"\")}`;\n\n const el = document.getElementById(elementId);\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n\n const categoryCard =\n scrollTo.type === \"permission\"\n ? el.closest(\".ntm-roles-permission-category-card\")\n : el.querySelector(\".ntm-roles-permission-category-card\");\n\n const scrollContainer = getScrollableParent(el);\n\n const startHighlight = () => {\n if (!categoryCard) return;\n\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n categoryCard.classList.add(activeClassName);\n highlightedCard = categoryCard;\n\n clearTimeout(highlightTimeoutId);\n highlightTimeoutId = setTimeout(() => {\n categoryCard.classList.remove(activeClassName);\n }, 3000);\n };\n\n if (scrollTo.type === \"permission\") {\n const animationDurationMs = 600;\n const animationIterations = 3;\n const totalDurationMs =\n animationDurationMs * animationIterations + 100;\n\n const startBlink = () => {\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n el.classList.remove(blinkClassName);\n // Restart animation if the class was already present\n void el.offsetWidth;\n el.classList.add(blinkClassName);\n blinkedPermissionCard = el;\n\n clearTimeout(blinkTimeoutId);\n blinkTimeoutId = setTimeout(() => {\n el.classList.remove(blinkClassName);\n }, totalDurationMs);\n };\n\n // Start animation only after scroll settles (or after a max wait).\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n } else {\n // Highlight should also start only after scroll settles.\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n }\n\n return;\n }\n\n // Pane content can mount after open animation; retry briefly.\n if (attempts < 5) timeoutId = setTimeout(attemptScroll, 100);\n };\n\n timeoutId = setTimeout(attemptScroll, 0);\n\n return () => {\n clearTimeout(timeoutId);\n clearTimeout(highlightTimeoutId);\n clearTimeout(blinkTimeoutId);\n clearTimeout(scrollEndTimeoutId);\n highlightedCard?.classList.remove(activeClassName);\n blinkedPermissionCard?.classList.remove(blinkClassName);\n };\n }, [isOpen, scrollTo, selectedRole?.id]);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={!isEdit ? inputReference : undefined}\n size=\"large\"\n >\n <Pane.Header>\n <Typography data-testid=\"ntm-add-role-title\" style=\"h2\">\n {isEdit\n ? t(\"neetoTeamMembers.labels.editRole\")\n : t(\"neetoTeamMembers.labels.addNewRole\")}\n </Typography>\n </Pane.Header>\n <Form {...{ formikProps }} ref={formReference}>\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Pane.Body>\n <div className=\"ntm-roles-pane__body\">\n <div className=\"ntm-roles-pane__body-wrapper\">\n <Input\n required\n unlimitedChars\n data-testid=\"ntm-add-role-name-text-field\"\n label={t(\"neetoTeamMembers.common.name\")}\n maxLength={ROLE_NAME_MAX_LENGTH}\n name=\"name\"\n placeholder={t(\"neetoTeamMembers.placeholders.enterName\")}\n readOnly={isReadOnly}\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-testid=\"ntm-add-role-description-text-field\"\n label={t(\"neetoTeamMembers.common.description\")}\n maxLength={ROLE_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n readOnly={isDisabled}\n placeholder={t(\n \"neetoTeamMembers.placeholders.enterDescription\"\n )}\n />\n </div>\n <Permissions\n {...{ isDisabled, permissions }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n className=\"ntm-roles-pane__footer\"\n cancelButtonProps={{\n \"data-testid\": \"ntm-add-role-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-add-role-submit-button\",\n disabled: isSubmitting || isDisabled || !dirty,\n }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default ManageRoles;\n","export const DEFAULT_MANAGE_ROLE_VALUES = {\n isDelete: false,\n isEdit: false,\n selectedRole: {},\n scrollTo: null,\n};\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { _findBy } from \"neetocist\";\nimport { not } from \"ramda\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst deepClone = object => {\n if (!object || true === object) {\n //this also handles boolean as true and false\n return object;\n }\n const objectType = typeof object;\n if (\"number\" === objectType || \"string\" === objectType) {\n // add your immutables here\n return object;\n }\n\n let result = null;\n if (Array.isArray(object)) {\n result = [];\n } else if (!object.constructor) {\n result = {};\n } else {\n result = new object.constructor();\n }\n\n if (object instanceof Map) {\n for (const key of object.keys()) {\n result.set(key, deepClone(object.get(key)));\n }\n }\n\n Object.keys(object).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n result[key] = deepClone(object[key]);\n }\n });\n\n return result;\n};\n\nexport const renderRolesTooltipContent = roleName =>\n Object.is(roleName, \"Admin\") || Object.is(roleName, \"Owner\")\n ? t(\"neetoTeamMembers.tooltips.adminMustHaveAccess\", { roleName })\n : t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\");\n\nexport const removeDuplicates = array => [...new Set(array)];\n\nexport const updatePermissionVisibility = (categoryName, permissions) => {\n const category = permissions.get(categoryName);\n const isPermissionVisible = category.get(\"isPermissionVisible\");\n category.set(\"isPermissionVisible\", !isPermissionVisible);\n\n return new Map(permissions.set(categoryName, category));\n};\n\nexport const filterPermissionsBySearch = (searchTerm, permissionGroups) => {\n const newValue = deepClone(permissionGroups);\n newValue.forEach(value => {\n const permissions = value.get(\"permissions\");\n\n const filteredPermissions = permissions.filter(permission =>\n permission?.description\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchTerm.toLowerCase().trim())\n );\n value.set(\"permissions\", filteredPermissions);\n });\n\n return newValue;\n};\n\nexport const getMenuItems = ({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n}) => [\n {\n key: MENU_ITEMS.EDIT,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-edit-role-button\",\n isDisabled: not(isUpdatePermissionGranted),\n size: \"small\",\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\"),\n disabled: isUpdatePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.edit\"),\n onClick: () =>\n setManageRole({ isEdit: true, selectedRole: role, scrollTo: null }),\n },\n {\n key: MENU_ITEMS.DELETE,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-delete-role-button\",\n isDisabled: not(isDeletePermissionGranted),\n size: \"small\",\n isVisible: not(isSystemRole),\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToRemoveRoles\"),\n disabled: isDeletePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.delete\"),\n onClick: () =>\n setManageRole({ isDelete: true, selectedRole: role, scrollTo: null }),\n },\n];\n\nexport const getRowClientHeight = permission => {\n const sidebarItems = Array.from(\n document.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n )\n );\n\n const sidebarItem = _findBy(\n { dataset: { name: permission?.description } },\n sidebarItems\n );\n\n return sidebarItem?.clientHeight;\n};\n","import classnames from \"classnames\";\nimport { noop, hyphenate } from \"neetocist\";\nimport { Checkbox, Tooltip } from \"neetoui\";\nimport { __, identical, includes, map, prop } from \"ramda\";\n\nimport { getRowClientHeight, renderRolesTooltipContent } from \"./utils\";\n\nconst Row = ({\n allPermissionsOfCategory = null,\n category = \"\",\n config,\n permission = null,\n roles,\n setManageRole = noop,\n}) => {\n const isUpdatePermissionGranted = config.permissions.update;\n\n const permissions = allPermissionsOfCategory?.get(\"permissions\") || [];\n const allPermissionIdsOfCategory = map(prop(\"id\"), permissions);\n\n const handleSubmit = role => {\n const scrollTo = permission?.id\n ? { type: \"permission\", permissionId: permission.id }\n : { type: \"category\", category };\n\n setManageRole({ isEdit: true, selectedRole: role, scrollTo });\n };\n\n const isCheckboxChecked = role =>\n !allPermissionsOfCategory\n ? includes(permission?.id, role.permissionIds)\n : allPermissionIdsOfCategory.every(includes(__, role.permissionIds));\n\n return (\n <div\n className={classnames(\"ntm-roles-table__row\", {\n \"ntm-roles-table__row--highlighted\": !!allPermissionsOfCategory,\n })}\n >\n {roles.map(role => (\n <div\n className=\"ntm-roles-table__cell\"\n data-testid={`${hyphenate(role.name)}-role-cell`}\n key={role.id}\n style={{ height: getRowClientHeight(permission) }}\n >\n <Tooltip\n content={renderRolesTooltipContent(role.name)}\n position=\"top\"\n disabled={\n isUpdatePermissionGranted &&\n !identical(role.name, \"Admin\") &&\n !identical(role.name, \"Owner\")\n }\n >\n <div className=\"ntm-roles-table-cell__checkbox-wrapper\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox\"\n data-testid=\"ntm-roles-table-permission-checkbox\"\n disabled={\n identical(role.name, \"Admin\") ||\n identical(role.name, \"Owner\") ||\n !isUpdatePermissionGranted\n }\n onChange={() => handleSubmit(role)}\n />\n </div>\n </Tooltip>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Row;\n","export const isOverflown = ({\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n}) => scrollHeight > clientHeight || scrollWidth > clientWidth;\n\nexport const getScrollBarWidth = () => {\n const innerElement = document.createElement(\"p\");\n innerElement.classList.add(\"ntm-scrollbar__inner\");\n\n const outerElement = document.createElement(\"div\");\n outerElement.classList.add(\"ntm-scrollbar__outer\");\n\n outerElement.appendChild(innerElement);\n document.body.appendChild(outerElement);\n\n const w1 = innerElement.offsetWidth;\n outerElement.style.overflow = \"scroll\";\n let w2 = innerElement.offsetWidth;\n if (w1 === w2) w2 = outerElement.clientWidth;\n\n document.body.removeChild(outerElement);\n\n return w1 - w2;\n};\n","import { Fragment } from \"react\";\n\nimport { InfoRound } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport { getScrollBarWidth } from \"common/utils\";\n\nimport { ROLES_TABLE_CELL_HEIGHT_VARIABLE } from \"./constants\";\n\nconst getCurrentTableCellHeight = () =>\n parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE\n ),\n 10\n );\n\nexport const renderDescription = (\n permissions,\n filteredPermissions,\n permissionTooltip = {}\n) =>\n permissions?.map(({ id, name, description, children }) => {\n const tooltipContent = permissionTooltip[name];\n\n return (\n <Fragment key={id}>\n {filteredPermissions.includes(id) && (\n <div\n className=\"ntm-roles-table-sidebar__list-item\"\n data-name={description}\n >\n <Typography\n data-testid=\"ntm-permission-category-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {tooltipContent && (\n <HelpPopover\n description={tooltipContent}\n icon={InfoRound}\n size=\"default\"\n />\n )}\n </div>\n )}\n <div className=\"neeto-ui-relative neeto-ui-pl-6 ntm-roles-table-sidebar__sub-blocks\">\n {renderDescription(children, filteredPermissions, permissionTooltip)}\n </div>\n </Fragment>\n );\n });\n\nexport const getSearchWrapperStyle = () => {\n const scrollBarWidth = getScrollBarWidth();\n\n document.documentElement.style.setProperty(\n \"--ntm-roles-table-default-scroll\",\n `${scrollBarWidth}px`\n );\n\n return { marginBottom: `${scrollBarWidth}px` };\n};\n\nexport const assignRolesTableCellHeight = () => {\n const sidebarItems = [\n ...document.getElementsByClassName(\"ntm-roles-table-sidebar__list-item\"),\n ];\n const clientHeights = pluck(\"clientHeight\", sidebarItems);\n const maxClientHeight = Math.max(...clientHeights);\n const currentTableCellHeight = getCurrentTableCellHeight();\n\n if (maxClientHeight > currentTableCellHeight) {\n document.documentElement.style.setProperty(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE,\n `${maxClientHeight}px`\n );\n }\n};\n\nexport const getFilteredCategories = filteredGroupPermissions =>\n Array.from(filteredGroupPermissions?.keys() || []).filter(category => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const permissions = groupedPermissions.get(\"permissions\") || [];\n\n return permissions.length > 0;\n });\n","import { useEffect, useCallback, useRef, memo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { Typography } from \"neetoui\";\nimport { identical } from \"ramda\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\n\nimport { getMenuItems } from \"./utils\";\n\nconst TableHeader = ({ config, roles, setManageRole, setIsScrollPresent }) => {\n const isUpdatePermissionGranted = config.permissions.update;\n const isDeletePermissionGranted = config.permissions.delete;\n\n const scrollSyncElement = useRef(null);\n\n const getOverflowStatus = useCallback(() => {\n if (!scrollSyncElement.current) return;\n\n const headerElement = scrollSyncElement.current.node;\n const isScrollBarPresent = isOverflown(headerElement);\n setIsScrollPresent(isScrollBarPresent);\n }, [setIsScrollPresent]);\n\n useEffect(() => {\n addEventListener(\"resize\", getOverflowStatus);\n\n return () => removeEventListener(\"resize\", getOverflowStatus);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(getOverflowStatus, [getOverflowStatus, scrollSyncElement, roles]);\n\n return (\n <ScrollSyncPane group=\"horizontal\" ref={scrollSyncElement}>\n <div className=\"ntm-roles-table__header\" data-testid=\"ntm-roles-table-header\">\n {roles?.map((role, index) => {\n const isSystemRole = identical(\"system\", role.kind);\n const isAdminRole = ADMIN_ROLES.includes(role.name) && isSystemRole;\n\n return (\n <div className=\"ntm-roles-table__cell\" key={`ntm-roles-${index}`}>\n <div\n className=\"ntm-roles-table-header-cell__container\"\n data-testid=\"ntm-roles-table-role-header\"\n >\n <Typography\n className=\"ntm-roles-table-header__role-name\"\n data-testid=\"ntm-roles-table-header-role-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!isAdminRole && (\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n dropdownButtonProps={{\n className: \"ntm-roles-table-header__dropdown\",\n \"data-testid\": \"ntm-roles-table-header-role-dropdown-button\",\n }}\n menuItems={getMenuItems({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n })}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n );\n};\n\nexport default memo(TableHeader);\n","import { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyRole } from \"hooks/roles/useRolesApi\";\n\nconst Delete = ({ isOpen, onClose, selectedRole, roles }) => {\n const { t } = useTranslation();\n const { mutate: deleteRole, isPending: isDeleting } = useDestroyRole({\n onSuccess: onClose,\n });\n\n const handleDelete = () => {\n const { id } = selectedRole;\n const payload = { newRoleId: roles.find(role => role.id !== id)?.id };\n deleteRole({ id, payload });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.delete\")}\n title={t(\"neetoTeamMembers.labels.deleteRole\")}\n message={\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.deletingRole\"\n values={{ name: selectedRole?.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","import { useState, useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { hyphenate } from \"neetocist\";\n\nimport { DEFAULT_MANAGE_ROLE_VALUES } from \"./constants\";\nimport Row from \"./Row\";\nimport { getFilteredCategories } from \"./Sidebar/utils\";\nimport TableHeader from \"./TableHeader\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Columns = ({\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n}) => {\n const [manageRole, setManageRole] = useState(DEFAULT_MANAGE_ROLE_VALUES);\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const onClose = () => setManageRole(DEFAULT_MANAGE_ROLE_VALUES);\n\n return (\n <div className=\"ntm-roles-table__columns\">\n <TableHeader\n {...{ config, setIsScrollPresent, setManageRole }}\n roles={filteredRoles}\n />\n <ScrollSyncPane group={[\"horizontal\", \"vertical\"]}>\n <div className=\"ntm-roles-table__rows\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table__empty-row\">\n <div className=\"ntm-roles-table__row\">\n <div className=\"ntm-roles-table__cell\">\n <div className=\"ntm-roles-table__cell-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div\n data-testid={`${hyphenate(category)}-permission-card`}\n key={index}\n >\n <Row\n {...{ category, config, setManageRole }}\n allPermissionsOfCategory={groupedPermissions}\n roles={filteredRoles}\n />\n {isPermissionVisible &&\n permissions.map(permission => (\n <Row\n {...{ config, permission, setManageRole }}\n data-testid={`${hyphenate(permission)}-permission-row`}\n key={permission.id}\n roles={filteredRoles}\n />\n ))}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n <ManageRoles\n {...{ config, onClose, permissions }}\n isOpen={manageRole.isEdit}\n scrollTo={manageRole.scrollTo}\n selectedRole={manageRole.selectedRole}\n />\n <Delete\n {...{ onClose, roles }}\n isOpen={manageRole.isDelete}\n selectedRole={manageRole.selectedRole}\n />\n </div>\n );\n};\n\nexport default Columns;\n","import { Down, Up } from \"neetoicons\";\n\nconst ToggleDropdown = ({ isVisible }) =>\n isVisible ? (\n <Up\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n />\n ) : (\n <Down\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-show-button\"\n size={16}\n strokeWidth={2}\n />\n );\n\nexport default ToggleDropdown;\n","import { useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Search from \"neetomolecules/Search\";\nimport { Typography } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getChildrenRemovedFromRoot } from \"components/Roles/utils\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n getSearchWrapperStyle,\n renderDescription,\n getFilteredCategories,\n} from \"./utils\";\n\nconst Sidebar = ({\n filteredGroupPermissions,\n toggleDropdown,\n isScrollPresent,\n permissions = [],\n permissionRelationConfig = {},\n permissionTooltip = {},\n}) => {\n const { t } = useTranslation();\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};\n\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const groupedPermissionsWithChildren = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]);\n\n return (\n <div className=\"ntm-roles-table__sidebar\">\n <div\n className=\"ntm-roles-table-sidebar__search\"\n style={searchWrapperStyle}\n >\n <Search\n enableUrlSync\n data-testid=\"ntm-search-permissions-input\"\n searchParamName=\"permission_search_term\"\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchPermission\",\n PLURAL\n )}\n />\n </div>\n <ScrollSyncPane group=\"vertical\">\n <div className=\"ntm-roles-table-sidebar__list\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table-sidebar__list-item-cell\">\n <div className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted\">\n <Typography\n data-testid=\"ntm-empty-category-row\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoTeamMembers.labels.permissionsNotFound\")}\n </Typography>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n\n return (\n <div\n className=\"ntm-roles-table-sidebar__list-item-cell\"\n key={index}\n >\n <div\n className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted cursor-pointer\"\n onClick={() => toggleDropdown(category)}\n >\n <Typography\n className=\"ntm-roles-table-sidebar__list-item-title\"\n data-testid=\"ntm-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <ToggleDropdown isVisible={isPermissionVisible} />\n </div>\n {isPermissionVisible && (\n <div className=\"ntm-roles-table-sidebar__list-item-spacing-handler ms-[12px] px-[24px]\">\n {renderDescription(\n groupedPermissionsWithChildren[category],\n pluck(\n \"id\",\n filteredGroupPermissions\n .get(category)\n .get(\"permissions\") || []\n ),\n permissionTooltip\n )}\n </div>\n )}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n </div>\n );\n};\n\nexport default Sidebar;\n","import { useEffect, useState } from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport { filterPermissionsBySearch, updatePermissionVisibility } from \"./utils\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Table = ({\n config,\n filteredRoles,\n roles,\n permissionGroups,\n permissions,\n setModifiedRoles,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const { permissionSearchTerm = \"\" } = useQueryParams();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n const [filteredGroupPermissions, setFilteredGroupPermissions] =\n useState(permissionGroups);\n const [isScrollPresent, setIsScrollPresent] = useState(false);\n\n const [selectedRole, setSelectedRole] = useState(undefined);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n\n const toggleDropdown = category => {\n const permissions = updatePermissionVisibility(\n category,\n filteredGroupPermissions\n );\n setFilteredGroupPermissions(permissions);\n };\n\n useEffect(() => {\n const newValue = filterPermissionsBySearch(\n permissionSearchTerm,\n permissionGroups\n );\n setFilteredGroupPermissions(newValue);\n }, [permissionGroups, permissionSearchTerm]);\n\n return (\n <>\n <div className=\"ntm-roles-table__wrapper\">\n <div className=\"ntm-roles-table__container\">\n {isEmpty(filteredRoles) ? (\n <div className=\"ntm-empty-state\">\n <NoData\n title={t(\"neetoTeamMembers.labels.roleNotFound\", PLURAL)}\n primaryButtonProps={{\n \"data-testid\": \"ntm-add-role-button\",\n disabled: !isCreatePermissionGranted,\n label: t(\"neetoTeamMembers.labels.addNewRole\"),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n />\n </div>\n ) : (\n <>\n <Sidebar\n {...{\n filteredGroupPermissions,\n isScrollPresent,\n permissions,\n toggleDropdown,\n }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n permissionTooltip={config?.permissionTooltip ?? {}}\n />\n <Columns\n {...{\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n setModifiedRoles,\n }}\n />\n </>\n )}\n </div>\n </div>\n <ManageRoles\n {...{ config, permissions, selectedRole }}\n isOpen={isEditPaneOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsEditPaneOpen(false);\n }}\n />\n <Delete\n {...{ roles, selectedRole }}\n isOpen={isDeleteAlertOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsDeleteAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { ScrollSync } from \"@bigbinary/react-scroll-sync\";\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams, withTitle } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport { filter, includes } from \"ramda\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/pages/roles.css\";\n\nimport Header from \"./Header\";\nimport ManageRoles from \"./ManageRoles\";\nimport Table from \"./Table\";\nimport {\n getModifiedPermissions,\n getPermissionGroups,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Roles = ({ config }) => {\n const isViewPermissionGranted = config.permissions.view;\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [modifiedRoles, setModifiedRoles] = useState([]);\n const [isNewRolePaneOpen, setIsNewRolePaneOpen] = useState(false);\n const {\n data: roles = [],\n isLoading: isRolesLoading,\n status,\n } = useFetchRoles({ enabled: isViewPermissionGranted });\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const { data: permissionData, isLoading: isPermissionsLoading } =\n useFetchPermissions({ enabled: isViewPermissionGranted });\n\n const { mutate: bulkUpdate } = useBulkUpdateRoles({\n enabled: isUpdatePermissionGranted,\n });\n\n const permissions = sortPermissionsBySequence(permissionData);\n const permissionGroups = getPermissionGroups(permissions);\n\n const filteredRoles = filter(\n ({ name }) =>\n includes(searchTerm.toLowerCase().trim(), name.toLowerCase().trim()),\n isNotEmpty(modifiedRoles) ? modifiedRoles : roles\n );\n\n const handleSubmit = () => {\n const updatedRoles = getModifiedPermissions(roles, modifiedRoles);\n bulkUpdate({ organizationRoles: { updatedRoles } });\n };\n\n const handleReset = () => setModifiedRoles(roles);\n\n useEffect(() => {\n if (status !== \"success\") return;\n setModifiedRoles(roles);\n }, [roles, status]);\n if (isRolesLoading || isPermissionsLoading) {\n return (\n <div className=\"flex h-full min-h-screen w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <ScrollSync>\n <Container isHeaderFixed>\n <Header\n {...{\n config,\n handleReset,\n handleSubmit,\n roles,\n setIsNewRolePaneOpen,\n }}\n />\n <Table\n {...{\n config,\n filteredRoles,\n permissionGroups,\n permissions,\n roles,\n setIsNewRolePaneOpen,\n setModifiedRoles,\n }}\n />\n </Container>\n </ScrollSync>\n <ManageRoles\n {...{ config, permissions }}\n isOpen={isNewRolePaneOpen}\n onClose={() => setIsNewRolePaneOpen(false)}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(Roles),\n i18next.t(\"neetoTeamMembers.common.role\", PLURAL)\n);\n"],"names":["fetch","axios","get","concat","BASE_URL","permissionsApi","useFetchPermissions","options","arguments","length","undefined","useQuery","_objectSpread","queryKey","QUERY_KEYS","PERMISSIONS","queryFn","select","response","permissions","renderSearchProps","placeholder","t","PLURAL","renderBreadcrumbs","breadcrumbs","text","taxonomies","member","plural","link","AddRoleButton","_ref","config","onClick","_useTranslation","useTranslation","isCreatePermissionGranted","create","_jsx","Tooltip","content","disabled","position","children","Button","label","Header","_config$header","_config$header$titleH","_config$header2","handleReset","handleSubmit","_ref$isDirty","isDirty","setIsNewRolePaneOpen","roles","isUpdatePermissionGranted","update","NeetoHeader","header","className","searchProps","isNotEmpty","title","titleHelpPopoverProps","actionBlock","_jsxs","_Fragment","type","style","ROLE_NAME_MAX_LENGTH","ROLE_DESCRIPTION_MAX_LENGTH","ADD_ROLE_FORM_VALIDATION_SCHEMA","object","name","string","trim","max","limit","required","description","nullable","ADD_ROLE_FORM_INITIAL_VALUES","permissionIds","ROLE_FORMIK_PROPS","validationSchema","ManageRoles","_selectedRole$permiss","_ref$isOpen","isOpen","onClose","_ref$permissions","_ref$selectedRole","selectedRole","_ref$scrollTo","scrollTo","formReference","useRef","inputReference","lastScrollKeyRef","_useCreateRole","useCreateRole","onSuccess","createRole","mutate","isCreatingRole","isPending","_useUpdateRole","useUpdateRole","updateRole","isUpdatingRole","isEdit","isPresent","isSubmitting","formValues","payload","organizationRole","id","initialValues","sort","formikProps","onSubmit","isReadOnly","kind","isDisabled","ADMIN_ROLES","includes","useEffect","_selectedRole$id","_ref2","_scrollTo$permissionI","activeClassName","blinkClassName","getScrollableParent","node","current","parentElement","getComputedStyle","overflowY","isScrollable","scrollHeight","clientHeight","document","scrollingElement","documentElement","querySelectorAll","forEach","classList","remove","key","permissionId","category","timeoutId","highlightTimeoutId","blinkTimeoutId","scrollEndTimeoutId","attempts","highlightedCard","blinkedPermissionCard","attemptScroll","elementId","hyphenate","el","getElementById","scrollIntoView","behavior","block","categoryCard","closest","querySelector","scrollContainer","startHighlight","add","clearTimeout","setTimeout","animationDurationMs","animationIterations","totalDurationMs","startBlink","offsetWidth","started","maxWaitTimeoutId","removeEventListener","scheduleStart","addEventListener","passive","_highlightedCard","_blinkedPermissionCar","Pane","initialFocusRef","size","Typography","Form","ref","_ref3","_config$permissionRel","dirty","ScrollToErrorField","formRef","Body","Input","unlimitedChars","maxLength","readOnly","Textarea","Permissions","permissionRelationConfig","permissionRelation","Footer","ActionBlock","cancelButtonProps","submitButtonProps","DEFAULT_MANAGE_ROLE_VALUES","isDelete","MENU_ITEMS","EDIT","DELETE","deepClone","objectType","_typeof","result","Array","isArray","constructor","Map","_iterator","_createForOfIteratorHelper","keys","_step","s","n","done","value","set","err","e","f","Object","prototype","hasOwnProperty","call","renderRolesTooltipContent","roleName","is","updatePermissionVisibility","categoryName","isPermissionVisible","filterPermissionsBySearch","searchTerm","permissionGroups","newValue","filteredPermissions","filter","permission","_permission$descripti","toLowerCase","getMenuItems","isDeletePermissionGranted","role","setManageRole","isSystemRole","not","tooltipProps","isVisible","getRowClientHeight","sidebarItems","from","sidebarItem","_findBy","dataset","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$category","_ref$permission","_ref$setManageRole","noop","allPermissionIdsOfCategory","map","prop","isCheckboxChecked","every","__","classnames","height","identical","Checkbox","checked","onChange","isOverflown","clientWidth","scrollWidth","getScrollBarWidth","innerElement","createElement","outerElement","appendChild","body","w1","overflow","w2","removeChild","renderDescription","permissionTooltip","tooltipContent","Fragment","lineHeight","HelpPopover","icon","InfoRound","getSearchWrapperStyle","scrollBarWidth","setProperty","marginBottom","getFilteredCategories","filteredGroupPermissions","groupedPermissions","TableHeader","setIsScrollPresent","scrollSyncElement","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","ScrollSyncPane","group","index","isAdminRole","weight","MoreDropdown","dropdownProps","autoWidth","dropdownButtonProps","menuItems","memo","Delete","_useDestroyRole","useDestroyRole","deleteRole","isDeleting","handleDelete","_roles$find","newRoleId","find","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","values","Columns","filteredRoles","_useState","useState","_useState2","_slicedToArray","manageRole","categories","useMemo","_createElement","ToggleDropdown","Up","strokeWidth","Down","Sidebar","toggleDropdown","isScrollPresent","_ref$permissionRelati","_ref$permissionToolti","searchWrapperStyle","permissionsNameMap","groupBy","groupedPermissionsWithChildren","childrenRemovedFromRoot","getChildrenRemovedFromRoot","Search","enableUrlSync","searchParamName","pluck","Table","_config$permissionToo","setModifiedRoles","_useQueryParams","useQueryParams","_useQueryParams$permi","permissionSearchTerm","setFilteredGroupPermissions","_useState3","_useState4","_useState5","_useState6","setSelectedRole","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState9","_useState10","isEditPaneOpen","setIsEditPaneOpen","isEmpty","NoData","primaryButtonProps","Roles","isViewPermissionGranted","view","modifiedRoles","isNewRolePaneOpen","_useFetchRoles","useFetchRoles","enabled","_useFetchRoles$data","data","isRolesLoading","isLoading","status","_useQueryParams$searc","_useFetchPermissions","permissionData","isPermissionsLoading","_useBulkUpdateRoles","useBulkUpdateRoles","bulkUpdate","sortPermissionsBySequence","getPermissionGroups","updatedRoles","getModifiedPermissions","organizationRoles","Spinner","ScrollSync","Container","isHeaderFixed","withTitle","withReactQuery","i18next"],"mappings":"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"}
1
+ {"version":3,"file":"Roles.js","sources":["../../app/javascript/src/components/Roles/Header/utils.js","../../app/javascript/src/components/Roles/AddRoleButton.jsx","../../app/javascript/src/components/Roles/Header/index.jsx","../../app/javascript/src/components/Roles/constants.js","../../app/javascript/src/components/Roles/ManageRoles.jsx","../../app/javascript/src/components/Roles/Table/constants.js","../../app/javascript/src/components/Roles/Table/utils.js","../../app/javascript/src/components/Roles/Table/Row.jsx","../../app/javascript/src/components/Roles/Table/Sidebar/utils.jsx","../../app/javascript/src/components/Roles/Table/TableHeader.jsx","../../app/javascript/src/components/Roles/Delete.jsx","../../app/javascript/src/components/Roles/Table/Columns.jsx","../../app/javascript/src/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../../app/javascript/src/components/Roles/Table/Sidebar/index.jsx","../../app/javascript/src/components/Roles/Table/index.jsx","../../app/javascript/src/components/Roles/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { taxonomies } from \"neetocommons/initializers\";\n\nexport const renderSearchProps = () => ({\n \"data-testid\": \"ntm-search-roles-input\",\n placeholder: t(\"neetoTeamMembers.placeholders.searchRole\", PLURAL),\n});\n\nexport const renderBreadcrumbs = breadcrumbs =>\n breadcrumbs ?? [{ text: taxonomies.member.plural, link: \"/members\" }];\n","import { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddRoleButton = ({ config, onClick }) => {\n const { t } = useTranslation();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n return (\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToAddRole\")}\n disabled={isCreatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-add-role-button\"\n disabled={!isCreatePermissionGranted}\n label={t(\"neetoTeamMembers.labels.addNewRole\")}\n onClick={onClick}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderBreadcrumbs, renderSearchProps } from \"./utils\";\n\nimport AddRoleButton from \"../AddRoleButton\";\n\nconst Header = ({\n config,\n handleReset,\n handleSubmit,\n isDirty = false,\n setIsNewRolePaneOpen,\n roles,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n return (\n <NeetoHeader\n breadcrumbs={renderBreadcrumbs(config?.header?.breadcrumbs)}\n className=\"ntm-roles-header\"\n searchProps={isNotEmpty(roles) ? renderSearchProps() : null}\n title={t(\"neetoTeamMembers.common.role\", PLURAL)}\n titleHelpPopoverProps={config?.header?.titleHelpPopoverProps ?? {}}\n actionBlock={\n isDirty ? (\n <>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\")}\n disabled={isUpdatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-role-submission-button\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.buttons.saveChanges\")}\n type=\"submit\"\n onClick={handleSubmit}\n />\n </span>\n </Tooltip>\n <Button\n data-testid=\"ntm-role-reset-button\"\n label={t(\"neetoTeamMembers.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n onClick={handleReset}\n />\n </>\n ) : (\n <AddRoleButton\n {...{ config }}\n onClick={() => setIsNewRolePaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Header;\n","import { t } from \"i18next\";\nimport { string, object } from \"yup\";\n\nexport const ROLE_NAME_MAX_LENGTH = 40;\n\nexport const ROLE_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const ADD_ROLE_FORM_VALIDATION_SCHEMA = object({\n name: string()\n .trim()\n .max(\n ROLE_NAME_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.nameLimitExceeded\", {\n limit: ROLE_NAME_MAX_LENGTH,\n })\n )\n // @ts-ignore\n .required(t(\"neetoTeamMembers.validations.enterRoleName\")),\n description: string()\n .nullable()\n .trim()\n .max(\n ROLE_DESCRIPTION_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.descriptionLimitExceeded\", {\n limit: ROLE_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const ADD_ROLE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n permissionIds: [],\n};\n\nexport const ROLE_FORMIK_PROPS = {\n validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA,\n};\n","import { useEffect, useRef } from \"react\";\n\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useCreateRole, useUpdateRole } from \"hooks/roles/useRolesApi\";\n\nimport {\n ADD_ROLE_FORM_INITIAL_VALUES,\n ROLE_DESCRIPTION_MAX_LENGTH,\n ROLE_FORMIK_PROPS,\n ROLE_NAME_MAX_LENGTH,\n} from \"./constants\";\nimport Permissions from \"./Permissions\";\n\nconst ManageRoles = ({\n config,\n isOpen = false,\n onClose,\n permissions = [],\n selectedRole = {},\n scrollTo = null,\n}) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const lastScrollKeyRef = useRef(null);\n const { mutate: createRole, isPending: isCreatingRole } = useCreateRole({\n onSuccess: onClose,\n });\n\n const { mutate: updateRole, isPending: isUpdatingRole } = useUpdateRole({\n onSuccess: onClose,\n });\n const isEdit = isPresent(selectedRole);\n const isSubmitting = isCreatingRole || isUpdatingRole;\n\n const handleSubmit = formValues => {\n const payload = {\n organizationRole: {\n ...formValues,\n name: formValues.name.trim(),\n description: formValues.description.trim(),\n },\n };\n\n isEdit ? updateRole({ payload, id: selectedRole.id }) : createRole(payload);\n };\n\n const initialValues = isEdit\n ? {\n ...selectedRole,\n permissionIds: selectedRole.permissionIds?.sort(),\n description: selectedRole.description || \"\",\n }\n : ADD_ROLE_FORM_INITIAL_VALUES;\n\n const formikProps = {\n ...ROLE_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n };\n\n const isReadOnly = selectedRole.kind === \"system\";\n const isDisabled = ADMIN_ROLES.includes(selectedRole.name) && isReadOnly;\n\n useEffect(() => {\n const activeClassName = \"ntm-roles-permission-category-card--active\";\n const blinkClassName = \"ntm-roles-permission__card--blink\";\n\n const getScrollableParent = node => {\n let current = node?.parentElement;\n while (current) {\n const style = getComputedStyle(current);\n const overflowY = style.overflowY;\n const isScrollable =\n (overflowY === \"auto\" || overflowY === \"scroll\") &&\n current.scrollHeight > current.clientHeight;\n if (isScrollable) return current;\n current = current.parentElement;\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n if (!isOpen) {\n lastScrollKeyRef.current = null;\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n return () => {};\n }\n\n if (!scrollTo) return () => {};\n\n const key = `${selectedRole?.id ?? \"new\"}:${scrollTo.type}:${\n scrollTo.permissionId ?? scrollTo.category ?? \"\"\n }`;\n if (lastScrollKeyRef.current === key) return () => {};\n lastScrollKeyRef.current = key;\n\n let timeoutId;\n let highlightTimeoutId;\n let blinkTimeoutId;\n let scrollEndTimeoutId;\n let attempts = 0;\n let highlightedCard = null;\n let blinkedPermissionCard = null;\n\n const attemptScroll = () => {\n attempts += 1;\n const elementId =\n scrollTo.type === \"permission\"\n ? `ntm-role-permission-${scrollTo.permissionId}`\n : `ntm-role-permission-category-${hyphenate(scrollTo.category || \"\")}`;\n\n const el = document.getElementById(elementId);\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n\n const categoryCard =\n scrollTo.type === \"permission\"\n ? el.closest(\".ntm-roles-permission-category-card\")\n : el.querySelector(\".ntm-roles-permission-category-card\");\n\n const scrollContainer = getScrollableParent(el);\n\n const startHighlight = () => {\n if (!categoryCard) return;\n\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n categoryCard.classList.add(activeClassName);\n highlightedCard = categoryCard;\n\n clearTimeout(highlightTimeoutId);\n highlightTimeoutId = setTimeout(() => {\n categoryCard.classList.remove(activeClassName);\n }, 3000);\n };\n\n if (scrollTo.type === \"permission\") {\n const animationDurationMs = 600;\n const animationIterations = 3;\n const totalDurationMs =\n animationDurationMs * animationIterations + 100;\n\n const startBlink = () => {\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n el.classList.remove(blinkClassName);\n // Restart animation if the class was already present\n void el.offsetWidth;\n el.classList.add(blinkClassName);\n blinkedPermissionCard = el;\n\n clearTimeout(blinkTimeoutId);\n blinkTimeoutId = setTimeout(() => {\n el.classList.remove(blinkClassName);\n }, totalDurationMs);\n };\n\n // Start animation only after scroll settles (or after a max wait).\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n } else {\n // Highlight should also start only after scroll settles.\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n }\n\n return;\n }\n\n // Pane content can mount after open animation; retry briefly.\n if (attempts < 5) timeoutId = setTimeout(attemptScroll, 100);\n };\n\n timeoutId = setTimeout(attemptScroll, 0);\n\n return () => {\n clearTimeout(timeoutId);\n clearTimeout(highlightTimeoutId);\n clearTimeout(blinkTimeoutId);\n clearTimeout(scrollEndTimeoutId);\n highlightedCard?.classList.remove(activeClassName);\n blinkedPermissionCard?.classList.remove(blinkClassName);\n };\n }, [isOpen, scrollTo, selectedRole?.id]);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={!isEdit ? inputReference : undefined}\n size=\"large\"\n >\n <Pane.Header>\n <Typography data-testid=\"ntm-add-role-title\" style=\"h2\">\n {isEdit\n ? t(\"neetoTeamMembers.labels.editRole\")\n : t(\"neetoTeamMembers.labels.addNewRole\")}\n </Typography>\n </Pane.Header>\n <Form {...{ formikProps }} ref={formReference}>\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Pane.Body>\n <div className=\"ntm-roles-pane__body\">\n <div className=\"ntm-roles-pane__body-wrapper\">\n <Input\n required\n unlimitedChars\n data-testid=\"ntm-add-role-name-text-field\"\n label={t(\"neetoTeamMembers.common.name\")}\n maxLength={ROLE_NAME_MAX_LENGTH}\n name=\"name\"\n placeholder={t(\"neetoTeamMembers.placeholders.enterName\")}\n readOnly={isReadOnly}\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-testid=\"ntm-add-role-description-text-field\"\n label={t(\"neetoTeamMembers.common.description\")}\n maxLength={ROLE_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n readOnly={isDisabled}\n placeholder={t(\n \"neetoTeamMembers.placeholders.enterDescription\"\n )}\n />\n </div>\n <Permissions\n {...{ isDisabled, permissions }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n className=\"ntm-roles-pane__footer\"\n cancelButtonProps={{\n \"data-testid\": \"ntm-add-role-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-add-role-submit-button\",\n disabled: isSubmitting || isDisabled || !dirty,\n }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default ManageRoles;\n","export const DEFAULT_MANAGE_ROLE_VALUES = {\n isDelete: false,\n isEdit: false,\n selectedRole: {},\n scrollTo: null,\n};\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { _findBy } from \"neetocist\";\nimport { not } from \"ramda\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst deepClone = object => {\n if (!object || true === object) {\n //this also handles boolean as true and false\n return object;\n }\n const objectType = typeof object;\n if (\"number\" === objectType || \"string\" === objectType) {\n // add your immutables here\n return object;\n }\n\n let result = null;\n if (Array.isArray(object)) {\n result = [];\n } else if (!object.constructor) {\n result = {};\n } else {\n result = new object.constructor();\n }\n\n if (object instanceof Map) {\n for (const key of object.keys()) {\n result.set(key, deepClone(object.get(key)));\n }\n }\n\n Object.keys(object).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n result[key] = deepClone(object[key]);\n }\n });\n\n return result;\n};\n\nexport const renderRolesTooltipContent = roleName =>\n Object.is(roleName, \"Admin\") || Object.is(roleName, \"Owner\")\n ? t(\"neetoTeamMembers.tooltips.adminMustHaveAccess\", { roleName })\n : t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\");\n\nexport const removeDuplicates = array => [...new Set(array)];\n\nexport const updatePermissionVisibility = (categoryName, permissions) => {\n const category = permissions.get(categoryName);\n const isPermissionVisible = category.get(\"isPermissionVisible\");\n category.set(\"isPermissionVisible\", !isPermissionVisible);\n\n return new Map(permissions.set(categoryName, category));\n};\n\nexport const filterPermissionsBySearch = (searchTerm, permissionGroups) => {\n const newValue = deepClone(permissionGroups);\n newValue.forEach(value => {\n const permissions = value.get(\"permissions\");\n\n const filteredPermissions = permissions.filter(permission =>\n permission?.description\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchTerm.toLowerCase().trim())\n );\n value.set(\"permissions\", filteredPermissions);\n });\n\n return newValue;\n};\n\nexport const getMenuItems = ({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n}) => [\n {\n key: MENU_ITEMS.EDIT,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-edit-role-button\",\n isDisabled: not(isUpdatePermissionGranted),\n size: \"small\",\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\"),\n disabled: isUpdatePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.edit\"),\n onClick: () =>\n setManageRole({ isEdit: true, selectedRole: role, scrollTo: null }),\n },\n {\n key: MENU_ITEMS.DELETE,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-delete-role-button\",\n isDisabled: not(isDeletePermissionGranted),\n size: \"small\",\n isVisible: not(isSystemRole),\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToRemoveRoles\"),\n disabled: isDeletePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.delete\"),\n onClick: () =>\n setManageRole({ isDelete: true, selectedRole: role, scrollTo: null }),\n },\n];\n\nexport const getRowClientHeight = permission => {\n const sidebarItems = Array.from(\n document.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n )\n );\n\n const sidebarItem = _findBy(\n { dataset: { name: permission?.description } },\n sidebarItems\n );\n\n return sidebarItem?.clientHeight;\n};\n","import classnames from \"classnames\";\nimport { noop, hyphenate } from \"neetocist\";\nimport { Checkbox, Tooltip } from \"neetoui\";\nimport { __, identical, includes, map, prop } from \"ramda\";\n\nimport { getRowClientHeight, renderRolesTooltipContent } from \"./utils\";\n\nconst Row = ({\n allPermissionsOfCategory = null,\n category = \"\",\n config,\n permission = null,\n roles,\n setManageRole = noop,\n}) => {\n const isUpdatePermissionGranted = config.permissions.update;\n\n const permissions = allPermissionsOfCategory?.get(\"permissions\") || [];\n const allPermissionIdsOfCategory = map(prop(\"id\"), permissions);\n\n const handleSubmit = role => {\n const scrollTo = permission?.id\n ? { type: \"permission\", permissionId: permission.id }\n : { type: \"category\", category };\n\n setManageRole({ isEdit: true, selectedRole: role, scrollTo });\n };\n\n const isCheckboxChecked = role =>\n !allPermissionsOfCategory\n ? includes(permission?.id, role.permissionIds)\n : allPermissionIdsOfCategory.every(includes(__, role.permissionIds));\n\n return (\n <div\n className={classnames(\"ntm-roles-table__row\", {\n \"ntm-roles-table__row--highlighted\": !!allPermissionsOfCategory,\n })}\n >\n {roles.map(role => (\n <div\n className=\"ntm-roles-table__cell\"\n data-testid={`${hyphenate(role.name)}-role-cell`}\n key={role.id}\n style={{ height: getRowClientHeight(permission) }}\n >\n <Tooltip\n content={renderRolesTooltipContent(role.name)}\n position=\"top\"\n disabled={\n isUpdatePermissionGranted &&\n !identical(role.name, \"Admin\") &&\n !identical(role.name, \"Owner\")\n }\n >\n <div className=\"ntm-roles-table-cell__checkbox-wrapper\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox\"\n data-testid=\"ntm-roles-table-permission-checkbox\"\n disabled={\n identical(role.name, \"Admin\") ||\n identical(role.name, \"Owner\") ||\n !isUpdatePermissionGranted\n }\n onChange={() => handleSubmit(role)}\n />\n </div>\n </Tooltip>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Row;\n","import { Fragment } from \"react\";\n\nimport { InfoRound } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport { getScrollBarWidth } from \"common/utils\";\n\nimport { ROLES_TABLE_CELL_HEIGHT_VARIABLE } from \"./constants\";\n\nconst getCurrentTableCellHeight = () =>\n parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE\n ),\n 10\n );\n\nexport const renderDescription = (\n permissions,\n filteredPermissions,\n permissionTooltip = {}\n) =>\n permissions?.map(({ id, name, description, children }) => {\n const tooltipContent = permissionTooltip[name];\n\n return (\n <Fragment key={id}>\n {filteredPermissions.includes(id) && (\n <div\n className=\"ntm-roles-table-sidebar__list-item\"\n data-name={description}\n >\n <Typography\n data-testid=\"ntm-permission-category-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {tooltipContent && (\n <HelpPopover\n description={tooltipContent}\n icon={InfoRound}\n size=\"default\"\n />\n )}\n </div>\n )}\n <div className=\"neeto-ui-relative neeto-ui-pl-6 ntm-roles-table-sidebar__sub-blocks\">\n {renderDescription(children, filteredPermissions, permissionTooltip)}\n </div>\n </Fragment>\n );\n });\n\nexport const getSearchWrapperStyle = () => {\n const scrollBarWidth = getScrollBarWidth();\n\n document.documentElement.style.setProperty(\n \"--ntm-roles-table-default-scroll\",\n `${scrollBarWidth}px`\n );\n\n return { marginBottom: `${scrollBarWidth}px` };\n};\n\nexport const assignRolesTableCellHeight = () => {\n const sidebarItems = [\n ...document.getElementsByClassName(\"ntm-roles-table-sidebar__list-item\"),\n ];\n const clientHeights = pluck(\"clientHeight\", sidebarItems);\n const maxClientHeight = Math.max(...clientHeights);\n const currentTableCellHeight = getCurrentTableCellHeight();\n\n if (maxClientHeight > currentTableCellHeight) {\n document.documentElement.style.setProperty(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE,\n `${maxClientHeight}px`\n );\n }\n};\n\nexport const getFilteredCategories = filteredGroupPermissions =>\n Array.from(filteredGroupPermissions?.keys() || []).filter(category => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const permissions = groupedPermissions.get(\"permissions\") || [];\n\n return permissions.length > 0;\n });\n","import { useEffect, useCallback, useRef, memo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { Typography } from \"neetoui\";\nimport { identical } from \"ramda\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\n\nimport { getMenuItems } from \"./utils\";\n\nconst TableHeader = ({ config, roles, setManageRole, setIsScrollPresent }) => {\n const isUpdatePermissionGranted = config.permissions.update;\n const isDeletePermissionGranted = config.permissions.delete;\n\n const scrollSyncElement = useRef(null);\n\n const getOverflowStatus = useCallback(() => {\n if (!scrollSyncElement.current) return;\n\n const headerElement = scrollSyncElement.current.node;\n const isScrollBarPresent = isOverflown(headerElement);\n setIsScrollPresent(isScrollBarPresent);\n }, [setIsScrollPresent]);\n\n useEffect(() => {\n addEventListener(\"resize\", getOverflowStatus);\n\n return () => removeEventListener(\"resize\", getOverflowStatus);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(getOverflowStatus, [getOverflowStatus, scrollSyncElement, roles]);\n\n return (\n <ScrollSyncPane group=\"horizontal\" ref={scrollSyncElement}>\n <div className=\"ntm-roles-table__header\" data-testid=\"ntm-roles-table-header\">\n {roles?.map((role, index) => {\n const isSystemRole = identical(\"system\", role.kind);\n const isAdminRole = ADMIN_ROLES.includes(role.name) && isSystemRole;\n\n return (\n <div className=\"ntm-roles-table__cell\" key={`ntm-roles-${index}`}>\n <div\n className=\"ntm-roles-table-header-cell__container\"\n data-testid=\"ntm-roles-table-role-header\"\n >\n <Typography\n className=\"ntm-roles-table-header__role-name\"\n data-testid=\"ntm-roles-table-header-role-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!isAdminRole && (\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n dropdownButtonProps={{\n className: \"ntm-roles-table-header__dropdown\",\n \"data-testid\": \"ntm-roles-table-header-role-dropdown-button\",\n }}\n menuItems={getMenuItems({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n })}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n );\n};\n\nexport default memo(TableHeader);\n","import { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyRole } from \"hooks/roles/useRolesApi\";\n\nconst Delete = ({ isOpen, onClose, selectedRole, roles }) => {\n const { t } = useTranslation();\n const { mutate: deleteRole, isPending: isDeleting } = useDestroyRole({\n onSuccess: onClose,\n });\n\n const handleDelete = () => {\n const { id } = selectedRole;\n const payload = { newRoleId: roles.find(role => role.id !== id)?.id };\n deleteRole({ id, payload });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.delete\")}\n title={t(\"neetoTeamMembers.labels.deleteRole\")}\n message={\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.deletingRole\"\n values={{ name: selectedRole?.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","import { useState, useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { hyphenate } from \"neetocist\";\n\nimport { DEFAULT_MANAGE_ROLE_VALUES } from \"./constants\";\nimport Row from \"./Row\";\nimport { getFilteredCategories } from \"./Sidebar/utils\";\nimport TableHeader from \"./TableHeader\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Columns = ({\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n}) => {\n const [manageRole, setManageRole] = useState(DEFAULT_MANAGE_ROLE_VALUES);\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const onClose = () => setManageRole(DEFAULT_MANAGE_ROLE_VALUES);\n\n return (\n <div className=\"ntm-roles-table__columns\">\n <TableHeader\n {...{ config, setIsScrollPresent, setManageRole }}\n roles={filteredRoles}\n />\n <ScrollSyncPane group={[\"horizontal\", \"vertical\"]}>\n <div className=\"ntm-roles-table__rows\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table__empty-row\">\n <div className=\"ntm-roles-table__row\">\n <div className=\"ntm-roles-table__cell\">\n <div className=\"ntm-roles-table__cell-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div\n data-testid={`${hyphenate(category)}-permission-card`}\n key={index}\n >\n <Row\n {...{ category, config, setManageRole }}\n allPermissionsOfCategory={groupedPermissions}\n roles={filteredRoles}\n />\n {isPermissionVisible &&\n permissions.map(permission => (\n <Row\n {...{ config, permission, setManageRole }}\n data-testid={`${hyphenate(permission)}-permission-row`}\n key={permission.id}\n roles={filteredRoles}\n />\n ))}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n <ManageRoles\n {...{ config, onClose, permissions }}\n isOpen={manageRole.isEdit}\n scrollTo={manageRole.scrollTo}\n selectedRole={manageRole.selectedRole}\n />\n <Delete\n {...{ onClose, roles }}\n isOpen={manageRole.isDelete}\n selectedRole={manageRole.selectedRole}\n />\n </div>\n );\n};\n\nexport default Columns;\n","import { Down, Up } from \"neetoicons\";\n\nconst ToggleDropdown = ({ isVisible }) =>\n isVisible ? (\n <Up\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n />\n ) : (\n <Down\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-show-button\"\n size={16}\n strokeWidth={2}\n />\n );\n\nexport default ToggleDropdown;\n","import { useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Search from \"neetomolecules/Search\";\nimport { Typography } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getChildrenRemovedFromRoot } from \"components/Roles/utils\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n getSearchWrapperStyle,\n renderDescription,\n getFilteredCategories,\n} from \"./utils\";\n\nconst Sidebar = ({\n filteredGroupPermissions,\n toggleDropdown,\n isScrollPresent,\n permissions = [],\n permissionRelationConfig = {},\n permissionTooltip = {},\n}) => {\n const { t } = useTranslation();\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};\n\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const groupedPermissionsWithChildren = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]);\n\n return (\n <div className=\"ntm-roles-table__sidebar\">\n <div\n className=\"ntm-roles-table-sidebar__search\"\n style={searchWrapperStyle}\n >\n <Search\n enableUrlSync\n data-testid=\"ntm-search-permissions-input\"\n searchParamName=\"permission_search_term\"\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchPermission\",\n PLURAL\n )}\n />\n </div>\n <ScrollSyncPane group=\"vertical\">\n <div className=\"ntm-roles-table-sidebar__list\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table-sidebar__list-item-cell\">\n <div className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted\">\n <Typography\n data-testid=\"ntm-empty-category-row\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoTeamMembers.labels.permissionsNotFound\")}\n </Typography>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n\n return (\n <div\n className=\"ntm-roles-table-sidebar__list-item-cell\"\n key={index}\n >\n <div\n className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted cursor-pointer\"\n onClick={() => toggleDropdown(category)}\n >\n <Typography\n className=\"ntm-roles-table-sidebar__list-item-title\"\n data-testid=\"ntm-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <ToggleDropdown isVisible={isPermissionVisible} />\n </div>\n {isPermissionVisible && (\n <div className=\"ntm-roles-table-sidebar__list-item-spacing-handler ms-[12px] px-[24px]\">\n {renderDescription(\n groupedPermissionsWithChildren[category],\n pluck(\n \"id\",\n filteredGroupPermissions\n .get(category)\n .get(\"permissions\") || []\n ),\n permissionTooltip\n )}\n </div>\n )}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n </div>\n );\n};\n\nexport default Sidebar;\n","import { useEffect, useState } from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport { filterPermissionsBySearch, updatePermissionVisibility } from \"./utils\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Table = ({\n config,\n filteredRoles,\n roles,\n permissionGroups,\n permissions,\n setModifiedRoles,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const { permissionSearchTerm = \"\" } = useQueryParams();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n const [filteredGroupPermissions, setFilteredGroupPermissions] =\n useState(permissionGroups);\n const [isScrollPresent, setIsScrollPresent] = useState(false);\n\n const [selectedRole, setSelectedRole] = useState(undefined);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n\n const toggleDropdown = category => {\n const permissions = updatePermissionVisibility(\n category,\n filteredGroupPermissions\n );\n setFilteredGroupPermissions(permissions);\n };\n\n useEffect(() => {\n const newValue = filterPermissionsBySearch(\n permissionSearchTerm,\n permissionGroups\n );\n setFilteredGroupPermissions(newValue);\n }, [permissionGroups, permissionSearchTerm]);\n\n return (\n <>\n <div className=\"ntm-roles-table__wrapper\">\n <div className=\"ntm-roles-table__container\">\n {isEmpty(filteredRoles) ? (\n <div className=\"ntm-empty-state\">\n <NoData\n title={t(\"neetoTeamMembers.labels.roleNotFound\", PLURAL)}\n primaryButtonProps={{\n \"data-testid\": \"ntm-add-role-button\",\n disabled: !isCreatePermissionGranted,\n label: t(\"neetoTeamMembers.labels.addNewRole\"),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n />\n </div>\n ) : (\n <>\n <Sidebar\n {...{\n filteredGroupPermissions,\n isScrollPresent,\n permissions,\n toggleDropdown,\n }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n permissionTooltip={config?.permissionTooltip ?? {}}\n />\n <Columns\n {...{\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n setModifiedRoles,\n }}\n />\n </>\n )}\n </div>\n </div>\n <ManageRoles\n {...{ config, permissions, selectedRole }}\n isOpen={isEditPaneOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsEditPaneOpen(false);\n }}\n />\n <Delete\n {...{ roles, selectedRole }}\n isOpen={isDeleteAlertOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsDeleteAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { ScrollSync } from \"@bigbinary/react-scroll-sync\";\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams, withTitle } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport { filter, includes } from \"ramda\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/pages/roles.css\";\n\nimport Header from \"./Header\";\nimport ManageRoles from \"./ManageRoles\";\nimport Table from \"./Table\";\nimport {\n getModifiedPermissions,\n getPermissionGroups,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Roles = ({ config }) => {\n const isViewPermissionGranted = config.permissions.view;\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [modifiedRoles, setModifiedRoles] = useState([]);\n const [isNewRolePaneOpen, setIsNewRolePaneOpen] = useState(false);\n const {\n data: roles = [],\n isLoading: isRolesLoading,\n status,\n } = useFetchRoles({ enabled: isViewPermissionGranted });\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const { data: permissionData, isLoading: isPermissionsLoading } =\n useFetchPermissions({ enabled: isViewPermissionGranted });\n\n const { mutate: bulkUpdate } = useBulkUpdateRoles({\n enabled: isUpdatePermissionGranted,\n });\n\n const permissions = sortPermissionsBySequence(permissionData);\n const permissionGroups = getPermissionGroups(permissions);\n\n const filteredRoles = filter(\n ({ name }) =>\n includes(searchTerm.toLowerCase().trim(), name.toLowerCase().trim()),\n isNotEmpty(modifiedRoles) ? modifiedRoles : roles\n );\n\n const handleSubmit = () => {\n const updatedRoles = getModifiedPermissions(roles, modifiedRoles);\n bulkUpdate({ organizationRoles: { updatedRoles } });\n };\n\n const handleReset = () => setModifiedRoles(roles);\n\n useEffect(() => {\n if (status !== \"success\") return;\n setModifiedRoles(roles);\n }, [roles, status]);\n if (isRolesLoading || isPermissionsLoading) {\n return (\n <div className=\"flex h-full min-h-screen w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <ScrollSync>\n <Container isHeaderFixed>\n <Header\n {...{\n config,\n handleReset,\n handleSubmit,\n roles,\n setIsNewRolePaneOpen,\n }}\n />\n <Table\n {...{\n config,\n filteredRoles,\n permissionGroups,\n permissions,\n roles,\n setIsNewRolePaneOpen,\n setModifiedRoles,\n }}\n />\n </Container>\n </ScrollSync>\n <ManageRoles\n {...{ config, permissions }}\n isOpen={isNewRolePaneOpen}\n onClose={() => setIsNewRolePaneOpen(false)}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(Roles),\n i18next.t(\"neetoTeamMembers.common.role\", PLURAL)\n);\n"],"names":["renderSearchProps","placeholder","t","PLURAL","renderBreadcrumbs","breadcrumbs","text","taxonomies","member","plural","link","AddRoleButton","_ref","config","onClick","_useTranslation","useTranslation","isCreatePermissionGranted","permissions","create","_jsx","Tooltip","content","disabled","position","children","Button","label","Header","_config$header","_config$header$titleH","_config$header2","handleReset","handleSubmit","_ref$isDirty","isDirty","setIsNewRolePaneOpen","roles","isUpdatePermissionGranted","update","NeetoHeader","header","className","searchProps","isNotEmpty","title","titleHelpPopoverProps","actionBlock","_jsxs","_Fragment","type","style","ROLE_NAME_MAX_LENGTH","ROLE_DESCRIPTION_MAX_LENGTH","ADD_ROLE_FORM_VALIDATION_SCHEMA","object","name","string","trim","max","limit","required","description","nullable","ADD_ROLE_FORM_INITIAL_VALUES","permissionIds","ROLE_FORMIK_PROPS","validationSchema","ManageRoles","_selectedRole$permiss","_ref$isOpen","isOpen","onClose","_ref$permissions","_ref$selectedRole","selectedRole","_ref$scrollTo","scrollTo","formReference","useRef","inputReference","lastScrollKeyRef","_useCreateRole","useCreateRole","onSuccess","createRole","mutate","isCreatingRole","isPending","_useUpdateRole","useUpdateRole","updateRole","isUpdatingRole","isEdit","isPresent","isSubmitting","formValues","payload","organizationRole","_objectSpread","id","initialValues","sort","formikProps","onSubmit","isReadOnly","kind","isDisabled","ADMIN_ROLES","includes","useEffect","_selectedRole$id","_ref2","_scrollTo$permissionI","activeClassName","blinkClassName","getScrollableParent","node","current","parentElement","getComputedStyle","overflowY","isScrollable","scrollHeight","clientHeight","document","scrollingElement","documentElement","querySelectorAll","concat","forEach","classList","remove","key","permissionId","category","timeoutId","highlightTimeoutId","blinkTimeoutId","scrollEndTimeoutId","attempts","highlightedCard","blinkedPermissionCard","attemptScroll","elementId","hyphenate","el","getElementById","scrollIntoView","behavior","block","categoryCard","closest","querySelector","scrollContainer","startHighlight","add","clearTimeout","setTimeout","animationDurationMs","animationIterations","totalDurationMs","startBlink","offsetWidth","started","maxWaitTimeoutId","removeEventListener","scheduleStart","addEventListener","passive","_highlightedCard","_blinkedPermissionCar","Pane","initialFocusRef","undefined","size","Typography","Form","ref","_ref3","_config$permissionRel","dirty","ScrollToErrorField","formRef","Body","Input","unlimitedChars","maxLength","readOnly","Textarea","Permissions","permissionRelationConfig","permissionRelation","Footer","ActionBlock","cancelButtonProps","submitButtonProps","DEFAULT_MANAGE_ROLE_VALUES","isDelete","MENU_ITEMS","EDIT","DELETE","deepClone","objectType","_typeof","result","Array","isArray","constructor","Map","_iterator","_createForOfIteratorHelper","keys","_step","s","n","done","value","set","get","err","e","f","Object","prototype","hasOwnProperty","call","renderRolesTooltipContent","roleName","is","updatePermissionVisibility","categoryName","isPermissionVisible","filterPermissionsBySearch","searchTerm","permissionGroups","newValue","filteredPermissions","filter","permission","_permission$descripti","toLowerCase","getMenuItems","isDeletePermissionGranted","role","setManageRole","isSystemRole","not","tooltipProps","isVisible","getRowClientHeight","sidebarItems","from","sidebarItem","_findBy","dataset","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$category","_ref$permission","_ref$setManageRole","noop","allPermissionIdsOfCategory","map","prop","isCheckboxChecked","every","__","classnames","height","identical","Checkbox","checked","onChange","renderDescription","permissionTooltip","arguments","length","tooltipContent","Fragment","lineHeight","HelpPopover","icon","InfoRound","getSearchWrapperStyle","scrollBarWidth","getScrollBarWidth","setProperty","marginBottom","getFilteredCategories","filteredGroupPermissions","groupedPermissions","TableHeader","setIsScrollPresent","scrollSyncElement","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","isOverflown","ScrollSyncPane","group","index","isAdminRole","weight","MoreDropdown","dropdownProps","autoWidth","dropdownButtonProps","menuItems","memo","Delete","_useDestroyRole","useDestroyRole","deleteRole","isDeleting","handleDelete","_roles$find","newRoleId","find","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","values","Columns","filteredRoles","_useState","useState","_useState2","_slicedToArray","manageRole","categories","useMemo","_createElement","ToggleDropdown","Up","strokeWidth","Down","Sidebar","toggleDropdown","isScrollPresent","_ref$permissionRelati","_ref$permissionToolti","searchWrapperStyle","permissionsNameMap","groupBy","groupedPermissionsWithChildren","childrenRemovedFromRoot","getChildrenRemovedFromRoot","Search","enableUrlSync","searchParamName","pluck","Table","_config$permissionToo","setModifiedRoles","_useQueryParams","useQueryParams","_useQueryParams$permi","permissionSearchTerm","setFilteredGroupPermissions","_useState3","_useState4","_useState5","_useState6","setSelectedRole","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState9","_useState10","isEditPaneOpen","setIsEditPaneOpen","isEmpty","NoData","primaryButtonProps","Roles","isViewPermissionGranted","view","modifiedRoles","isNewRolePaneOpen","_useFetchRoles","useFetchRoles","enabled","_useFetchRoles$data","data","isRolesLoading","isLoading","status","_useQueryParams$searc","_useFetchPermissions","useFetchPermissions","permissionData","isPermissionsLoading","_useBulkUpdateRoles","useBulkUpdateRoles","bulkUpdate","sortPermissionsBySequence","getPermissionGroups","updatedRoles","getModifiedPermissions","organizationRoles","Spinner","ScrollSync","Container","isHeaderFixed","withTitle","withReactQuery","i18next"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;EAAA,OAAU;AACtC,IAAA,aAAa,EAAE,wBAAwB;AACvCC,IAAAA,WAAW,EAAEC,SAAC,CAAC,0CAA0C,EAAEC,gBAAM;GAClE;AAAA,CAAC;AAEK,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,WAAW,EAAA;AAAA,EAAA,OAC1CA,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAXA,WAAW,GAAI,CAAC;AAAEC,IAAAA,IAAI,EAAEC,uBAAU,CAACC,MAAM,CAACC,MAAM;AAAEC,IAAAA,IAAI,EAAE;AAAW,GAAC,CAAC;AAAA,CAAA;;ACPvE,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAA4B;AAAA,EAAA,IAAtBC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;AACtC,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBd,CAAC,GAAAa,eAAA,CAADb,CAAC;AAET,EAAA,IAAMe,yBAAyB,GAAGJ,MAAM,CAACK,WAAW,CAACC,MAAM;EAE3D,oBACEC,cAAA,CAACC,wBAAO,EAAA;AACNC,IAAAA,OAAO,EAAEpB,CAAC,CAAC,iDAAiD,CAAE;AAC9DqB,IAAAA,QAAQ,EAAEN,yBAA0B;AACpCO,IAAAA,QAAQ,EAAC,QAAQ;AAAAC,IAAAA,QAAA,eAEjBL,cAAA,CAAA,MAAA,EAAA;MAAAK,QAAA,eACEL,cAAA,CAACM,uBAAM,EAAA;AACL,QAAA,aAAA,EAAY,qBAAqB;QACjCH,QAAQ,EAAE,CAACN,yBAA0B;AACrCU,QAAAA,KAAK,EAAEzB,CAAC,CAAC,oCAAoC,CAAE;AAC/CY,QAAAA,OAAO,EAAEA;OACV;KACG;AAAC,GACA,CAAC;AAEd,CAAC;;ACdD,IAAMc,MAAM,GAAG,SAATA,MAAMA,CAAAhB,IAAA,EAON;AAAA,EAAA,IAAAiB,cAAA,EAAAC,qBAAA,EAAAC,eAAA;AAAA,EAAA,IANJlB,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNmB,WAAW,GAAApB,IAAA,CAAXoB,WAAW;IACXC,YAAY,GAAArB,IAAA,CAAZqB,YAAY;IAAAC,YAAA,GAAAtB,IAAA,CACZuB,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,YAAA;IACfE,oBAAoB,GAAAxB,IAAA,CAApBwB,oBAAoB;IACpBC,KAAK,GAAAzB,IAAA,CAALyB,KAAK;AAEL,EAAA,IAAAtB,eAAA,GAAcC,2BAAc,EAAE;IAAtBd,CAAC,GAAAa,eAAA,CAADb,CAAC;AAET,EAAA,IAAMoC,yBAAyB,GAAGzB,MAAM,CAACK,WAAW,CAACqB,MAAM;EAE3D,oBACEnB,cAAA,CAACoB,4BAAW,EAAA;AACVnC,IAAAA,WAAW,EAAED,iBAAiB,CAACS,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAgB,cAAA,GAANhB,MAAM,CAAE4B,MAAM,MAAA,IAAA,IAAAZ,cAAA,uBAAdA,cAAA,CAAgBxB,WAAW,CAAE;AAC5DqC,IAAAA,SAAS,EAAC,kBAAkB;IAC5BC,WAAW,EAAEC,oBAAU,CAACP,KAAK,CAAC,GAAGrC,iBAAiB,EAAE,GAAG,IAAK;AAC5D6C,IAAAA,KAAK,EAAE3C,CAAC,CAAC,8BAA8B,EAAEC,gBAAM,CAAE;IACjD2C,qBAAqB,EAAA,CAAAhB,qBAAA,GAAEjB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAkB,eAAA,GAANlB,MAAM,CAAE4B,MAAM,cAAAV,eAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,eAAA,CAAgBe,qBAAqB,MAAA,IAAA,IAAAhB,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAG;AACnEiB,IAAAA,WAAW,EACTZ,OAAO,gBACLa,eAAA,CAAAC,mBAAA,EAAA;MAAAxB,QAAA,EAAA,cACEL,cAAA,CAACC,wBAAO,EAAA;AACNC,QAAAA,OAAO,EAAEpB,CAAC,CAAC,mDAAmD,CAAE;AAChEqB,QAAAA,QAAQ,EAAEe,yBAA0B;AACpCd,QAAAA,QAAQ,EAAC,QAAQ;AAAAC,QAAAA,QAAA,eAEjBL,cAAA,CAAA,MAAA,EAAA;UAAAK,QAAA,eACEL,cAAA,CAACM,uBAAM,EAAA;AACL,YAAA,aAAA,EAAY,4BAA4B;YACxCH,QAAQ,EAAE,CAACe,yBAA0B;AACrCX,YAAAA,KAAK,EAAEzB,CAAC,CAAC,sCAAsC,CAAE;AACjDgD,YAAAA,IAAI,EAAC,QAAQ;AACbpC,YAAAA,OAAO,EAAEmB;WACV;SACG;AAAC,OACA,CAAC,eACVb,cAAA,CAACM,uBAAM,EAAA;AACL,QAAA,aAAA,EAAY,uBAAuB;AACnCC,QAAAA,KAAK,EAAEzB,CAAC,CAAC,gCAAgC,CAAE;AAC3CiD,QAAAA,KAAK,EAAC,MAAM;AACZD,QAAAA,IAAI,EAAC,OAAO;AACZpC,QAAAA,OAAO,EAAEkB;AAAY,OACtB,CAAC;AAAA,KACF,CAAC,gBAEHZ,cAAA,CAACT,aAAa,EAAA;AACNE,MAAAA,MAAM,EAANA,MAAM;MACZC,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQsB,oBAAoB,CAAC,IAAI,CAAC;AAAA,MAAA;KAC1C;AAEJ,GACF,CAAC;AAEN,CAAC;;AC7DM,IAAMgB,oBAAoB,GAAG,EAAE;AAE/B,IAAMC,2BAA2B,GAAG,GAAG;AAEvC,IAAMC,+BAA+B,GAAGC,UAAM,CAAC;EACpDC,IAAI,EAAEC,UAAM,EAAE,CACXC,IAAI,EAAE,CACNC,GAAG,CACFP,oBAAoB;AACpB;EACAlD,SAAC,CAAC,gDAAgD,EAAE;AAClD0D,IAAAA,KAAK,EAAER;AACT,GAAC,CACH;AACA;AAAA,GACCS,QAAQ,CAAC3D,SAAC,CAAC,4CAA4C,CAAC,CAAC;AAC5D4D,EAAAA,WAAW,EAAEL,UAAM,EAAE,CAClBM,QAAQ,EAAE,CACVL,IAAI,EAAE,CACNC,GAAG,CACFN,2BAA2B;AAC3B;EACAnD,SAAC,CAAC,uDAAuD,EAAE;AACzD0D,IAAAA,KAAK,EAAEP;AACT,GAAC,CACH;AACJ,CAAC,CAAC;AAEK,IAAMW,4BAA4B,GAAG;AAC1CR,EAAAA,IAAI,EAAE,EAAE;AACRM,EAAAA,WAAW,EAAE,EAAE;AACfG,EAAAA,aAAa,EAAE;AACjB,CAAC;AAEM,IAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,gBAAgB,EAAEb;AACpB,CAAC;;;;ACpBD,IAAMc,WAAW,GAAG,SAAdA,WAAWA,CAAAxD,IAAA,EAOX;AAAA,EAAA,IAAAyD,qBAAA;AAAA,EAAA,IANJxD,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAAyD,WAAA,GAAA1D,IAAA,CACN2D,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,WAAA;IACdE,OAAO,GAAA5D,IAAA,CAAP4D,OAAO;IAAAC,gBAAA,GAAA7D,IAAA,CACPM,WAAW;AAAXA,IAAAA,WAAW,GAAAuD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAC,iBAAA,GAAA9D,IAAA,CAChB+D,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;IAAAE,aAAA,GAAAhE,IAAA,CACjBiE,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,aAAA;AAEf,EAAA,IAAA7D,eAAA,GAAcC,2BAAc,EAAE;IAAtBd,CAAC,GAAAa,eAAA,CAADb,CAAC;AACT,EAAA,IAAM4E,aAAa,GAAGC,YAAM,CAAC,IAAI,CAAC;AAClC,EAAA,IAAMC,cAAc,GAAGD,YAAM,CAAC,IAAI,CAAC;AACnC,EAAA,IAAME,gBAAgB,GAAGF,YAAM,CAAC,IAAI,CAAC;EACrC,IAAAG,cAAA,GAA0DC,yBAAa,CAAC;AACtEC,MAAAA,SAAS,EAAEZ;AACb,KAAC,CAAC;IAFca,UAAU,GAAAH,cAAA,CAAlBI,MAAM;IAAyBC,cAAc,GAAAL,cAAA,CAAzBM,SAAS;EAIrC,IAAAC,cAAA,GAA0DC,yBAAa,CAAC;AACtEN,MAAAA,SAAS,EAAEZ;AACb,KAAC,CAAC;IAFcmB,UAAU,GAAAF,cAAA,CAAlBH,MAAM;IAAyBM,cAAc,GAAAH,cAAA,CAAzBD,SAAS;AAGrC,EAAA,IAAMK,MAAM,GAAGC,mBAAS,CAACnB,YAAY,CAAC;AACtC,EAAA,IAAMoB,YAAY,GAAGR,cAAc,IAAIK,cAAc;AAErD,EAAA,IAAM3D,YAAY,GAAG,SAAfA,YAAYA,CAAG+D,UAAU,EAAI;AACjC,IAAA,IAAMC,OAAO,GAAG;AACdC,MAAAA,gBAAgB,EAAAC,aAAA,CAAAA,aAAA,KACXH,UAAU,CAAA,EAAA,EAAA,EAAA;AACbxC,QAAAA,IAAI,EAAEwC,UAAU,CAACxC,IAAI,CAACE,IAAI,EAAE;AAC5BI,QAAAA,WAAW,EAAEkC,UAAU,CAAClC,WAAW,CAACJ,IAAI;AAAE,OAAA;KAE7C;IAEDmC,MAAM,GAAGF,UAAU,CAAC;AAAEM,MAAAA,OAAO,EAAPA,OAAO;MAAEG,EAAE,EAAEzB,YAAY,CAACyB;AAAG,KAAC,CAAC,GAAGf,UAAU,CAACY,OAAO,CAAC;EAC7E,CAAC;EAED,IAAMI,aAAa,GAAGR,MAAM,GAAAM,aAAA,CAAAA,aAAA,KAEnBxB,YAAY,CAAA,EAAA,EAAA,EAAA;AACfV,IAAAA,aAAa,EAAA,CAAAI,qBAAA,GAAEM,YAAY,CAACV,aAAa,MAAA,IAAA,IAAAI,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA1BA,qBAAA,CAA4BiC,IAAI,EAAE;AACjDxC,IAAAA,WAAW,EAAEa,YAAY,CAACb,WAAW,IAAI;AAAE,GAAA,CAAA,GAE7CE,4BAA4B;AAEhC,EAAA,IAAMuC,WAAW,GAAAJ,aAAA,CAAAA,aAAA,KACZjC,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACpBmC,IAAAA,aAAa,EAAbA,aAAa;AACbG,IAAAA,QAAQ,EAAEvE;GAAY,CACvB;AAED,EAAA,IAAMwE,UAAU,GAAG9B,YAAY,CAAC+B,IAAI,KAAK,QAAQ;EACjD,IAAMC,UAAU,GAAGC,uBAAW,CAACC,QAAQ,CAAClC,YAAY,CAACnB,IAAI,CAAC,IAAIiD,UAAU;AAExEK,EAAAA,eAAS,CAAC,YAAM;AAAA,IAAA,IAAAC,gBAAA,EAAAC,KAAA,EAAAC,qBAAA;IACd,IAAMC,eAAe,GAAG,4CAA4C;IACpE,IAAMC,cAAc,GAAG,mCAAmC;AAE1D,IAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,IAAI,EAAI;MAClC,IAAIC,OAAO,GAAGD,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEE,aAAa;AACjC,MAAA,OAAOD,OAAO,EAAE;AACd,QAAA,IAAMnE,KAAK,GAAGqE,gBAAgB,CAACF,OAAO,CAAC;AACvC,QAAA,IAAMG,SAAS,GAAGtE,KAAK,CAACsE,SAAS;AACjC,QAAA,IAAMC,YAAY,GAChB,CAACD,SAAS,KAAK,MAAM,IAAIA,SAAS,KAAK,QAAQ,KAC/CH,OAAO,CAACK,YAAY,GAAGL,OAAO,CAACM,YAAY;QAC7C,IAAIF,YAAY,EAAE,OAAOJ,OAAO;QAChCA,OAAO,GAAGA,OAAO,CAACC,aAAa;AACjC,MAAA;AAEA,MAAA,OAAOM,QAAQ,CAACC,gBAAgB,IAAID,QAAQ,CAACE,eAAe;IAC9D,CAAC;IAED,IAAI,CAACxD,MAAM,EAAE;MACXU,gBAAgB,CAACqC,OAAO,GAAG,IAAI;AAC/BO,MAAAA,QAAQ,CACLG,gBAAgB,CAAA,GAAA,CAAAC,MAAA,CAAKf,eAAe,CAAE,CAAC,CACvCgB,OAAO,CAAC,UAAAb,IAAI,EAAA;AAAA,QAAA,OAAIA,IAAI,CAACc,SAAS,CAACC,MAAM,CAAClB,eAAe,CAAC;MAAA,CAAA,CAAC;AAE1DW,MAAAA,QAAQ,CACLG,gBAAgB,CAAA,GAAA,CAAAC,MAAA,CAAKd,cAAc,CAAE,CAAC,CACtCe,OAAO,CAAC,UAAAb,IAAI,EAAA;AAAA,QAAA,OAAIA,IAAI,CAACc,SAAS,CAACC,MAAM,CAACjB,cAAc,CAAC;MAAA,CAAA,CAAC;MAEzD,OAAO,YAAM,CAAC,CAAC;AACjB,IAAA;AAEA,IAAA,IAAI,CAACtC,QAAQ,EAAE,OAAO,YAAM,CAAC,CAAC;IAE9B,IAAMwD,GAAG,MAAAJ,MAAA,CAAA,CAAAlB,gBAAA,GAAMpC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEyB,EAAE,MAAA,IAAA,IAAAW,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI,KAAK,EAAA,GAAA,CAAA,CAAAkB,MAAA,CAAIpD,QAAQ,CAAC3B,IAAI,EAAA,GAAA,CAAA,CAAA+E,MAAA,EAAAjB,KAAA,GAAA,CAAAC,qBAAA,GACvDpC,QAAQ,CAACyD,YAAY,MAAA,IAAA,IAAArB,qBAAA,cAAAA,qBAAA,GAAIpC,QAAQ,CAAC0D,QAAQ,MAAA,IAAA,IAAAvB,KAAA,KAAA,MAAA,GAAAA,KAAA,GAAI,EAAE,CAChD;IACF,IAAI/B,gBAAgB,CAACqC,OAAO,KAAKe,GAAG,EAAE,OAAO,YAAM,CAAC,CAAC;IACrDpD,gBAAgB,CAACqC,OAAO,GAAGe,GAAG;AAE9B,IAAA,IAAIG,SAAS;AACb,IAAA,IAAIC,kBAAkB;AACtB,IAAA,IAAIC,cAAc;AAClB,IAAA,IAAIC,kBAAkB;IACtB,IAAIC,QAAQ,GAAG,CAAC;IAChB,IAAIC,eAAe,GAAG,IAAI;IAC1B,IAAIC,qBAAqB,GAAG,IAAI;AAEhC,IAAA,IAAMC,cAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1BH,MAAAA,QAAQ,IAAI,CAAC;MACb,IAAMI,SAAS,GACbnE,QAAQ,CAAC3B,IAAI,KAAK,YAAY,GAAA,sBAAA,CAAA+E,MAAA,CACHpD,QAAQ,CAACyD,YAAY,CAAA,GAAA,+BAAA,CAAAL,MAAA,CACZgB,mBAAS,CAACpE,QAAQ,CAAC0D,QAAQ,IAAI,EAAE,CAAC,CAAE;AAE1E,MAAA,IAAMW,EAAE,GAAGrB,QAAQ,CAACsB,cAAc,CAACH,SAAS,CAAC;AAC7C,MAAA,IAAIE,EAAE,EAAE;QACNA,EAAE,CAACE,cAAc,CAAC;AAAEC,UAAAA,QAAQ,EAAE,QAAQ;AAAEC,UAAAA,KAAK,EAAE;AAAS,SAAC,CAAC;QAE1D,IAAMC,YAAY,GAChB1E,QAAQ,CAAC3B,IAAI,KAAK,YAAY,GAC1BgG,EAAE,CAACM,OAAO,CAAC,qCAAqC,CAAC,GACjDN,EAAE,CAACO,aAAa,CAAC,qCAAqC,CAAC;AAE7D,QAAA,IAAMC,eAAe,GAAGtC,mBAAmB,CAAC8B,EAAE,CAAC;AAE/C,QAAA,IAAMS,cAAc,GAAG,SAAjBA,cAAcA,GAAS;UAC3B,IAAI,CAACJ,YAAY,EAAE;AAEnB1B,UAAAA,QAAQ,CACLG,gBAAgB,CAAA,GAAA,CAAAC,MAAA,CAAKf,eAAe,CAAE,CAAC,CACvCgB,OAAO,CAAC,UAAAb,IAAI,EAAA;AAAA,YAAA,OAAIA,IAAI,CAACc,SAAS,CAACC,MAAM,CAAClB,eAAe,CAAC;UAAA,CAAA,CAAC;AAE1DqC,UAAAA,YAAY,CAACpB,SAAS,CAACyB,GAAG,CAAC1C,eAAe,CAAC;AAC3C2B,UAAAA,eAAe,GAAGU,YAAY;UAE9BM,YAAY,CAACpB,kBAAkB,CAAC;UAChCA,kBAAkB,GAAGqB,UAAU,CAAC,YAAM;AACpCP,YAAAA,YAAY,CAACpB,SAAS,CAACC,MAAM,CAAClB,eAAe,CAAC;UAChD,CAAC,EAAE,IAAI,CAAC;QACV,CAAC;AAED,QAAA,IAAIrC,QAAQ,CAAC3B,IAAI,KAAK,YAAY,EAAE;UAClC,IAAM6G,mBAAmB,GAAG,GAAG;UAC/B,IAAMC,mBAAmB,GAAG,CAAC;AAC7B,UAAA,IAAMC,eAAe,GACnBF,mBAAmB,GAAGC,mBAAmB,GAAG,GAAG;AAEjD,UAAA,IAAME,UAAU,GAAG,SAAbA,UAAUA,GAAS;AACvBrC,YAAAA,QAAQ,CACLG,gBAAgB,CAAA,GAAA,CAAAC,MAAA,CAAKd,cAAc,CAAE,CAAC,CACtCe,OAAO,CAAC,UAAAb,IAAI,EAAA;AAAA,cAAA,OAAIA,IAAI,CAACc,SAAS,CAACC,MAAM,CAACjB,cAAc,CAAC;YAAA,CAAA,CAAC;AAEzD+B,YAAAA,EAAE,CAACf,SAAS,CAACC,MAAM,CAACjB,cAAc,CAAC;AACnC;YACA,KAAK+B,EAAE,CAACiB,WAAW;AACnBjB,YAAAA,EAAE,CAACf,SAAS,CAACyB,GAAG,CAACzC,cAAc,CAAC;AAChC2B,YAAAA,qBAAqB,GAAGI,EAAE;YAE1BW,YAAY,CAACnB,cAAc,CAAC;YAC5BA,cAAc,GAAGoB,UAAU,CAAC,YAAM;AAChCZ,cAAAA,EAAE,CAACf,SAAS,CAACC,MAAM,CAACjB,cAAc,CAAC;YACrC,CAAC,EAAE8C,eAAe,CAAC;UACrB,CAAC;;AAED;UACA,IAAIG,OAAO,GAAG,KAAK;AACnB,UAAA,IAAMC,gBAAgB,GAAGP,UAAU,CAAC,YAAM;AACxC,YAAA,IAAIM,OAAO,EAAE;AACbA,YAAAA,OAAO,GAAG,IAAI;AACdT,YAAAA,cAAc,EAAE;AAChBO,YAAAA,UAAU,EAAE;AACZR,YAAAA,eAAe,CAACY,mBAAmB,CAAC,QAAQ,EAAEC,cAAa,CAAC;UAC9D,CAAC,EAAE,IAAI,CAAC;AAER,UAAA,IAAMA,cAAa,GAAG,SAAhBA,aAAaA,GAAS;YAC1BV,YAAY,CAAClB,kBAAkB,CAAC;YAChCA,kBAAkB,GAAGmB,UAAU,CAAC,YAAM;AACpC,cAAA,IAAIM,OAAO,EAAE;AACbA,cAAAA,OAAO,GAAG,IAAI;AACdT,cAAAA,cAAc,EAAE;AAChBO,cAAAA,UAAU,EAAE;AACZR,cAAAA,eAAe,CAACY,mBAAmB,CAAC,QAAQ,EAAEC,cAAa,CAAC;cAC5DV,YAAY,CAACQ,gBAAgB,CAAC;YAChC,CAAC,EAAE,GAAG,CAAC;UACT,CAAC;AAEDX,UAAAA,eAAe,CAACc,gBAAgB,CAAC,QAAQ,EAAED,cAAa,EAAE;AACxDE,YAAAA,OAAO,EAAE;AACX,WAAC,CAAC;AACFF,UAAAA,cAAa,EAAE;AACjB,QAAA,CAAC,MAAM;AACL;UACA,IAAIH,QAAO,GAAG,KAAK;AACnB,UAAA,IAAMC,iBAAgB,GAAGP,UAAU,CAAC,YAAM;AACxC,YAAA,IAAIM,QAAO,EAAE;AACbA,YAAAA,QAAO,GAAG,IAAI;AACdT,YAAAA,cAAc,EAAE;AAChBD,YAAAA,eAAe,CAACY,mBAAmB,CAAC,QAAQ,EAAEC,eAAa,CAAC;UAC9D,CAAC,EAAE,IAAI,CAAC;AAER,UAAA,IAAMA,eAAa,GAAG,SAAhBA,aAAaA,GAAS;YAC1BV,YAAY,CAAClB,kBAAkB,CAAC;YAChCA,kBAAkB,GAAGmB,UAAU,CAAC,YAAM;AACpC,cAAA,IAAIM,QAAO,EAAE;AACbA,cAAAA,QAAO,GAAG,IAAI;AACdT,cAAAA,cAAc,EAAE;AAChBD,cAAAA,eAAe,CAACY,mBAAmB,CAAC,QAAQ,EAAEC,eAAa,CAAC;cAC5DV,YAAY,CAACQ,iBAAgB,CAAC;YAChC,CAAC,EAAE,GAAG,CAAC;UACT,CAAC;AAEDX,UAAAA,eAAe,CAACc,gBAAgB,CAAC,QAAQ,EAAED,eAAa,EAAE;AACxDE,YAAAA,OAAO,EAAE;AACX,WAAC,CAAC;AACFF,UAAAA,eAAa,EAAE;AACjB,QAAA;AAEA,QAAA;AACF,MAAA;;AAEA;MACA,IAAI3B,QAAQ,GAAG,CAAC,EAAEJ,SAAS,GAAGsB,UAAU,CAACf,cAAa,EAAE,GAAG,CAAC;IAC9D,CAAC;AAEDP,IAAAA,SAAS,GAAGsB,UAAU,CAACf,cAAa,EAAE,CAAC,CAAC;AAExC,IAAA,OAAO,YAAM;MAAA,IAAA2B,gBAAA,EAAAC,qBAAA;MACXd,YAAY,CAACrB,SAAS,CAAC;MACvBqB,YAAY,CAACpB,kBAAkB,CAAC;MAChCoB,YAAY,CAACnB,cAAc,CAAC;MAC5BmB,YAAY,CAAClB,kBAAkB,CAAC;AAChC,MAAA,CAAA+B,gBAAA,GAAA7B,eAAe,MAAA,IAAA,IAAA6B,gBAAA,KAAA,MAAA,IAAfA,gBAAA,CAAiBvC,SAAS,CAACC,MAAM,CAAClB,eAAe,CAAC;AAClD,MAAA,CAAAyD,qBAAA,GAAA7B,qBAAqB,MAAA,IAAA,IAAA6B,qBAAA,KAAA,MAAA,IAArBA,qBAAA,CAAuBxC,SAAS,CAACC,MAAM,CAACjB,cAAc,CAAC;IACzD,CAAC;AACH,EAAA,CAAC,EAAE,CAAC5C,MAAM,EAAEM,QAAQ,EAAEF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEyB,EAAE,CAAC,CAAC;EAExC,oBACEpD,eAAA,CAAC4H,qBAAI,EAAA;AACGrG,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACrBqG,IAAAA,eAAe,EAAE,CAAChF,MAAM,GAAGb,cAAc,GAAG8F,SAAU;AACtDC,IAAAA,IAAI,EAAC,OAAO;AAAAtJ,IAAAA,QAAA,EAAA,cAEZL,cAAA,CAACwJ,qBAAI,CAAChJ,MAAM,EAAA;MAAAH,QAAA,eACVL,cAAA,CAAC4J,2BAAU,EAAA;AAAC,QAAA,aAAA,EAAY,oBAAoB;AAAC7H,QAAAA,KAAK,EAAC,IAAI;QAAA1B,QAAA,EACpDoE,MAAM,GACH3F,CAAC,CAAC,kCAAkC,CAAC,GACrCA,CAAC,CAAC,oCAAoC;OAChC;AAAC,KACF,CAAC,eACdkB,cAAA,CAAC6J,qBAAI,EAAA;AAAO1E,MAAAA,WAAW,EAAXA,WAAW;AAAI2E,MAAAA,GAAG,EAAEpG,aAAc;MAAArD,QAAA,EAC3C,SAAAA,QAAAA,CAAA0J,KAAA,EAAA;AAAA,QAAA,IAAAC,qBAAA;AAAA,QAAA,IAAGC,KAAK,GAAAF,KAAA,CAALE,KAAK;QAAA,oBACPrI,eAAA,CAAAC,mBAAA,EAAA;UAAAxB,QAAA,EAAA,cACEL,cAAA,CAACkK,0BAAkB,EAAA;AAACC,YAAAA,OAAO,EAAEzG;AAAc,WAAE,CAAC,eAC9C1D,cAAA,CAACwJ,qBAAI,CAACY,IAAI,EAAA;AAAA/J,YAAAA,QAAA,eACRuB,eAAA,CAAA,KAAA,EAAA;AAAKN,cAAAA,SAAS,EAAC,sBAAsB;AAAAjB,cAAAA,QAAA,gBACnCuB,eAAA,CAAA,KAAA,EAAA;AAAKN,gBAAAA,SAAS,EAAC,8BAA8B;gBAAAjB,QAAA,EAAA,cAC3CL,cAAA,CAACqK,sBAAK,EAAA;kBACJ5H,QAAQ,EAAA,IAAA;kBACR6H,cAAc,EAAA,IAAA;AACd,kBAAA,aAAA,EAAY,8BAA8B;AAC1C/J,kBAAAA,KAAK,EAAEzB,CAAC,CAAC,8BAA8B,CAAE;AACzCyL,kBAAAA,SAAS,EAAEvI,oBAAqB;AAChCI,kBAAAA,IAAI,EAAC,MAAM;AACXvD,kBAAAA,WAAW,EAAEC,CAAC,CAAC,yCAAyC,CAAE;AAC1D0L,kBAAAA,QAAQ,EAAEnF,UAAW;AACrByE,kBAAAA,GAAG,EAAElG;AAAe,iBACrB,CAAC,eACF5D,cAAA,CAACyK,yBAAQ,EAAA;kBACPH,cAAc,EAAA,IAAA;AACd,kBAAA,aAAA,EAAY,qCAAqC;AACjD/J,kBAAAA,KAAK,EAAEzB,CAAC,CAAC,qCAAqC,CAAE;AAChDyL,kBAAAA,SAAS,EAAEtI,2BAA4B;AACvCG,kBAAAA,IAAI,EAAC,aAAa;AAClBoI,kBAAAA,QAAQ,EAAEjF,UAAW;kBACrB1G,WAAW,EAAEC,CAAC,CACZ,gDACF;AAAE,iBACH,CAAC;AAAA,eACC,CAAC,eACNkB,cAAA,CAAC0K,uBAAW,EAAA;AACJnF,gBAAAA,UAAU,EAAVA,UAAU;AAAEzF,gBAAAA,WAAW,EAAXA,WAAW;AAC7B6K,gBAAAA,wBAAwB,EAAA,CAAAX,qBAAA,GAAEvK,MAAM,aAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEmL,kBAAkB,MAAA,IAAA,IAAAZ,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI;AAAG,eAC5D,CAAC;aACC;AAAC,WACG,CAAC,eACZhK,cAAA,CAACwJ,qBAAI,CAACqB,MAAM,EAAA;YAAAxK,QAAA,eACVL,cAAA,CAAC8K,4BAAW,EAAA;AACJnG,cAAAA,YAAY,EAAZA,YAAY;AAClBrD,cAAAA,SAAS,EAAC,wBAAwB;AAClCyJ,cAAAA,iBAAiB,EAAE;AACjB,gBAAA,aAAa,EAAE,4BAA4B;AAC3CrL,gBAAAA,OAAO,EAAE0D;eACT;AACF4H,cAAAA,iBAAiB,EAAE;AACjB,gBAAA,aAAa,EAAE,4BAA4B;AAC3C7K,gBAAAA,QAAQ,EAAEwE,YAAY,IAAIY,UAAU,IAAI,CAAC0E;AAC3C;aACD;AAAC,WACS,CAAC;AAAA,SACd,CAAC;AAAA,MAAA;AACJ,KACG,CAAC;AAAA,GACH,CAAC;AAEX,CAAC;;AC3TM,IAAMgB,0BAA0B,GAAG;AACxCC,EAAAA,QAAQ,EAAE,KAAK;AACfzG,EAAAA,MAAM,EAAE,KAAK;EACblB,YAAY,EAAE,EAAE;AAChBE,EAAAA,QAAQ,EAAE;AACZ,CAAC;AAEM,IAAM0H,UAAU,GAAG;AAAEC,EAAAA,IAAI,EAAE,MAAM;AAAEC,EAAAA,MAAM,EAAE;AAAS,CAAC;;;;;ACD5D,IAAMC,UAAS,GAAG,SAAZA,SAASA,CAAGnJ,MAAM,EAAI;AAC1B,EAAA,IAAI,CAACA,MAAM,IAAI,IAAI,KAAKA,MAAM,EAAE;AAC9B;AACA,IAAA,OAAOA,MAAM;AACf,EAAA;AACA,EAAA,IAAMoJ,UAAU,GAAAC,wBAAA,CAAUrJ,MAAM,CAAA;AAChC,EAAA,IAAI,QAAQ,KAAKoJ,UAAU,IAAI,QAAQ,KAAKA,UAAU,EAAE;AACtD;AACA,IAAA,OAAOpJ,MAAM;AACf,EAAA;EAEA,IAAIsJ,MAAM,GAAG,IAAI;AACjB,EAAA,IAAIC,KAAK,CAACC,OAAO,CAACxJ,MAAM,CAAC,EAAE;AACzBsJ,IAAAA,MAAM,GAAG,EAAE;AACb,EAAA,CAAC,MAAM,IAAI,CAACtJ,MAAM,CAACyJ,WAAW,EAAE;IAC9BH,MAAM,GAAG,EAAE;AACb,EAAA,CAAC,MAAM;AACLA,IAAAA,MAAM,GAAG,IAAItJ,MAAM,CAACyJ,WAAW,EAAE;AACnC,EAAA;EAEA,IAAIzJ,MAAM,YAAY0J,GAAG,EAAE;IAAA,IAAAC,SAAA,GAAAC,0BAAA,CACP5J,MAAM,CAAC6J,IAAI,EAAE,CAAA;MAAAC,KAAA;AAAA,IAAA,IAAA;MAA/B,KAAAH,SAAA,CAAAI,CAAA,EAAA,EAAA,CAAA,CAAAD,KAAA,GAAAH,SAAA,CAAAK,CAAA,EAAA,EAAAC,IAAA,GAAiC;AAAA,QAAA,IAAtBnF,GAAG,GAAAgF,KAAA,CAAAI,KAAA;AACZZ,QAAAA,MAAM,CAACa,GAAG,CAACrF,GAAG,EAAEqE,UAAS,CAACnJ,MAAM,CAACoK,GAAG,CAACtF,GAAG,CAAC,CAAC,CAAC;AAC7C,MAAA;AAAC,IAAA,CAAA,CAAA,OAAAuF,GAAA,EAAA;MAAAV,SAAA,CAAAW,CAAA,CAAAD,GAAA,CAAA;AAAA,IAAA,CAAA,SAAA;AAAAV,MAAAA,SAAA,CAAAY,CAAA,EAAA;AAAA,IAAA;AACH,EAAA;EAEAC,MAAM,CAACX,IAAI,CAAC7J,MAAM,CAAC,CAAC2E,OAAO,CAAC,UAAAG,GAAG,EAAI;AACjC,IAAA,IAAI0F,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC3K,MAAM,EAAE8E,GAAG,CAAC,EAAE;MACrDwE,MAAM,CAACxE,GAAG,CAAC,GAAGqE,UAAS,CAACnJ,MAAM,CAAC8E,GAAG,CAAC,CAAC;AACtC,IAAA;AACF,EAAA,CAAC,CAAC;AAEF,EAAA,OAAOwE,MAAM;AACf,CAAC;AAEM,IAAMsB,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAGC,QAAQ,EAAA;EAAA,OAC/CL,MAAM,CAACM,EAAE,CAACD,QAAQ,EAAE,OAAO,CAAC,IAAIL,MAAM,CAACM,EAAE,CAACD,QAAQ,EAAE,OAAO,CAAC,GACxDlO,SAAC,CAAC,+CAA+C,EAAE;AAAEkO,IAAAA,QAAQ,EAARA;AAAS,GAAC,CAAC,GAChElO,SAAC,CAAC,mDAAmD,CAAC;AAAA,CAAA;AAIrD,IAAMoO,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIC,YAAY,EAAErN,WAAW,EAAK;AACvE,EAAA,IAAMqH,QAAQ,GAAGrH,WAAW,CAACyM,GAAG,CAACY,YAAY,CAAC;AAC9C,EAAA,IAAMC,mBAAmB,GAAGjG,QAAQ,CAACoF,GAAG,CAAC,qBAAqB,CAAC;AAC/DpF,EAAAA,QAAQ,CAACmF,GAAG,CAAC,qBAAqB,EAAE,CAACc,mBAAmB,CAAC;EAEzD,OAAO,IAAIvB,GAAG,CAAC/L,WAAW,CAACwM,GAAG,CAACa,YAAY,EAAEhG,QAAQ,CAAC,CAAC;AACzD,CAAC;AAEM,IAAMkG,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,UAAU,EAAEC,gBAAgB,EAAK;AACzE,EAAA,IAAMC,QAAQ,GAAGlC,UAAS,CAACiC,gBAAgB,CAAC;AAC5CC,EAAAA,QAAQ,CAAC1G,OAAO,CAAC,UAAAuF,KAAK,EAAI;AACxB,IAAA,IAAMvM,WAAW,GAAGuM,KAAK,CAACE,GAAG,CAAC,aAAa,CAAC;AAE5C,IAAA,IAAMkB,mBAAmB,GAAG3N,WAAW,CAAC4N,MAAM,CAAC,UAAAC,UAAU,EAAA;AAAA,MAAA,IAAAC,qBAAA;MAAA,OACvDD,UAAU,aAAVA,UAAU,KAAA,MAAA,IAAA,CAAAC,qBAAA,GAAVD,UAAU,CAAEjL,WAAW,MAAA,IAAA,IAAAkL,qBAAA,KAAA,MAAA,IAAA,CAAAA,qBAAA,GAAvBA,qBAAA,CACIC,WAAW,EAAE,cAAAD,qBAAA,KAAA,MAAA,IAAA,CAAAA,qBAAA,GADjBA,qBAAA,CAEItL,IAAI,EAAE,MAAA,IAAA,IAAAsL,qBAAA,uBAFVA,qBAAA,CAGInI,QAAQ,CAAC6H,UAAU,CAACO,WAAW,EAAE,CAACvL,IAAI,EAAE,CAAC;AAAA,IAAA,CAC/C,CAAC;AACD+J,IAAAA,KAAK,CAACC,GAAG,CAAC,aAAa,EAAEmB,mBAAmB,CAAC;AAC/C,EAAA,CAAC,CAAC;AAEF,EAAA,OAAOD,QAAQ;AACjB,CAAC;AAEM,IAAMM,YAAY,GAAG,SAAfA,YAAYA,CAAAtO,IAAA,EAAA;AAAA,EAAA,IACvBuO,yBAAyB,GAAAvO,IAAA,CAAzBuO,yBAAyB;IACzB7M,yBAAyB,GAAA1B,IAAA,CAAzB0B,yBAAyB;IACzB8M,IAAI,GAAAxO,IAAA,CAAJwO,IAAI;IACJC,aAAa,GAAAzO,IAAA,CAAbyO,aAAa;IACbC,YAAY,GAAA1O,IAAA,CAAZ0O,YAAY;AAAA,EAAA,OACR,CACJ;IACEjH,GAAG,EAAEkE,UAAU,CAACC,IAAI;AACpB9J,IAAAA,SAAS,EAAE,sBAAsB;AACjC,IAAA,aAAa,EAAE,kCAAkC;AACjDiE,IAAAA,UAAU,EAAE4I,SAAG,CAACjN,yBAAyB,CAAC;AAC1CyI,IAAAA,IAAI,EAAE,OAAO;AACbyE,IAAAA,YAAY,EAAE;AACZlO,MAAAA,OAAO,EAAEpB,SAAC,CAAC,mDAAmD,CAAC;AAC/DqB,MAAAA,QAAQ,EAAEe,yBAAyB;AACnCd,MAAAA,QAAQ,EAAE;KACX;AACDG,IAAAA,KAAK,EAAEzB,SAAC,CAAC,8BAA8B,CAAC;IACxCY,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OACLuO,aAAa,CAAC;AAAExJ,QAAAA,MAAM,EAAE,IAAI;AAAElB,QAAAA,YAAY,EAAEyK,IAAI;AAAEvK,QAAAA,QAAQ,EAAE;AAAK,OAAC,CAAC;AAAA,IAAA;AACvE,GAAC,EACD;IACEwD,GAAG,EAAEkE,UAAU,CAACE,MAAM;AACtB/J,IAAAA,SAAS,EAAE,sBAAsB;AACjC,IAAA,aAAa,EAAE,oCAAoC;AACnDiE,IAAAA,UAAU,EAAE4I,SAAG,CAACJ,yBAAyB,CAAC;AAC1CpE,IAAAA,IAAI,EAAE,OAAO;AACb0E,IAAAA,SAAS,EAAEF,SAAG,CAACD,YAAY,CAAC;AAC5BE,IAAAA,YAAY,EAAE;AACZlO,MAAAA,OAAO,EAAEpB,SAAC,CAAC,qDAAqD,CAAC;AACjEqB,MAAAA,QAAQ,EAAE4N,yBAAyB;AACnC3N,MAAAA,QAAQ,EAAE;KACX;AACDG,IAAAA,KAAK,EAAEzB,SAAC,CAAC,gCAAgC,CAAC;IAC1CY,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OACLuO,aAAa,CAAC;AAAE/C,QAAAA,QAAQ,EAAE,IAAI;AAAE3H,QAAAA,YAAY,EAAEyK,IAAI;AAAEvK,QAAAA,QAAQ,EAAE;AAAK,OAAC,CAAC;AAAA,IAAA;AACzE,GAAC,CACF;AAAA,CAAA;AAEM,IAAM6K,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGX,UAAU,EAAI;AAC9C,EAAA,IAAMY,YAAY,GAAG7C,KAAK,CAAC8C,IAAI,CAC7B/H,QAAQ,CAACG,gBAAgB,CACvB,2FACF,CACF,CAAC;EAED,IAAM6H,WAAW,GAAGC,iBAAO,CACzB;AAAEC,IAAAA,OAAO,EAAE;AAAEvM,MAAAA,IAAI,EAAEuL,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEjL;AAAY;GAAG,EAC9C6L,YACF,CAAC;AAED,EAAA,OAAOE,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEjI,YAAY;AAClC,CAAC;;ACvHD,IAAMoI,GAAG,GAAG,SAANA,GAAGA,CAAApP,IAAA,EAOH;AAAA,EAAA,IAAAqP,qBAAA,GAAArP,IAAA,CANJsP,wBAAwB;AAAxBA,IAAAA,wBAAwB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,aAAA,GAAAvP,IAAA,CAC/B2H,QAAQ;AAARA,IAAAA,QAAQ,GAAA4H,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IACbtP,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAAuP,eAAA,GAAAxP,IAAA,CACNmO,UAAU;AAAVA,IAAAA,UAAU,GAAAqB,eAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,eAAA;IACjB/N,KAAK,GAAAzB,IAAA,CAALyB,KAAK;IAAAgO,kBAAA,GAAAzP,IAAA,CACLyO,aAAa;AAAbA,IAAAA,aAAa,GAAAgB,kBAAA,KAAA,MAAA,GAAGC,cAAI,GAAAD,kBAAA;AAEpB,EAAA,IAAM/N,yBAAyB,GAAGzB,MAAM,CAACK,WAAW,CAACqB,MAAM;AAE3D,EAAA,IAAMrB,WAAW,GAAG,CAAAgP,wBAAwB,aAAxBA,wBAAwB,KAAA,MAAA,GAAA,MAAA,GAAxBA,wBAAwB,CAAEvC,GAAG,CAAC,aAAa,CAAC,KAAI,EAAE;EACtE,IAAM4C,0BAA0B,GAAGC,SAAG,CAACC,UAAI,CAAC,IAAI,CAAC,EAAEvP,WAAW,CAAC;AAE/D,EAAA,IAAMe,YAAY,GAAG,SAAfA,YAAYA,CAAGmN,IAAI,EAAI;IAC3B,IAAMvK,QAAQ,GAAGkK,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,IAAVA,UAAU,CAAE3I,EAAE,GAC3B;AAAElD,MAAAA,IAAI,EAAE,YAAY;MAAEoF,YAAY,EAAEyG,UAAU,CAAC3I;AAAG,KAAC,GACnD;AAAElD,MAAAA,IAAI,EAAE,UAAU;AAAEqF,MAAAA,QAAQ,EAARA;KAAU;AAElC8G,IAAAA,aAAa,CAAC;AAAExJ,MAAAA,MAAM,EAAE,IAAI;AAAElB,MAAAA,YAAY,EAAEyK,IAAI;AAAEvK,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAC;EAC/D,CAAC;AAED,EAAA,IAAM6L,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGtB,IAAI,EAAA;AAAA,IAAA,OAC5B,CAACc,wBAAwB,GACrBrJ,cAAQ,CAACkI,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAE3I,EAAE,EAAEgJ,IAAI,CAACnL,aAAa,CAAC,GAC5CsM,0BAA0B,CAACI,KAAK,CAAC9J,cAAQ,CAAC+J,QAAE,EAAExB,IAAI,CAACnL,aAAa,CAAC,CAAC;AAAA,EAAA,CAAA;AAExE,EAAA,oBACE7C,cAAA,CAAA,KAAA,EAAA;AACEsB,IAAAA,SAAS,EAAEmO,2BAAU,CAAC,sBAAsB,EAAE;MAC5C,mCAAmC,EAAE,CAAC,CAACX;AACzC,KAAC,CAAE;AAAAzO,IAAAA,QAAA,EAEFY,KAAK,CAACmO,GAAG,CAAC,UAAApB,IAAI,EAAA;AAAA,MAAA,oBACbhO,cAAA,CAAA,KAAA,EAAA;AACEsB,QAAAA,SAAS,EAAC,uBAAuB;QACjC,aAAA,EAAA,EAAA,CAAAuF,MAAA,CAAgBgB,mBAAS,CAACmG,IAAI,CAAC5L,IAAI,CAAC,EAAA,YAAA,CAAa;AAEjDL,QAAAA,KAAK,EAAE;UAAE2N,MAAM,EAAEpB,kBAAkB,CAACX,UAAU;SAAI;QAAAtN,QAAA,eAElDL,cAAA,CAACC,wBAAO,EAAA;AACNC,UAAAA,OAAO,EAAE6M,yBAAyB,CAACiB,IAAI,CAAC5L,IAAI,CAAE;AAC9ChC,UAAAA,QAAQ,EAAC,KAAK;UACdD,QAAQ,EACNe,yBAAyB,IACzB,CAACyO,eAAS,CAAC3B,IAAI,CAAC5L,IAAI,EAAE,OAAO,CAAC,IAC9B,CAACuN,eAAS,CAAC3B,IAAI,CAAC5L,IAAI,EAAE,OAAO,CAC9B;AAAA/B,UAAAA,QAAA,eAEDL,cAAA,CAAA,KAAA,EAAA;AAAKsB,YAAAA,SAAS,EAAC,wCAAwC;YAAAjB,QAAA,eACrDL,cAAA,CAAC4P,yBAAQ,EAAA;AACPC,cAAAA,OAAO,EAAEP,iBAAiB,CAACtB,IAAI,CAAE;AACjC1M,cAAAA,SAAS,EAAC,gCAAgC;AAC1C,cAAA,aAAA,EAAY,qCAAqC;cACjDnB,QAAQ,EACNwP,eAAS,CAAC3B,IAAI,CAAC5L,IAAI,EAAE,OAAO,CAAC,IAC7BuN,eAAS,CAAC3B,IAAI,CAAC5L,IAAI,EAAE,OAAO,CAAC,IAC7B,CAAClB,yBACF;cACD4O,QAAQ,EAAE,SAAVA,QAAQA,GAAA;gBAAA,OAAQjP,YAAY,CAACmN,IAAI,CAAC;AAAA,cAAA;aACnC;WACE;SACE;OAAC,EAzBLA,IAAI,CAAChJ,EA0BP,CAAC;IAAA,CACP;AAAC,GACC,CAAC;AAEV,CAAC;;ACtDM,IAAM+K,kBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BjQ,WAAW,EACX2N,mBAAmB,EAAA;AAAA,EAAA,IACnBuC,iBAAiB,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAvG,SAAA,GAAAuG,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAAA,OAEtBnQ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEsP,GAAG,CAAC,UAAA5P,IAAA,EAAyC;AAAA,IAAA,IAAtCwF,EAAE,GAAAxF,IAAA,CAAFwF,EAAE;MAAE5C,IAAI,GAAA5C,IAAA,CAAJ4C,IAAI;MAAEM,WAAW,GAAAlD,IAAA,CAAXkD,WAAW;MAAErC,QAAQ,GAAAb,IAAA,CAARa,QAAQ;AACjD,IAAA,IAAM8P,cAAc,GAAGH,iBAAiB,CAAC5N,IAAI,CAAC;IAE9C,oBACER,eAAA,CAACwO,cAAQ,EAAA;MAAA/P,QAAA,EAAA,CACNoN,mBAAmB,CAAChI,QAAQ,CAACT,EAAE,CAAC,iBAC/BpD,eAAA,CAAA,KAAA,EAAA;AACEN,QAAAA,SAAS,EAAC,oCAAoC;AAC9C,QAAA,WAAA,EAAWoB,WAAY;QAAArC,QAAA,EAAA,cAEvBL,cAAA,CAAC4J,2BAAU,EAAA;AACT,UAAA,aAAA,EAAY,qCAAqC;AACjDyG,UAAAA,UAAU,EAAC,QAAQ;AACnBtO,UAAAA,KAAK,EAAC,OAAO;AAAA1B,UAAAA,QAAA,EAEZqC;AAAW,SACF,CAAC,EACZyN,cAAc,iBACbnQ,cAAA,CAACsQ,4BAAW,EAAA;AACV5N,UAAAA,WAAW,EAAEyN,cAAe;AAC5BI,UAAAA,IAAI,EAAEC,0BAAU;AAChB7G,UAAAA,IAAI,EAAC;AAAS,SACf,CACF;OACE,CACN,eACD3J,cAAA,CAAA,KAAA,EAAA;AAAKsB,QAAAA,SAAS,EAAC,qEAAqE;AAAAjB,QAAAA,QAAA,EACjF0P,kBAAiB,CAAC1P,QAAQ,EAAEoN,mBAAmB,EAAEuC,iBAAiB;AAAC,OACjE,CAAC;AAAA,KAAA,EAxBOhL,EAyBL,CAAC;AAEf,EAAA,CAAC,CAAC;AAAA,CAAA;AAEG,IAAMyL,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAS;AACzC,EAAA,IAAMC,cAAc,GAAGC,uBAAiB,EAAE;AAE1ClK,EAAAA,QAAQ,CAACE,eAAe,CAAC5E,KAAK,CAAC6O,WAAW,CACxC,kCAAkC,EAAA,EAAA,CAAA/J,MAAA,CAC/B6J,cAAc,OACnB,CAAC;EAED,OAAO;IAAEG,YAAY,EAAA,EAAA,CAAAhK,MAAA,CAAK6J,cAAc,EAAA,IAAA;GAAM;AAChD,CAAC;AAkBM,IAAMI,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,wBAAwB,EAAA;EAAA,OAC3DrF,KAAK,CAAC8C,IAAI,CAAC,CAAAuC,wBAAwB,KAAA,IAAA,IAAxBA,wBAAwB,KAAA,MAAA,GAAA,MAAA,GAAxBA,wBAAwB,CAAE/E,IAAI,EAAE,KAAI,EAAE,CAAC,CAAC0B,MAAM,CAAC,UAAAvG,QAAQ,EAAI;AACpE,IAAA,IAAM6J,kBAAkB,GAAGD,wBAAwB,CAACxE,GAAG,CAACpF,QAAQ,CAAC;IACjE,IAAMrH,WAAW,GAAGkR,kBAAkB,CAACzE,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE;AAE/D,IAAA,OAAOzM,WAAW,CAACoQ,MAAM,GAAG,CAAC;AAC/B,EAAA,CAAC,CAAC;AAAA,CAAA;;AC9EJ,IAAMe,WAAW,GAAG,SAAdA,WAAWA,CAAAzR,IAAA,EAA6D;AAAA,EAAA,IAAvDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEwB,KAAK,GAAAzB,IAAA,CAALyB,KAAK;IAAEgN,aAAa,GAAAzO,IAAA,CAAbyO,aAAa;IAAEiD,kBAAkB,GAAA1R,IAAA,CAAlB0R,kBAAkB;AACrE,EAAA,IAAMhQ,yBAAyB,GAAGzB,MAAM,CAACK,WAAW,CAACqB,MAAM;AAC3D,EAAA,IAAM4M,yBAAyB,GAAGtO,MAAM,CAACK,WAAW,CAAA,QAAA,CAAO;AAE3D,EAAA,IAAMqR,iBAAiB,GAAGxN,YAAM,CAAC,IAAI,CAAC;AAEtC,EAAA,IAAMyN,iBAAiB,GAAGC,iBAAW,CAAC,YAAM;AAC1C,IAAA,IAAI,CAACF,iBAAiB,CAACjL,OAAO,EAAE;AAEhC,IAAA,IAAMoL,aAAa,GAAGH,iBAAiB,CAACjL,OAAO,CAACD,IAAI;AACpD,IAAA,IAAMsL,kBAAkB,GAAGC,iBAAW,CAACF,aAAa,CAAC;IACrDJ,kBAAkB,CAACK,kBAAkB,CAAC;AACxC,EAAA,CAAC,EAAE,CAACL,kBAAkB,CAAC,CAAC;AAExBxL,EAAAA,eAAS,CAAC,YAAM;AACd0D,IAAAA,gBAAgB,CAAC,QAAQ,EAAEgI,iBAAiB,CAAC;IAE7C,OAAO,YAAA;AAAA,MAAA,OAAMlI,mBAAmB,CAAC,QAAQ,EAAEkI,iBAAiB,CAAC;AAAA,IAAA,CAAA;AAC7D;EACF,CAAC,EAAE,EAAE,CAAC;EAEN1L,eAAS,CAAC0L,iBAAiB,EAAE,CAACA,iBAAiB,EAAED,iBAAiB,EAAElQ,KAAK,CAAC,CAAC;EAE3E,oBACEjB,cAAA,CAACyR,gCAAc,EAAA;AAACC,IAAAA,KAAK,EAAC,YAAY;AAAC5H,IAAAA,GAAG,EAAEqH,iBAAkB;AAAA9Q,IAAAA,QAAA,eACxDL,cAAA,CAAA,KAAA,EAAA;AAAKsB,MAAAA,SAAS,EAAC,yBAAyB;AAAC,MAAA,aAAA,EAAY,wBAAwB;AAAAjB,MAAAA,QAAA,EAC1EY,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEmO,GAAG,CAAC,UAACpB,IAAI,EAAE2D,KAAK,EAAK;QAC3B,IAAMzD,YAAY,GAAGyB,eAAS,CAAC,QAAQ,EAAE3B,IAAI,CAAC1I,IAAI,CAAC;QACnD,IAAMsM,WAAW,GAAGpM,uBAAW,CAACC,QAAQ,CAACuI,IAAI,CAAC5L,IAAI,CAAC,IAAI8L,YAAY;AAEnE,QAAA,oBACElO,cAAA,CAAA,KAAA,EAAA;AAAKsB,UAAAA,SAAS,EAAC,uBAAuB;AAAAjB,UAAAA,QAAA,eACpCuB,eAAA,CAAA,KAAA,EAAA;AACEN,YAAAA,SAAS,EAAC,wCAAwC;AAClD,YAAA,aAAA,EAAY,6BAA6B;YAAAjB,QAAA,EAAA,cAEzCL,cAAA,CAAC4J,2BAAU,EAAA;AACTtI,cAAAA,SAAS,EAAC,mCAAmC;AAC7C,cAAA,aAAA,EAAY,mCAAmC;AAC/C+O,cAAAA,UAAU,EAAC,QAAQ;AACnBtO,cAAAA,KAAK,EAAC,IAAI;AACV8P,cAAAA,MAAM,EAAC,UAAU;cAAAxR,QAAA,EAEhB2N,IAAI,CAAC5L;AAAI,aACA,CAAC,EACZ,CAACwP,WAAW,iBACX5R,cAAA,CAAC8R,6BAAY,EAAA;AACXC,cAAAA,aAAa,EAAE;AAAEC,gBAAAA,SAAS,EAAE;eAAO;AACnCC,cAAAA,mBAAmB,EAAE;AACnB3Q,gBAAAA,SAAS,EAAE,kCAAkC;AAC7C,gBAAA,aAAa,EAAE;eACf;cACF4Q,SAAS,EAAEpE,YAAY,CAAC;AACtBC,gBAAAA,yBAAyB,EAAzBA,yBAAyB;AACzB7M,gBAAAA,yBAAyB,EAAzBA,yBAAyB;AACzB8M,gBAAAA,IAAI,EAAJA,IAAI;AACJC,gBAAAA,aAAa,EAAbA,aAAa;AACbC,gBAAAA,YAAY,EAAZA;eACD;AAAE,aACJ,CACF;WACE;AAAC,SAAA,EAAA,YAAA,CAAArH,MAAA,CA9BiD8K,KAAK,CA+BzD,CAAC;MAEV,CAAC;KACE;AAAC,GACQ,CAAC;AAErB,CAAC;AAED,oBAAA,aAAeQ,UAAI,CAAClB,WAAW,CAAC;;AC7EhC,IAAMmB,MAAM,GAAG,SAATA,MAAMA,CAAA5S,IAAA,EAAiD;AAAA,EAAA,IAA3C2D,MAAM,GAAA3D,IAAA,CAAN2D,MAAM;IAAEC,OAAO,GAAA5D,IAAA,CAAP4D,OAAO;IAAEG,YAAY,GAAA/D,IAAA,CAAZ+D,YAAY;IAAEtC,KAAK,GAAAzB,IAAA,CAALyB,KAAK;AACpD,EAAA,IAAAtB,eAAA,GAAcC,2BAAc,EAAE;IAAtBd,CAAC,GAAAa,eAAA,CAADb,CAAC;EACT,IAAAuT,eAAA,GAAsDC,0BAAc,CAAC;AACnEtO,MAAAA,SAAS,EAAEZ;AACb,KAAC,CAAC;IAFcmP,UAAU,GAAAF,eAAA,CAAlBnO,MAAM;IAAyBsO,UAAU,GAAAH,eAAA,CAArBjO,SAAS;AAIrC,EAAA,IAAMqO,YAAY,GAAG,SAAfA,YAAYA,GAAS;AAAA,IAAA,IAAAC,WAAA;AACzB,IAAA,IAAQ1N,EAAE,GAAKzB,YAAY,CAAnByB,EAAE;AACV,IAAA,IAAMH,OAAO,GAAG;MAAE8N,SAAS,EAAA,CAAAD,WAAA,GAAEzR,KAAK,CAAC2R,IAAI,CAAC,UAAA5E,IAAI,EAAA;AAAA,QAAA,OAAIA,IAAI,CAAChJ,EAAE,KAAKA,EAAE;AAAA,MAAA,CAAA,CAAC,MAAA,IAAA,IAAA0N,WAAA,KAAA,MAAA,GAAA,MAAA,GAAlCA,WAAA,CAAoC1N;KAAI;AACrEuN,IAAAA,UAAU,CAAC;AAAEvN,MAAAA,EAAE,EAAFA,EAAE;AAAEH,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;EAC7B,CAAC;EAED,oBACE7E,cAAA,CAAC6S,sBAAK,EAAA;AACE1P,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACrB0P,IAAAA,iBAAiB,EAAEhU,CAAC,CAAC,iCAAiC,CAAE;AACxD6F,IAAAA,YAAY,EAAE6N,UAAW;AACzBO,IAAAA,iBAAiB,EAAEjU,CAAC,CAAC,iCAAiC,CAAE;AACxD2C,IAAAA,KAAK,EAAE3C,CAAC,CAAC,oCAAoC,CAAE;IAC/CkU,OAAO,eACLhT,cAAA,CAACiT,kBAAK,EAAA;AACJC,MAAAA,OAAO,EAAC,+CAA+C;AACvDC,MAAAA,MAAM,EAAE;AAAE/Q,QAAAA,IAAI,EAAEmB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEnB;AAAK;AAAE,KACtC,CACF;AACDgD,IAAAA,QAAQ,EAAEqN;AAAa,GACxB,CAAC;AAEN,CAAC;;ACpBD,IAAMW,OAAO,GAAG,SAAVA,OAAOA,CAAA5T,IAAA,EAOP;AAAA,EAAA,IANJC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNsR,wBAAwB,GAAAvR,IAAA,CAAxBuR,wBAAwB;IACxBsC,aAAa,GAAA7T,IAAA,CAAb6T,aAAa;IACbvT,WAAW,GAAAN,IAAA,CAAXM,WAAW;IACXmB,KAAK,GAAAzB,IAAA,CAALyB,KAAK;IACLiQ,kBAAkB,GAAA1R,IAAA,CAAlB0R,kBAAkB;AAElB,EAAA,IAAAoC,SAAA,GAAoCC,cAAQ,CAACtI,0BAA0B,CAAC;IAAAuI,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjEI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEvF,IAAAA,aAAa,GAAAuF,UAAA,CAAA,CAAA,CAAA;EAEhC,IAAMG,UAAU,GAAGC,aAAO,CACxB,YAAA;IAAA,OAAM9C,qBAAqB,CAACC,wBAAwB,CAAC;EAAA,CAAA,EACrD,CAACA,wBAAwB,CAC3B,CAAC;AAED,EAAA,IAAM3N,OAAO,GAAG,SAAVA,OAAOA,GAAA;IAAA,OAAS6K,aAAa,CAAChD,0BAA0B,CAAC;AAAA,EAAA,CAAA;AAE/D,EAAA,oBACErJ,eAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAC,0BAA0B;IAAAjB,QAAA,EAAA,cACvCL,cAAA,CAACiR,aAAW,EAAA;AACJxR,MAAAA,MAAM,EAANA,MAAM;AAAEyR,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAAEjD,MAAAA,aAAa,EAAbA,aAAa;AAC/ChN,MAAAA,KAAK,EAAEoS;AAAc,KACtB,CAAC,eACFrT,cAAA,CAACyR,gCAAc,EAAA;AAACC,MAAAA,KAAK,EAAE,CAAC,YAAY,EAAE,UAAU,CAAE;AAAArR,MAAAA,QAAA,eAChDL,cAAA,CAAA,KAAA,EAAA;AAAKsB,QAAAA,SAAS,EAAC,uBAAuB;AAAAjB,QAAAA,QAAA,EACnCsT,UAAU,CAACzD,MAAM,KAAK,CAAC,gBACtBlQ,cAAA,CAAA,KAAA,EAAA;AAAKsB,UAAAA,SAAS,EAAC,4BAA4B;AAAAjB,UAAAA,QAAA,eACzCL,cAAA,CAAA,KAAA,EAAA;AAAKsB,YAAAA,SAAS,EAAC,sBAAsB;AAAAjB,YAAAA,QAAA,eACnCL,cAAA,CAAA,KAAA,EAAA;AAAKsB,cAAAA,SAAS,EAAC,uBAAuB;AAAAjB,cAAAA,QAAA,eACpCL,cAAA,CAAA,KAAA,EAAA;AAAKsB,gBAAAA,SAAS,EAAC,+BAA+B;AAAAjB,gBAAAA,QAAA,EAAC;eAAW;aACvD;WACF;SACF,CAAC,GAENsT,UAAU,CAACvE,GAAG,CAAC,UAACjI,QAAQ,EAAEwK,KAAK,EAAK;AAClC,UAAA,IAAMX,kBAAkB,GAAGD,wBAAwB,CAACxE,GAAG,CAACpF,QAAQ,CAAC;AACjE,UAAA,IAAMiG,mBAAmB,GAAG4D,kBAAkB,CAACzE,GAAG,CAChD,qBACF,CAAC;AACD,UAAA,IAAMzM,WAAW,GAAGkR,kBAAkB,CAACzE,GAAG,CAAC,aAAa,CAAC;AAEzD,UAAA,oBACE3K,eAAA,CAAA,KAAA,EAAA;AACE,YAAA,aAAA,EAAA,EAAA,CAAAiF,MAAA,CAAgBgB,mBAAS,CAACV,QAAQ,CAAC,EAAA,kBAAA,CAAmB;YAAA9G,QAAA,EAAA,cAGtDL,cAAA,CAAC4O,GAAG,EAAA;AACIzH,cAAAA,QAAQ,EAARA,QAAQ;AAAE1H,cAAAA,MAAM,EAANA,MAAM;AAAEwO,cAAAA,aAAa,EAAbA,aAAa;AACrCa,cAAAA,wBAAwB,EAAEkC,kBAAmB;AAC7C/P,cAAAA,KAAK,EAAEoS;aACR,CAAC,EACDjG,mBAAmB,IAClBtN,WAAW,CAACsP,GAAG,CAAC,UAAAzB,UAAU,EAAA;cAAA,oBACxBkG,mBAAA,CAACjF,GAAG,EAAA;AACInP,gBAAAA,MAAM,EAANA,MAAM;AAAEkO,gBAAAA,UAAU,EAAVA,UAAU;AAAEM,gBAAAA,aAAa,EAAbA,aAAa;AACvC,gBAAA,aAAA,EAAA,EAAA,CAAApH,MAAA,CAAgBgB,mBAAS,CAAC8F,UAAU,CAAC,EAAA,iBAAA,CAAkB;gBACvD1G,GAAG,EAAE0G,UAAU,CAAC3I,EAAG;AACnB/D,gBAAAA,KAAK,EAAEoS;AAAc,eACtB,CAAC;AAAA,YAAA,CACH,CAAC;AAAA,WAAA,EAfC1B,KAgBF,CAAC;QAEV,CAAC;OAEA;AAAC,KACQ,CAAC,eACjB3R,cAAA,CAACgD,WAAW,EAAA;AACJvD,MAAAA,MAAM,EAANA,MAAM;AAAE2D,MAAAA,OAAO,EAAPA,OAAO;AAAEtD,MAAAA,WAAW,EAAXA,WAAW;MAClCqD,MAAM,EAAEuQ,UAAU,CAACjP,MAAO;MAC1BhB,QAAQ,EAAEiQ,UAAU,CAACjQ,QAAS;MAC9BF,YAAY,EAAEmQ,UAAU,CAACnQ;AAAa,KACvC,CAAC,eACFvD,cAAA,CAACoS,MAAM,EAAA;AACChP,MAAAA,OAAO,EAAPA,OAAO;AAAEnC,MAAAA,KAAK,EAALA,KAAK;MACpBkC,MAAM,EAAEuQ,UAAU,CAACxI,QAAS;MAC5B3H,YAAY,EAAEmQ,UAAU,CAACnQ;AAAa,KACvC,CAAC;AAAA,GACC,CAAC;AAEV,CAAC;;AC1FD,IAAMuQ,cAAc,GAAG,SAAjBA,cAAcA,CAAAtU,IAAA,EAAA;AAAA,EAAA,IAAM6O,SAAS,GAAA7O,IAAA,CAAT6O,SAAS;AAAA,EAAA,OACjCA,SAAS,gBACPrO,cAAA,CAAC+T,mBAAE,EAAA;AACDzS,IAAAA,SAAS,EAAC,2CAA2C;AACrD,IAAA,aAAA,EAAY,qCAAqC;AACjDqI,IAAAA,IAAI,EAAE,EAAG;AACTqK,IAAAA,WAAW,EAAE;AAAE,GAChB,CAAC,gBAEFhU,cAAA,CAACiU,qBAAI,EAAA;AACH3S,IAAAA,SAAS,EAAC,2CAA2C;AACrD,IAAA,aAAA,EAAY,qCAAqC;AACjDqI,IAAAA,IAAI,EAAE,EAAG;AACTqK,IAAAA,WAAW,EAAE;AAAE,GAChB,CACF;AAAA,CAAA;;ACCH,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAA1U,IAAA,EAOP;AAAA,EAAA,IANJuR,wBAAwB,GAAAvR,IAAA,CAAxBuR,wBAAwB;IACxBoD,cAAc,GAAA3U,IAAA,CAAd2U,cAAc;IACdC,eAAe,GAAA5U,IAAA,CAAf4U,eAAe;IAAA/Q,gBAAA,GAAA7D,IAAA,CACfM,WAAW;AAAXA,IAAAA,WAAW,GAAAuD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAgR,qBAAA,GAAA7U,IAAA,CAChBmL,wBAAwB;AAAxBA,IAAAA,wBAAwB,GAAA0J,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAA9U,IAAA,CAC7BwQ,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAsE,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;AAEtB,EAAA,IAAA3U,eAAA,GAAcC,2BAAc,EAAE;IAAtBd,CAAC,GAAAa,eAAA,CAADb,CAAC;EAET,IAAM6U,UAAU,GAAGC,aAAO,CACxB,YAAA;IAAA,OAAM9C,qBAAqB,CAACC,wBAAwB,CAAC;EAAA,CAAA,EACrD,CAACA,wBAAwB,CAC3B,CAAC;EAED,IAAMwD,kBAAkB,GAAGH,eAAe,GAAG3D,qBAAqB,EAAE,GAAG,EAAE;EAEzE,IAAM+D,kBAAkB,GAAGC,aAAO,CAACpF,UAAI,CAAC,MAAM,CAAC,CAAC,CAACvP,WAAW,CAAC;AAE7D,EAAA,IAAM4U,8BAA8B,GAAGd,aAAO,CAAC,YAAM;IACnD,IAAMe,uBAAuB,GAAGC,sCAA0B,CAAC;AACzD9U,MAAAA,WAAW,EAAXA,WAAW;AACX0U,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB7J,MAAAA,wBAAwB,EAAxBA;AACF,KAAC,CAAC;IAEF,OAAO8J,aAAO,CAACpF,UAAI,CAAC,UAAU,CAAC,CAAC,CAACsF,uBAAuB,CAAC;AAC3D,EAAA,CAAC,EAAE,CAAC7U,WAAW,CAAC,CAAC;AAEjB,EAAA,oBACE8B,eAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAC,0BAA0B;AAAAjB,IAAAA,QAAA,gBACvCL,cAAA,CAAA,KAAA,EAAA;AACEsB,MAAAA,SAAS,EAAC,iCAAiC;AAC3CS,MAAAA,KAAK,EAAEwS,kBAAmB;MAAAlU,QAAA,eAE1BL,cAAA,CAAC6U,uBAAM,EAAA;QACLC,aAAa,EAAA,IAAA;AACb,QAAA,aAAA,EAAY,8BAA8B;AAC1CC,QAAAA,eAAe,EAAC,wBAAwB;AACxClW,QAAAA,WAAW,EAAEC,CAAC,CACZ,gDAAgD,EAChDC,gBACF;OACD;AAAC,KACC,CAAC,eACNiB,cAAA,CAACyR,gCAAc,EAAA;AAACC,MAAAA,KAAK,EAAC,UAAU;AAAArR,MAAAA,QAAA,eAC9BL,cAAA,CAAA,KAAA,EAAA;AAAKsB,QAAAA,SAAS,EAAC,+BAA+B;AAAAjB,QAAAA,QAAA,EAC3CsT,UAAU,CAACzD,MAAM,KAAK,CAAC,gBACtBlQ,cAAA,CAAA,KAAA,EAAA;AAAKsB,UAAAA,SAAS,EAAC,yCAAyC;AAAAjB,UAAAA,QAAA,eACtDL,cAAA,CAAA,KAAA,EAAA;AAAKsB,YAAAA,SAAS,EAAC,oFAAoF;YAAAjB,QAAA,eACjGL,cAAA,CAAC4J,2BAAU,EAAA;AACT,cAAA,aAAA,EAAY,wBAAwB;AACpCyG,cAAAA,UAAU,EAAC,QAAQ;AACnBtO,cAAAA,KAAK,EAAC,OAAO;AACb8P,cAAAA,MAAM,EAAC,UAAU;cAAAxR,QAAA,EAEhBvB,CAAC,CAAC,6CAA6C;aACtC;WACT;SACF,CAAC,GAEN6U,UAAU,CAACvE,GAAG,CAAC,UAACjI,QAAQ,EAAEwK,KAAK,EAAK;AAClC,UAAA,IAAMX,kBAAkB,GAAGD,wBAAwB,CAACxE,GAAG,CAACpF,QAAQ,CAAC;AACjE,UAAA,IAAMiG,mBAAmB,GAAG4D,kBAAkB,CAACzE,GAAG,CAChD,qBACF,CAAC;AAED,UAAA,oBACE3K,eAAA,CAAA,KAAA,EAAA;AACEN,YAAAA,SAAS,EAAC,yCAAyC;AAAAjB,YAAAA,QAAA,gBAGnDuB,eAAA,CAAA,KAAA,EAAA;AACEN,cAAAA,SAAS,EAAC,mGAAmG;cAC7G5B,OAAO,EAAE,SAATA,OAAOA,GAAA;gBAAA,OAAQyU,cAAc,CAAChN,QAAQ,CAAC;cAAA,CAAC;cAAA9G,QAAA,EAAA,cAExCL,cAAA,CAAC4J,2BAAU,EAAA;AACTtI,gBAAAA,SAAS,EAAC,0CAA0C;AACpD,gBAAA,aAAA,EAAY,+BAA+B;AAC3C+O,gBAAAA,UAAU,EAAC,QAAQ;AACnBtO,gBAAAA,KAAK,EAAC,IAAI;AACV8P,gBAAAA,MAAM,EAAC,UAAU;AAAAxR,gBAAAA,QAAA,EAEhB8G;AAAQ,eACC,CAAC,eACbnH,cAAA,CAAC8T,cAAc,EAAA;AAACzF,gBAAAA,SAAS,EAAEjB;AAAoB,eAAE,CAAC;AAAA,aAC/C,CAAC,EACLA,mBAAmB,iBAClBpN,cAAA,CAAA,KAAA,EAAA;AAAKsB,cAAAA,SAAS,EAAC,wEAAwE;cAAAjB,QAAA,EACpF0P,kBAAiB,CAChB2E,8BAA8B,CAACvN,QAAQ,CAAC,EACxC6N,WAAK,CACH,IAAI,EACJjE,wBAAwB,CACrBxE,GAAG,CAACpF,QAAQ,CAAC,CACboF,GAAG,CAAC,aAAa,CAAC,IAAI,EAC3B,CAAC,EACDyD,iBACF;AAAC,aACE,CACN;AAAA,WAAA,EA9BI2B,KA+BF,CAAC;QAEV,CAAC;OAEA;AAAC,KACQ,CAAC;AAAA,GACd,CAAC;AAEV,CAAC;;AChHD,IAAMsD,KAAK,GAAG,SAARA,KAAKA,CAAAzV,IAAA,EAQL;EAAA,IAAAwK,qBAAA,EAAAkL,qBAAA;AAAA,EAAA,IAPJzV,MAAM,GAAAD,IAAA,CAANC,MAAM;IACN4T,aAAa,GAAA7T,IAAA,CAAb6T,aAAa;IACbpS,KAAK,GAAAzB,IAAA,CAALyB,KAAK;IACLsM,gBAAgB,GAAA/N,IAAA,CAAhB+N,gBAAgB;IAChBzN,WAAW,GAAAN,IAAA,CAAXM,WAAW;IACXqV,gBAAgB,GAAA3V,IAAA,CAAhB2V,gBAAgB;IAChBnU,oBAAoB,GAAAxB,IAAA,CAApBwB,oBAAoB;AAEpB,EAAA,IAAArB,eAAA,GAAcC,2BAAc,EAAE;IAAtBd,CAAC,GAAAa,eAAA,CAADb,CAAC;AACT,EAAA,IAAAsW,eAAA,GAAsCC,yBAAc,EAAE;IAAAC,qBAAA,GAAAF,eAAA,CAA9CG,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;AAEjC,EAAA,IAAMzV,yBAAyB,GAAGJ,MAAM,CAACK,WAAW,CAACC,MAAM;AAE3D,EAAA,IAAAuT,SAAA,GACEC,cAAQ,CAAChG,gBAAgB,CAAC;IAAAiG,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AADrBvC,IAAAA,wBAAwB,GAAAyC,UAAA,CAAA,CAAA,CAAA;AAAEgC,IAAAA,2BAA2B,GAAAhC,UAAA,CAAA,CAAA,CAAA;AAE5D,EAAA,IAAAiC,UAAA,GAA8ClC,cAAQ,CAAC,KAAK,CAAC;IAAAmC,UAAA,GAAAjC,+BAAA,CAAAgC,UAAA,EAAA,CAAA,CAAA;AAAtDrB,IAAAA,eAAe,GAAAsB,UAAA,CAAA,CAAA,CAAA;AAAExE,IAAAA,kBAAkB,GAAAwE,UAAA,CAAA,CAAA,CAAA;AAE1C,EAAA,IAAAC,UAAA,GAAwCpC,cAAQ,CAAC7J,SAAS,CAAC;IAAAkM,UAAA,GAAAnC,+BAAA,CAAAkC,UAAA,EAAA,CAAA,CAAA;AAApDpS,IAAAA,YAAY,GAAAqS,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAE,UAAA,GAAkDvC,cAAQ,CAAC,KAAK,CAAC;IAAAwC,UAAA,GAAAtC,+BAAA,CAAAqC,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAG,UAAA,GAA4C3C,cAAQ,CAAC,KAAK,CAAC;IAAA4C,WAAA,GAAA1C,+BAAA,CAAAyC,UAAA,EAAA,CAAA,CAAA;AAApDE,IAAAA,cAAc,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,WAAA,CAAA,CAAA,CAAA;AAExC,EAAA,IAAMhC,cAAc,GAAG,SAAjBA,cAAcA,CAAGhN,QAAQ,EAAI;AACjC,IAAA,IAAMrH,WAAW,GAAGoN,0BAA0B,CAC5C/F,QAAQ,EACR4J,wBACF,CAAC;IACDyE,2BAA2B,CAAC1V,WAAW,CAAC;EAC1C,CAAC;AAED4F,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAM8H,QAAQ,GAAGH,yBAAyB,CACxCkI,oBAAoB,EACpBhI,gBACF,CAAC;IACDiI,2BAA2B,CAAChI,QAAQ,CAAC;AACvC,EAAA,CAAC,EAAE,CAACD,gBAAgB,EAAEgI,oBAAoB,CAAC,CAAC;EAE5C,oBACE3T,eAAA,CAAAC,mBAAA,EAAA;AAAAxB,IAAAA,QAAA,gBACEL,cAAA,CAAA,KAAA,EAAA;AAAKsB,MAAAA,SAAS,EAAC,0BAA0B;AAAAjB,MAAAA,QAAA,eACvCL,cAAA,CAAA,KAAA,EAAA;AAAKsB,QAAAA,SAAS,EAAC,4BAA4B;AAAAjB,QAAAA,QAAA,EACxCiW,aAAO,CAACjD,aAAa,CAAC,gBACrBrT,cAAA,CAAA,KAAA,EAAA;AAAKsB,UAAAA,SAAS,EAAC,iBAAiB;UAAAjB,QAAA,eAC9BL,cAAA,CAACuW,uBAAM,EAAA;AACL9U,YAAAA,KAAK,EAAE3C,CAAC,CAAC,sCAAsC,EAAEC,gBAAM,CAAE;AACzDyX,YAAAA,kBAAkB,EAAE;AAClB,cAAA,aAAa,EAAE,qBAAqB;cACpCrW,QAAQ,EAAE,CAACN,yBAAyB;AACpCU,cAAAA,KAAK,EAAEzB,CAAC,CAAC,oCAAoC,CAAC;cAC9CY,OAAO,EAAE,SAATA,OAAOA,GAAA;gBAAA,OAAQsB,oBAAoB,CAAC,IAAI,CAAC;AAAA,cAAA;AAC3C;WACD;AAAC,SACC,CAAC,gBAENY,eAAA,CAAAC,mBAAA,EAAA;UAAAxB,QAAA,EAAA,cACEL,cAAA,CAACkU,OAAO,EAAA;AAEJnD,YAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBqD,YAAAA,eAAe,EAAfA,eAAe;AACftU,YAAAA,WAAW,EAAXA,WAAW;AACXqU,YAAAA,cAAc,EAAdA,cAAc;AAEhBxJ,YAAAA,wBAAwB,GAAAX,qBAAA,GAAEvK,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEmL,kBAAkB,cAAAZ,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAG;AAC3DgG,YAAAA,iBAAiB,EAAA,CAAAkF,qBAAA,GAAEzV,MAAM,aAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEuQ,iBAAiB,MAAA,IAAA,IAAAkF,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI;AAAG,WACpD,CAAC,eACFlV,cAAA,CAACoT,OAAO,EAAA;AAEJ3T,YAAAA,MAAM,EAANA,MAAM;AACNsR,YAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBsC,YAAAA,aAAa,EAAbA,aAAa;AACbvT,YAAAA,WAAW,EAAXA,WAAW;AACXmB,YAAAA,KAAK,EAALA,KAAK;AACLiQ,YAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBiE,YAAAA,gBAAgB,EAAhBA;AAAgB,WAEnB,CAAC;SACF;OAED;AAAC,KACH,CAAC,eACNnV,cAAA,CAACgD,WAAW,EAAA;AACJvD,MAAAA,MAAM,EAANA,MAAM;AAAEK,MAAAA,WAAW,EAAXA,WAAW;AAAEyD,MAAAA,YAAY,EAAZA,YAAY;AACvCJ,MAAAA,MAAM,EAAEiT,cAAe;AACvBhT,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACbyS,eAAe,CAACnM,SAAS,CAAC;QAC1B2M,iBAAiB,CAAC,KAAK,CAAC;AAC1B,MAAA;AAAE,KACH,CAAC,eACFrW,cAAA,CAACoS,MAAM,EAAA;AACCnR,MAAAA,KAAK,EAALA,KAAK;AAAEsC,MAAAA,YAAY,EAAZA,YAAY;AACzBJ,MAAAA,MAAM,EAAE6S,iBAAkB;AAC1B5S,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACbyS,eAAe,CAACnM,SAAS,CAAC;QAC1BuM,oBAAoB,CAAC,KAAK,CAAC;AAC7B,MAAA;AAAE,KACH,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;;ACxFD,IAAMQ,KAAK,GAAG,SAARA,KAAKA,CAAAjX,IAAA,EAAmB;AAAA,EAAA,IAAbC,MAAM,GAAAD,IAAA,CAANC,MAAM;AACrB,EAAA,IAAMiX,uBAAuB,GAAGjX,MAAM,CAACK,WAAW,CAAC6W,IAAI;AACvD,EAAA,IAAMzV,yBAAyB,GAAGzB,MAAM,CAACK,WAAW,CAACqB,MAAM;AAE3D,EAAA,IAAAmS,SAAA,GAA0CC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CsD,IAAAA,aAAa,GAAApD,UAAA,CAAA,CAAA,CAAA;AAAE2B,IAAAA,gBAAgB,GAAA3B,UAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAiC,UAAA,GAAkDlC,cAAQ,CAAC,KAAK,CAAC;IAAAmC,UAAA,GAAAjC,+BAAA,CAAAgC,UAAA,EAAA,CAAA,CAAA;AAA1DoB,IAAAA,iBAAiB,GAAAnB,UAAA,CAAA,CAAA,CAAA;AAAE1U,IAAAA,oBAAoB,GAAA0U,UAAA,CAAA,CAAA,CAAA;EAC9C,IAAAoB,cAAA,GAIIC,yBAAa,CAAC;AAAEC,MAAAA,OAAO,EAAEN;AAAwB,KAAC,CAAC;IAAAO,mBAAA,GAAAH,cAAA,CAHrDI,IAAI;AAAEjW,IAAAA,KAAK,GAAAgW,mBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,mBAAA;IACLE,cAAc,GAAAL,cAAA,CAAzBM,SAAS;IACTC,MAAM,GAAAP,cAAA,CAANO,MAAM;AAGR,EAAA,IAAAjC,eAAA,GAA4BC,yBAAc,EAAE;IAAAiC,qBAAA,GAAAlC,eAAA,CAApC9H,UAAU;AAAVA,IAAAA,UAAU,GAAAgK,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;EAEvB,IAAAC,oBAAA,GACEC,yBAAmB,CAAC;AAAER,MAAAA,OAAO,EAAEN;AAAwB,KAAC,CAAC;IAD7Ce,cAAc,GAAAF,oBAAA,CAApBL,IAAI;IAA6BQ,oBAAoB,GAAAH,oBAAA,CAA/BH,SAAS;EAGvC,IAAAO,mBAAA,GAA+BC,8BAAkB,CAAC;AAChDZ,MAAAA,OAAO,EAAE9V;AACX,KAAC,CAAC;IAFc2W,UAAU,GAAAF,mBAAA,CAAlBzT,MAAM;AAId,EAAA,IAAMpE,WAAW,GAAGgY,qCAAyB,CAACL,cAAc,CAAC;AAC7D,EAAA,IAAMlK,gBAAgB,GAAGwK,+BAAmB,CAACjY,WAAW,CAAC;AAEzD,EAAA,IAAMuT,aAAa,GAAG3F,YAAM,CAC1B,UAAA9H,KAAA,EAAA;AAAA,IAAA,IAAGxD,IAAI,GAAAwD,KAAA,CAAJxD,IAAI;IAAA,OACLqD,cAAQ,CAAC6H,UAAU,CAACO,WAAW,EAAE,CAACvL,IAAI,EAAE,EAAEF,IAAI,CAACyL,WAAW,EAAE,CAACvL,IAAI,EAAE,CAAC;EAAA,CAAA,EACtEd,oBAAU,CAACoV,aAAa,CAAC,GAAGA,aAAa,GAAG3V,KAC9C,CAAC;AAED,EAAA,IAAMJ,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAMmX,YAAY,GAAGC,kCAAsB,CAAChX,KAAK,EAAE2V,aAAa,CAAC;AACjEiB,IAAAA,UAAU,CAAC;AAAEK,MAAAA,iBAAiB,EAAE;AAAEF,QAAAA,YAAY,EAAZA;AAAa;AAAE,KAAC,CAAC;EACrD,CAAC;AAED,EAAA,IAAMpX,WAAW,GAAG,SAAdA,WAAWA,GAAA;IAAA,OAASuU,gBAAgB,CAAClU,KAAK,CAAC;AAAA,EAAA,CAAA;AAEjDyE,EAAAA,eAAS,CAAC,YAAM;IACd,IAAI2R,MAAM,KAAK,SAAS,EAAE;IAC1BlC,gBAAgB,CAAClU,KAAK,CAAC;AACzB,EAAA,CAAC,EAAE,CAACA,KAAK,EAAEoW,MAAM,CAAC,CAAC;EACnB,IAAIF,cAAc,IAAIO,oBAAoB,EAAE;AAC1C,IAAA,oBACE1X,cAAA,CAAA,KAAA,EAAA;AAAKsB,MAAAA,SAAS,EAAC,6DAA6D;AAAAjB,MAAAA,QAAA,eAC1EL,cAAA,CAACmY,wBAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;EAEA,oBACEvW,eAAA,CAAAC,mBAAA,EAAA;IAAAxB,QAAA,EAAA,cACEL,cAAA,CAACoY,4BAAU,EAAA;MAAA/X,QAAA,eACTuB,eAAA,CAACyW,0BAAS,EAAA;QAACC,aAAa,EAAA,IAAA;QAAAjY,QAAA,EAAA,cACtBL,cAAA,CAACQ,MAAM,EAAA;AAEHf,UAAAA,MAAM,EAANA,MAAM;AACNmB,UAAAA,WAAW,EAAXA,WAAW;AACXC,UAAAA,YAAY,EAAZA,YAAY;AACZI,UAAAA,KAAK,EAALA,KAAK;AACLD,UAAAA,oBAAoB,EAApBA;AAAoB,SAEvB,CAAC,eACFhB,cAAA,CAACiV,KAAK,EAAA;AAEFxV,UAAAA,MAAM,EAANA,MAAM;AACN4T,UAAAA,aAAa,EAAbA,aAAa;AACb9F,UAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBzN,UAAAA,WAAW,EAAXA,WAAW;AACXmB,UAAAA,KAAK,EAALA,KAAK;AACLD,UAAAA,oBAAoB,EAApBA,oBAAoB;AACpBmU,UAAAA,gBAAgB,EAAhBA;AAAgB,SAEnB,CAAC;OACO;AAAC,KACF,CAAC,eACbnV,cAAA,CAACgD,WAAW,EAAA;AACJvD,MAAAA,MAAM,EAANA,MAAM;AAAEK,MAAAA,WAAW,EAAXA,WAAW;AACzBqD,MAAAA,MAAM,EAAE0T,iBAAkB;MAC1BzT,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQpC,oBAAoB,CAAC,KAAK,CAAC;AAAA,MAAA;AAAC,KAC5C,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;AAED,YAAeuX,oBAAS,CACtBC,6BAAc,CAAC/B,KAAK,CAAC,EACrBgC,wBAAO,CAAC3Z,CAAC,CAAC,8BAA8B,EAAEC,gBAAM,CAClD,CAAC;;;;"}