ethyca-fides 2.69.1rc0__py2.py3-none-any.whl → 2.76.0rc2__py2.py3-none-any.whl

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 (607) hide show
  1. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/METADATA +9 -6
  2. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/RECORD +488 -361
  3. fides/_version.py +3 -3
  4. fides/api/alembic/alembic.ini +5 -1
  5. fides/api/alembic/migrations/env.py +7 -1
  6. fides/api/alembic/migrations/versions/0eef0016cf06_adding_oauth2_config_for_.py +69 -0
  7. fides/api/alembic/migrations/versions/303287c70600_migrate_resource_type_from_enum_to_.py +99 -0
  8. fides/api/alembic/migrations/versions/30369bb8ae01_add_webmonitorgroupjob_model.py +67 -0
  9. fides/api/alembic/migrations/versions/3efe14d4469a_adds_new_experience_configs_for_vendor_.py +79 -0
  10. fides/api/alembic/migrations/versions/4bfbeff34611_add_polling_status.py +68 -0
  11. fides/api/alembic/migrations/versions/4d8c0fcc5771_adding_default_system_groups.py +78 -0
  12. fides/api/alembic/migrations/versions/5fa78b1f324d_add_event_audit_table.py +82 -0
  13. fides/api/alembic/migrations/versions/65a1bc82ae09_adds_experience_config_for_delete_.py +53 -0
  14. fides/api/alembic/migrations/versions/67d0e389b003_update_consentstatus_enum.py +47 -0
  15. fides/api/alembic/migrations/versions/795f46f656c0_migrate_field_type_from_enum_to_string.py +61 -0
  16. fides/api/alembic/migrations/versions/7db29f9cd77b_create_new_sub_request_table.py +95 -0
  17. fides/api/alembic/migrations/versions/918aefc950c9_create_digest_conditional_dependencies.py +125 -0
  18. fides/api/alembic/migrations/versions/9caf76161e55_make_user_assigned_data_uses_nullable_.py +64 -0
  19. fides/api/alembic/migrations/versions/9e0dcbf67b9f_add_digest_config.py +84 -0
  20. fides/api/alembic/migrations/versions/a55e12c2c2df_add_tagging_instructions_to_data_.py +29 -0
  21. fides/api/alembic/migrations/versions/a8e0c016afd_add_classification_benchmark_table.py +126 -0
  22. fides/api/alembic/migrations/versions/b97e92b038d2_add_digest_execution_model.py +117 -0
  23. fides/api/alembic/migrations/versions/b9bfa12c167b_add_not_applicable_to_asset_consentstatus.py +46 -0
  24. fides/api/alembic/migrations/versions/c09e76282dd1_add_privacy_request_duplication_cols.py +64 -0
  25. fides/api/alembic/migrations/versions/cd8649be3a2b_add_classifications_and_user_assigned_.py +74 -0
  26. fides/api/alembic/migrations/versions/e2cda8d6abc3_add_dismissed_in_activity_view_to_.py +29 -0
  27. fides/api/alembic/migrations/versions/f108fa05c579_adds_optional_duration_field_to_assets.py +28 -0
  28. fides/api/alembic/migrations/versions/f36ce1bde293_add_system_groups.py +132 -0
  29. fides/api/alembic/migrations/versions/fd7571bef683_adds_new_fields_to_messagingconfig_for_.py +31 -0
  30. fides/api/alembic/migrations/versions/xx_2025_10_17_1603_5093e92e2a5a_add_consent_data_v3_to_the_database.py +72 -0
  31. fides/api/alembic/migrations/versions/xx_2025_10_27_1834_67f0f2f4748e_adding_identity_definition_model.py +45 -0
  32. fides/api/alembic/migrations/versions/xx_2025_10_29_1659_80d28dea3b6b_added_duplicate_group_table.py +79 -0
  33. fides/api/alembic/migrations/versions/xx_2025_11_05_0200_f1a2b3c4d5e6_create_staged_resource_error_table.py +82 -0
  34. fides/api/alembic/migrations/versions/xx_2025_11_07_1709_56fe6fad2d89_add_notice_display_order.py +47 -0
  35. fides/api/alembic/migrations/versions/xx_2025_11_10_1200_a1b2c3d4e5f6_add_test_datastore_to_connectiontype.py +53 -0
  36. fides/api/alembic/migrations/versions/xx_2025_11_11_1317_7d82c8fc4c34_store_saas_template_datasets.py +68 -0
  37. fides/api/alembic/migrations/versions/xx_2025_11_12_1430_b2c3d4e5f6a7_add_default_identity_definitions.py +81 -0
  38. fides/api/alembic/migrations/versions/xx_2025_11_25_1854_3ff6449c099e_add_index_on_providedidentity_privacy_.py +50 -0
  39. fides/api/api/v1/api.py +2 -0
  40. fides/api/api/v1/endpoints/admin.py +39 -0
  41. fides/api/api/v1/endpoints/connection_endpoints.py +191 -47
  42. fides/api/api/v1/endpoints/connector_template_endpoints.py +167 -0
  43. fides/api/api/v1/endpoints/generic_overrides.py +90 -15
  44. fides/api/api/v1/endpoints/messaging_endpoints.py +164 -34
  45. fides/api/api/v1/endpoints/pre_approval_webhook_endpoints.py +5 -5
  46. fides/api/api/v1/endpoints/privacy_request_endpoints.py +231 -46
  47. fides/api/api/v1/endpoints/saas_config_endpoints.py +63 -92
  48. fides/api/api/v1/endpoints/storage_endpoints.py +5 -1
  49. fides/api/api/v1/endpoints/system.py +157 -100
  50. fides/api/api/v1/endpoints/user_endpoints.py +17 -4
  51. fides/api/app_setup.py +1 -3
  52. fides/api/common_exceptions.py +8 -0
  53. fides/api/db/base.py +8 -0
  54. fides/api/db/crud.py +30 -2
  55. fides/api/db/database.py +261 -4
  56. fides/api/db/safe_crud.py +377 -0
  57. fides/api/db/seed.py +35 -1
  58. fides/api/email_templates/get_email_template.py +3 -0
  59. fides/api/email_templates/template_names.py +1 -0
  60. fides/api/email_templates/templates/external_user_welcome.html +9 -5
  61. fides/api/email_templates/templates/manual_task_digest.html +316 -0
  62. fides/api/main.py +2 -0
  63. fides/api/migrations/post_upgrade_index_creation.py +20 -0
  64. fides/api/models/asset.py +17 -1
  65. fides/api/models/attachment.py +1 -0
  66. fides/api/models/conditional_dependency/__init__.py +0 -0
  67. fides/api/models/conditional_dependency/conditional_dependency_base.py +311 -0
  68. fides/api/models/connection_oauth_credentials.py +57 -0
  69. fides/api/models/connectionconfig.py +11 -1
  70. fides/api/models/detection_discovery/__init__.py +4 -0
  71. fides/api/models/detection_discovery/classification_benchmark.py +140 -0
  72. fides/api/models/detection_discovery/core.py +78 -3
  73. fides/api/models/detection_discovery/monitor_task.py +3 -1
  74. fides/api/models/detection_discovery/staged_resource_error.py +25 -0
  75. fides/api/models/detection_discovery/web_monitor.py +61 -0
  76. fides/api/models/digest/__init__.py +16 -0
  77. fides/api/models/digest/conditional_dependencies.py +275 -0
  78. fides/api/models/digest/digest_config.py +110 -0
  79. fides/api/models/digest/digest_execution.py +142 -0
  80. fides/api/models/event_audit.py +85 -0
  81. fides/api/models/experience_notices.py +6 -1
  82. fides/api/models/fides_user.py +9 -0
  83. fides/api/models/identity_definition.py +66 -0
  84. fides/api/models/location_regulation_selections.py +22 -0
  85. fides/api/models/manual_task/conditional_dependency.py +29 -87
  86. fides/api/models/manual_webhook.py +17 -6
  87. fides/api/models/messaging.py +30 -10
  88. fides/api/models/messaging_template.py +14 -0
  89. fides/api/models/policy.py +27 -0
  90. fides/api/models/privacy_experience.py +41 -0
  91. fides/api/models/privacy_notice.py +196 -13
  92. fides/api/models/privacy_preference.py +2 -0
  93. fides/api/models/privacy_request/duplicate_group.py +84 -0
  94. fides/api/models/privacy_request/privacy_request.py +154 -8
  95. fides/api/models/privacy_request/provided_identity.py +22 -1
  96. fides/api/models/privacy_request/request_task.py +98 -1
  97. fides/api/models/privacy_request/webhook.py +3 -1
  98. fides/api/models/saas_template_dataset.py +63 -0
  99. fides/api/models/sql_models.py +161 -7
  100. fides/api/models/system_group.py +85 -0
  101. fides/api/models/taxonomy.py +91 -9
  102. fides/api/models/v3/__init__.py +0 -0
  103. fides/api/models/v3/privacy_preferences.py +85 -0
  104. fides/api/models/worker_task.py +8 -0
  105. fides/api/oauth/roles.py +4 -0
  106. fides/api/schemas/application_config.py +32 -1
  107. fides/api/schemas/connection_configuration/connection_config.py +1 -30
  108. fides/api/schemas/connection_configuration/connection_oauth_config.py +42 -0
  109. fides/api/schemas/connection_configuration/connection_secrets_mongodb.py +15 -3
  110. fides/api/schemas/connection_configuration/connection_secrets_mssql.py +5 -0
  111. fides/api/schemas/messaging/messaging.py +49 -66
  112. fides/api/schemas/messaging/messaging_secrets_docs_only.py +1 -1
  113. fides/api/schemas/messaging/shared_schemas.py +102 -0
  114. fides/api/schemas/oauth.py +2 -1
  115. fides/api/schemas/privacy_center_config.py +29 -5
  116. fides/api/schemas/privacy_request.py +44 -7
  117. fides/api/schemas/saas/async_polling_configuration.py +81 -0
  118. fides/api/schemas/saas/connector_template.py +14 -0
  119. fides/api/schemas/saas/saas_config.py +12 -20
  120. fides/api/schemas/system.py +8 -0
  121. fides/api/schemas/taxonomy_extensions.py +8 -0
  122. fides/api/schemas/user.py +2 -2
  123. fides/api/service/async_dsr/handlers/__init__.py +0 -0
  124. fides/api/service/async_dsr/handlers/polling_attachment_handler.py +155 -0
  125. fides/api/service/async_dsr/handlers/polling_request_handler.py +88 -0
  126. fides/api/service/async_dsr/handlers/polling_response_handler.py +261 -0
  127. fides/api/service/async_dsr/handlers/polling_sub_request_handler.py +123 -0
  128. fides/api/service/async_dsr/strategies/__init__.py +0 -0
  129. fides/api/service/async_dsr/strategies/async_dsr_strategy.py +52 -0
  130. fides/api/service/async_dsr/strategies/async_dsr_strategy_callback.py +199 -0
  131. fides/api/service/async_dsr/strategies/async_dsr_strategy_factory.py +72 -0
  132. fides/api/service/async_dsr/strategies/async_dsr_strategy_polling.py +691 -0
  133. fides/api/service/async_dsr/utils.py +130 -0
  134. fides/api/service/connectors/base_erasure_email_connector.py +7 -0
  135. fides/api/service/connectors/bigquery_connector.py +34 -16
  136. fides/api/service/connectors/fides/fides_client.py +63 -1
  137. fides/api/service/connectors/http_connector.py +48 -12
  138. fides/api/service/connectors/microsoft_sql_server_connector.py +6 -1
  139. fides/api/service/connectors/mongodb_connector.py +74 -9
  140. fides/api/service/connectors/query_configs/saas_query_config.py +160 -79
  141. fides/api/service/connectors/saas/connector_registry_service.py +42 -135
  142. fides/api/service/connectors/saas_connector.py +116 -76
  143. fides/api/service/connectors/sql_connector.py +14 -4
  144. fides/api/service/deps.py +25 -2
  145. fides/api/service/messaging/message_dispatch_service.py +98 -20
  146. fides/api/service/messaging/messaging_crud_service.py +5 -9
  147. fides/api/service/privacy_request/attachment_handling.py +9 -2
  148. fides/api/service/privacy_request/dsr_package/dsr_report_builder.py +17 -9
  149. fides/api/service/privacy_request/dsr_package/templates/attachments_index.html +41 -30
  150. fides/api/service/privacy_request/dsr_package/templates/clickme.html +68 -0
  151. fides/api/service/privacy_request/dsr_package/templates/dataset_index.html +30 -27
  152. fides/api/service/privacy_request/duplication_detection.py +439 -0
  153. fides/api/service/privacy_request/email_batch_service.py +2 -1
  154. fides/api/service/privacy_request/request_runner_service.py +92 -91
  155. fides/api/service/privacy_request/request_service.py +74 -90
  156. fides/api/service/saas_request/saas_request_override_factory.py +71 -1
  157. fides/api/service/storage/streaming/schemas.py +27 -19
  158. fides/api/service/storage/streaming/smart_open_client.py +2 -2
  159. fides/api/service/storage/streaming/smart_open_streaming_storage.py +238 -147
  160. fides/api/service/storage/util.py +20 -106
  161. fides/api/service/strategy.py +6 -3
  162. fides/api/task/conditional_dependencies/privacy_request/__init__.py +0 -0
  163. fides/api/task/conditional_dependencies/privacy_request/convenience_fields.py +155 -0
  164. fides/api/task/conditional_dependencies/privacy_request/privacy_request_data.py +140 -0
  165. fides/api/task/conditional_dependencies/privacy_request/schemas.py +212 -0
  166. fides/api/task/conditional_dependencies/sql_schemas.py +301 -0
  167. fides/api/task/conditional_dependencies/sql_translator.py +757 -0
  168. fides/api/task/conditional_dependencies/util.py +111 -0
  169. fides/api/task/execute_request_tasks.py +34 -13
  170. fides/api/task/filter_results.py +35 -2
  171. fides/api/task/graph_runners.py +2 -32
  172. fides/api/task/graph_task.py +42 -12
  173. fides/api/task/manual/manual_task_conditional_evaluation.py +33 -28
  174. fides/api/task/manual/manual_task_graph_task.py +4 -1
  175. fides/api/task/manual/manual_task_utils.py +68 -26
  176. fides/api/task/scheduler_utils.py +39 -0
  177. fides/api/tasks/__init__.py +15 -1
  178. fides/api/util/cache.py +5 -1
  179. fides/api/util/connection_util.py +101 -218
  180. fides/api/util/event_audit_util.py +230 -0
  181. fides/api/util/filter_utils.py +0 -3
  182. fides/api/util/fuzzy_search_utils.py +7 -1
  183. fides/api/util/lock.py +13 -3
  184. fides/api/util/logger.py +58 -4
  185. fides/api/util/logger_context_utils.py +3 -1
  186. fides/api/util/masking_util.py +31 -0
  187. fides/api/util/memory_watchdog.py +118 -0
  188. fides/api/util/rate_limit.py +25 -7
  189. fides/api/util/saas_config_updater.py +76 -0
  190. fides/api/util/saas_util.py +28 -1
  191. fides/api/worker/__init__.py +6 -0
  192. fides/common/api/scope_registry.py +6 -7
  193. fides/common/api/v1/urn_registry.py +15 -3
  194. fides/config/__init__.py +11 -2
  195. fides/config/celery_settings.py +42 -0
  196. fides/config/config_proxy.py +10 -0
  197. fides/config/duplicate_detection_settings.py +31 -0
  198. fides/config/execution_settings.py +6 -6
  199. fides/config/security_settings.py +4 -1
  200. fides/config/utils.py +5 -0
  201. fides/data/language/languages.yml +2 -0
  202. fides/service/connection/__init__.py +0 -0
  203. fides/service/connection/connection_service.py +651 -0
  204. fides/service/dataset/dataset_service.py +39 -0
  205. fides/service/event_audit_service.py +109 -0
  206. fides/service/messaging/aws_ses_service.py +2 -4
  207. fides/service/messaging/messaging_service.py +75 -74
  208. fides/service/privacy_request/privacy_request_service.py +345 -100
  209. fides/service/system/__init__.py +0 -0
  210. fides/service/system/system_service.py +153 -0
  211. fides/service/taxonomy/handlers/legacy_handler.py +3 -3
  212. fides/service/taxonomy/taxonomy_service.py +64 -18
  213. fides/ui-build/static/admin/404.html +1 -1
  214. fides/ui-build/static/admin/_next/static/chunks/1099-688fa865621531cc.js +1 -0
  215. fides/ui-build/static/admin/_next/static/chunks/1115-7fd171dac1eb0e51.js +1 -0
  216. fides/ui-build/static/admin/_next/static/chunks/1276.deb10ae2643f8463.js +1 -0
  217. fides/ui-build/static/admin/_next/static/chunks/1438-8a33b3834d6e43f3.js +1 -0
  218. fides/ui-build/static/admin/_next/static/chunks/{6148-59a59d5c5925344f.js → 1533-84e250d1f26e6d7d.js} +1 -1
  219. fides/ui-build/static/admin/_next/static/chunks/1821-c1daa160f492aacf.js +1 -0
  220. fides/ui-build/static/admin/_next/static/chunks/1840-359ee056e4cf6629.js +1 -0
  221. fides/ui-build/static/admin/_next/static/chunks/{1975.78e719130cfe3fd6.js → 1975.bef017bc80e2012c.js} +1 -1
  222. fides/ui-build/static/admin/_next/static/chunks/2040-70972e15960d9afe.js +1 -0
  223. fides/ui-build/static/admin/_next/static/chunks/2121.321b0fd3932164d4.js +1 -0
  224. fides/ui-build/static/admin/_next/static/chunks/2397-3434603a97f3f5d6.js +1 -0
  225. fides/ui-build/static/admin/_next/static/chunks/2921-49ed0ed897832958.js +1 -0
  226. fides/ui-build/static/admin/_next/static/chunks/3150-da5406b80d25fe6d.js +1 -0
  227. fides/ui-build/static/admin/_next/static/chunks/3214-90ce0a366b0f461a.js +1 -0
  228. fides/ui-build/static/admin/_next/static/chunks/3377-02bf9780fd383d94.js +1 -0
  229. fides/ui-build/static/admin/_next/static/chunks/3615-5e2d062d684b8fa1.js +1 -0
  230. fides/ui-build/static/admin/_next/static/chunks/3655-5e1ba5dd68b5ec48.js +1 -0
  231. fides/ui-build/static/admin/_next/static/chunks/3729-31ff8ba51491bf21.js +1 -0
  232. fides/ui-build/static/admin/_next/static/chunks/3872-cff30ca0844fe2b1.js +1 -0
  233. fides/ui-build/static/admin/_next/static/chunks/3931-8bedde156fe83564.js +1 -0
  234. fides/ui-build/static/admin/_next/static/chunks/401-582d9970d89deefe.js +1 -0
  235. fides/ui-build/static/admin/_next/static/chunks/4093-7e47408c28de5375.js +1 -0
  236. fides/ui-build/static/admin/_next/static/chunks/{4259.d1507e0db19cbed7.js → 4259.05038c9b78467244.js} +1 -1
  237. fides/ui-build/static/admin/_next/static/chunks/431-e01ee730c8ad9ece.js +1 -0
  238. fides/ui-build/static/admin/_next/static/chunks/4322-f6aeff6880726c83.js +1 -0
  239. fides/ui-build/static/admin/_next/static/chunks/4339-04a715ab07122744.js +1 -0
  240. fides/ui-build/static/admin/_next/static/chunks/4496-ccbce2459174e0d6.js +1 -0
  241. fides/ui-build/static/admin/_next/static/chunks/454-d5c2c84f1a14e4f1.js +1 -0
  242. fides/ui-build/static/admin/_next/static/chunks/4589-c1d83c6a8dab4d30.js +1 -0
  243. fides/ui-build/static/admin/_next/static/chunks/4809-a8f4a108a42f53ed.js +1 -0
  244. fides/ui-build/static/admin/_next/static/chunks/4903-19c0bc07a956dfa8.js +1 -0
  245. fides/ui-build/static/admin/_next/static/chunks/4910-d990773601f794c1.js +1 -0
  246. fides/ui-build/static/admin/_next/static/chunks/5185-96423702fba70ced.js +1 -0
  247. fides/ui-build/static/admin/_next/static/chunks/5258-4e308cca01d59367.js +1 -0
  248. fides/ui-build/static/admin/_next/static/chunks/5487-5c3501754bf027ba.js +1 -0
  249. fides/ui-build/static/admin/_next/static/chunks/549-1bdc3e6f3264c020.js +1 -0
  250. fides/ui-build/static/admin/_next/static/chunks/5505-43b9c39491b88e08.js +1 -0
  251. fides/ui-build/static/admin/_next/static/chunks/5698.2135391a128cc373.js +164 -0
  252. fides/ui-build/static/admin/_next/static/chunks/5783-016dfcee8e49bf61.js +1 -0
  253. fides/ui-build/static/admin/_next/static/chunks/5826-4db99ea4e5077911.js +1 -0
  254. fides/ui-build/static/admin/_next/static/chunks/590-be447cacf12419dd.js +1 -0
  255. fides/ui-build/static/admin/_next/static/chunks/6084-91badbc6569a0efb.js +1 -0
  256. fides/ui-build/static/admin/_next/static/chunks/6344-026cb323c1d49926.js +1 -0
  257. fides/ui-build/static/admin/_next/static/chunks/6362-ba0e12f2fc4cad94.js +1 -0
  258. fides/ui-build/static/admin/_next/static/chunks/6853-882889659769d7b4.js +1 -0
  259. fides/ui-build/static/admin/_next/static/chunks/6882-bb1b469d7d7f5335.js +1 -0
  260. fides/ui-build/static/admin/_next/static/chunks/6954-0dcf22a9aabe39c5.js +1 -0
  261. fides/ui-build/static/admin/_next/static/chunks/7170-46db82bb5b55e856.js +1 -0
  262. fides/ui-build/static/admin/_next/static/chunks/7218-2ace8c82e3e7eb74.js +1 -0
  263. fides/ui-build/static/admin/_next/static/chunks/7245-1cdafb35f289861b.js +1 -0
  264. fides/ui-build/static/admin/_next/static/chunks/7630-7f75ab7b8df42eb3.js +1 -0
  265. fides/ui-build/static/admin/_next/static/chunks/7654-2e9a8be02e41769a.js +1 -0
  266. fides/ui-build/static/admin/_next/static/chunks/8212-348ddd2b6933db70.js +1 -0
  267. fides/ui-build/static/admin/_next/static/chunks/9014-eeae6f581158e645.js +1 -0
  268. fides/ui-build/static/admin/_next/static/chunks/{5596-bb601cbf40e47a0f.js → 9195-da717d324917b049.js} +3 -3
  269. fides/ui-build/static/admin/_next/static/chunks/9450-b7b7bb1d755ecf57.js +1 -0
  270. fides/ui-build/static/admin/_next/static/chunks/{9676.9fd9552ef744c717.js → 9676.1f395eeb9cc34968.js} +1 -1
  271. fides/ui-build/static/admin/_next/static/chunks/9826-1078e46f3ac0b688.js +1 -0
  272. fides/ui-build/static/admin/_next/static/chunks/9911-ece086f2230e34f0.js +1 -0
  273. fides/ui-build/static/admin/_next/static/chunks/pages/{404-471a6b18e712f050.js → 404-800be6996aaa999c.js} +1 -1
  274. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-fcdad91f6f66292b.js → _app-de4b578c904df772.js} +57 -220
  275. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-f12020b82dd4bd1a.js +1 -0
  276. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/multiple-a911b7990371704d.js +1 -0
  277. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-ad585b79953c2753.js +1 -0
  278. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-406170eaae4329c6.js → add-vendors-bb263d394ca1c8fa.js} +1 -1
  279. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure-6907c368d8611c44.js +1 -0
  280. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-f80cf2d3966816fd.js → [id]-c32f381af358149b.js} +1 -1
  281. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{new-e74cb5ea87f15b40.js → new-6efb3c069d8b47dd.js} +1 -1
  282. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience-1975c529905eea9b.js +1 -0
  283. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-b378576cba255609.js → [id]-b05331178928ab52.js} +1 -1
  284. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-2ca1de7b88094ab0.js → new-516834e930bb0d0d.js} +1 -1
  285. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-985717f2565f9d9d.js +1 -0
  286. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-226efa1dcd41437f.js → properties-2be773e08498e40c.js} +1 -1
  287. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-850afb74f4192e87.js +1 -0
  288. fides/ui-build/static/admin/_next/static/chunks/pages/consent-b63d1e395d879b86.js +1 -0
  289. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-5b28f0f674ea87bd.js +1 -0
  290. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-04cfe2cfba7b7cd8.js → [projectUrn]-676177e2f3c9c2a2.js} +1 -1
  291. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-794906929efb8e1d.js +1 -0
  292. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-3ccbf7c0d06507b9.js +1 -0
  293. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-1ea0b24d306b1e67.js +1 -0
  294. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/datastore/[monitorId]-d4861a4a218bb65a.js +1 -0
  295. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/datastore-4498881c26f1458d.js +1 -0
  296. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/infrastructure/[monitorId]-66bd265044daf97d.js +1 -0
  297. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/infrastructure-c9c79fa8576a4f77.js +1 -0
  298. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/[monitorId]/[systemId]-60cacc3232c2eead.js +1 -0
  299. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/[monitorId]-437bd64a3016de36.js +1 -0
  300. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website-5b3e0009d442bc3f.js +1 -0
  301. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-8349248c2da970a6.js +1 -0
  302. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-6919a1d6cadaa46b.js +1 -0
  303. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-8f736b078e9842da.js → [resourceUrn]-1a50d421897d3da1.js} +1 -1
  304. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-eb814e3c22807871.js → detection-49509414a15e8393.js} +1 -1
  305. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-6875b7783fcfda2f.js → [resourceUrn]-1a1bb80b586d0c0f.js} +1 -1
  306. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-172dbd7740e212ca.js → discovery-49de61df1e8e7fba.js} +1 -1
  307. fides/ui-build/static/admin/_next/static/chunks/pages/datamap-c2719f5cff20c0f8.js +1 -0
  308. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-dfd71c1e9c458b89.js → [...subfieldNames]-415015aebab60436.js} +1 -1
  309. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-7cdc42ec5493b83d.js → [collectionName]-5accb09715b5122d.js} +1 -1
  310. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-aebecca1d8ec5f98.js +1 -0
  311. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-9551a82ddec9f909.js +1 -0
  312. fides/ui-build/static/admin/_next/static/chunks/pages/dataset-72f8fe47beef0f09.js +1 -0
  313. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-3a8aa3f633528e88.js +1 -0
  314. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-87512616f35ec6da.js +1 -0
  315. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-2f1bf4eac7aa55fd.js +1 -0
  316. fides/ui-build/static/admin/_next/static/chunks/pages/{fides-js-docs-1f4335dca5c09860.js → fides-js-docs-5235760b3e508d7d.js} +1 -1
  317. fides/ui-build/static/admin/_next/static/chunks/pages/index-8d67cd2872cb682a.js +1 -0
  318. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-7a631df29cd0e31a.js +1 -0
  319. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-ea3bc43cdaf273de.js +1 -0
  320. fides/ui-build/static/admin/_next/static/chunks/pages/new-privacy-requests-5d8632bba1b81cd4.js +1 -0
  321. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/[id]-92e01822ecde8fb8.js +1 -0
  322. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/new-1256cf6d3f6794e0.js +1 -0
  323. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests-0daac00911d27617.js +1 -0
  324. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/[key]-2d976fe5e8ba0a3a.js +1 -0
  325. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/new-7766ba497b863740.js +1 -0
  326. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers-f2880d2ed4734270.js +1 -0
  327. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/[id]-669f585c3458faff.js +1 -0
  328. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/add-template-c79e7724e4bc3899.js +1 -0
  329. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates-891654e8dc13965c.js +1 -0
  330. fides/ui-build/static/admin/_next/static/chunks/pages/notifications-40c8148244c5d347.js +1 -0
  331. fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-1e86f3e28bd23ed6.js +1 -0
  332. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/AntForm-9b7bd8c38f02c091.js +1 -0
  333. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikAntFormItem-b18a53a940cf9e19.js +1 -0
  334. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikControlled-6d028d7450e77578.js +1 -0
  335. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikField-8399083ee2cd8cc2.js +1 -0
  336. fides/ui-build/static/admin/_next/static/chunks/pages/poc/forms-0a910125cdb2b3b8.js +1 -0
  337. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-acc90b6f7fe915cb.js +1 -0
  338. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-bbc42026f2685438.js +1 -0
  339. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-c08ca6ad21c99799.js +1 -0
  340. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-77c2db582f8823bc.js +1 -0
  341. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-e784c05d056b2371.js → [id]-74ccea4868408e3d.js} +1 -1
  342. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-0a7a2db148a7561a.js → add-property-7d9f09bfe9d44dfc.js} +1 -1
  343. fides/ui-build/static/admin/_next/static/chunks/pages/{properties-da734840e4f9d04b.js → properties-cd77bc30672bb1fa.js} +1 -1
  344. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-cc3bd9540132d5ed.js +1 -0
  345. fides/ui-build/static/admin/_next/static/chunks/pages/sandbox/privacy-notices-7ce7d720107ab4b5.js +1 -0
  346. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/alpha-68eaac2d79133679.js +1 -0
  347. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-6c4904c157477285.js +1 -0
  348. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-ae789892343c24f5.js +1 -0
  349. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-13ee1b331ced0846.js +1 -0
  350. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/[id]-ee4e43692336a330.js +1 -0
  351. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/new-ca51d794abfcbf25.js +1 -0
  352. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-ecd1dc5db8e81409.js +1 -0
  353. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domain-records-df06f7e2f668c540.js +1 -0
  354. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-da0c77bd510c6c51.js +1 -0
  355. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-950b0c115bf673d8.js +1 -0
  356. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-2e635dcd11b78224.js → locations-7e36cb4756973a9d.js} +1 -1
  357. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-a0e5ed486d24ccf3.js +1 -0
  358. fides/ui-build/static/admin/_next/static/chunks/pages/settings/privacy-requests-3cdebafb6870d3ad.js +1 -0
  359. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-7c02e469d8c5bd74.js → regulations-159aad34f1021320.js} +1 -1
  360. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-dbd1a64090ad0946.js +1 -0
  361. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]-7d042497a57a3788.js +1 -0
  362. fides/ui-build/static/admin/_next/static/chunks/pages/systems-21f1172e73dfc9f0.js +1 -0
  363. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-e553161e6338ee48.js +1 -0
  364. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/{new-92f52c43f522a350.js → new-efc4af017723e57a.js} +1 -1
  365. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-64452dfae2c5e614.js → [id]-b152319d67372ee4.js} +1 -1
  366. fides/ui-build/static/admin/_next/static/chunks/pages/user-management-dba8692491f7935e.js +1 -0
  367. fides/ui-build/static/admin/_next/static/chunks/webpack-09ca52bc7beb0b43.js +1 -0
  368. fides/ui-build/static/admin/_next/static/css/012b10627a654d5c.css +1 -0
  369. fides/ui-build/static/admin/_next/static/css/05d05fc31d09638b.css +1 -0
  370. fides/ui-build/static/admin/_next/static/css/0fd6e0884cfcc5f3.css +1 -0
  371. fides/ui-build/static/admin/_next/static/css/14ba79c49597d37a.css +1 -0
  372. fides/ui-build/static/admin/_next/static/css/{34a7eb08b86ddb57.css → 3d6582469f7d56e0.css} +1 -1
  373. fides/ui-build/static/admin/_next/static/css/3d66bb57ddcb0978.css +1 -0
  374. fides/ui-build/static/admin/_next/static/css/4861ca3e088f2d05.css +1 -0
  375. fides/ui-build/static/admin/_next/static/css/a1800714b486e230.css +1 -0
  376. fides/ui-build/static/admin/_next/static/css/a1e4be9466578ef1.css +1 -0
  377. fides/ui-build/static/admin/_next/static/css/af32fcac7a177a0e.css +1 -0
  378. fides/ui-build/static/admin/_next/static/css/cb417f0587918f85.css +1 -0
  379. fides/ui-build/static/admin/_next/static/css/dd15c278b964de80.css +1 -0
  380. fides/ui-build/static/admin/_next/static/css/{5f393dea1c0d031c.css → f89607996ad54f4b.css} +1 -1
  381. fides/ui-build/static/admin/_next/static/css/f9a2a44d3d34c904.css +1 -0
  382. fides/ui-build/static/admin/_next/static/l2vgGUHB04Fi4oEVlVMrc/_buildManifest.js +1 -0
  383. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  384. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  385. fides/ui-build/static/admin/add-systems.html +1 -1
  386. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  387. fides/ui-build/static/admin/consent/configure.html +1 -1
  388. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  389. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  390. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  391. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  392. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  393. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  394. fides/ui-build/static/admin/consent/properties.html +1 -1
  395. fides/ui-build/static/admin/consent/reporting.html +1 -1
  396. fides/ui-build/static/admin/consent.html +1 -1
  397. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  398. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  399. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  400. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  401. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  402. fides/ui-build/static/admin/data-catalog.html +1 -1
  403. fides/ui-build/static/admin/data-discovery/action-center/datastore/[monitorId].html +1 -0
  404. fides/ui-build/static/admin/data-discovery/action-center/datastore.html +1 -0
  405. fides/ui-build/static/admin/data-discovery/action-center/infrastructure/[monitorId].html +1 -0
  406. fides/ui-build/static/admin/data-discovery/action-center/infrastructure.html +1 -0
  407. fides/ui-build/static/admin/data-discovery/action-center/website/[monitorId]/[systemId].html +1 -0
  408. fides/ui-build/static/admin/data-discovery/action-center/website/[monitorId].html +1 -0
  409. fides/ui-build/static/admin/data-discovery/action-center/website.html +1 -0
  410. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  411. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  412. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  413. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  414. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  415. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  416. fides/ui-build/static/admin/datamap.html +1 -1
  417. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  418. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  419. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  420. fides/ui-build/static/admin/dataset/new.html +1 -1
  421. fides/ui-build/static/admin/dataset.html +1 -1
  422. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  423. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  424. fides/ui-build/static/admin/datastore-connection.html +1 -1
  425. fides/ui-build/static/admin/index.html +1 -1
  426. fides/ui-build/static/admin/integrations/[id].html +1 -1
  427. fides/ui-build/static/admin/integrations.html +1 -1
  428. fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
  429. fides/ui-build/static/admin/lib/fides-headless.js +1 -1
  430. fides/ui-build/static/admin/lib/fides-preview.js +1 -1
  431. fides/ui-build/static/admin/lib/fides-tcf.js +3 -3
  432. fides/ui-build/static/admin/lib/fides.js +3 -3
  433. fides/ui-build/static/admin/login/[provider].html +1 -1
  434. fides/ui-build/static/admin/login.html +1 -1
  435. fides/ui-build/static/admin/new-privacy-requests.html +1 -0
  436. fides/ui-build/static/admin/notifications/digests/[id].html +1 -0
  437. fides/ui-build/static/admin/notifications/digests/new.html +1 -0
  438. fides/ui-build/static/admin/notifications/digests.html +1 -0
  439. fides/ui-build/static/admin/notifications/providers/[key].html +1 -0
  440. fides/ui-build/static/admin/notifications/providers/new.html +1 -0
  441. fides/ui-build/static/admin/notifications/providers.html +1 -0
  442. fides/ui-build/static/admin/notifications/templates/[id].html +1 -0
  443. fides/ui-build/static/admin/notifications/templates/add-template.html +1 -0
  444. fides/ui-build/static/admin/notifications/templates.html +1 -0
  445. fides/ui-build/static/admin/notifications.html +1 -0
  446. fides/ui-build/static/admin/poc/ant-components.html +1 -1
  447. fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
  448. fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
  449. fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
  450. fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
  451. fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
  452. fides/ui-build/static/admin/poc/forms.html +1 -1
  453. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  454. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  455. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  456. fides/ui-build/static/admin/privacy-requests.html +1 -1
  457. fides/ui-build/static/admin/properties/[id].html +1 -1
  458. fides/ui-build/static/admin/properties/add-property.html +1 -1
  459. fides/ui-build/static/admin/properties.html +1 -1
  460. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  461. fides/ui-build/static/admin/sandbox/privacy-notices.html +1 -0
  462. fides/ui-build/static/admin/settings/about/alpha.html +1 -1
  463. fides/ui-build/static/admin/settings/about.html +1 -1
  464. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  465. fides/ui-build/static/admin/settings/consent.html +1 -1
  466. fides/ui-build/static/admin/settings/custom-fields/[id].html +1 -0
  467. fides/ui-build/static/admin/settings/custom-fields/new.html +1 -0
  468. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  469. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  470. fides/ui-build/static/admin/settings/domains.html +1 -1
  471. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  472. fides/ui-build/static/admin/settings/locations.html +1 -1
  473. fides/ui-build/static/admin/settings/organization.html +1 -1
  474. fides/ui-build/static/admin/settings/privacy-requests.html +1 -1
  475. fides/ui-build/static/admin/settings/regulations.html +1 -1
  476. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  477. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  478. fides/ui-build/static/admin/systems.html +1 -1
  479. fides/ui-build/static/admin/taxonomy.html +1 -1
  480. fides/ui-build/static/admin/user-management/new.html +1 -1
  481. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  482. fides/ui-build/static/admin/user-management.html +1 -1
  483. fides/api/service/async_dsr/async_dsr_service.py +0 -75
  484. fides/api/service/privacy_request/dsr_package/templates/welcome.html +0 -66
  485. fides/ui-build/static/admin/_next/static/OmXHlY9MvjoZH9jDkAytl/_buildManifest.js +0 -1
  486. fides/ui-build/static/admin/_next/static/chunks/1099-79646e64f26d62fa.js +0 -1
  487. fides/ui-build/static/admin/_next/static/chunks/1316-2606e19807c08aa5.js +0 -1
  488. fides/ui-build/static/admin/_next/static/chunks/1345-5e1c5b66e25c566e.js +0 -1
  489. fides/ui-build/static/admin/_next/static/chunks/1467-8808ec8836e033f9.js +0 -1
  490. fides/ui-build/static/admin/_next/static/chunks/1817-0ca16d288fad916d.js +0 -1
  491. fides/ui-build/static/admin/_next/static/chunks/2150-930ffaf2c4718edc.js +0 -1
  492. fides/ui-build/static/admin/_next/static/chunks/255-1bc0cbef7a59cdc6.js +0 -1
  493. fides/ui-build/static/admin/_next/static/chunks/2921-52328140bc420d0f.js +0 -1
  494. fides/ui-build/static/admin/_next/static/chunks/346-aa3b88efb85f2e28.js +0 -1
  495. fides/ui-build/static/admin/_next/static/chunks/3550-d04125c828d591a1.js +0 -1
  496. fides/ui-build/static/admin/_next/static/chunks/3620-602eb74dc896d556.js +0 -1
  497. fides/ui-build/static/admin/_next/static/chunks/3729-c17ac8031a4c4fd1.js +0 -1
  498. fides/ui-build/static/admin/_next/static/chunks/3847-230bf61b053bc706.js +0 -1
  499. fides/ui-build/static/admin/_next/static/chunks/3855-ef5194cdb228beb6.js +0 -1
  500. fides/ui-build/static/admin/_next/static/chunks/3872-f78dec02f0d959ae.js +0 -1
  501. fides/ui-build/static/admin/_next/static/chunks/3923-bb2417b8dcade7a4.js +0 -1
  502. fides/ui-build/static/admin/_next/static/chunks/401-4af0a912e249d30f.js +0 -1
  503. fides/ui-build/static/admin/_next/static/chunks/4164-355644b916ae0094.js +0 -1
  504. fides/ui-build/static/admin/_next/static/chunks/431-86ad2beeb93c95c9.js +0 -1
  505. fides/ui-build/static/admin/_next/static/chunks/4608-be8cba73f5d7c326.js +0 -1
  506. fides/ui-build/static/admin/_next/static/chunks/4786-61154adf88e448e1.js +0 -1
  507. fides/ui-build/static/admin/_next/static/chunks/4808-dd4157aa72648068.js +0 -1
  508. fides/ui-build/static/admin/_next/static/chunks/4831-fd99c0b3784de128.js +0 -1
  509. fides/ui-build/static/admin/_next/static/chunks/4844-46324c3d848b8b6a.js +0 -1
  510. fides/ui-build/static/admin/_next/static/chunks/5163-e682273cd76a7d07.js +0 -1
  511. fides/ui-build/static/admin/_next/static/chunks/5258-b0de22a8521686ab.js +0 -1
  512. fides/ui-build/static/admin/_next/static/chunks/5487-02d00bad7c6830e0.js +0 -1
  513. fides/ui-build/static/admin/_next/static/chunks/549-38ea1d91ee2addaa.js +0 -1
  514. fides/ui-build/static/admin/_next/static/chunks/5619-9b50cec521203989.js +0 -1
  515. fides/ui-build/static/admin/_next/static/chunks/6084-c153669d5567e242.js +0 -1
  516. fides/ui-build/static/admin/_next/static/chunks/6419-d0c00d661b01f8fa.js +0 -1
  517. fides/ui-build/static/admin/_next/static/chunks/6853-b17673391117c976.js +0 -1
  518. fides/ui-build/static/admin/_next/static/chunks/6954-5296188c19d7d0ac.js +0 -1
  519. fides/ui-build/static/admin/_next/static/chunks/699-8ca44b0de9fa20f0.js +0 -1
  520. fides/ui-build/static/admin/_next/static/chunks/7476-45c5088baa8b66af.js +0 -1
  521. fides/ui-build/static/admin/_next/static/chunks/7630-7ed6c6117775dffe.js +0 -1
  522. fides/ui-build/static/admin/_next/static/chunks/787-a8c7eab617e2fceb.js +0 -1
  523. fides/ui-build/static/admin/_next/static/chunks/79-65674011d455af4d.js +0 -1
  524. fides/ui-build/static/admin/_next/static/chunks/796-9e1ca1a4030707c5.js +0 -1
  525. fides/ui-build/static/admin/_next/static/chunks/8002-24af20d679efc04e.js +0 -1
  526. fides/ui-build/static/admin/_next/static/chunks/8765-f622a35b40a7ec63.js +0 -1
  527. fides/ui-build/static/admin/_next/static/chunks/9046-712156d461165f56.js +0 -1
  528. fides/ui-build/static/admin/_next/static/chunks/9187-7438242f0d380bb0.js +0 -1
  529. fides/ui-build/static/admin/_next/static/chunks/9278-08cc704317fe535e.js +0 -1
  530. fides/ui-build/static/admin/_next/static/chunks/9729-fcf6ff4e3534e4a8.js +0 -1
  531. fides/ui-build/static/admin/_next/static/chunks/9826-dbae8dee941a7fac.js +0 -1
  532. fides/ui-build/static/admin/_next/static/chunks/9951-a88367a129b724ba.js +0 -1
  533. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-ace203dfacacbdc4.js +0 -1
  534. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/multiple-920fb469e0dda1d2.js +0 -1
  535. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-bd0d82078e67cac3.js +0 -1
  536. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure-7207ab23bdb36ce8.js +0 -1
  537. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience-9dda4de5ec580279.js +0 -1
  538. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-0d4844d0b808e6e4.js +0 -1
  539. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-28b192e2c074b0f3.js +0 -1
  540. fides/ui-build/static/admin/_next/static/chunks/pages/consent-3e8bdefe714254ec.js +0 -1
  541. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-2c29ff7a01198f30.js +0 -1
  542. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-5f2d7b24804f861f.js +0 -1
  543. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-8eb581024bc0172f.js +0 -1
  544. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-30108b00ac769fc3.js +0 -1
  545. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-e1ba213fb666b3f4.js +0 -1
  546. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-6d133580045abdda.js +0 -1
  547. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-9a81d42a474e1e48.js +0 -1
  548. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-b6ae7adb8ef0b525.js +0 -1
  549. fides/ui-build/static/admin/_next/static/chunks/pages/datamap-c7390e046b2e2b7f.js +0 -1
  550. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-e12b11ba15bc3fc1.js +0 -1
  551. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-e32fccc4ca520d2b.js +0 -1
  552. fides/ui-build/static/admin/_next/static/chunks/pages/dataset-7c59a6abf6ba6207.js +0 -1
  553. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-927b7e476c4b47d0.js +0 -1
  554. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-cbe100d50df34285.js +0 -1
  555. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-cce20440b177050b.js +0 -1
  556. fides/ui-build/static/admin/_next/static/chunks/pages/index-6cd8708106331b8d.js +0 -1
  557. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-4c3c413a2668df53.js +0 -1
  558. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-95402b5001c07ef2.js +0 -1
  559. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/[id]-3c6dc2f6e6bae960.js +0 -1
  560. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/add-template-4a6d4023a7791be8.js +0 -1
  561. fides/ui-build/static/admin/_next/static/chunks/pages/messaging-76b204c9b98d656f.js +0 -1
  562. fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-bc0e2adf6e0d3ac7.js +0 -1
  563. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/AntForm-86ffcc1ad3fa912e.js +0 -1
  564. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikAntFormItem-ec04f595465bdf69.js +0 -1
  565. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikControlled-41d309754ff0c1de.js +0 -1
  566. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikField-cab1f78cec7808f9.js +0 -1
  567. fides/ui-build/static/admin/_next/static/chunks/pages/poc/forms-eb6058221403b156.js +0 -1
  568. fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-48500551fd6a7602.js +0 -1
  569. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-0f25a76dd18c5e20.js +0 -1
  570. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-ad6ad3e5bd72765d.js +0 -1
  571. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-6032d82f0fc2893d.js +0 -1
  572. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-d83e5bd52a638234.js +0 -1
  573. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-baf31c3e4b081046.js +0 -1
  574. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-6903f42a0412bfa6.js +0 -1
  575. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/alpha-a82f3df840d5c1b5.js +0 -1
  576. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-d06fb16487705b9d.js +0 -1
  577. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-9495e2eb506606c7.js +0 -1
  578. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-93a978443bf299db.js +0 -1
  579. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-9ecb803099082bf4.js +0 -1
  580. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domain-records-16fdd91a81074dd1.js +0 -1
  581. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-4cdd6001e7cb9aee.js +0 -1
  582. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-1914de830ce5cfc4.js +0 -1
  583. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-f547f1f33c12faf3.js +0 -1
  584. fides/ui-build/static/admin/_next/static/chunks/pages/settings/privacy-requests-2ecc073f41628f62.js +0 -1
  585. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-20b1193ed76c56b0.js +0 -1
  586. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]-6e15332935f6b538.js +0 -1
  587. fides/ui-build/static/admin/_next/static/chunks/pages/systems-fbc8761ef4d55516.js +0 -1
  588. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-4d7827fc9c46b6b8.js +0 -1
  589. fides/ui-build/static/admin/_next/static/chunks/pages/user-management-9cec020f89544426.js +0 -1
  590. fides/ui-build/static/admin/_next/static/chunks/webpack-678e89d68dbcd94f.js +0 -1
  591. fides/ui-build/static/admin/_next/static/css/073713cd1eddda79.css +0 -1
  592. fides/ui-build/static/admin/_next/static/css/23cf870196941c9a.css +0 -1
  593. fides/ui-build/static/admin/_next/static/css/304c6f148886a8d4.css +0 -1
  594. fides/ui-build/static/admin/_next/static/css/650df9c348000a26.css +0 -1
  595. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +0 -1
  596. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +0 -1
  597. fides/ui-build/static/admin/messaging/[id].html +0 -1
  598. fides/ui-build/static/admin/messaging/add-template.html +0 -1
  599. fides/ui-build/static/admin/messaging.html +0 -1
  600. fides/ui-build/static/admin/poc/table-migration.html +0 -1
  601. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +0 -1
  602. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/WHEEL +0 -0
  603. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/entry_points.txt +0 -0
  604. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/licenses/LICENSE +0 -0
  605. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/top_level.txt +0 -0
  606. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{resources-de704de849960f01.js → resources-81d1b50585468fb0.js} +0 -0
  607. /fides/ui-build/static/admin/_next/static/{OmXHlY9MvjoZH9jDkAytl → l2vgGUHB04Fi4oEVlVMrc}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6148],{8335:function(t,e,n){"use strict";n.d(e,{t8:function(){return p},jD:function(){return h},QZ:function(){return y},IY:function(){return f},Ly:function(){return g},pB:function(){return m},oW:function(){return d},oC:function(){return rp},Ql:function(){return rx},FD:function(){return rw},X6:function(){return rz},Cz:function(){return rH},Z_:function(){return nU},yF:function(){return ri},OL:function(){return nP},q7:function(){return na},n3:function(){return n9},Ki:function(){return nM},wQ:function(){return e5},Qj:function(){return e1},ZB:function(){return nT},Qu:function(){return nu},lM:function(){return nV},OQ:function(){return nD},oI:function(){return nx},Zp:function(){return e4},t_:function(){return nB},JU:function(){return n3},WD:function(){return ns},xx:function(){return nW},wv:function(){return nR},J6:function(){return no},S2:function(){return nO},W0:function(){return nn},dW:function(){return n8},Rf:function(){return nN},RX:function(){return ne},f5:function(){return nr},lp:function(){return nw},OW:function(){return n2},Hm:function(){return nG},$i:function(){return nA},so:function(){return ra},k5:function(){return e2},Ky:function(){return e3},J3:function(){return e7},RY:function(){return nK},s$:function(){return nL},Q5:function(){return nz},N5:function(){return nX},Vt:function(){return e8},kE:function(){return nb},J$:function(){return n_},nb:function(){return nI},PS:function(){return nm},hO:function(){return rl},m:function(){return nk},oj:function(){return n$},_2:function(){return nE},VV:function(){return rr},be:function(){return rh},B1:function(){return rs}});var r,i,o,u,a,s,l,c,h,f,d,p,y,g,m,v={value:()=>{}};function x(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw Error("illegal type: "+t);r[t]=[]}return new w(r)}function w(t){this._=t}function _(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=v,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}function b(){}function M(t){return null==t?b:function(){return this.querySelector(t)}}function E(){return[]}function k(t){return null==t?E:function(){return this.querySelectorAll(t)}}function $(t){return function(){return this.matches(t)}}function A(t){return function(e){return e.matches(t)}}w.prototype=x.prototype={constructor:w,on:function(t,e){var n,r=this._,i=(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:e}}),o=-1,u=i.length;if(arguments.length<2){for(;++o<u;)if((n=(t=i[o]).type)&&(n=function(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}(r[n],t.name)))return n;return}if(null!=e&&"function"!=typeof e)throw Error("invalid callback: "+e);for(;++o<u;)if(n=(t=i[o]).type)r[n]=_(r[n],t.name,e);else if(null==e)for(n in r)r[n]=_(r[n],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new w(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(r=this._[t],o=0,n=r.length;o<n;++o)r[o].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};var z=Array.prototype.find;function S(){return this.firstElementChild}var N=Array.prototype.filter;function I(){return Array.from(this.children)}function T(t){return Array(t.length)}function P(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function H(t,e,n,r,i,o){for(var u,a=0,s=e.length,l=o.length;a<l;++a)(u=e[a])?(u.__data__=o[a],r[a]=u):n[a]=new P(t,o[a]);for(;a<s;++a)(u=e[a])&&(i[a]=u)}function B(t,e,n,r,i,o,u){var a,s,l,c=new Map,h=e.length,f=o.length,d=Array(h);for(a=0;a<h;++a)(s=e[a])&&(d[a]=l=u.call(s,s.__data__,a,e)+"",c.has(l)?i[a]=s:c.set(l,s));for(a=0;a<f;++a)l=u.call(t,o[a],a,o)+"",(s=c.get(l))?(r[a]=s,s.__data__=o[a],c.delete(l)):n[a]=new P(t,o[a]);for(a=0;a<h;++a)(s=e[a])&&c.get(d[a])===s&&(i[a]=s)}function O(t){return t.__data__}function C(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}P.prototype={constructor:P,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var L="http://www.w3.org/1999/xhtml",X={svg:"http://www.w3.org/2000/svg",xhtml:L,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function R(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),X.hasOwnProperty(e)?{space:X[e],local:t}:t}function Y(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function V(t,e){return t.style.getPropertyValue(e)||Y(t).getComputedStyle(t,null).getPropertyValue(e)}function j(t){return t.trim().split(/^|\s+/)}function q(t){return t.classList||new D(t)}function D(t){this._node=t,this._names=j(t.getAttribute("class")||"")}function F(t,e){for(var n=q(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function W(t,e){for(var n=q(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function K(){this.textContent=""}function Z(){this.innerHTML=""}function Q(){this.nextSibling&&this.parentNode.appendChild(this)}function U(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function G(t){var e=R(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===L&&e.documentElement.namespaceURI===L?e.createElement(t):e.createElementNS(n,t)}})(e)}function J(){return null}function tt(){var t=this.parentNode;t&&t.removeChild(this)}function te(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function tn(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function tr(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r<o;++r)(n=e[r],t.type&&n.type!==t.type||n.name!==t.name)?e[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?e.length=i:delete this.__on}}}function ti(t,e,n){return function(){var r,i=this.__on,o=function(t){e.call(this,t,this.__data__)};if(i){for(var u=0,a=i.length;u<a;++u)if((r=i[u]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),r.value=e;return}}this.addEventListener(t.type,o,n),r={type:t.type,name:t.name,value:e,listener:o,options:n},i?i.push(r):this.__on=[r]}}function to(t,e,n){var r=Y(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}D.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var tu=[null];function ta(t,e){this._groups=t,this._parents=e}function ts(){return new ta([[document.documentElement]],tu)}function tl(t){return"string"==typeof t?new ta([[document.querySelector(t)]],[document.documentElement]):new ta([[t]],tu)}function tc(t,e){if(t=function(t){let e;for(;e=t.sourceEvent;)t=e;return t}(t),void 0===e&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(e.getScreenCTM().inverse())).x,r.y]}if(e.getBoundingClientRect){var i=e.getBoundingClientRect();return[t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop]}}return[t.pageX,t.pageY]}ta.prototype=ts.prototype={constructor:ta,select:function(t){"function"!=typeof t&&(t=M(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,u,a=e[i],s=a.length,l=r[i]=Array(s),c=0;c<s;++c)(o=a[c])&&(u=t.call(o,o.__data__,c,a))&&("__data__"in o&&(u.__data__=o.__data__),l[c]=u);return new ta(r,this._parents)},selectAll:function(t){if("function"==typeof t){var e;e=t,t=function(){var t;return t=e.apply(this,arguments),null==t?[]:Array.isArray(t)?t:Array.from(t)}}else t=k(t);for(var n=this._groups,r=n.length,i=[],o=[],u=0;u<r;++u)for(var a,s=n[u],l=s.length,c=0;c<l;++c)(a=s[c])&&(i.push(t.call(a,a.__data__,c,s)),o.push(a));return new ta(i,o)},selectChild:function(t){var e;return this.select(null==t?S:(e="function"==typeof t?t:A(t),function(){return z.call(this.children,e)}))},selectChildren:function(t){var e;return this.selectAll(null==t?I:(e="function"==typeof t?t:A(t),function(){return N.call(this.children,e)}))},filter:function(t){"function"!=typeof t&&(t=$(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,u=e[i],a=u.length,s=r[i]=[],l=0;l<a;++l)(o=u[l])&&t.call(o,o.__data__,l,u)&&s.push(o);return new ta(r,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,O);var n=e?B:H,r=this._parents,i=this._groups;"function"!=typeof t&&(v=t,t=function(){return v});for(var o=i.length,u=Array(o),a=Array(o),s=Array(o),l=0;l<o;++l){var c=r[l],h=i[l],f=h.length,d="object"==typeof(m=t.call(c,c&&c.__data__,l,r))&&"length"in m?m:Array.from(m),p=d.length,y=a[l]=Array(p),g=u[l]=Array(p);n(c,h,y,g,s[l]=Array(f),d,e);for(var m,v,x,w,_=0,b=0;_<p;++_)if(x=y[_]){for(_>=b&&(b=_+1);!(w=g[b])&&++b<p;);x._next=w||null}}return(u=new ta(u,r))._enter=a,u._exit=s,u},enter:function(){return new ta(this._enter||this._groups.map(T),this._parents)},exit:function(){return new ta(this._exit||this._groups.map(T),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=e&&(i=e(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,u=Math.min(i,o),a=Array(i),s=0;s<u;++s)for(var l,c=n[s],h=r[s],f=c.length,d=a[s]=Array(f),p=0;p<f;++p)(l=c[p]||h[p])&&(d[p]=l);for(;s<i;++s)a[s]=n[s];return new ta(a,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&4^r.compareDocumentPosition(u)&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=C);for(var n=this._groups,r=n.length,i=Array(r),o=0;o<r;++o){for(var u,a=n[o],s=a.length,l=i[o]=Array(s),c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(e)}return new ta(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null},size:function(){let t=0;for(let e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,o=e[n],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,e){var n=R(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof e?n.local?function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}:function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}:n.local?function(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}:function(t,e){return function(){this.setAttribute(t,e)}})(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):V(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=j(t+"");if(arguments.length<2){for(var r=q(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?function(t,e){return function(){(e.apply(this,arguments)?F:W)(this,t)}}:e?function(t){return function(){F(this,t)}}:function(t){return function(){W(this,t)}})(n,e))},text:function(t){return arguments.length?this.each(null==t?K:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?Z:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(Q)},lower:function(){return this.each(U)},append:function(t){var e="function"==typeof t?t:G(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})},insert:function(t,e){var n="function"==typeof t?t:G(t),r=null==e?J:"function"==typeof e?e:M(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(tt)},clone:function(t){return this.select(t?tn:te)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,o=(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}),u=o.length;if(arguments.length<2){var a=this.node().__on;if(a){for(var s,l=0,c=a.length;l<c;++l)for(r=0,s=a[l];r<u;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value}return}for(r=0,a=e?ti:tr;r<u;++r)this.each(a(o[r],e,n));return this},dispatch:function(t,e){return this.each(("function"==typeof e?function(t,e){return function(){return to(this,t,e.apply(this,arguments))}}:function(t,e){return function(){return to(this,t,e)}})(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,i=t[e],o=0,u=i.length;o<u;++o)(r=i[o])&&(yield r)}};let th={passive:!1},tf={capture:!0,passive:!1};function td(t){t.stopImmediatePropagation()}function tp(t){t.preventDefault(),t.stopImmediatePropagation()}function ty(t){var e=t.document.documentElement,n=tl(t).on("dragstart.drag",tp,tf);"onselectstart"in e?n.on("selectstart.drag",tp,tf):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function tg(t,e){var n=t.document.documentElement,r=tl(t).on("dragstart.drag",null);e&&(r.on("click.drag",tp,tf),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var tm=t=>()=>t;function tv(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:o,x:u,y:a,dx:s,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}function tx(t){return!t.ctrlKey&&!t.button}function tw(){return this.parentNode}function t_(t,e){return null==e?{x:t.x,y:t.y}:e}function tb(){return navigator.maxTouchPoints||"ontouchstart"in this}function tM(){var t,e,n,r,i=tx,o=tw,u=t_,a=tb,s={},l=x("start","drag","end"),c=0,h=0;function f(t){t.on("mousedown.drag",d).filter(a).on("touchstart.drag",g).on("touchmove.drag",m,th).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(u,a){if(!r&&i.call(this,u,a)){var s=w(this,o.call(this,u,a),u,a,"mouse");s&&(tl(u.view).on("mousemove.drag",p,tf).on("mouseup.drag",y,tf),ty(u.view),td(u),n=!1,t=u.clientX,e=u.clientY,s("start",u))}}function p(r){if(tp(r),!n){var i=r.clientX-t,o=r.clientY-e;n=i*i+o*o>h}s.mouse("drag",r)}function y(t){tl(t.view).on("mousemove.drag mouseup.drag",null),tg(t.view,n),tp(t),s.mouse("end",t)}function g(t,e){if(i.call(this,t,e)){var n,r,u=t.changedTouches,a=o.call(this,t,e),s=u.length;for(n=0;n<s;++n)(r=w(this,a,t,e,u[n].identifier,u[n]))&&(td(t),r("start",t,u[n]))}}function m(t){var e,n,r=t.changedTouches,i=r.length;for(e=0;e<i;++e)(n=s[r[e].identifier])&&(tp(t),n("drag",t,r[e]))}function v(t){var e,n,i=t.changedTouches,o=i.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),e=0;e<o;++e)(n=s[i[e].identifier])&&(td(t),n("end",t,i[e]))}function w(t,e,n,r,i,o){var a,h,d,p=l.copy(),y=tc(o||n,e);if(null!=(d=u.call(t,new tv("beforestart",{sourceEvent:n,target:f,identifier:i,active:c,x:y[0],y:y[1],dx:0,dy:0,dispatch:p}),r)))return a=d.x-y[0]||0,h=d.y-y[1]||0,function n(o,u,l){var g,m=y;switch(o){case"start":s[i]=n,g=c++;break;case"end":delete s[i],--c;case"drag":y=tc(l||u,e),g=c}p.call(o,t,new tv(o,{sourceEvent:u,subject:d,target:f,identifier:i,active:g,x:y[0]+a,y:y[1]+h,dx:y[0]-m[0],dy:y[1]-m[1],dispatch:p}),r)}}return f.filter=function(t){return arguments.length?(i="function"==typeof t?t:tm(!!t),f):i},f.container=function(t){return arguments.length?(o="function"==typeof t?t:tm(t),f):o},f.subject=function(t){return arguments.length?(u="function"==typeof t?t:tm(t),f):u},f.touchable=function(t){return arguments.length?(a="function"==typeof t?t:tm(!!t),f):a},f.on=function(){var t=l.on.apply(l,arguments);return t===l?f:t},f.clickDistance=function(t){return arguments.length?(h=(t=+t)*t,f):Math.sqrt(h)},f}function tE(t){return((t=Math.exp(t))+1/t)/2}tv.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var tk,t$,tA=function t(e,n,r){function i(t,i){var o,u,a=t[0],s=t[1],l=t[2],c=i[0],h=i[1],f=i[2],d=c-a,p=h-s,y=d*d+p*p;if(y<1e-12)u=Math.log(f/l)/e,o=function(t){return[a+t*d,s+t*p,l*Math.exp(e*t*u)]};else{var g=Math.sqrt(y),m=(f*f-l*l+r*y)/(2*l*n*g),v=(f*f-l*l-r*y)/(2*f*n*g),x=Math.log(Math.sqrt(m*m+1)-m);u=(Math.log(Math.sqrt(v*v+1)-v)-x)/e,o=function(t){var r,i,o=t*u,c=tE(x),h=l/(n*g)*(((r=Math.exp(2*(r=e*o+x)))-1)/(r+1)*c-((i=Math.exp(i=x))-1/i)/2);return[a+h*d,s+h*p,l*c/tE(e*o+x)]}}return o.duration=1e3*u*e/Math.SQRT2,o}return i.rho=function(e){var n=Math.max(.001,+e),r=n*n;return t(n,r,r*r)},i}(Math.SQRT2,2,4),tz=0,tS=0,tN=0,tI=0,tT=0,tP=0,tH="object"==typeof performance&&performance.now?performance:Date,tB="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tO(){return tT||(tB(tC),tT=tH.now()+tP)}function tC(){tT=0}function tL(){this._call=this._time=this._next=null}function tX(t,e,n){var r=new tL;return r.restart(t,e,n),r}function tR(){tT=(tI=tH.now())+tP,tz=tS=0;try{!function(){tO(),++tz;for(var t,e=tk;e;)(t=tT-e._time)>=0&&e._call.call(void 0,t),e=e._next;--tz}()}finally{tz=0,function(){for(var t,e,n=tk,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:tk=e);t$=t,tV(r)}(),tT=0}}function tY(){var t=tH.now(),e=t-tI;e>1e3&&(tP-=e,tI=t)}function tV(t){!tz&&(tS&&(tS=clearTimeout(tS)),t-tT>24?(t<1/0&&(tS=setTimeout(tR,t-tH.now()-tP)),tN&&(tN=clearInterval(tN))):(tN||(tI=tH.now(),tN=setInterval(tY,1e3)),tz=1,tB(tR)))}function tj(t,e,n){var r=new tL;return e=null==e?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,n),r}tL.prototype=tX.prototype={constructor:tL,restart:function(t,e,n){if("function"!=typeof t)throw TypeError("callback is not a function");n=(null==n?tO():+n)+(null==e?0:+e),this._next||t$===this||(t$?t$._next=this:tk=this,t$=this),this._call=t,this._time=n,tV()},stop:function(){this._call&&(this._call=null,this._time=1/0,tV())}};var tq=x("start","end","cancel","interrupt"),tD=[];function tF(t,e,n,r,i,o){var u=t.__transition;if(u){if(n in u)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function o(s){var l,c,h,f;if(1!==n.state)return a();for(l in i)if((f=i[l]).name===n.name){if(3===f.state)return tj(o);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[l]):+l<e&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[l])}if(tj(function(){3===n.state&&(n.state=4,n.timer.restart(u,n.delay,n.time),u(s))}),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(l=0,n.state=3,r=Array(h=n.tween.length),c=-1;l<h;++l)(f=n.tween[l].value.call(t,t.__data__,n.index,n.group))&&(r[++c]=f);r.length=c+1}}function u(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(a),n.state=5,1),o=-1,u=r.length;++o<u;)r[o].call(t,i);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),a())}function a(){for(var r in n.state=6,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=tX(function(t){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=t&&o(t-n.delay)},0,n.time)}(t,n,{name:e,index:r,group:i,on:tq,tween:tD,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function tW(t,e){var n=tZ(t,e);if(n.state>0)throw Error("too late; already scheduled");return n}function tK(t,e){var n=tZ(t,e);if(n.state>3)throw Error("too late; already running");return n}function tZ(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw Error("transition not found");return n}function tQ(t,e){var n,r,i,o=t.__transition,u=!0;if(o){for(i in e=null==e?null:e+"",o){if((n=o[i]).name!==e){u=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete o[i]}u&&delete t.__transition}}function tU(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var tG=180/Math.PI,tJ={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function t0(t,e,n,r,i,o){var u,a,s;return(u=Math.sqrt(t*t+e*e))&&(t/=u,e/=u),(s=t*n+e*r)&&(n-=t*s,r-=e*s),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,s/=a),t*r<e*n&&(t=-t,e=-e,s=-s,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*tG,skewX:Math.atan(s)*tG,scaleX:u,scaleY:a}}function t1(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(o,u){var a,s,l,c,h=[],f=[];return o=t(o),u=t(u),!function(t,r,i,o,u,a){if(t!==i||r!==o){var s=u.push("translate(",null,e,null,n);a.push({i:s-4,x:tU(t,i)},{i:s-2,x:tU(r,o)})}else(i||o)&&u.push("translate("+i+e+o+n)}(o.translateX,o.translateY,u.translateX,u.translateY,h,f),(a=o.rotate)!==(s=u.rotate)?(a-s>180?s+=360:s-a>180&&(a+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:tU(a,s)})):s&&h.push(i(h)+"rotate("+s+r),(l=o.skewX)!==(c=u.skewX)?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:tU(l,c)}):c&&h.push(i(h)+"skewX("+c+r),!function(t,e,n,r,o,u){if(t!==n||e!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:tU(t,n)},{i:a-2,x:tU(e,r)})}else(1!==n||1!==r)&&o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,u.scaleX,u.scaleY,h,f),o=u=null,function(t){for(var e,n=-1,r=f.length;++n<r;)h[(e=f[n]).i]=e.x(t);return h.join("")}}}var t2=t1(function(t){let e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?tJ:t0(e.a,e.b,e.c,e.d,e.e,e.f)},"px, ","px)","deg)"),t5=t1(function(t){return null==t?tJ:(c||(c=document.createElementNS("http://www.w3.org/2000/svg","g")),c.setAttribute("transform",t),t=c.transform.baseVal.consolidate())?t0((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):tJ},", ",")",")");function t3(t,e,n){var r=t._id;return t.each(function(){var t=tK(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)}),function(t){return tZ(t,r).value[e]}}function t6(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function t4(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function t7(){}var t8="\\s*([+-]?\\d+)\\s*",t9="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",et="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ee=/^#([0-9a-f]{3,8})$/,en=RegExp(`^rgb\\(${t8},${t8},${t8}\\)$`),er=RegExp(`^rgb\\(${et},${et},${et}\\)$`),ei=RegExp(`^rgba\\(${t8},${t8},${t8},${t9}\\)$`),eo=RegExp(`^rgba\\(${et},${et},${et},${t9}\\)$`),eu=RegExp(`^hsl\\(${t9},${et},${et}\\)$`),ea=RegExp(`^hsla\\(${t9},${et},${et},${t9}\\)$`),es={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function el(){return this.rgb().formatHex()}function ec(){return this.rgb().formatRgb()}function eh(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=ee.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?ef(e):3===n?new ey(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?ed(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?ed(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=en.exec(t))?new ey(e[1],e[2],e[3],1):(e=er.exec(t))?new ey(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ei.exec(t))?ed(e[1],e[2],e[3],e[4]):(e=eo.exec(t))?ed(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=eu.exec(t))?e_(e[1],e[2]/100,e[3]/100,1):(e=ea.exec(t))?e_(e[1],e[2]/100,e[3]/100,e[4]):es.hasOwnProperty(t)?ef(es[t]):"transparent"===t?new ey(NaN,NaN,NaN,0):null}function ef(t){return new ey(t>>16&255,t>>8&255,255&t,1)}function ed(t,e,n,r){return r<=0&&(t=e=n=NaN),new ey(t,e,n,r)}function ep(t,e,n,r){var i;return 1==arguments.length?((i=t)instanceof t7||(i=eh(i)),i)?new ey((i=i.rgb()).r,i.g,i.b,i.opacity):new ey:new ey(t,e,n,null==r?1:r)}function ey(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function eg(){return`#${ew(this.r)}${ew(this.g)}${ew(this.b)}`}function em(){let t=ev(this.opacity);return`${1===t?"rgb(":"rgba("}${ex(this.r)}, ${ex(this.g)}, ${ex(this.b)}${1===t?")":`, ${t})`}`}function ev(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ex(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ew(t){return((t=ex(t))<16?"0":"")+t.toString(16)}function e_(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new eM(t,e,n,r)}function eb(t){if(t instanceof eM)return new eM(t.h,t.s,t.l,t.opacity);if(t instanceof t7||(t=eh(t)),!t)return new eM;if(t instanceof eM)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),u=NaN,a=o-i,s=(o+i)/2;return a?(u=e===o?(n-r)/a+(n<r)*6:n===o?(r-e)/a+2:(e-n)/a+4,a/=s<.5?o+i:2-o-i,u*=60):a=s>0&&s<1?0:u,new eM(u,a,s,t.opacity)}function eM(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function eE(t){return(t=(t||0)%360)<0?t+360:t}function ek(t){return Math.max(0,Math.min(1,t||0))}function e$(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function eA(t,e,n,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*e+(4-6*o+3*u)*n+(1+3*t+3*o-3*u)*r+u*i)/6}t6(t7,eh,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:el,formatHex:el,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return eb(this).formatHsl()},formatRgb:ec,toString:ec}),t6(ey,ep,t4(t7,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new ey(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new ey(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ey(ex(this.r),ex(this.g),ex(this.b),ev(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:eg,formatHex:eg,formatHex8:function(){return`#${ew(this.r)}${ew(this.g)}${ew(this.b)}${ew((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:em,toString:em})),t6(eM,function(t,e,n,r){return 1==arguments.length?eb(t):new eM(t,e,n,null==r?1:r)},t4(t7,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new eM(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new eM(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new ey(e$(t>=240?t-240:t+120,i,r),e$(t,i,r),e$(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new eM(eE(this.h),ek(this.s),ek(this.l),ev(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=ev(this.opacity);return`${1===t?"hsl(":"hsla("}${eE(this.h)}, ${100*ek(this.s)}%, ${100*ek(this.l)}%${1===t?")":`, ${t})`}`}}));var ez=t=>()=>t;function eS(t,e){var n=e-t;return n?function(e){return t+e*n}:ez(isNaN(t)?e:t)}var eN=function t(e){var n,r=1==(n=+(n=e))?eS:function(t,e){var r,i,o;return e-t?(r=t,i=e,r=Math.pow(r,o=n),i=Math.pow(i,o)-r,o=1/o,function(t){return Math.pow(r+t*i,o)}):ez(isNaN(t)?e:t)};function i(t,e){var n=r((t=ep(t)).r,(e=ep(e)).r),i=r(t.g,e.g),o=r(t.b,e.b),u=eS(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=o(e),t.opacity=u(e),t+""}}return i.gamma=t,i}(1);function eI(t){return function(e){var n,r,i=e.length,o=Array(i),u=Array(i),a=Array(i);for(n=0;n<i;++n)r=ep(e[n]),o[n]=r.r||0,u[n]=r.g||0,a[n]=r.b||0;return o=t(o),u=t(u),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=u(t),r.b=a(t),r+""}}}eI(function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],u=r>0?t[r-1]:2*i-o,a=r<e-1?t[r+2]:2*o-i;return eA((n-r/e)*e,u,i,o,a)}}),eI(function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],u=t[(r+1)%e],a=t[(r+2)%e];return eA((n-r/e)*e,i,o,u,a)}});var eT=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,eP=RegExp(eT.source,"g");function eH(t,e){var n;return("number"==typeof e?tU:e instanceof eh?eN:(n=eh(e))?(e=n,eN):function(t,e){var n,r,i,o,u,a=eT.lastIndex=eP.lastIndex=0,s=-1,l=[],c=[];for(t+="",e+="";(i=eT.exec(t))&&(o=eP.exec(e));)(u=o.index)>a&&(u=e.slice(a,u),l[s]?l[s]+=u:l[++s]=u),(i=i[0])===(o=o[0])?l[s]?l[s]+=o:l[++s]=o:(l[++s]=null,c.push({i:s,x:tU(i,o)})),a=eP.lastIndex;return a<e.length&&(u=e.slice(a),l[s]?l[s]+=u:l[++s]=u),l.length<2?c[0]?(n=c[0].x,function(t){return n(t)+""}):(r=e,function(){return r}):(e=c.length,function(t){for(var n,r=0;r<e;++r)l[(n=c[r]).i]=n.x(t);return l.join("")})})(t,e)}var eB=ts.prototype.constructor;function eO(t){return function(){this.style.removeProperty(t)}}var eC=0;function eL(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}var eX=ts.prototype;eL.prototype=(function(t){return ts().transition(t)}).prototype={constructor:eL,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=M(t));for(var r=this._groups,i=r.length,o=Array(i),u=0;u<i;++u)for(var a,s,l=r[u],c=l.length,h=o[u]=Array(c),f=0;f<c;++f)(a=l[f])&&(s=t.call(a,a.__data__,f,l))&&("__data__"in a&&(s.__data__=a.__data__),h[f]=s,tF(h[f],e,n,f,h,tZ(a,n)));return new eL(o,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=k(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var s,l=r[a],c=l.length,h=0;h<c;++h)if(s=l[h]){for(var f,d=t.call(s,s.__data__,h,l),p=tZ(s,n),y=0,g=d.length;y<g;++y)(f=d[y])&&tF(f,e,n,y,d,p);o.push(d),u.push(s)}return new eL(o,u,e,n)},selectChild:eX.selectChild,selectChildren:eX.selectChildren,filter:function(t){"function"!=typeof t&&(t=$(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,u=e[i],a=u.length,s=r[i]=[],l=0;l<a;++l)(o=u[l])&&t.call(o,o.__data__,l,u)&&s.push(o);return new eL(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),u=Array(r),a=0;a<o;++a)for(var s,l=e[a],c=n[a],h=l.length,f=u[a]=Array(h),d=0;d<h;++d)(s=l[d]||c[d])&&(f[d]=s);for(;a<r;++a)u[a]=e[a];return new eL(u,this._parents,this._name,this._id)},selection:function(){return new eB(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=++eC,r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)if(u=a[l]){var c=tZ(u,e);tF(u,t,n,l,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new eL(r,this._parents,t,n)},call:eX.call,nodes:eX.nodes,node:eX.node,size:eX.size,empty:eX.empty,each:eX.each,on:function(t,e){var n,r,i,o=this._id;return arguments.length<2?tZ(this.node(),o).on.on(t):this.each((i=(t+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})?tW:tK,function(){var u=i(this,o),a=u.on;a!==n&&(r=(n=a).copy()).on(t,e),u.on=r}))},attr:function(t,e){var n=R(t),r="transform"===n?t5:eH;return this.attrTween(t,"function"==typeof e?(n.local?function(t,e,n){var r,i,o;return function(){var u,a,s=n(this);return null==s?void this.removeAttributeNS(t.space,t.local):(u=this.getAttributeNS(t.space,t.local))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=e(r=u,s))}}:function(t,e,n){var r,i,o;return function(){var u,a,s=n(this);return null==s?void this.removeAttribute(t):(u=this.getAttribute(t))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=e(r=u,s))}})(n,r,t3(this,"attr."+t,e)):null==e?(n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(n):(n.local?function(t,e,n){var r,i,o=n+"";return function(){var u=this.getAttributeNS(t.space,t.local);return u===o?null:u===r?i:i=e(r=u,n)}}:function(t,e,n){var r,i,o=n+"";return function(){var u=this.getAttribute(t);return u===o?null:u===r?i:i=e(r=u,n)}})(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw Error();var r=R(t);return this.tween(n,(r.local?function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttributeNS(t.space,t.local,i.call(this,e))}),n}return i._value=e,i}:function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttribute(t,i.call(this,e))}),n}return i._value=e,i})(r,e))},style:function(t,e,n){var r,i,o,u,a,s,l,c,h,f,d,p,y,g,m,v,x,w,_,b,M,E="transform"==(t+="")?t2:eH;return null==e?this.styleTween(t,(r=t,function(){var t=V(this,r),e=(this.style.removeProperty(r),V(this,r));return t===e?null:t===i&&e===o?u:u=E(i=t,o=e)})).on("end.style."+t,eO(t)):"function"==typeof e?this.styleTween(t,(a=t,s=t3(this,"style."+t,e),function(){var t=V(this,a),e=s(this),n=e+"";return null==e&&(this.style.removeProperty(a),n=e=V(this,a)),t===n?null:t===l&&n===c?h:(c=n,h=E(l=t,e))})).each((f=this._id,x="end."+(v="style."+(d=t)),function(){var t=tK(this,f),e=t.on,n=null==t.value[v]?m||(m=eO(d)):void 0;(e!==p||g!==n)&&(y=(p=e).copy()).on(x,g=n),t.on=y})):this.styleTween(t,(w=t,M=e+"",function(){var t=V(this,w);return t===M?null:t===_?b:b=E(_=t,e)}),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw Error();return this.tween(r,function(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e){this.style.setProperty(t,o.call(this,e),n)}),r}return o._value=e,o}(t,e,null==n?"":n))},text:function(t){var e,n;return this.tween("text","function"==typeof t?(e=t3(this,"text",t),function(){var t=e(this);this.textContent=null==t?"":t}):(n=null==t?"":t+"",function(){this.textContent=n}))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw Error();return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){this.textContent=r.call(this,t)}),e}return r._value=t,r}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=tZ(this.node(),n).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==e?function(t,e){var n,r;return function(){var i=tK(this,t),o=i.tween;if(o!==n){r=n=o;for(var u=0,a=r.length;u<a;++u)if(r[u].name===e){(r=r.slice()).splice(u,1);break}}i.tween=r}}:function(t,e,n){var r,i;if("function"!=typeof n)throw Error();return function(){var o=tK(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:e,value:n},s=0,l=i.length;s<l;++s)if(i[s].name===e){i[s]=a;break}s===l&&i.push(a)}o.tween=i}})(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){tW(this,t).delay=+e.apply(this,arguments)}}:function(t,e){return e=+e,function(){tW(this,t).delay=e}})(e,t)):tZ(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){tK(this,t).duration=+e.apply(this,arguments)}}:function(t,e){return e=+e,function(){tK(this,t).duration=e}})(e,t)):tZ(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw Error();return function(){tK(this,t).ease=e}}(e,t)):tZ(this.node(),e).ease},easeVarying:function(t){var e;if("function"!=typeof t)throw Error();return this.each((e=this._id,function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw Error();tK(this,e).ease=n}))},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise(function(o,u){var a={value:u},s={value:function(){0==--i&&o()}};n.each(function(){var n=tK(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(a),e._.interrupt.push(a),e._.end.push(s)),n.on=e}),0===i&&o()})},[Symbol.iterator]:eX[Symbol.iterator]};var eR={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};ts.prototype.interrupt=function(t){return this.each(function(){tQ(this,t)})},ts.prototype.transition=function(t){var e,n;t instanceof eL?(e=t._id,t=t._name):(e=++eC,(n=eR).time=tO(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)(u=a[l])&&tF(u,t,e,l,a,n||function(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw Error(`transition ${e} not found`);return n}(u,e));return new eL(r,this._parents,t,e)};var eY=t=>()=>t;function eV(t,{sourceEvent:e,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ej(t,e,n){this.k=t,this.x=e,this.y=n}ej.prototype={constructor:ej,scale:function(t){return 1===t?this:new ej(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new ej(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var eq=new ej(1,0,0);function eD(t){for(;!t.__zoom;)if(!(t=t.parentNode))return eq;return t.__zoom}function eF(t){t.stopImmediatePropagation()}function eW(t){t.preventDefault(),t.stopImmediatePropagation()}function eK(t){return(!t.ctrlKey||"wheel"===t.type)&&!t.button}function eZ(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function eQ(){return this.__zoom||eq}function eU(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function eG(){return navigator.maxTouchPoints||"ontouchstart"in this}function eJ(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],u=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),u>o?(o+u)/2:Math.min(0,o)||Math.max(0,u))}function e0(){var t,e,n,r=eK,i=eZ,o=eJ,u=eU,a=eG,s=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],c=250,h=tA,f=x("start","zoom","end"),d=0,p=10;function y(t){t.property("__zoom",eQ).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",k).filter(a).on("touchstart.zoom",$).on("touchmove.zoom",A).on("touchend.zoom touchcancel.zoom",z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new ej(e,t.x,t.y)}function m(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new ej(t.k,r,i)}function v(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function w(t,e,n,r){t.on("start.zoom",function(){_(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(r).end()}).tween("zoom",function(){var t=arguments,o=_(this,t).event(r),u=i.apply(this,t),a=null==n?v(u):"function"==typeof n?n.apply(this,t):n,s=Math.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),l=this.__zoom,c="function"==typeof e?e.apply(this,t):e,f=h(l.invert(a).concat(s/l.k),c.invert(a).concat(s/c.k));return function(t){if(1===t)t=c;else{var e=f(t),n=s/e[2];t=new ej(n,a[0]-e[0]*n,a[1]-e[1]*n)}o.zoom(null,t)}})}function _(t,e,n){return!n&&t.__zooming||new b(t,e)}function b(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,e),this.taps=0}function M(t,...e){if(r.apply(this,arguments)){var n=_(this,e).event(t),i=this.__zoom,a=Math.max(s[0],Math.min(s[1],i.k*Math.pow(2,u.apply(this,arguments)))),c=tc(t);if(n.wheel)(n.mouse[0][0]!==c[0]||n.mouse[0][1]!==c[1])&&(n.mouse[1]=i.invert(n.mouse[0]=c)),clearTimeout(n.wheel);else{if(i.k===a)return;n.mouse=[c,i.invert(c)],tQ(this),n.start()}eW(t),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",o(m(g(i,a),n.mouse[0],n.mouse[1]),n.extent,l))}}function E(t,...e){if(!n&&r.apply(this,arguments)){var i=t.currentTarget,u=_(this,e,!0).event(t),a=tl(t.view).on("mousemove.zoom",function(t){if(eW(t),!u.moved){var e=t.clientX-c,n=t.clientY-h;u.moved=e*e+n*n>d}u.event(t).zoom("mouse",o(m(u.that.__zoom,u.mouse[0]=tc(t,i),u.mouse[1]),u.extent,l))},!0).on("mouseup.zoom",function(t){a.on("mousemove.zoom mouseup.zoom",null),tg(t.view,u.moved),eW(t),u.event(t).end()},!0),s=tc(t,i),c=t.clientX,h=t.clientY;ty(t.view),eF(t),u.mouse=[s,this.__zoom.invert(s)],tQ(this),u.start()}}function k(t,...e){if(r.apply(this,arguments)){var n=this.__zoom,u=tc(t.changedTouches?t.changedTouches[0]:t,this),a=n.invert(u),s=n.k*(t.shiftKey?.5:2),h=o(m(g(n,s),u,a),i.apply(this,e),l);eW(t),c>0?tl(this).transition().duration(c).call(w,h,u,t):tl(this).call(y.transform,h,u,t)}}function $(n,...i){if(r.apply(this,arguments)){var o,u,a,s,l=n.touches,c=l.length,h=_(this,i,n.changedTouches.length===c).event(n);for(eF(n),u=0;u<c;++u)s=[s=tc(a=l[u],this),this.__zoom.invert(s),a.identifier],h.touch0?h.touch1||h.touch0[2]===s[2]||(h.touch1=s,h.taps=0):(h.touch0=s,o=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),o&&(h.taps<2&&(e=s[0],t=setTimeout(function(){t=null},500)),tQ(this),h.start())}}function A(t,...e){if(this.__zooming){var n,r,i,u,a=_(this,e).event(t),s=t.changedTouches,c=s.length;for(eW(t),n=0;n<c;++n)i=tc(r=s[n],this),a.touch0&&a.touch0[2]===r.identifier?a.touch0[0]=i:a.touch1&&a.touch1[2]===r.identifier&&(a.touch1[0]=i);if(r=a.that.__zoom,a.touch1){var h=a.touch0[0],f=a.touch0[1],d=a.touch1[0],p=a.touch1[1],y=(y=d[0]-h[0])*y+(y=d[1]-h[1])*y,v=(v=p[0]-f[0])*v+(v=p[1]-f[1])*v;r=g(r,Math.sqrt(y/v)),i=[(h[0]+d[0])/2,(h[1]+d[1])/2],u=[(f[0]+p[0])/2,(f[1]+p[1])/2]}else{if(!a.touch0)return;i=a.touch0[0],u=a.touch0[1]}a.zoom("touch",o(m(r,i,u),a.extent,l))}}function z(t,...r){if(this.__zooming){var i,o,u=_(this,r).event(t),a=t.changedTouches,s=a.length;for(eF(t),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),i=0;i<s;++i)o=a[i],u.touch0&&u.touch0[2]===o.identifier?delete u.touch0:u.touch1&&u.touch1[2]===o.identifier&&delete u.touch1;if(u.touch1&&!u.touch0&&(u.touch0=u.touch1,delete u.touch1),u.touch0)u.touch0[1]=this.__zoom.invert(u.touch0[0]);else if(u.end(),2===u.taps&&(o=tc(o,this),Math.hypot(e[0]-o[0],e[1]-o[1])<p)){var l=tl(this).on("dblclick.zoom");l&&l.apply(this,arguments)}}}return y.transform=function(t,e,n,r){var i=t.selection?t.selection():t;i.property("__zoom",eQ),t!==i?w(t,e,n,r):i.interrupt().each(function(){_(this,arguments).event(r).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()})},y.scaleBy=function(t,e,n,r){y.scaleTo(t,function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n},n,r)},y.scaleTo=function(t,e,n,r){y.transform(t,function(){var t=i.apply(this,arguments),r=this.__zoom,u=null==n?v(t):"function"==typeof n?n.apply(this,arguments):n,a=r.invert(u),s="function"==typeof e?e.apply(this,arguments):e;return o(m(g(r,s),u,a),t,l)},n,r)},y.translateBy=function(t,e,n,r){y.transform(t,function(){return o(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),i.apply(this,arguments),l)},null,r)},y.translateTo=function(t,e,n,r,u){y.transform(t,function(){var t=i.apply(this,arguments),u=this.__zoom,a=null==r?v(t):"function"==typeof r?r.apply(this,arguments):r;return o(eq.translate(a[0],a[1]).scale(u.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,l)},r,u)},b.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var e=tl(this.that).datum();f.call(t,this.that,new eV(t,{sourceEvent:this.sourceEvent,target:y,type:t,transform:this.that.__zoom,dispatch:f}),e)}},y.wheelDelta=function(t){return arguments.length?(u="function"==typeof t?t:eY(+t),y):u},y.filter=function(t){return arguments.length?(r="function"==typeof t?t:eY(!!t),y):r},y.touchable=function(t){return arguments.length?(a="function"==typeof t?t:eY(!!t),y):a},y.extent=function(t){return arguments.length?(i="function"==typeof t?t:eY([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),y):i},y.scaleExtent=function(t){return arguments.length?(s[0]=+t[0],s[1]=+t[1],y):[s[0],s[1]]},y.translateExtent=function(t){return arguments.length?(l[0][0]=+t[0][0],l[1][0]=+t[1][0],l[0][1]=+t[0][1],l[1][1]=+t[1][1],y):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},y.constrain=function(t){return arguments.length?(o=t,y):o},y.duration=function(t){return arguments.length?(c=+t,y):c},y.interpolate=function(t){return arguments.length?(h=t,y):h},y.on=function(){var t=f.on.apply(f,arguments);return t===f?y:t},y.clickDistance=function(t){return arguments.length?(d=(t=+t)*t,y):Math.sqrt(d)},y.tapDistance=function(t){return arguments.length?(p=+t,y):p},y}eD.prototype=ej.prototype;let e1={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${t} handle id: "${"source"===t?n:r}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},e2=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],e5=["Enter"," ","Escape"];(r=h||(h={})).Strict="strict",r.Loose="loose",(i=f||(f={})).Free="free",i.Vertical="vertical",i.Horizontal="horizontal",(o=d||(d={})).Partial="partial",o.Full="full";let e3={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null};(u=p||(p={})).Bezier="default",u.Straight="straight",u.Step="step",u.SmoothStep="smoothstep",u.SimpleBezier="simplebezier",(a=y||(y={})).Arrow="arrow",a.ArrowClosed="arrowclosed",(s=g||(g={})).Left="left",s.Top="top",s.Right="right",s.Bottom="bottom";let e6={[g.Left]:g.Right,[g.Right]:g.Left,[g.Top]:g.Bottom,[g.Bottom]:g.Top};function e4(t){return null===t?null:t?"valid":"invalid"}let e7=t=>"id"in t&&"source"in t&&"target"in t,e8=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),e9=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t),nt=(t,e=[0,0])=>{let{width:n,height:r}=nN(t),i=t.origin??e,o=n*i[0],u=r*i[1];return{x:t.position.x-o,y:t.position.y-u}},ne=(t,e={nodeOrigin:[0,0],nodeLookup:void 0})=>0===t.length?{x:0,y:0,width:0,height:0}:ng(t.reduce((t,n)=>{let r="string"==typeof n,i=e.nodeLookup||r?void 0:n;return e.nodeLookup&&(i=r?e.nodeLookup.get(n):e9(n)?n:e.nodeLookup.get(n.id)),np(t,i?nv(i,e.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),nn=(t,e={})=>{if(0===t.size)return{x:0,y:0,width:0,height:0};let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return t.forEach(t=>{if(void 0===e.filter||e.filter(t)){let e=nv(t);n=np(n,e)}}),ng(n)},nr=(t,e,[n,r,i]=[0,0,1],o=!1,u=!1)=>{let a={...nk(e,[n,r,i]),width:e.width/i,height:e.height/i},s=[];for(let e of t.values()){let{measured:t,selectable:n=!0,hidden:r=!1}=e;if(u&&!n||r)continue;let i=t.width??e.width??e.initialWidth??null,l=t.height??e.height??e.initialHeight??null,c=nw(a,nm(e)),h=(i??0)*(l??0),f=o&&c>0;(!e.internals.handleBounds||f||c>=h||e.dragging)&&s.push(e)}return s},ni=(t,e)=>{let n=new Set;return t.forEach(t=>{n.add(t.id)}),e.filter(t=>n.has(t.source)||n.has(t.target))};function no(t,e){let n=new Map,r=e?.nodes?new Set(e.nodes.map(t=>t.id)):null;return t.forEach(t=>{t.measured.width&&t.measured.height&&(e?.includeHiddenNodes||!t.hidden)&&(!r||r.has(t.id))&&n.set(t.id,t)}),n}async function nu({nodes:t,width:e,height:n,panZoom:r,minZoom:i,maxZoom:o},u){if(0===t.size)return Promise.resolve(!1);let a=nA(nn(t),e,n,u?.minZoom??i,u?.maxZoom??o,u?.padding??.1);return await r.setViewport(a,{duration:u?.duration}),Promise.resolve(!0)}function na({nodeId:t,nextPosition:e,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:o}){let u=n.get(t),a=u.parentId?n.get(u.parentId):void 0,{x:s,y:l}=a?a.internals.positionAbsolute:{x:0,y:0},c=u.origin??r,h=i;if("parent"!==u.extent||u.expandParent)a&&nS(u.extent)&&(h=[[u.extent[0][0]+s,u.extent[0][1]+l],[u.extent[1][0]+s,u.extent[1][1]+l]]);else if(a){let t=a.measured.width,e=a.measured.height;t&&e&&(h=[[s,l],[s+t,l+e]])}else o?.("005",e1.error005());let f=nS(h)?nc(e,h,u.measured):e;return(void 0===u.measured.width||void 0===u.measured.height)&&o?.("015",e1.error015()),{position:{x:f.x-s+(u.measured.width??0)*c[0],y:f.y-l+(u.measured.height??0)*c[1]},positionAbsolute:f}}async function ns({nodesToRemove:t=[],edgesToRemove:e=[],nodes:n,edges:r,onBeforeDelete:i}){let o=new Set(t.map(t=>t.id)),u=[];for(let t of n){if(!1===t.deletable)continue;let e=o.has(t.id),n=!e&&t.parentId&&u.find(e=>e.id===t.parentId);(e||n)&&u.push(t)}let a=new Set(e.map(t=>t.id)),s=r.filter(t=>!1!==t.deletable),l=ni(u,s);for(let t of s)a.has(t.id)&&!l.find(e=>e.id===t.id)&&l.push(t);if(!i)return{edges:l,nodes:u};let c=await i({nodes:u,edges:l});return"boolean"==typeof c?c?{edges:l,nodes:u}:{edges:[],nodes:[]}:c}let nl=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),nc=(t={x:0,y:0},e,n)=>({x:nl(t.x,e[0][0],e[1][0]-(n?.width??0)),y:nl(t.y,e[0][1],e[1][1]-(n?.height??0))});function nh(t,e,n){let{width:r,height:i}=nN(n),{x:o,y:u}=n.internals.positionAbsolute;return nc(t,[[o,u],[o+r,u+i]],e)}let nf=(t,e,n)=>t<e?nl(Math.abs(t-e),1,e)/e:t>n?-nl(Math.abs(t-n),1,e)/e:0,nd=(t,e,n=15,r=40)=>[nf(t.x,r,e.width-r)*n,nf(t.y,r,e.height-r)*n],np=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),ny=({x:t,y:e,width:n,height:r})=>({x:t,y:e,x2:t+n,y2:e+r}),ng=({x:t,y:e,x2:n,y2:r})=>({x:t,y:e,width:n-t,height:r-e}),nm=(t,e=[0,0])=>{let{x:n,y:r}=e9(t)?t.internals.positionAbsolute:nt(t,e);return{x:n,y:r,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},nv=(t,e=[0,0])=>{let{x:n,y:r}=e9(t)?t.internals.positionAbsolute:nt(t,e);return{x:n,y:r,x2:n+(t.measured?.width??t.width??t.initialWidth??0),y2:r+(t.measured?.height??t.height??t.initialHeight??0)}},nx=(t,e)=>ng(np(ny(t),ny(e))),nw=(t,e)=>Math.ceil(Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x))*Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y))),n_=t=>nb(t.width)&&nb(t.height)&&nb(t.x)&&nb(t.y),nb=t=>!isNaN(t)&&isFinite(t),nM=(t,e)=>{},nE=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),nk=({x:t,y:e},[n,r,i],o=!1,u=[1,1])=>{let a={x:(t-n)/i,y:(e-r)/i};return o?nE(a,u):a},n$=({x:t,y:e},[n,r,i])=>({x:t*i+n,y:e*i+r}),nA=(t,e,n,r,i,o)=>{let u=nl(Math.min(e/(t.width*(1+o)),n/(t.height*(1+o))),r,i);return{x:e/2-(t.x+t.width/2)*u,y:n/2-(t.y+t.height/2)*u,zoom:u}},nz=()=>"undefined"!=typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function nS(t){return void 0!==t&&"parent"!==t}function nN(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function nI(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function nT(t,e={width:0,height:0},n,r,i){let o={...t},u=r.get(n);if(u){let t=u.origin||i;o.x+=u.internals.positionAbsolute.x-(e.width??0)*t[0],o.y+=u.internals.positionAbsolute.y-(e.height??0)*t[1]}return o}function nP(t,e){if(t.size!==e.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}function nH(t,{snapGrid:e=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:o,y:u}=nR(t),a=nk({x:o-(i?.left??0),y:u-(i?.top??0)},r),{x:s,y:l}=n?nE(a,e):a;return{xSnapped:s,ySnapped:l,...a}}let nB=t=>({width:t.offsetWidth,height:t.offsetHeight}),nO=t=>t?.getRootNode?.()||window?.document,nC=["INPUT","SELECT","TEXTAREA"];function nL(t){let e=t.composedPath?.()?.[0]||t.target;return e?.nodeType===1&&(nC.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey"))}let nX=t=>"clientX"in t,nR=(t,e)=>{let n=nX(t),r=n?t.clientX:t.touches?.[0].clientX,i=n?t.clientY:t.touches?.[0].clientY;return{x:r-(e?.left??0),y:i-(e?.top??0)}},nY=(t,e,n,r,i)=>{let o=e.querySelectorAll(`.${t}`);return o&&o.length?Array.from(o).map(e=>{let o=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),type:t,nodeId:i,position:e.getAttribute("data-handlepos"),x:(o.left-n.left)/r,y:(o.top-n.top)/r,...nB(e)}}):null};function nV({sourceX:t,sourceY:e,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:u,targetControlY:a}){let s=.125*t+.375*i+.375*u+.125*n,l=.125*e+.375*o+.375*a+.125*r;return[s,l,Math.abs(s-t),Math.abs(l-e)]}function nj(t,e){return t>=0?.5*t:25*e*Math.sqrt(-t)}function nq({pos:t,x1:e,y1:n,x2:r,y2:i,c:o}){switch(t){case g.Left:return[e-nj(e-r,o),n];case g.Right:return[e+nj(r-e,o),n];case g.Top:return[e,n-nj(n-i,o)];case g.Bottom:return[e,n+nj(i-n,o)]}}function nD({sourceX:t,sourceY:e,sourcePosition:n=g.Bottom,targetX:r,targetY:i,targetPosition:o=g.Top,curvature:u=.25}){let[a,s]=nq({pos:n,x1:t,y1:e,x2:r,y2:i,c:u}),[l,c]=nq({pos:o,x1:r,y1:i,x2:t,y2:e,c:u}),[h,f,d,p]=nV({sourceX:t,sourceY:e,targetX:r,targetY:i,sourceControlX:a,sourceControlY:s,targetControlX:l,targetControlY:c});return[`M${t},${e} C${a},${s} ${l},${c} ${r},${i}`,h,f,d,p]}function nF({sourceX:t,sourceY:e,targetX:n,targetY:r}){let i=Math.abs(n-t)/2,o=Math.abs(r-e)/2;return[n<t?n+i:n-i,r<e?r+o:r-o,i,o]}function nW({sourceNode:t,targetNode:e,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1}){if(!i)return r;let o=n||e.selected||t.selected,u=Math.max(t.internals.z||0,e.internals.z||0,1e3);return r+(o?u:0)}function nK({sourceNode:t,targetNode:e,width:n,height:r,transform:i}){let o=np(nv(t),nv(e));return o.x===o.x2&&(o.x2+=1),o.y===o.y2&&(o.y2+=1),nw({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},ng(o))>0}let nZ=({source:t,sourceHandle:e,target:n,targetHandle:r})=>`xy-edge__${t}${e||""}-${n}${r||""}`,nQ=(t,e)=>e.some(e=>e.source===t.source&&e.target===t.target&&(e.sourceHandle===t.sourceHandle||!e.sourceHandle&&!t.sourceHandle)&&(e.targetHandle===t.targetHandle||!e.targetHandle&&!t.targetHandle)),nU=(t,e)=>{let n;return t.source&&t.target?nQ(n=e7(t)?{...t}:{...t,id:nZ(t)},e)?e:(null===n.sourceHandle&&delete n.sourceHandle,null===n.targetHandle&&delete n.targetHandle,e.concat(n)):(nM("006",e1.error006()),e)};function nG({sourceX:t,sourceY:e,targetX:n,targetY:r}){let[i,o,u,a]=nF({sourceX:t,sourceY:e,targetX:n,targetY:r});return[`M ${t},${e}L ${n},${r}`,i,o,u,a]}let nJ={[g.Left]:{x:-1,y:0},[g.Right]:{x:1,y:0},[g.Top]:{x:0,y:-1},[g.Bottom]:{x:0,y:1}},n0=({source:t,sourcePosition:e=g.Bottom,target:n})=>e===g.Left||e===g.Right?t.x<n.x?{x:1,y:0}:{x:-1,y:0}:t.y<n.y?{x:0,y:1}:{x:0,y:-1},n1=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function n2({sourceX:t,sourceY:e,sourcePosition:n=g.Bottom,targetX:r,targetY:i,targetPosition:o=g.Top,borderRadius:u=5,centerX:a,centerY:s,offset:l=20}){let[c,h,f,d,p]=function({source:t,sourcePosition:e=g.Bottom,target:n,targetPosition:r=g.Top,center:i,offset:o}){let u,a;let s=nJ[e],l=nJ[r],c={x:t.x+s.x*o,y:t.y+s.y*o},h={x:n.x+l.x*o,y:n.y+l.y*o},f=n0({source:c,sourcePosition:e,target:h}),d=0!==f.x?"x":"y",p=f[d],y=[],m={x:0,y:0},v={x:0,y:0},[x,w,_,b]=nF({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(s[d]*l[d]==-1){u=i.x??x,a=i.y??w;let t=[{x:u,y:c.y},{x:u,y:h.y}],e=[{x:c.x,y:a},{x:h.x,y:a}];y=s[d]===p?"x"===d?t:e:"x"===d?e:t}else{let i=[{x:c.x,y:h.y}],f=[{x:h.x,y:c.y}];if(y="x"===d?s.x===p?f:i:s.y===p?i:f,e===r){let e=Math.abs(t[d]-n[d]);if(e<=o){let r=Math.min(o-1,o-e);s[d]===p?m[d]=(c[d]>t[d]?-1:1)*r:v[d]=(h[d]>n[d]?-1:1)*r}}if(e!==r){let t="x"===d?"y":"x",e=s[d]===l[t],n=c[t]>h[t],r=c[t]<h[t];(1===s[d]&&(!e&&n||e&&r)||1!==s[d]&&(!e&&r||e&&n))&&(y="x"===d?i:f)}let g={x:c.x+m.x,y:c.y+m.y},x={x:h.x+v.x,y:h.y+v.y};Math.max(Math.abs(g.x-y[0].x),Math.abs(x.x-y[0].x))>=Math.max(Math.abs(g.y-y[0].y),Math.abs(x.y-y[0].y))?(u=(g.x+x.x)/2,a=y[0].y):(u=y[0].x,a=(g.y+x.y)/2)}return[[t,{x:c.x+m.x,y:c.y+m.y},...y,{x:h.x+v.x,y:h.y+v.y},n],u,a,_,b]}({source:{x:t,y:e},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:a,y:s},offset:l});return[c.reduce((t,e,n)=>t+(n>0&&n<c.length-1?function(t,e,n,r){let i=Math.min(n1(t,e)/2,n1(e,n)/2,r),{x:o,y:u}=e;if(t.x===o&&o===n.x||t.y===u&&u===n.y)return`L${o} ${u}`;if(t.y===u){let e=t.x<n.x?-1:1,r=t.y<n.y?1:-1;return`L ${o+i*e},${u}Q ${o},${u} ${o},${u+i*r}`}let a=t.x<n.x?1:-1,s=t.y<n.y?-1:1;return`L ${o},${u+i*s}Q ${o},${u} ${o+i*a},${u}`}(c[n-1],e,c[n+1],u):`${0===n?"M":"L"}${e.x} ${e.y}`),""),h,f,d,p]}function n5(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function n3(t){let{sourceNode:e,targetNode:n}=t;if(!n5(e)||!n5(n))return null;let r=e.internals.handleBounds||n6(e.handles),i=n.internals.handleBounds||n6(n.handles),o=n7(r?.source??[],t.sourceHandle),u=n7(t.connectionMode===h.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),t.targetHandle);if(!o||!u)return t.onError?.("008",e1.error008(o?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;let a=o?.position||g.Bottom,s=u?.position||g.Top,l=n4(e,o,a),c=n4(n,u,s);return{sourceX:l.x,sourceY:l.y,targetX:c.x,targetY:c.y,sourcePosition:a,targetPosition:s}}function n6(t){if(!t)return null;let e=[],n=[];for(let r of t)r.width=r.width??1,r.height=r.height??1,"source"===r.type?e.push(r):"target"===r.type&&n.push(r);return{source:e,target:n}}function n4(t,e,n=g.Left,r=!1){let i=(e?.x??0)+t.internals.positionAbsolute.x,o=(e?.y??0)+t.internals.positionAbsolute.y,{width:u,height:a}=e??nN(t);if(r)return{x:i+u/2,y:o+a/2};switch(e?.position??n){case g.Top:return{x:i+u/2,y:o};case g.Right:return{x:i+u,y:o+a/2};case g.Bottom:return{x:i+u/2,y:o+a};case g.Left:return{x:i,y:o+a/2}}}function n7(t,e){return t&&(e?t.find(t=>t.id===e):t[0])||null}function n8(t,e){if(!t)return"";if("string"==typeof t)return t;let n=e?`${e}__`:"";return`${n}${Object.keys(t).sort().map(e=>`${e}=${t[e]}`).join("&")}`}function n9(t,{id:e,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let o=new Set;return t.reduce((t,u)=>([u.markerStart||r,u.markerEnd||i].forEach(r=>{if(r&&"object"==typeof r){let i=n8(r,e);o.has(i)||(t.push({id:i,color:r.color||n,...r}),o.add(i))}}),t),[]).sort((t,e)=>t.id.localeCompare(e.id))}let rt={nodeOrigin:[0,0],nodeExtent:e2,elevateNodesOnSelect:!0,defaults:{}},re={...rt,checkEquality:!0};function rn(t,e){let n={...t};for(let t in e)void 0!==e[t]&&(n[t]=e[t]);return n}function rr(t,e,n){let r=rn(rt,n);for(let n of t.values())if(n.parentId)ro(n,t,e,r);else{let t=nc(nt(n,r.nodeOrigin),nS(n.extent)?n.extent:r.nodeExtent,nN(n));n.internals.positionAbsolute=t}}function ri(t,e,n,r){let i=rn(re,r),o=new Map(e),u=i?.elevateNodesOnSelect?1e3:0;for(let a of(e.clear(),n.clear(),t)){let t=o.get(a.id);if(i.checkEquality&&a===t?.internals.userNode)e.set(a.id,t);else{let n=nc(nt(a,i.nodeOrigin),nS(a.extent)?a.extent:i.nodeExtent,nN(a));t={...i.defaults,...a,measured:{width:a.measured?.width,height:a.measured?.height},internals:{positionAbsolute:n,handleBounds:a.measured?t?.internals.handleBounds:void 0,z:ru(a,u),userNode:a}},e.set(a.id,t)}a.parentId&&ro(t,e,n,r)}}function ro(t,e,n,r){let{elevateNodesOnSelect:i,nodeOrigin:o,nodeExtent:u}=rn(rt,r),a=t.parentId,s=e.get(a);if(!s){console.warn(`Parent node ${a} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}!function(t,e){if(!t.parentId)return;let n=e.get(t.parentId);n?n.set(t.id,t):e.set(t.parentId,new Map([[t.id,t]]))}(t,n);let{x:l,y:c,z:h}=function(t,e,n,r,i){let{x:o,y:u}=e.internals.positionAbsolute,a=nN(t),s=nt(t,n),l=nS(t.extent)?nc(s,t.extent,a):s,c=nc({x:o+l.x,y:u+l.y},r,a);"parent"===t.extent&&(c=nh(c,a,e));let h=ru(t,i),f=e.internals.z??0;return{x:c.x,y:c.y,z:f>h?f:h}}(t,s,o,u,i?1e3:0),{positionAbsolute:f}=t.internals,d=l!==f.x||c!==f.y;(d||h!==t.internals.z)&&e.set(t.id,{...t,internals:{...t.internals,positionAbsolute:d?{x:l,y:c}:f,z:h}})}function ru(t,e){return(nb(t.zIndex)?t.zIndex:0)+(t.selected?e:0)}function ra(t,e,n,r=[0,0]){let i=[],o=new Map;for(let n of t){let t=e.get(n.parentId);if(!t)continue;let r=nx(o.get(n.parentId)?.expandedRect??nm(t),n.rect);o.set(n.parentId,{expandedRect:r,parent:t})}return o.size>0&&o.forEach(({expandedRect:e,parent:o},u)=>{let a=o.internals.positionAbsolute,s=nN(o),l=o.origin??r,c=e.x<a.x?Math.round(Math.abs(a.x-e.x)):0,h=e.y<a.y?Math.round(Math.abs(a.y-e.y)):0,f=Math.max(s.width,Math.round(e.width)),d=Math.max(s.height,Math.round(e.height)),p=(f-s.width)*l[0],y=(d-s.height)*l[1];(c>0||h>0||p||y)&&(i.push({id:u,type:"position",position:{x:o.position.x-c+p,y:o.position.y-h+y}}),n.get(u)?.forEach(e=>{t.some(t=>t.id===e.id)||i.push({id:e.id,type:"position",position:{x:e.position.x+c,y:e.position.y+h}})})),(s.width<e.width||s.height<e.height||c||h)&&i.push({id:u,type:"dimensions",setAttributes:!0,dimensions:{width:f+(c?l[0]*c-p:0),height:d+(h?l[1]*h-y:0)}})}),i}function rs(t,e,n,r,i,o){let u=r?.querySelector(".xyflow__viewport"),a=!1;if(!u)return{changes:[],updatedInternals:a};let s=[],l=window.getComputedStyle(u),{m22:c}=new window.DOMMatrixReadOnly(l.transform),h=[];for(let r of t.values()){let t=e.get(r.id);if(!t)continue;if(t.hidden){e.set(t.id,{...t,internals:{...t.internals,handleBounds:void 0}}),a=!0;continue}let u=nB(r.nodeElement),l=t.measured.width!==u.width||t.measured.height!==u.height;if(u.width&&u.height&&(l||!t.internals.handleBounds||r.force)){let f=r.nodeElement.getBoundingClientRect(),d=nS(t.extent)?t.extent:o,{positionAbsolute:p}=t.internals;t.parentId&&"parent"===t.extent?p=nh(p,u,e.get(t.parentId)):d&&(p=nc(p,d,u));let y={...t,measured:u,internals:{...t.internals,positionAbsolute:p,handleBounds:{source:nY("source",r.nodeElement,f,c,t.id),target:nY("target",r.nodeElement,f,c,t.id)}}};e.set(t.id,y),t.parentId&&ro(y,e,n,{nodeOrigin:i}),a=!0,l&&(s.push({id:t.id,type:"dimensions",dimensions:u}),t.expandParent&&t.parentId&&h.push({id:t.id,parentId:t.parentId,rect:nm(y,i)}))}}if(h.length>0){let t=ra(h,e,n,i);s.push(...t)}return{changes:s,updatedInternals:a}}async function rl({delta:t,panZoom:e,transform:n,translateExtent:r,width:i,height:o}){if(!e||!t.x&&!t.y)return Promise.resolve(!1);let u=await e.setViewportConstrained({x:n[0]+t.x,y:n[1]+t.y,zoom:n[2]},[[0,0],[i,o]],r);return Promise.resolve(!!u&&(u.x!==n[0]||u.y!==n[1]||u.k!==n[2]))}function rc(t,e,n,r,i,o){let u=i,a=r.get(u)||new Map;r.set(u,a.set(n,e)),u=`${i}-${t}`;let s=r.get(u)||new Map;if(r.set(u,s.set(n,e)),o){u=`${i}-${t}-${o}`;let a=r.get(u)||new Map;r.set(u,a.set(n,e))}}function rh(t,e,n){for(let r of(t.clear(),e.clear(),n)){let{source:n,target:i,sourceHandle:o=null,targetHandle:u=null}=r,a={edgeId:r.id,source:n,target:i,sourceHandle:o,targetHandle:u},s=`${n}-${o}--${i}-${u}`;rc("source",a,`${i}-${u}--${n}-${o}`,t,n,o),rc("target",a,s,t,i,u),e.set(r.id,r)}}function rf(t,e,n){let r=t;do{if(r?.matches?.(e))return!0;if(r===n)break;r=r?.parentElement}while(r);return!1}function rd({nodeId:t,dragItems:e,nodeLookup:n,dragging:r=!0}){let i=[];for(let[t,o]of e){let e=n.get(t)?.internals.userNode;e&&i.push({...e,position:o.position,dragging:r})}if(!t)return[i[0],i];let o=n.get(t)?.internals.userNode;return[o?{...o,position:e.get(t)?.position||o.position,dragging:r}:i[0],i]}function rp({onNodeMouseDown:t,getStoreItems:e,onDragStart:n,onDrag:r,onDragStop:i}){let o={x:null,y:null},u=0,a=new Map,s=!1,l={x:0,y:0},c=null,h=!1,f=null,d=!1;return{update:function({noDragClassName:p,handleSelector:y,domNode:g,isSelectable:m,nodeId:v,nodeClickDistance:x=0}){function w({x:t,y:n},i){let{nodeLookup:u,nodeExtent:s,snapGrid:l,snapToGrid:c,nodeOrigin:h,onNodeDrag:f,onSelectionDrag:d,onError:p,updateNodePositions:y}=e();o={x:t,y:n};let g=!1,m={x:0,y:0,x2:0,y2:0};for(let[e,r]of(a.size>1&&s&&(m=ny(nn(a))),a)){if(!u.has(e))continue;let i={x:t-r.distance.x,y:n-r.distance.y};c&&(i=nE(i,l));let o=[[s[0][0],s[0][1]],[s[1][0],s[1][1]]];if(a.size>1&&s&&!r.extent){let{positionAbsolute:t}=r.internals,e=t.x-m.x+s[0][0],n=t.x+r.measured.width-m.x2+s[1][0];o=[[e,t.y-m.y+s[0][1]],[n,t.y+r.measured.height-m.y2+s[1][1]]]}let{position:f,positionAbsolute:d}=na({nodeId:e,nextPosition:i,nodeLookup:u,nodeExtent:o,nodeOrigin:h,onError:p});g=g||r.position.x!==f.x||r.position.y!==f.y,r.position=f,r.internals.positionAbsolute=d}if(g&&(y(a,!0),i&&(r||f||!v&&d))){let[t,e]=rd({nodeId:v,dragItems:a,nodeLookup:u});r?.(i,a,t,e),f?.(i,t,e),v||d?.(i,e)}}async function _(){if(!c)return;let{transform:t,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=e();if(!i){s=!1,cancelAnimationFrame(u);return}let[a,h]=nd(l,c,r);(0!==a||0!==h)&&(o.x=(o.x??0)-a/t[2],o.y=(o.y??0)-h/t[2],await n({x:a,y:h})&&w(o,null)),u=requestAnimationFrame(_)}function b(r){let{nodeLookup:i,multiSelectionActive:u,nodesDraggable:s,transform:l,snapGrid:f,snapToGrid:d,selectNodesOnDrag:p,onNodeDragStart:y,onSelectionDragStart:g,unselectNodesAndEdges:x}=e();h=!0,p&&m||u||!v||i.get(v)?.selected||x(),m&&p&&v&&t?.(v);let w=nH(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:d,containerBounds:c});if(o=w,(a=function(t,e,n,r){let i=new Map;for(let[o,u]of t)if((u.selected||u.id===r)&&(!u.parentId||!function t(e,n){if(!e.parentId)return!1;let r=n.get(e.parentId);return!!r&&(!!r.selected||t(r,n))}(u,t))&&(u.draggable||e&&void 0===u.draggable)){let e=t.get(o);e&&i.set(o,{id:o,position:e.position||{x:0,y:0},distance:{x:n.x-e.internals.positionAbsolute.x,y:n.y-e.internals.positionAbsolute.y},extent:e.extent,parentId:e.parentId,origin:e.origin,expandParent:e.expandParent,internals:{positionAbsolute:e.internals.positionAbsolute||{x:0,y:0}},measured:{width:e.measured.width??0,height:e.measured.height??0}})}return i}(i,s,w,v)).size>0&&(n||y||!v&&g)){let[t,e]=rd({nodeId:v,dragItems:a,nodeLookup:i});n?.(r.sourceEvent,a,t,e),y?.(r.sourceEvent,t,e),v||g?.(r.sourceEvent,e)}}f=tl(g);let M=tM().clickDistance(x).on("start",t=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:u,snapToGrid:a}=e();c=n?.getBoundingClientRect()||null,d=!1,0===r&&b(t),o=nH(t.sourceEvent,{transform:i,snapGrid:u,snapToGrid:a,containerBounds:c}),l=nR(t.sourceEvent,c)}).on("drag",t=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:u,nodeDragThreshold:f,nodeLookup:p}=e(),y=nH(t.sourceEvent,{transform:r,snapGrid:i,snapToGrid:u,containerBounds:c});if(("touchmove"===t.sourceEvent.type&&t.sourceEvent.touches.length>1||v&&!p.has(v))&&(d=!0),!d){if(!s&&n&&h&&(s=!0,_()),!h){let e=y.xSnapped-(o.x??0),n=y.ySnapped-(o.y??0);Math.sqrt(e*e+n*n)>f&&b(t)}(o.x!==y.xSnapped||o.y!==y.ySnapped)&&a&&h&&(l=nR(t.sourceEvent,c),w(y,t.sourceEvent))}}).on("end",t=>{if(h&&!d&&(s=!1,h=!1,cancelAnimationFrame(u),a.size>0)){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:o,onSelectionDragStop:u}=e();if(r(a,!1),i||o||!v&&u){let[e,r]=rd({nodeId:v,dragItems:a,nodeLookup:n,dragging:!1});i?.(t.sourceEvent,a,e,r),o?.(t.sourceEvent,e,r),v||u?.(t.sourceEvent,r)}}}).filter(t=>{let e=t.target;return!t.button&&(!p||!rf(e,`.${p}`,g))&&(!y||rf(e,y,g))});f.call(M)},destroy:function(){f?.on(".drag",null)}}}function ry(t,e,n,r,i,o=!1){let u=r.get(t);if(!u)return null;let a="strict"===i?u.internals.handleBounds?.[e]:[...u.internals.handleBounds?.source??[],...u.internals.handleBounds?.target??[]],s=(n?a?.find(t=>t.id===n):a?.[0])??null;return s&&o?{...s,...n4(u,s,s.position,!0)}:s}function rg(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}let rm=()=>!0;function rv(t,{handle:e,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:o,doc:u,lib:a,flowId:s,isValidConnection:l=rm,nodeLookup:c}){let f="target"===o,d=e?u.querySelector(`.${a}-flow__handle[data-id="${s}-${e?.nodeId}-${e?.id}-${e?.type}"]`):null,{x:p,y}=nR(t),g=u.elementFromPoint(p,y),m=g?.classList.contains(`${a}-flow__handle`)?g:d,v={handleDomNode:m,isValid:!1,connection:null,toHandle:null};if(m){let t=rg(void 0,m),e=m.getAttribute("data-nodeid"),o=m.getAttribute("data-handleid"),u=m.classList.contains("connectable"),a=m.classList.contains("connectableend");if(!e||!t)return v;let s={source:f?e:r,sourceHandle:f?o:i,target:f?r:e,targetHandle:f?i:o};v.connection=s;let d=u&&a&&(n===h.Strict?f&&"source"===t||!f&&"target"===t:e!==r||o!==i);v.isValid=d&&l(s),v.toHandle=ry(e,t,o,c,n,!1)}return v}let rx={onPointerDown:function(t,{connectionMode:e,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:o,isTarget:u,domNode:a,nodeLookup:s,lib:l,autoPanOnConnect:c,flowId:h,panBy:f,cancelConnection:d,onConnectStart:p,onConnect:y,onConnectEnd:m,isValidConnection:v=rm,onReconnectEnd:x,updateConnection:w,getTransform:_,getFromHandle:b,autoPanSpeed:M}){let E;let k=nO(t.target),$=0,{x:A,y:z}=nR(t),S=rg(o,k?.elementFromPoint(A,z)),N=a?.getBoundingClientRect();if(!N||!S)return;let I=ry(i,S,r,s,e);if(!I)return;let T=nR(t,N),P=!1,H=null,B=!1,O=null,C={...I,nodeId:i,type:S,position:I.position},L=s.get(i),X={inProgress:!0,isValid:null,from:n4(L,C,g.Left,!0),fromHandle:C,fromPosition:C.position,fromNode:L,to:T,toHandle:null,toPosition:e6[C.position],toNode:null};w(X);let R=X;function Y(t){var o,a;let d;if(!b()||!C){V(t);return}let p=_();E=function(t,e,n,r){let i=[],o=1/0;for(let u of function(t,e,n){let r=[],i={x:t.x-n,y:t.y-n,width:2*n,height:2*n};for(let t of e.values())nw(i,nm(t))>0&&r.push(t);return r}(t,n,e+250))for(let n of[...u.internals.handleBounds?.source??[],...u.internals.handleBounds?.target??[]]){if(r.nodeId===n.nodeId&&r.type===n.type&&r.id===n.id)continue;let{x:a,y:s}=n4(u,n,n.position,!0),l=Math.sqrt(Math.pow(a-t.x,2)+Math.pow(s-t.y,2));l>e||(l<o?(i=[{...n,x:a,y:s}],o=l):l===o&&i.push({...n,x:a,y:s}))}if(!i.length)return null;if(i.length>1){let t="source"===r.type?"target":"source";return i.find(e=>e.type===t)??i[0]}return i[0]}(nk(T=nR(t,N),p,!1,[1,1]),n,s,C),P||(function t(){if(!c||!N)return;let[e,n]=nd(T,N,M);f({x:e,y:n}),$=requestAnimationFrame(t)}(),P=!0);let y=rv(t,{handle:E,connectionMode:e,fromNodeId:i,fromHandleId:r,fromType:u?"target":"source",isValidConnection:v,doc:k,lib:l,flowId:h,nodeLookup:s});O=y.handleDomNode,H=y.connection,o=!!E,a=y.isValid,d=null,a?d=!0:o&&!a&&(d=!1),B=d;let g={...R,isValid:B,to:E&&B?n$({x:E.x,y:E.y},p):T,toHandle:y.toHandle,toPosition:B&&y.toHandle?y.toHandle.position:e6[C.position],toNode:y.toHandle?s.get(y.toHandle.nodeId):null};B&&E&&R.toHandle&&g.toHandle&&R.toHandle.type===g.toHandle.type&&R.toHandle.nodeId===g.toHandle.nodeId&&R.toHandle.id===g.toHandle.id&&R.to.x===g.to.x&&R.to.y===g.to.y||(w(g),R=g)}function V(t){(E||O)&&H&&B&&y?.(H);let{inProgress:e,...n}=R,r={...n,toPosition:R.toHandle?R.toPosition:null};m?.(t,r),o&&x?.(t,r),d(),cancelAnimationFrame($),P=!1,B=!1,H=null,O=null,k.removeEventListener("mousemove",Y),k.removeEventListener("mouseup",V),k.removeEventListener("touchmove",Y),k.removeEventListener("touchend",V)}p?.(t,{nodeId:i,handleId:r,handleType:S}),k.addEventListener("mousemove",Y),k.addEventListener("mouseup",V),k.addEventListener("touchmove",Y),k.addEventListener("touchend",V)},isValid:rv};function rw({domNode:t,panZoom:e,getTransform:n,getViewScale:r}){let i=tl(t);return{update:function({translateExtent:t,width:o,height:u,zoomStep:a=10,pannable:s=!0,zoomable:l=!0,inversePan:c=!1}){let h=[0,0],f=e0().on("start",t=>{("mousedown"===t.sourceEvent.type||"touchstart"===t.sourceEvent.type)&&(h=[t.sourceEvent.clientX??t.sourceEvent.touches[0].clientX,t.sourceEvent.clientY??t.sourceEvent.touches[0].clientY])}).on("zoom",s?i=>{let a=n();if("mousemove"!==i.sourceEvent.type&&"touchmove"!==i.sourceEvent.type||!e)return;let s=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[s[0]-h[0],s[1]-h[1]];h=s;let f=r()*Math.max(a[2],Math.log(a[2]))*(c?-1:1),d={x:a[0]-l[0]*f,y:a[1]-l[1]*f};e.setViewportConstrained({x:d.x,y:d.y,zoom:a[2]},[[0,0],[o,u]],t)}:null).on("zoom.wheel",l?t=>{let r=n();if("wheel"!==t.sourceEvent.type||!e)return;let i=-t.sourceEvent.deltaY*(1===t.sourceEvent.deltaMode?.05:t.sourceEvent.deltaMode?1:.002)*a,o=r[2]*Math.pow(2,i);e.scaleTo(o)}:null);i.call(f,{})},destroy:function(){i.on("zoom",null)},pointer:tc}}let r_=(t,e)=>t.x!==e.x||t.y!==e.y||t.zoom!==e.k,rb=t=>({x:t.x,y:t.y,zoom:t.k}),rM=({x:t,y:e,zoom:n})=>eq.translate(t,e).scale(n),rE=(t,e)=>t.target.closest(`.${e}`),rk=(t,e)=>2===e&&Array.isArray(t)&&t.includes(2),r$=(t,e=0,n=()=>{})=>{let r="number"==typeof e&&e>0;return r||n(),r?t.transition().duration(e).on("end",n):t},rA=t=>{let e=t.ctrlKey&&nz()?10:1;return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*e};function rz({domNode:t,minZoom:e,maxZoom:n,paneClickDistance:r,translateExtent:i,viewport:o,onPanZoom:u,onPanZoomStart:a,onPanZoomEnd:s,onDraggingChange:l}){let c={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},h=t.getBoundingClientRect(),d=e0().clickDistance(!nb(r)||r<0?0:r).scaleExtent([e,n]).translateExtent(i),p=tl(t).call(d);x({x:o.x,y:o.y,zoom:nl(o.zoom,e,n)},[[0,0],[h.width,h.height]],i);let y=p.on("wheel.zoom"),g=p.on("dblclick.zoom");function m(t,e){return p?new Promise(n=>{d?.transform(r$(p,e?.duration,()=>n(!0)),t)}):Promise.resolve(!1)}function v(){d.on("zoom",null)}async function x(t,e,n){let r=rM(t),i=d?.constrain()(r,e,n);return i&&await m(i),new Promise(t=>t(i))}return d.wheelDelta(rA),{update:function({noWheelClassName:t,noPanClassName:e,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:o,panOnScrollMode:h,panOnScrollSpeed:m,preventScrolling:x,zoomOnPinch:w,zoomOnScroll:_,zoomOnDoubleClick:b,zoomActivationKeyPressed:M,lib:E,onTransformChange:k}){r&&!c.isZoomingOrPanning&&v();let $=!i||M||r?function({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:n}){return function(r,i){if(!e&&"wheel"===r.type&&!r.ctrlKey||rE(r,t))return null;r.preventDefault(),n.call(this,r,i)}}({noWheelClassName:t,preventScrolling:x,d3ZoomHandler:y}):function({zoomPanValues:t,noWheelClassName:e,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:o,zoomOnPinch:u,onPanZoomStart:a,onPanZoom:s,onPanZoomEnd:l}){return c=>{if(rE(c,e))return!1;c.preventDefault(),c.stopImmediatePropagation();let h=n.property("__zoom").k||1;if(c.ctrlKey&&u){let t=tc(c),e=rA(c);r.scaleTo(n,h*Math.pow(2,e),t,c);return}let d=1===c.deltaMode?20:1,p=i===f.Vertical?0:c.deltaX*d,y=i===f.Horizontal?0:c.deltaY*d;!nz()&&c.shiftKey&&i!==f.Vertical&&(p=c.deltaY*d,y=0),r.translateBy(n,-(p/h)*o,-(y/h)*o,{internal:!0});let g=rb(n.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling||(t.isPanScrolling=!0,a?.(c,g)),t.isPanScrolling&&(s?.(c,g),t.panScrollTimeout=setTimeout(()=>{l?.(c,g),t.isPanScrolling=!1},150))}}({zoomPanValues:c,noWheelClassName:t,d3Selection:p,d3Zoom:d,panOnScrollMode:h,panOnScrollSpeed:m,zoomOnPinch:w,onPanZoomStart:a,onPanZoom:u,onPanZoomEnd:s});if(p.on("wheel.zoom",$,{passive:!1}),!r){let t=function({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=rb(r.transform);t.mouseButton=r.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=i,r.sourceEvent?.type==="mousedown"&&e(!0),n&&n?.(r.sourceEvent,i)}}({zoomPanValues:c,onDraggingChange:l,onPanZoomStart:a});d.on("start",t);let e=function({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return o=>{t.usedRightMouseButton=!!(n&&rk(e,t.mouseButton??0)),o.sourceEvent?.sync||r([o.transform.x,o.transform.y,o.transform.k]),i&&!o.sourceEvent?.internal&&i?.(o.sourceEvent,rb(o.transform))}}({zoomPanValues:c,panOnDrag:o,onPaneContextMenu:!!n,onPanZoom:u,onTransformChange:k});d.on("zoom",e);let r=function({zoomPanValues:t,panOnDrag:e,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:o}){return u=>{if(!u.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,o&&rk(e,t.mouseButton??0)&&!t.usedRightMouseButton&&u.sourceEvent&&o(u.sourceEvent),t.usedRightMouseButton=!1,r(!1),i&&r_(t.prevViewport,u.transform))){let e=rb(u.transform);t.prevViewport=e,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{i?.(u.sourceEvent,e)},n?150:0)}}}({zoomPanValues:c,panOnDrag:o,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:l});d.on("end",r)}let A=function({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:n,panOnDrag:r,panOnScroll:i,zoomOnDoubleClick:o,userSelectionActive:u,noWheelClassName:a,noPanClassName:s,lib:l}){return c=>{let h=t||e,f=n&&c.ctrlKey;if(1===c.button&&"mousedown"===c.type&&(rE(c,`${l}-flow__node`)||rE(c,`${l}-flow__edge`)))return!0;if(!r&&!h&&!i&&!o&&!n||u||rE(c,a)&&"wheel"===c.type||rE(c,s)&&("wheel"!==c.type||i&&"wheel"===c.type&&!t)||!n&&c.ctrlKey&&"wheel"===c.type)return!1;if(!n&&"touchstart"===c.type&&c.touches?.length>1)return c.preventDefault(),!1;if(!h&&!i&&!f&&"wheel"===c.type||!r&&("mousedown"===c.type||"touchstart"===c.type)||Array.isArray(r)&&!r.includes(c.button)&&"mousedown"===c.type)return!1;let d=Array.isArray(r)&&r.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||"wheel"===c.type)&&d}}({zoomActivationKeyPressed:M,panOnDrag:o,zoomOnScroll:_,panOnScroll:i,zoomOnDoubleClick:b,zoomOnPinch:w,userSelectionActive:r,noPanClassName:e,noWheelClassName:t,lib:E});d.filter(A),b?p.on("dblclick.zoom",g):p.on("dblclick.zoom",null)},destroy:v,setViewport:async function(t,e){let n=rM(t);return await m(n,e),new Promise(t=>t(n))},setViewportConstrained:x,getViewport:function(){let t=p?eD(p.node()):{x:0,y:0,k:1};return{x:t.x,y:t.y,zoom:t.k}},scaleTo:function(t,e){return p?new Promise(n=>{d?.scaleTo(r$(p,e?.duration,()=>n(!0)),t)}):Promise.resolve(!1)},scaleBy:function(t,e){return p?new Promise(n=>{d?.scaleBy(r$(p,e?.duration,()=>n(!0)),t)}):Promise.resolve(!1)},setScaleExtent:function(t){d?.scaleExtent(t)},setTranslateExtent:function(t){d?.translateExtent(t)},syncViewport:function(t){if(p){let e=rM(t),n=p.property("__zoom");(n.k!==t.zoom||n.x!==t.x||n.y!==t.y)&&d?.transform(p,e,null,{sync:!0})}},setClickDistance:function(t){let e=!nb(t)||t<0?0:t;d?.clickDistance(e)}}}function rS(t,e){return Math.max(0,e-t)}function rN(t,e){return Math.max(0,t-e)}function rI(t,e,n){return Math.max(0,e-t,t-n)}(l=m||(m={})).Line="line",l.Handle="handle";let rT={width:0,height:0,x:0,y:0},rP={...rT,pointerX:0,pointerY:0,aspectRatio:1};function rH({domNode:t,nodeId:e,getStoreItems:n,onChange:r,onEnd:i}){let o=tl(t);return{update:function({controlPosition:t,boundaries:u,keepAspectRatio:a,onResizeStart:s,onResize:l,onResizeEnd:c,shouldResize:h}){let f,d,p,y,g={...rT},m={...rP},v=function(t){let e=t.includes("right")||t.includes("left");return{isHorizontal:e,isVertical:t.includes("bottom")||t.includes("top"),affectsX:t.includes("left"),affectsY:t.includes("top")}}(t),x=null,w=[],_=tM().on("start",t=>{let{nodeLookup:r,transform:i,snapGrid:o,snapToGrid:u,nodeOrigin:a,paneDomNode:l}=n();if(!(f=r.get(e)))return;x=l?.getBoundingClientRect()??null;let{xSnapped:c,ySnapped:h}=nH(t.sourceEvent,{transform:i,snapGrid:o,snapToGrid:u,containerBounds:x});if(m={...g={width:f.measured.width??0,height:f.measured.height??0,x:f.position.x??0,y:f.position.y??0},pointerX:c,pointerY:h,aspectRatio:g.width/g.height},d=void 0,f.parentId&&("parent"===f.extent||f.expandParent)){var v;p=(d=r.get(f.parentId))&&"parent"===f.extent?[[0,0],[(v=d).measured.width,v.measured.height]]:void 0}for(let[t,n]of(w=[],y=void 0,r))if(n.parentId===e&&(w.push({id:t,position:{...n.position},extent:n.extent}),"parent"===n.extent||n.expandParent)){let t=function(t,e,n){let r=e.position.x+t.position.x,i=e.position.y+t.position.y,o=t.measured.width??0,u=t.measured.height??0,a=n[0]*o,s=n[1]*u;return[[r-a,i-s],[r+o-a,i+u-s]]}(n,f,n.origin??a);y=y?[[Math.min(t[0][0],y[0][0]),Math.min(t[0][1],y[0][1])],[Math.max(t[1][0],y[1][0]),Math.max(t[1][1],y[1][1])]]:t}s?.(t,{...g})}).on("drag",t=>{let{transform:e,snapGrid:i,snapToGrid:o,nodeOrigin:s}=n(),c=nH(t.sourceEvent,{transform:e,snapGrid:i,snapToGrid:o,containerBounds:x}),_=[];if(!f)return;let{x:b,y:M,width:E,height:k}=g,$={},A=f.origin??s,{width:z,height:S,x:N,y:I}=function(t,e,n,r,i,o,u,a){let{affectsX:s,affectsY:l}=e,{isHorizontal:c,isVertical:h}=e,f=c&&h,{xSnapped:d,ySnapped:p}=n,{minWidth:y,maxWidth:g,minHeight:m,maxHeight:v}=r,{x:x,y:w,width:_,height:b,aspectRatio:M}=t,E=Math.floor(c?d-t.pointerX:0),k=Math.floor(h?p-t.pointerY:0),$=_+(s?-E:E),A=b+(l?-k:k),z=-o[0]*_,S=-o[1]*b,N=rI($,y,g),I=rI(A,m,v);if(u){let t=0,e=0;s&&E<0?t=rS(x+E+z,u[0][0]):!s&&E>0&&(t=rN(x+$+z,u[1][0])),l&&k<0?e=rS(w+k+S,u[0][1]):!l&&k>0&&(e=rN(w+A+S,u[1][1])),N=Math.max(N,t),I=Math.max(I,e)}if(a){let t=0,e=0;s&&E>0?t=rN(x+E,a[0][0]):!s&&E<0&&(t=rS(x+$,a[1][0])),l&&k>0?e=rN(w+k,a[0][1]):!l&&k<0&&(e=rS(w+A,a[1][1])),N=Math.max(N,t),I=Math.max(I,e)}if(i&&(c&&(N=Math.max(N,rI($/M,m,v)*M),u&&(N=Math.max(N,(s||l)&&(!s||l||!f)?rS(w+S+(s?E:-E)/M,u[0][1])*M:rN(w+S+$/M,u[1][1])*M)),a&&(N=Math.max(N,(s||l)&&(!s||l||!f)?rN(w+(s?E:-E)/M,a[0][1])*M:rS(w+$/M,a[1][1])*M))),h&&(I=Math.max(I,rI(A*M,y,g)/M),u&&(I=Math.max(I,(s||l)&&(!l||s||!f)?rS(x+(l?k:-k)*M+z,u[0][0])/M:rN(x+A*M+z,u[1][0])/M)),a&&(I=Math.max(I,(s||l)&&(!l||s||!f)?rN(x+(l?k:-k)*M,a[0][0])/M:rS(x+A*M,a[1][0])/M)))),k+=k<0?I:-I,E+=E<0?N:-N,i){if(f){var T,P,H,B;$>A*M?k=((T=s,P=l,T?!P:P)?-E:E)/M:E=((H=s,B=l,H?!B:B)?-k:k)*M}else c?(k=E/M,l=s):(E=k*M,s=l)}let O=s?x+E:x,C=l?w+k:w;return{width:_+(s?-E:E),height:b+(l?-k:k),x:o[0]*E*(s?-1:1)+O,y:o[1]*k*(l?-1:1)+C}}(m,v,c,u,a,A,p,y),T=z!==E,P=S!==k,H=N!==b&&T,B=I!==M&&P;if(!H&&!B&&!T&&!P)return;if((H||B||1===A[0]||1===A[1])&&($.x=H?N:g.x,$.y=B?I:g.y,g.x=$.x,g.y=$.y,w.length>0)){let t=N-b,e=I-M;for(let n of w)n.position={x:n.position.x-t+A[0]*(z-E),y:n.position.y-e+A[1]*(S-k)},_.push(n)}if((T||P)&&($.width=T?z:g.width,$.height=P?S:g.height,g.width=$.width,g.height=$.height),d&&f.expandParent){let t=A[0]*($.width??0);$.x&&$.x<t&&(g.x=t,m.x=m.x-($.x-t));let e=A[1]*($.height??0);$.y&&$.y<e&&(g.y=e,m.y=m.y-($.y-e))}let O=function({width:t,prevWidth:e,height:n,prevHeight:r,affectsX:i,affectsY:o}){let u=t-e,a=n-r,s=[u>0?1:u<0?-1:0,a>0?1:a<0?-1:0];return u&&i&&(s[0]=-1*s[0]),a&&o&&(s[1]=-1*s[1]),s}({width:g.width,prevWidth:E,height:g.height,prevHeight:k,affectsX:v.affectsX,affectsY:v.affectsY}),C={...g,direction:O};!1!==h?.(t,C)&&(l?.(t,C),r($,_))}).on("end",t=>{c?.(t,{...g}),i?.()});o.call(_)},destroy:function(){o.on(".drag",null)}}}},52033:function(t,e,n){var r=n(26194),i=n(26789)(r);t.exports=i},98129:function(t,e,n){var r=n(52033);t.exports=function(t,e){var n=[];return r(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}},49819:function(t,e,n){var r=n(18911)();t.exports=r},26194:function(t,e,n){var r=n(49819),i=n(50098);t.exports=function(t,e){return t&&r(t,e,i)}},26789:function(t,e,n){var r=n(80068);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var o=n.length,u=e?o:-1,a=Object(n);(e?u--:++u<o)&&!1!==i(a[u],u,a););return n}}},18911:function(t){t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),u=r(e),a=u.length;a--;){var s=u[t?a:++i];if(!1===n(o[s],s,o))break}return e}}},69238:function(t,e,n){var r=n(10263),i=n(98129),o=n(89278),u=n(19785);t.exports=function(t,e){return(u(t)?r:i)(t,o(e,3))}},90104:function(t,e,n){var r=n(20186),i=n(3533),o=n(2900),u=n(19785),a=n(80068),s=n(43854),l=n(56016),c=n(48519),h=Object.prototype.hasOwnProperty;t.exports=function(t){if(null==t)return!0;if(a(t)&&(u(t)||"string"==typeof t||"function"==typeof t.splice||s(t)||c(t)||o(t)))return!t.length;var e=i(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(l(t))return!r(t).length;for(var n in t)if(h.call(t,n))return!1;return!0}},31159:function(t){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},51901:function(){},33834:function(t,e,n){"use strict";var r=n(27378),i="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},o=r.useState,u=r.useEffect,a=r.useLayoutEffect,s=r.useDebugValue;function l(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!i(t,n)}catch(t){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(t,e){return e()}:function(t,e){var n=e(),r=o({inst:{value:n,getSnapshot:e}}),i=r[0].inst,c=r[1];return a(function(){i.value=n,i.getSnapshot=e,l(i)&&c({inst:i})},[t,n,e]),u(function(){return l(i)&&c({inst:i}),t(function(){l(i)&&c({inst:i})})},[t]),s(n),n};e.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},92959:function(t,e,n){"use strict";var r=n(27378),i=n(70644),o="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},u=i.useSyncExternalStore,a=r.useRef,s=r.useEffect,l=r.useMemo,c=r.useDebugValue;e.useSyncExternalStoreWithSelector=function(t,e,n,r,i){var h=a(null);if(null===h.current){var f={hasValue:!1,value:null};h.current=f}else f=h.current;var d=u(t,(h=l(function(){function t(t){if(!s){if(s=!0,u=t,t=r(t),void 0!==i&&f.hasValue){var e=f.value;if(i(e,t))return a=e}return a=t}if(e=a,o(u,t))return e;var n=r(t);return void 0!==i&&i(e,n)?(u=t,e):(u=t,a=n)}var u,a,s=!1,l=void 0===n?null:n;return[function(){return t(e())},null===l?void 0:function(){return t(l())}]},[e,n,r,i]))[0],h[1]);return s(function(){f.hasValue=!0,f.value=d},[d]),c(d),d}},70644:function(t,e,n){"use strict";t.exports=n(33834)},60626:function(t,e,n){"use strict";t.exports=n(92959)},7008:function(t,e,n){"use strict";n.d(e,{Z:function(){return function t(e){if("string"==typeof e||"number"==typeof e)return""+e;let n="";if(Array.isArray(e))for(let r=0,i;r<e.length;r++)""!==(i=t(e[r]))&&(n+=(n&&" ")+i);else for(let t in e)e[t]&&(n+=(n&&" ")+t);return n}}})},4157:function(t,e,n){"use strict";function r(t,e){if(Object.is(t,e))return!0;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[n,r]of t)if(!Object.is(r,e.get(n)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}let n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(e,r)||!Object.is(t[r],e[r]))return!1;return!0}n.d(e,{X:function(){return r}})},22353:function(t,e,n){"use strict";n.d(e,{F:function(){return f},s:function(){return c}});var r=n(27378),i=n(60626);let o=t=>{let e;let n=new Set,r=(t,r)=>{let i="function"==typeof t?t(e):t;if(!Object.is(i,e)){let t=e;e=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({},e,i),n.forEach(n=>n(e,t))}},i=()=>e,o={setState:r,getState:i,getInitialState:()=>u,subscribe:t=>(n.add(t),()=>n.delete(t)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=e=t(r,i,o);return o},u=t=>t?o(t):o,{useDebugValue:a}=r,{useSyncExternalStoreWithSelector:s}=i,l=t=>t;function c(t,e=l,n){let r=s(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return a(r),r}let h=(t,e)=>{let n=u(t),r=(t,r=e)=>c(n,t,r);return Object.assign(r,n),r},f=(t,e)=>t?h(t,e):h}}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1533],{8335:function(t,e,n){"use strict";n.d(e,{t8:function(){return p},jD:function(){return h},QZ:function(){return y},IY:function(){return f},Ly:function(){return g},pB:function(){return m},oW:function(){return d},oC:function(){return rp},Ql:function(){return rx},FD:function(){return rw},X6:function(){return rz},Cz:function(){return rH},Z_:function(){return nU},yF:function(){return ri},OL:function(){return nP},q7:function(){return na},n3:function(){return n9},Ki:function(){return nM},wQ:function(){return e5},Qj:function(){return e1},ZB:function(){return nT},Qu:function(){return nu},lM:function(){return nV},OQ:function(){return nD},oI:function(){return nx},Zp:function(){return e7},t_:function(){return nB},JU:function(){return n3},WD:function(){return ns},xx:function(){return nW},wv:function(){return nR},J6:function(){return no},S2:function(){return nO},W0:function(){return nn},dW:function(){return n8},Rf:function(){return nN},RX:function(){return ne},f5:function(){return nr},lp:function(){return nw},OW:function(){return n2},Hm:function(){return nG},$i:function(){return nA},so:function(){return ra},k5:function(){return e2},Ky:function(){return e3},J3:function(){return e4},RY:function(){return nK},s$:function(){return nL},Q5:function(){return nz},N5:function(){return nX},Vt:function(){return e8},kE:function(){return nb},J$:function(){return n_},nb:function(){return nI},PS:function(){return nm},hO:function(){return rl},m:function(){return nk},oj:function(){return n$},_2:function(){return nE},VV:function(){return rr},be:function(){return rh},B1:function(){return rs}});var r,i,o,u,a,s,l,c,h,f,d,p,y,g,m,v={value:()=>{}};function x(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw Error("illegal type: "+t);r[t]=[]}return new w(r)}function w(t){this._=t}function _(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=v,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}function b(){}function M(t){return null==t?b:function(){return this.querySelector(t)}}function E(){return[]}function k(t){return null==t?E:function(){return this.querySelectorAll(t)}}function $(t){return function(){return this.matches(t)}}function A(t){return function(e){return e.matches(t)}}w.prototype=x.prototype={constructor:w,on:function(t,e){var n,r=this._,i=(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:e}}),o=-1,u=i.length;if(arguments.length<2){for(;++o<u;)if((n=(t=i[o]).type)&&(n=function(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}(r[n],t.name)))return n;return}if(null!=e&&"function"!=typeof e)throw Error("invalid callback: "+e);for(;++o<u;)if(n=(t=i[o]).type)r[n]=_(r[n],t.name,e);else if(null==e)for(n in r)r[n]=_(r[n],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new w(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(r=this._[t],o=0,n=r.length;o<n;++o)r[o].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};var z=Array.prototype.find;function S(){return this.firstElementChild}var N=Array.prototype.filter;function I(){return Array.from(this.children)}function T(t){return Array(t.length)}function P(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function H(t,e,n,r,i,o){for(var u,a=0,s=e.length,l=o.length;a<l;++a)(u=e[a])?(u.__data__=o[a],r[a]=u):n[a]=new P(t,o[a]);for(;a<s;++a)(u=e[a])&&(i[a]=u)}function B(t,e,n,r,i,o,u){var a,s,l,c=new Map,h=e.length,f=o.length,d=Array(h);for(a=0;a<h;++a)(s=e[a])&&(d[a]=l=u.call(s,s.__data__,a,e)+"",c.has(l)?i[a]=s:c.set(l,s));for(a=0;a<f;++a)l=u.call(t,o[a],a,o)+"",(s=c.get(l))?(r[a]=s,s.__data__=o[a],c.delete(l)):n[a]=new P(t,o[a]);for(a=0;a<h;++a)(s=e[a])&&c.get(d[a])===s&&(i[a]=s)}function O(t){return t.__data__}function C(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}P.prototype={constructor:P,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var L="http://www.w3.org/1999/xhtml",X={svg:"http://www.w3.org/2000/svg",xhtml:L,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function R(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),X.hasOwnProperty(e)?{space:X[e],local:t}:t}function Y(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function V(t,e){return t.style.getPropertyValue(e)||Y(t).getComputedStyle(t,null).getPropertyValue(e)}function j(t){return t.trim().split(/^|\s+/)}function q(t){return t.classList||new D(t)}function D(t){this._node=t,this._names=j(t.getAttribute("class")||"")}function F(t,e){for(var n=q(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function W(t,e){for(var n=q(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function K(){this.textContent=""}function Z(){this.innerHTML=""}function Q(){this.nextSibling&&this.parentNode.appendChild(this)}function U(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function G(t){var e=R(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===L&&e.documentElement.namespaceURI===L?e.createElement(t):e.createElementNS(n,t)}})(e)}function J(){return null}function tt(){var t=this.parentNode;t&&t.removeChild(this)}function te(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function tn(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function tr(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r<o;++r)(n=e[r],t.type&&n.type!==t.type||n.name!==t.name)?e[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?e.length=i:delete this.__on}}}function ti(t,e,n){return function(){var r,i=this.__on,o=function(t){e.call(this,t,this.__data__)};if(i){for(var u=0,a=i.length;u<a;++u)if((r=i[u]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),r.value=e;return}}this.addEventListener(t.type,o,n),r={type:t.type,name:t.name,value:e,listener:o,options:n},i?i.push(r):this.__on=[r]}}function to(t,e,n){var r=Y(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}D.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var tu=[null];function ta(t,e){this._groups=t,this._parents=e}function ts(){return new ta([[document.documentElement]],tu)}function tl(t){return"string"==typeof t?new ta([[document.querySelector(t)]],[document.documentElement]):new ta([[t]],tu)}function tc(t,e){if(t=function(t){let e;for(;e=t.sourceEvent;)t=e;return t}(t),void 0===e&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(e.getScreenCTM().inverse())).x,r.y]}if(e.getBoundingClientRect){var i=e.getBoundingClientRect();return[t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop]}}return[t.pageX,t.pageY]}ta.prototype=ts.prototype={constructor:ta,select:function(t){"function"!=typeof t&&(t=M(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,u,a=e[i],s=a.length,l=r[i]=Array(s),c=0;c<s;++c)(o=a[c])&&(u=t.call(o,o.__data__,c,a))&&("__data__"in o&&(u.__data__=o.__data__),l[c]=u);return new ta(r,this._parents)},selectAll:function(t){if("function"==typeof t){var e;e=t,t=function(){var t;return t=e.apply(this,arguments),null==t?[]:Array.isArray(t)?t:Array.from(t)}}else t=k(t);for(var n=this._groups,r=n.length,i=[],o=[],u=0;u<r;++u)for(var a,s=n[u],l=s.length,c=0;c<l;++c)(a=s[c])&&(i.push(t.call(a,a.__data__,c,s)),o.push(a));return new ta(i,o)},selectChild:function(t){var e;return this.select(null==t?S:(e="function"==typeof t?t:A(t),function(){return z.call(this.children,e)}))},selectChildren:function(t){var e;return this.selectAll(null==t?I:(e="function"==typeof t?t:A(t),function(){return N.call(this.children,e)}))},filter:function(t){"function"!=typeof t&&(t=$(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,u=e[i],a=u.length,s=r[i]=[],l=0;l<a;++l)(o=u[l])&&t.call(o,o.__data__,l,u)&&s.push(o);return new ta(r,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,O);var n=e?B:H,r=this._parents,i=this._groups;"function"!=typeof t&&(v=t,t=function(){return v});for(var o=i.length,u=Array(o),a=Array(o),s=Array(o),l=0;l<o;++l){var c=r[l],h=i[l],f=h.length,d="object"==typeof(m=t.call(c,c&&c.__data__,l,r))&&"length"in m?m:Array.from(m),p=d.length,y=a[l]=Array(p),g=u[l]=Array(p);n(c,h,y,g,s[l]=Array(f),d,e);for(var m,v,x,w,_=0,b=0;_<p;++_)if(x=y[_]){for(_>=b&&(b=_+1);!(w=g[b])&&++b<p;);x._next=w||null}}return(u=new ta(u,r))._enter=a,u._exit=s,u},enter:function(){return new ta(this._enter||this._groups.map(T),this._parents)},exit:function(){return new ta(this._exit||this._groups.map(T),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=e&&(i=e(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,u=Math.min(i,o),a=Array(i),s=0;s<u;++s)for(var l,c=n[s],h=r[s],f=c.length,d=a[s]=Array(f),p=0;p<f;++p)(l=c[p]||h[p])&&(d[p]=l);for(;s<i;++s)a[s]=n[s];return new ta(a,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&4^r.compareDocumentPosition(u)&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=C);for(var n=this._groups,r=n.length,i=Array(r),o=0;o<r;++o){for(var u,a=n[o],s=a.length,l=i[o]=Array(s),c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(e)}return new ta(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null},size:function(){let t=0;for(let e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,o=e[n],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,e){var n=R(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof e?n.local?function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}:function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}:n.local?function(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}:function(t,e){return function(){this.setAttribute(t,e)}})(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):V(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=j(t+"");if(arguments.length<2){for(var r=q(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?function(t,e){return function(){(e.apply(this,arguments)?F:W)(this,t)}}:e?function(t){return function(){F(this,t)}}:function(t){return function(){W(this,t)}})(n,e))},text:function(t){return arguments.length?this.each(null==t?K:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?Z:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(Q)},lower:function(){return this.each(U)},append:function(t){var e="function"==typeof t?t:G(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})},insert:function(t,e){var n="function"==typeof t?t:G(t),r=null==e?J:"function"==typeof e?e:M(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(tt)},clone:function(t){return this.select(t?tn:te)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,o=(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}),u=o.length;if(arguments.length<2){var a=this.node().__on;if(a){for(var s,l=0,c=a.length;l<c;++l)for(r=0,s=a[l];r<u;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value}return}for(r=0,a=e?ti:tr;r<u;++r)this.each(a(o[r],e,n));return this},dispatch:function(t,e){return this.each(("function"==typeof e?function(t,e){return function(){return to(this,t,e.apply(this,arguments))}}:function(t,e){return function(){return to(this,t,e)}})(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,i=t[e],o=0,u=i.length;o<u;++o)(r=i[o])&&(yield r)}};let th={passive:!1},tf={capture:!0,passive:!1};function td(t){t.stopImmediatePropagation()}function tp(t){t.preventDefault(),t.stopImmediatePropagation()}function ty(t){var e=t.document.documentElement,n=tl(t).on("dragstart.drag",tp,tf);"onselectstart"in e?n.on("selectstart.drag",tp,tf):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function tg(t,e){var n=t.document.documentElement,r=tl(t).on("dragstart.drag",null);e&&(r.on("click.drag",tp,tf),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var tm=t=>()=>t;function tv(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:o,x:u,y:a,dx:s,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}function tx(t){return!t.ctrlKey&&!t.button}function tw(){return this.parentNode}function t_(t,e){return null==e?{x:t.x,y:t.y}:e}function tb(){return navigator.maxTouchPoints||"ontouchstart"in this}function tM(){var t,e,n,r,i=tx,o=tw,u=t_,a=tb,s={},l=x("start","drag","end"),c=0,h=0;function f(t){t.on("mousedown.drag",d).filter(a).on("touchstart.drag",g).on("touchmove.drag",m,th).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(u,a){if(!r&&i.call(this,u,a)){var s=w(this,o.call(this,u,a),u,a,"mouse");s&&(tl(u.view).on("mousemove.drag",p,tf).on("mouseup.drag",y,tf),ty(u.view),td(u),n=!1,t=u.clientX,e=u.clientY,s("start",u))}}function p(r){if(tp(r),!n){var i=r.clientX-t,o=r.clientY-e;n=i*i+o*o>h}s.mouse("drag",r)}function y(t){tl(t.view).on("mousemove.drag mouseup.drag",null),tg(t.view,n),tp(t),s.mouse("end",t)}function g(t,e){if(i.call(this,t,e)){var n,r,u=t.changedTouches,a=o.call(this,t,e),s=u.length;for(n=0;n<s;++n)(r=w(this,a,t,e,u[n].identifier,u[n]))&&(td(t),r("start",t,u[n]))}}function m(t){var e,n,r=t.changedTouches,i=r.length;for(e=0;e<i;++e)(n=s[r[e].identifier])&&(tp(t),n("drag",t,r[e]))}function v(t){var e,n,i=t.changedTouches,o=i.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),e=0;e<o;++e)(n=s[i[e].identifier])&&(td(t),n("end",t,i[e]))}function w(t,e,n,r,i,o){var a,h,d,p=l.copy(),y=tc(o||n,e);if(null!=(d=u.call(t,new tv("beforestart",{sourceEvent:n,target:f,identifier:i,active:c,x:y[0],y:y[1],dx:0,dy:0,dispatch:p}),r)))return a=d.x-y[0]||0,h=d.y-y[1]||0,function n(o,u,l){var g,m=y;switch(o){case"start":s[i]=n,g=c++;break;case"end":delete s[i],--c;case"drag":y=tc(l||u,e),g=c}p.call(o,t,new tv(o,{sourceEvent:u,subject:d,target:f,identifier:i,active:g,x:y[0]+a,y:y[1]+h,dx:y[0]-m[0],dy:y[1]-m[1],dispatch:p}),r)}}return f.filter=function(t){return arguments.length?(i="function"==typeof t?t:tm(!!t),f):i},f.container=function(t){return arguments.length?(o="function"==typeof t?t:tm(t),f):o},f.subject=function(t){return arguments.length?(u="function"==typeof t?t:tm(t),f):u},f.touchable=function(t){return arguments.length?(a="function"==typeof t?t:tm(!!t),f):a},f.on=function(){var t=l.on.apply(l,arguments);return t===l?f:t},f.clickDistance=function(t){return arguments.length?(h=(t=+t)*t,f):Math.sqrt(h)},f}function tE(t){return((t=Math.exp(t))+1/t)/2}tv.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var tk,t$,tA=function t(e,n,r){function i(t,i){var o,u,a=t[0],s=t[1],l=t[2],c=i[0],h=i[1],f=i[2],d=c-a,p=h-s,y=d*d+p*p;if(y<1e-12)u=Math.log(f/l)/e,o=function(t){return[a+t*d,s+t*p,l*Math.exp(e*t*u)]};else{var g=Math.sqrt(y),m=(f*f-l*l+r*y)/(2*l*n*g),v=(f*f-l*l-r*y)/(2*f*n*g),x=Math.log(Math.sqrt(m*m+1)-m);u=(Math.log(Math.sqrt(v*v+1)-v)-x)/e,o=function(t){var r,i,o=t*u,c=tE(x),h=l/(n*g)*(((r=Math.exp(2*(r=e*o+x)))-1)/(r+1)*c-((i=Math.exp(i=x))-1/i)/2);return[a+h*d,s+h*p,l*c/tE(e*o+x)]}}return o.duration=1e3*u*e/Math.SQRT2,o}return i.rho=function(e){var n=Math.max(.001,+e),r=n*n;return t(n,r,r*r)},i}(Math.SQRT2,2,4),tz=0,tS=0,tN=0,tI=0,tT=0,tP=0,tH="object"==typeof performance&&performance.now?performance:Date,tB="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tO(){return tT||(tB(tC),tT=tH.now()+tP)}function tC(){tT=0}function tL(){this._call=this._time=this._next=null}function tX(t,e,n){var r=new tL;return r.restart(t,e,n),r}function tR(){tT=(tI=tH.now())+tP,tz=tS=0;try{!function(){tO(),++tz;for(var t,e=tk;e;)(t=tT-e._time)>=0&&e._call.call(void 0,t),e=e._next;--tz}()}finally{tz=0,function(){for(var t,e,n=tk,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:tk=e);t$=t,tV(r)}(),tT=0}}function tY(){var t=tH.now(),e=t-tI;e>1e3&&(tP-=e,tI=t)}function tV(t){!tz&&(tS&&(tS=clearTimeout(tS)),t-tT>24?(t<1/0&&(tS=setTimeout(tR,t-tH.now()-tP)),tN&&(tN=clearInterval(tN))):(tN||(tI=tH.now(),tN=setInterval(tY,1e3)),tz=1,tB(tR)))}function tj(t,e,n){var r=new tL;return e=null==e?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,n),r}tL.prototype=tX.prototype={constructor:tL,restart:function(t,e,n){if("function"!=typeof t)throw TypeError("callback is not a function");n=(null==n?tO():+n)+(null==e?0:+e),this._next||t$===this||(t$?t$._next=this:tk=this,t$=this),this._call=t,this._time=n,tV()},stop:function(){this._call&&(this._call=null,this._time=1/0,tV())}};var tq=x("start","end","cancel","interrupt"),tD=[];function tF(t,e,n,r,i,o){var u=t.__transition;if(u){if(n in u)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function o(s){var l,c,h,f;if(1!==n.state)return a();for(l in i)if((f=i[l]).name===n.name){if(3===f.state)return tj(o);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[l]):+l<e&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[l])}if(tj(function(){3===n.state&&(n.state=4,n.timer.restart(u,n.delay,n.time),u(s))}),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(l=0,n.state=3,r=Array(h=n.tween.length),c=-1;l<h;++l)(f=n.tween[l].value.call(t,t.__data__,n.index,n.group))&&(r[++c]=f);r.length=c+1}}function u(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(a),n.state=5,1),o=-1,u=r.length;++o<u;)r[o].call(t,i);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),a())}function a(){for(var r in n.state=6,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=tX(function(t){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=t&&o(t-n.delay)},0,n.time)}(t,n,{name:e,index:r,group:i,on:tq,tween:tD,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function tW(t,e){var n=tZ(t,e);if(n.state>0)throw Error("too late; already scheduled");return n}function tK(t,e){var n=tZ(t,e);if(n.state>3)throw Error("too late; already running");return n}function tZ(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw Error("transition not found");return n}function tQ(t,e){var n,r,i,o=t.__transition,u=!0;if(o){for(i in e=null==e?null:e+"",o){if((n=o[i]).name!==e){u=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete o[i]}u&&delete t.__transition}}function tU(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var tG=180/Math.PI,tJ={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function t0(t,e,n,r,i,o){var u,a,s;return(u=Math.sqrt(t*t+e*e))&&(t/=u,e/=u),(s=t*n+e*r)&&(n-=t*s,r-=e*s),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,s/=a),t*r<e*n&&(t=-t,e=-e,s=-s,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*tG,skewX:Math.atan(s)*tG,scaleX:u,scaleY:a}}function t1(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(o,u){var a,s,l,c,h=[],f=[];return o=t(o),u=t(u),!function(t,r,i,o,u,a){if(t!==i||r!==o){var s=u.push("translate(",null,e,null,n);a.push({i:s-4,x:tU(t,i)},{i:s-2,x:tU(r,o)})}else(i||o)&&u.push("translate("+i+e+o+n)}(o.translateX,o.translateY,u.translateX,u.translateY,h,f),(a=o.rotate)!==(s=u.rotate)?(a-s>180?s+=360:s-a>180&&(a+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:tU(a,s)})):s&&h.push(i(h)+"rotate("+s+r),(l=o.skewX)!==(c=u.skewX)?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:tU(l,c)}):c&&h.push(i(h)+"skewX("+c+r),!function(t,e,n,r,o,u){if(t!==n||e!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:tU(t,n)},{i:a-2,x:tU(e,r)})}else(1!==n||1!==r)&&o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,u.scaleX,u.scaleY,h,f),o=u=null,function(t){for(var e,n=-1,r=f.length;++n<r;)h[(e=f[n]).i]=e.x(t);return h.join("")}}}var t2=t1(function(t){let e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?tJ:t0(e.a,e.b,e.c,e.d,e.e,e.f)},"px, ","px)","deg)"),t5=t1(function(t){return null==t?tJ:(c||(c=document.createElementNS("http://www.w3.org/2000/svg","g")),c.setAttribute("transform",t),t=c.transform.baseVal.consolidate())?t0((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):tJ},", ",")",")");function t3(t,e,n){var r=t._id;return t.each(function(){var t=tK(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)}),function(t){return tZ(t,r).value[e]}}function t6(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function t7(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function t4(){}var t8="\\s*([+-]?\\d+)\\s*",t9="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",et="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ee=/^#([0-9a-f]{3,8})$/,en=RegExp(`^rgb\\(${t8},${t8},${t8}\\)$`),er=RegExp(`^rgb\\(${et},${et},${et}\\)$`),ei=RegExp(`^rgba\\(${t8},${t8},${t8},${t9}\\)$`),eo=RegExp(`^rgba\\(${et},${et},${et},${t9}\\)$`),eu=RegExp(`^hsl\\(${t9},${et},${et}\\)$`),ea=RegExp(`^hsla\\(${t9},${et},${et},${t9}\\)$`),es={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function el(){return this.rgb().formatHex()}function ec(){return this.rgb().formatRgb()}function eh(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=ee.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?ef(e):3===n?new ey(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?ed(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?ed(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=en.exec(t))?new ey(e[1],e[2],e[3],1):(e=er.exec(t))?new ey(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ei.exec(t))?ed(e[1],e[2],e[3],e[4]):(e=eo.exec(t))?ed(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=eu.exec(t))?e_(e[1],e[2]/100,e[3]/100,1):(e=ea.exec(t))?e_(e[1],e[2]/100,e[3]/100,e[4]):es.hasOwnProperty(t)?ef(es[t]):"transparent"===t?new ey(NaN,NaN,NaN,0):null}function ef(t){return new ey(t>>16&255,t>>8&255,255&t,1)}function ed(t,e,n,r){return r<=0&&(t=e=n=NaN),new ey(t,e,n,r)}function ep(t,e,n,r){var i;return 1==arguments.length?((i=t)instanceof t4||(i=eh(i)),i)?new ey((i=i.rgb()).r,i.g,i.b,i.opacity):new ey:new ey(t,e,n,null==r?1:r)}function ey(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function eg(){return`#${ew(this.r)}${ew(this.g)}${ew(this.b)}`}function em(){let t=ev(this.opacity);return`${1===t?"rgb(":"rgba("}${ex(this.r)}, ${ex(this.g)}, ${ex(this.b)}${1===t?")":`, ${t})`}`}function ev(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ex(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ew(t){return((t=ex(t))<16?"0":"")+t.toString(16)}function e_(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new eM(t,e,n,r)}function eb(t){if(t instanceof eM)return new eM(t.h,t.s,t.l,t.opacity);if(t instanceof t4||(t=eh(t)),!t)return new eM;if(t instanceof eM)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),u=NaN,a=o-i,s=(o+i)/2;return a?(u=e===o?(n-r)/a+(n<r)*6:n===o?(r-e)/a+2:(e-n)/a+4,a/=s<.5?o+i:2-o-i,u*=60):a=s>0&&s<1?0:u,new eM(u,a,s,t.opacity)}function eM(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function eE(t){return(t=(t||0)%360)<0?t+360:t}function ek(t){return Math.max(0,Math.min(1,t||0))}function e$(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function eA(t,e,n,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*e+(4-6*o+3*u)*n+(1+3*t+3*o-3*u)*r+u*i)/6}t6(t4,eh,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:el,formatHex:el,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return eb(this).formatHsl()},formatRgb:ec,toString:ec}),t6(ey,ep,t7(t4,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new ey(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new ey(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ey(ex(this.r),ex(this.g),ex(this.b),ev(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:eg,formatHex:eg,formatHex8:function(){return`#${ew(this.r)}${ew(this.g)}${ew(this.b)}${ew((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:em,toString:em})),t6(eM,function(t,e,n,r){return 1==arguments.length?eb(t):new eM(t,e,n,null==r?1:r)},t7(t4,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new eM(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new eM(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new ey(e$(t>=240?t-240:t+120,i,r),e$(t,i,r),e$(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new eM(eE(this.h),ek(this.s),ek(this.l),ev(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=ev(this.opacity);return`${1===t?"hsl(":"hsla("}${eE(this.h)}, ${100*ek(this.s)}%, ${100*ek(this.l)}%${1===t?")":`, ${t})`}`}}));var ez=t=>()=>t;function eS(t,e){var n=e-t;return n?function(e){return t+e*n}:ez(isNaN(t)?e:t)}var eN=function t(e){var n,r=1==(n=+(n=e))?eS:function(t,e){var r,i,o;return e-t?(r=t,i=e,r=Math.pow(r,o=n),i=Math.pow(i,o)-r,o=1/o,function(t){return Math.pow(r+t*i,o)}):ez(isNaN(t)?e:t)};function i(t,e){var n=r((t=ep(t)).r,(e=ep(e)).r),i=r(t.g,e.g),o=r(t.b,e.b),u=eS(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=o(e),t.opacity=u(e),t+""}}return i.gamma=t,i}(1);function eI(t){return function(e){var n,r,i=e.length,o=Array(i),u=Array(i),a=Array(i);for(n=0;n<i;++n)r=ep(e[n]),o[n]=r.r||0,u[n]=r.g||0,a[n]=r.b||0;return o=t(o),u=t(u),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=u(t),r.b=a(t),r+""}}}eI(function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],u=r>0?t[r-1]:2*i-o,a=r<e-1?t[r+2]:2*o-i;return eA((n-r/e)*e,u,i,o,a)}}),eI(function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],u=t[(r+1)%e],a=t[(r+2)%e];return eA((n-r/e)*e,i,o,u,a)}});var eT=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,eP=RegExp(eT.source,"g");function eH(t,e){var n;return("number"==typeof e?tU:e instanceof eh?eN:(n=eh(e))?(e=n,eN):function(t,e){var n,r,i,o,u,a=eT.lastIndex=eP.lastIndex=0,s=-1,l=[],c=[];for(t+="",e+="";(i=eT.exec(t))&&(o=eP.exec(e));)(u=o.index)>a&&(u=e.slice(a,u),l[s]?l[s]+=u:l[++s]=u),(i=i[0])===(o=o[0])?l[s]?l[s]+=o:l[++s]=o:(l[++s]=null,c.push({i:s,x:tU(i,o)})),a=eP.lastIndex;return a<e.length&&(u=e.slice(a),l[s]?l[s]+=u:l[++s]=u),l.length<2?c[0]?(n=c[0].x,function(t){return n(t)+""}):(r=e,function(){return r}):(e=c.length,function(t){for(var n,r=0;r<e;++r)l[(n=c[r]).i]=n.x(t);return l.join("")})})(t,e)}var eB=ts.prototype.constructor;function eO(t){return function(){this.style.removeProperty(t)}}var eC=0;function eL(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}var eX=ts.prototype;eL.prototype=(function(t){return ts().transition(t)}).prototype={constructor:eL,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=M(t));for(var r=this._groups,i=r.length,o=Array(i),u=0;u<i;++u)for(var a,s,l=r[u],c=l.length,h=o[u]=Array(c),f=0;f<c;++f)(a=l[f])&&(s=t.call(a,a.__data__,f,l))&&("__data__"in a&&(s.__data__=a.__data__),h[f]=s,tF(h[f],e,n,f,h,tZ(a,n)));return new eL(o,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=k(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var s,l=r[a],c=l.length,h=0;h<c;++h)if(s=l[h]){for(var f,d=t.call(s,s.__data__,h,l),p=tZ(s,n),y=0,g=d.length;y<g;++y)(f=d[y])&&tF(f,e,n,y,d,p);o.push(d),u.push(s)}return new eL(o,u,e,n)},selectChild:eX.selectChild,selectChildren:eX.selectChildren,filter:function(t){"function"!=typeof t&&(t=$(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,u=e[i],a=u.length,s=r[i]=[],l=0;l<a;++l)(o=u[l])&&t.call(o,o.__data__,l,u)&&s.push(o);return new eL(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),u=Array(r),a=0;a<o;++a)for(var s,l=e[a],c=n[a],h=l.length,f=u[a]=Array(h),d=0;d<h;++d)(s=l[d]||c[d])&&(f[d]=s);for(;a<r;++a)u[a]=e[a];return new eL(u,this._parents,this._name,this._id)},selection:function(){return new eB(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=++eC,r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)if(u=a[l]){var c=tZ(u,e);tF(u,t,n,l,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new eL(r,this._parents,t,n)},call:eX.call,nodes:eX.nodes,node:eX.node,size:eX.size,empty:eX.empty,each:eX.each,on:function(t,e){var n,r,i,o=this._id;return arguments.length<2?tZ(this.node(),o).on.on(t):this.each((i=(t+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})?tW:tK,function(){var u=i(this,o),a=u.on;a!==n&&(r=(n=a).copy()).on(t,e),u.on=r}))},attr:function(t,e){var n=R(t),r="transform"===n?t5:eH;return this.attrTween(t,"function"==typeof e?(n.local?function(t,e,n){var r,i,o;return function(){var u,a,s=n(this);return null==s?void this.removeAttributeNS(t.space,t.local):(u=this.getAttributeNS(t.space,t.local))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=e(r=u,s))}}:function(t,e,n){var r,i,o;return function(){var u,a,s=n(this);return null==s?void this.removeAttribute(t):(u=this.getAttribute(t))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=e(r=u,s))}})(n,r,t3(this,"attr."+t,e)):null==e?(n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(n):(n.local?function(t,e,n){var r,i,o=n+"";return function(){var u=this.getAttributeNS(t.space,t.local);return u===o?null:u===r?i:i=e(r=u,n)}}:function(t,e,n){var r,i,o=n+"";return function(){var u=this.getAttribute(t);return u===o?null:u===r?i:i=e(r=u,n)}})(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw Error();var r=R(t);return this.tween(n,(r.local?function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttributeNS(t.space,t.local,i.call(this,e))}),n}return i._value=e,i}:function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttribute(t,i.call(this,e))}),n}return i._value=e,i})(r,e))},style:function(t,e,n){var r,i,o,u,a,s,l,c,h,f,d,p,y,g,m,v,x,w,_,b,M,E="transform"==(t+="")?t2:eH;return null==e?this.styleTween(t,(r=t,function(){var t=V(this,r),e=(this.style.removeProperty(r),V(this,r));return t===e?null:t===i&&e===o?u:u=E(i=t,o=e)})).on("end.style."+t,eO(t)):"function"==typeof e?this.styleTween(t,(a=t,s=t3(this,"style."+t,e),function(){var t=V(this,a),e=s(this),n=e+"";return null==e&&(this.style.removeProperty(a),n=e=V(this,a)),t===n?null:t===l&&n===c?h:(c=n,h=E(l=t,e))})).each((f=this._id,x="end."+(v="style."+(d=t)),function(){var t=tK(this,f),e=t.on,n=null==t.value[v]?m||(m=eO(d)):void 0;(e!==p||g!==n)&&(y=(p=e).copy()).on(x,g=n),t.on=y})):this.styleTween(t,(w=t,M=e+"",function(){var t=V(this,w);return t===M?null:t===_?b:b=E(_=t,e)}),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw Error();return this.tween(r,function(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e){this.style.setProperty(t,o.call(this,e),n)}),r}return o._value=e,o}(t,e,null==n?"":n))},text:function(t){var e,n;return this.tween("text","function"==typeof t?(e=t3(this,"text",t),function(){var t=e(this);this.textContent=null==t?"":t}):(n=null==t?"":t+"",function(){this.textContent=n}))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw Error();return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){this.textContent=r.call(this,t)}),e}return r._value=t,r}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=tZ(this.node(),n).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==e?function(t,e){var n,r;return function(){var i=tK(this,t),o=i.tween;if(o!==n){r=n=o;for(var u=0,a=r.length;u<a;++u)if(r[u].name===e){(r=r.slice()).splice(u,1);break}}i.tween=r}}:function(t,e,n){var r,i;if("function"!=typeof n)throw Error();return function(){var o=tK(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:e,value:n},s=0,l=i.length;s<l;++s)if(i[s].name===e){i[s]=a;break}s===l&&i.push(a)}o.tween=i}})(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){tW(this,t).delay=+e.apply(this,arguments)}}:function(t,e){return e=+e,function(){tW(this,t).delay=e}})(e,t)):tZ(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){tK(this,t).duration=+e.apply(this,arguments)}}:function(t,e){return e=+e,function(){tK(this,t).duration=e}})(e,t)):tZ(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw Error();return function(){tK(this,t).ease=e}}(e,t)):tZ(this.node(),e).ease},easeVarying:function(t){var e;if("function"!=typeof t)throw Error();return this.each((e=this._id,function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw Error();tK(this,e).ease=n}))},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise(function(o,u){var a={value:u},s={value:function(){0==--i&&o()}};n.each(function(){var n=tK(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(a),e._.interrupt.push(a),e._.end.push(s)),n.on=e}),0===i&&o()})},[Symbol.iterator]:eX[Symbol.iterator]};var eR={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};ts.prototype.interrupt=function(t){return this.each(function(){tQ(this,t)})},ts.prototype.transition=function(t){var e,n;t instanceof eL?(e=t._id,t=t._name):(e=++eC,(n=eR).time=tO(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)(u=a[l])&&tF(u,t,e,l,a,n||function(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw Error(`transition ${e} not found`);return n}(u,e));return new eL(r,this._parents,t,e)};var eY=t=>()=>t;function eV(t,{sourceEvent:e,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ej(t,e,n){this.k=t,this.x=e,this.y=n}ej.prototype={constructor:ej,scale:function(t){return 1===t?this:new ej(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new ej(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var eq=new ej(1,0,0);function eD(t){for(;!t.__zoom;)if(!(t=t.parentNode))return eq;return t.__zoom}function eF(t){t.stopImmediatePropagation()}function eW(t){t.preventDefault(),t.stopImmediatePropagation()}function eK(t){return(!t.ctrlKey||"wheel"===t.type)&&!t.button}function eZ(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function eQ(){return this.__zoom||eq}function eU(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function eG(){return navigator.maxTouchPoints||"ontouchstart"in this}function eJ(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],u=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),u>o?(o+u)/2:Math.min(0,o)||Math.max(0,u))}function e0(){var t,e,n,r=eK,i=eZ,o=eJ,u=eU,a=eG,s=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],c=250,h=tA,f=x("start","zoom","end"),d=0,p=10;function y(t){t.property("__zoom",eQ).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",k).filter(a).on("touchstart.zoom",$).on("touchmove.zoom",A).on("touchend.zoom touchcancel.zoom",z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new ej(e,t.x,t.y)}function m(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new ej(t.k,r,i)}function v(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function w(t,e,n,r){t.on("start.zoom",function(){_(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(r).end()}).tween("zoom",function(){var t=arguments,o=_(this,t).event(r),u=i.apply(this,t),a=null==n?v(u):"function"==typeof n?n.apply(this,t):n,s=Math.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),l=this.__zoom,c="function"==typeof e?e.apply(this,t):e,f=h(l.invert(a).concat(s/l.k),c.invert(a).concat(s/c.k));return function(t){if(1===t)t=c;else{var e=f(t),n=s/e[2];t=new ej(n,a[0]-e[0]*n,a[1]-e[1]*n)}o.zoom(null,t)}})}function _(t,e,n){return!n&&t.__zooming||new b(t,e)}function b(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,e),this.taps=0}function M(t,...e){if(r.apply(this,arguments)){var n=_(this,e).event(t),i=this.__zoom,a=Math.max(s[0],Math.min(s[1],i.k*Math.pow(2,u.apply(this,arguments)))),c=tc(t);if(n.wheel)(n.mouse[0][0]!==c[0]||n.mouse[0][1]!==c[1])&&(n.mouse[1]=i.invert(n.mouse[0]=c)),clearTimeout(n.wheel);else{if(i.k===a)return;n.mouse=[c,i.invert(c)],tQ(this),n.start()}eW(t),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",o(m(g(i,a),n.mouse[0],n.mouse[1]),n.extent,l))}}function E(t,...e){if(!n&&r.apply(this,arguments)){var i=t.currentTarget,u=_(this,e,!0).event(t),a=tl(t.view).on("mousemove.zoom",function(t){if(eW(t),!u.moved){var e=t.clientX-c,n=t.clientY-h;u.moved=e*e+n*n>d}u.event(t).zoom("mouse",o(m(u.that.__zoom,u.mouse[0]=tc(t,i),u.mouse[1]),u.extent,l))},!0).on("mouseup.zoom",function(t){a.on("mousemove.zoom mouseup.zoom",null),tg(t.view,u.moved),eW(t),u.event(t).end()},!0),s=tc(t,i),c=t.clientX,h=t.clientY;ty(t.view),eF(t),u.mouse=[s,this.__zoom.invert(s)],tQ(this),u.start()}}function k(t,...e){if(r.apply(this,arguments)){var n=this.__zoom,u=tc(t.changedTouches?t.changedTouches[0]:t,this),a=n.invert(u),s=n.k*(t.shiftKey?.5:2),h=o(m(g(n,s),u,a),i.apply(this,e),l);eW(t),c>0?tl(this).transition().duration(c).call(w,h,u,t):tl(this).call(y.transform,h,u,t)}}function $(n,...i){if(r.apply(this,arguments)){var o,u,a,s,l=n.touches,c=l.length,h=_(this,i,n.changedTouches.length===c).event(n);for(eF(n),u=0;u<c;++u)s=[s=tc(a=l[u],this),this.__zoom.invert(s),a.identifier],h.touch0?h.touch1||h.touch0[2]===s[2]||(h.touch1=s,h.taps=0):(h.touch0=s,o=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),o&&(h.taps<2&&(e=s[0],t=setTimeout(function(){t=null},500)),tQ(this),h.start())}}function A(t,...e){if(this.__zooming){var n,r,i,u,a=_(this,e).event(t),s=t.changedTouches,c=s.length;for(eW(t),n=0;n<c;++n)i=tc(r=s[n],this),a.touch0&&a.touch0[2]===r.identifier?a.touch0[0]=i:a.touch1&&a.touch1[2]===r.identifier&&(a.touch1[0]=i);if(r=a.that.__zoom,a.touch1){var h=a.touch0[0],f=a.touch0[1],d=a.touch1[0],p=a.touch1[1],y=(y=d[0]-h[0])*y+(y=d[1]-h[1])*y,v=(v=p[0]-f[0])*v+(v=p[1]-f[1])*v;r=g(r,Math.sqrt(y/v)),i=[(h[0]+d[0])/2,(h[1]+d[1])/2],u=[(f[0]+p[0])/2,(f[1]+p[1])/2]}else{if(!a.touch0)return;i=a.touch0[0],u=a.touch0[1]}a.zoom("touch",o(m(r,i,u),a.extent,l))}}function z(t,...r){if(this.__zooming){var i,o,u=_(this,r).event(t),a=t.changedTouches,s=a.length;for(eF(t),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),i=0;i<s;++i)o=a[i],u.touch0&&u.touch0[2]===o.identifier?delete u.touch0:u.touch1&&u.touch1[2]===o.identifier&&delete u.touch1;if(u.touch1&&!u.touch0&&(u.touch0=u.touch1,delete u.touch1),u.touch0)u.touch0[1]=this.__zoom.invert(u.touch0[0]);else if(u.end(),2===u.taps&&(o=tc(o,this),Math.hypot(e[0]-o[0],e[1]-o[1])<p)){var l=tl(this).on("dblclick.zoom");l&&l.apply(this,arguments)}}}return y.transform=function(t,e,n,r){var i=t.selection?t.selection():t;i.property("__zoom",eQ),t!==i?w(t,e,n,r):i.interrupt().each(function(){_(this,arguments).event(r).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()})},y.scaleBy=function(t,e,n,r){y.scaleTo(t,function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n},n,r)},y.scaleTo=function(t,e,n,r){y.transform(t,function(){var t=i.apply(this,arguments),r=this.__zoom,u=null==n?v(t):"function"==typeof n?n.apply(this,arguments):n,a=r.invert(u),s="function"==typeof e?e.apply(this,arguments):e;return o(m(g(r,s),u,a),t,l)},n,r)},y.translateBy=function(t,e,n,r){y.transform(t,function(){return o(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),i.apply(this,arguments),l)},null,r)},y.translateTo=function(t,e,n,r,u){y.transform(t,function(){var t=i.apply(this,arguments),u=this.__zoom,a=null==r?v(t):"function"==typeof r?r.apply(this,arguments):r;return o(eq.translate(a[0],a[1]).scale(u.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,l)},r,u)},b.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var e=tl(this.that).datum();f.call(t,this.that,new eV(t,{sourceEvent:this.sourceEvent,target:y,type:t,transform:this.that.__zoom,dispatch:f}),e)}},y.wheelDelta=function(t){return arguments.length?(u="function"==typeof t?t:eY(+t),y):u},y.filter=function(t){return arguments.length?(r="function"==typeof t?t:eY(!!t),y):r},y.touchable=function(t){return arguments.length?(a="function"==typeof t?t:eY(!!t),y):a},y.extent=function(t){return arguments.length?(i="function"==typeof t?t:eY([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),y):i},y.scaleExtent=function(t){return arguments.length?(s[0]=+t[0],s[1]=+t[1],y):[s[0],s[1]]},y.translateExtent=function(t){return arguments.length?(l[0][0]=+t[0][0],l[1][0]=+t[1][0],l[0][1]=+t[0][1],l[1][1]=+t[1][1],y):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},y.constrain=function(t){return arguments.length?(o=t,y):o},y.duration=function(t){return arguments.length?(c=+t,y):c},y.interpolate=function(t){return arguments.length?(h=t,y):h},y.on=function(){var t=f.on.apply(f,arguments);return t===f?y:t},y.clickDistance=function(t){return arguments.length?(d=(t=+t)*t,y):Math.sqrt(d)},y.tapDistance=function(t){return arguments.length?(p=+t,y):p},y}eD.prototype=ej.prototype;let e1={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${t} handle id: "${"source"===t?n:r}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},e2=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],e5=["Enter"," ","Escape"];(r=h||(h={})).Strict="strict",r.Loose="loose",(i=f||(f={})).Free="free",i.Vertical="vertical",i.Horizontal="horizontal",(o=d||(d={})).Partial="partial",o.Full="full";let e3={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null};(u=p||(p={})).Bezier="default",u.Straight="straight",u.Step="step",u.SmoothStep="smoothstep",u.SimpleBezier="simplebezier",(a=y||(y={})).Arrow="arrow",a.ArrowClosed="arrowclosed",(s=g||(g={})).Left="left",s.Top="top",s.Right="right",s.Bottom="bottom";let e6={[g.Left]:g.Right,[g.Right]:g.Left,[g.Top]:g.Bottom,[g.Bottom]:g.Top};function e7(t){return null===t?null:t?"valid":"invalid"}let e4=t=>"id"in t&&"source"in t&&"target"in t,e8=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),e9=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t),nt=(t,e=[0,0])=>{let{width:n,height:r}=nN(t),i=t.origin??e,o=n*i[0],u=r*i[1];return{x:t.position.x-o,y:t.position.y-u}},ne=(t,e={nodeOrigin:[0,0],nodeLookup:void 0})=>0===t.length?{x:0,y:0,width:0,height:0}:ng(t.reduce((t,n)=>{let r="string"==typeof n,i=e.nodeLookup||r?void 0:n;return e.nodeLookup&&(i=r?e.nodeLookup.get(n):e9(n)?n:e.nodeLookup.get(n.id)),np(t,i?nv(i,e.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),nn=(t,e={})=>{if(0===t.size)return{x:0,y:0,width:0,height:0};let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return t.forEach(t=>{if(void 0===e.filter||e.filter(t)){let e=nv(t);n=np(n,e)}}),ng(n)},nr=(t,e,[n,r,i]=[0,0,1],o=!1,u=!1)=>{let a={...nk(e,[n,r,i]),width:e.width/i,height:e.height/i},s=[];for(let e of t.values()){let{measured:t,selectable:n=!0,hidden:r=!1}=e;if(u&&!n||r)continue;let i=t.width??e.width??e.initialWidth??null,l=t.height??e.height??e.initialHeight??null,c=nw(a,nm(e)),h=(i??0)*(l??0),f=o&&c>0;(!e.internals.handleBounds||f||c>=h||e.dragging)&&s.push(e)}return s},ni=(t,e)=>{let n=new Set;return t.forEach(t=>{n.add(t.id)}),e.filter(t=>n.has(t.source)||n.has(t.target))};function no(t,e){let n=new Map,r=e?.nodes?new Set(e.nodes.map(t=>t.id)):null;return t.forEach(t=>{t.measured.width&&t.measured.height&&(e?.includeHiddenNodes||!t.hidden)&&(!r||r.has(t.id))&&n.set(t.id,t)}),n}async function nu({nodes:t,width:e,height:n,panZoom:r,minZoom:i,maxZoom:o},u){if(0===t.size)return Promise.resolve(!1);let a=nA(nn(t),e,n,u?.minZoom??i,u?.maxZoom??o,u?.padding??.1);return await r.setViewport(a,{duration:u?.duration}),Promise.resolve(!0)}function na({nodeId:t,nextPosition:e,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:o}){let u=n.get(t),a=u.parentId?n.get(u.parentId):void 0,{x:s,y:l}=a?a.internals.positionAbsolute:{x:0,y:0},c=u.origin??r,h=i;if("parent"!==u.extent||u.expandParent)a&&nS(u.extent)&&(h=[[u.extent[0][0]+s,u.extent[0][1]+l],[u.extent[1][0]+s,u.extent[1][1]+l]]);else if(a){let t=a.measured.width,e=a.measured.height;t&&e&&(h=[[s,l],[s+t,l+e]])}else o?.("005",e1.error005());let f=nS(h)?nc(e,h,u.measured):e;return(void 0===u.measured.width||void 0===u.measured.height)&&o?.("015",e1.error015()),{position:{x:f.x-s+(u.measured.width??0)*c[0],y:f.y-l+(u.measured.height??0)*c[1]},positionAbsolute:f}}async function ns({nodesToRemove:t=[],edgesToRemove:e=[],nodes:n,edges:r,onBeforeDelete:i}){let o=new Set(t.map(t=>t.id)),u=[];for(let t of n){if(!1===t.deletable)continue;let e=o.has(t.id),n=!e&&t.parentId&&u.find(e=>e.id===t.parentId);(e||n)&&u.push(t)}let a=new Set(e.map(t=>t.id)),s=r.filter(t=>!1!==t.deletable),l=ni(u,s);for(let t of s)a.has(t.id)&&!l.find(e=>e.id===t.id)&&l.push(t);if(!i)return{edges:l,nodes:u};let c=await i({nodes:u,edges:l});return"boolean"==typeof c?c?{edges:l,nodes:u}:{edges:[],nodes:[]}:c}let nl=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),nc=(t={x:0,y:0},e,n)=>({x:nl(t.x,e[0][0],e[1][0]-(n?.width??0)),y:nl(t.y,e[0][1],e[1][1]-(n?.height??0))});function nh(t,e,n){let{width:r,height:i}=nN(n),{x:o,y:u}=n.internals.positionAbsolute;return nc(t,[[o,u],[o+r,u+i]],e)}let nf=(t,e,n)=>t<e?nl(Math.abs(t-e),1,e)/e:t>n?-nl(Math.abs(t-n),1,e)/e:0,nd=(t,e,n=15,r=40)=>[nf(t.x,r,e.width-r)*n,nf(t.y,r,e.height-r)*n],np=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),ny=({x:t,y:e,width:n,height:r})=>({x:t,y:e,x2:t+n,y2:e+r}),ng=({x:t,y:e,x2:n,y2:r})=>({x:t,y:e,width:n-t,height:r-e}),nm=(t,e=[0,0])=>{let{x:n,y:r}=e9(t)?t.internals.positionAbsolute:nt(t,e);return{x:n,y:r,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},nv=(t,e=[0,0])=>{let{x:n,y:r}=e9(t)?t.internals.positionAbsolute:nt(t,e);return{x:n,y:r,x2:n+(t.measured?.width??t.width??t.initialWidth??0),y2:r+(t.measured?.height??t.height??t.initialHeight??0)}},nx=(t,e)=>ng(np(ny(t),ny(e))),nw=(t,e)=>Math.ceil(Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x))*Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y))),n_=t=>nb(t.width)&&nb(t.height)&&nb(t.x)&&nb(t.y),nb=t=>!isNaN(t)&&isFinite(t),nM=(t,e)=>{},nE=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),nk=({x:t,y:e},[n,r,i],o=!1,u=[1,1])=>{let a={x:(t-n)/i,y:(e-r)/i};return o?nE(a,u):a},n$=({x:t,y:e},[n,r,i])=>({x:t*i+n,y:e*i+r}),nA=(t,e,n,r,i,o)=>{let u=nl(Math.min(e/(t.width*(1+o)),n/(t.height*(1+o))),r,i);return{x:e/2-(t.x+t.width/2)*u,y:n/2-(t.y+t.height/2)*u,zoom:u}},nz=()=>"undefined"!=typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function nS(t){return void 0!==t&&"parent"!==t}function nN(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function nI(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function nT(t,e={width:0,height:0},n,r,i){let o={...t},u=r.get(n);if(u){let t=u.origin||i;o.x+=u.internals.positionAbsolute.x-(e.width??0)*t[0],o.y+=u.internals.positionAbsolute.y-(e.height??0)*t[1]}return o}function nP(t,e){if(t.size!==e.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}function nH(t,{snapGrid:e=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:o,y:u}=nR(t),a=nk({x:o-(i?.left??0),y:u-(i?.top??0)},r),{x:s,y:l}=n?nE(a,e):a;return{xSnapped:s,ySnapped:l,...a}}let nB=t=>({width:t.offsetWidth,height:t.offsetHeight}),nO=t=>t?.getRootNode?.()||window?.document,nC=["INPUT","SELECT","TEXTAREA"];function nL(t){let e=t.composedPath?.()?.[0]||t.target;return e?.nodeType===1&&(nC.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey"))}let nX=t=>"clientX"in t,nR=(t,e)=>{let n=nX(t),r=n?t.clientX:t.touches?.[0].clientX,i=n?t.clientY:t.touches?.[0].clientY;return{x:r-(e?.left??0),y:i-(e?.top??0)}},nY=(t,e,n,r,i)=>{let o=e.querySelectorAll(`.${t}`);return o&&o.length?Array.from(o).map(e=>{let o=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),type:t,nodeId:i,position:e.getAttribute("data-handlepos"),x:(o.left-n.left)/r,y:(o.top-n.top)/r,...nB(e)}}):null};function nV({sourceX:t,sourceY:e,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:u,targetControlY:a}){let s=.125*t+.375*i+.375*u+.125*n,l=.125*e+.375*o+.375*a+.125*r;return[s,l,Math.abs(s-t),Math.abs(l-e)]}function nj(t,e){return t>=0?.5*t:25*e*Math.sqrt(-t)}function nq({pos:t,x1:e,y1:n,x2:r,y2:i,c:o}){switch(t){case g.Left:return[e-nj(e-r,o),n];case g.Right:return[e+nj(r-e,o),n];case g.Top:return[e,n-nj(n-i,o)];case g.Bottom:return[e,n+nj(i-n,o)]}}function nD({sourceX:t,sourceY:e,sourcePosition:n=g.Bottom,targetX:r,targetY:i,targetPosition:o=g.Top,curvature:u=.25}){let[a,s]=nq({pos:n,x1:t,y1:e,x2:r,y2:i,c:u}),[l,c]=nq({pos:o,x1:r,y1:i,x2:t,y2:e,c:u}),[h,f,d,p]=nV({sourceX:t,sourceY:e,targetX:r,targetY:i,sourceControlX:a,sourceControlY:s,targetControlX:l,targetControlY:c});return[`M${t},${e} C${a},${s} ${l},${c} ${r},${i}`,h,f,d,p]}function nF({sourceX:t,sourceY:e,targetX:n,targetY:r}){let i=Math.abs(n-t)/2,o=Math.abs(r-e)/2;return[n<t?n+i:n-i,r<e?r+o:r-o,i,o]}function nW({sourceNode:t,targetNode:e,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1}){if(!i)return r;let o=n||e.selected||t.selected,u=Math.max(t.internals.z||0,e.internals.z||0,1e3);return r+(o?u:0)}function nK({sourceNode:t,targetNode:e,width:n,height:r,transform:i}){let o=np(nv(t),nv(e));return o.x===o.x2&&(o.x2+=1),o.y===o.y2&&(o.y2+=1),nw({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},ng(o))>0}let nZ=({source:t,sourceHandle:e,target:n,targetHandle:r})=>`xy-edge__${t}${e||""}-${n}${r||""}`,nQ=(t,e)=>e.some(e=>e.source===t.source&&e.target===t.target&&(e.sourceHandle===t.sourceHandle||!e.sourceHandle&&!t.sourceHandle)&&(e.targetHandle===t.targetHandle||!e.targetHandle&&!t.targetHandle)),nU=(t,e)=>{let n;return t.source&&t.target?nQ(n=e4(t)?{...t}:{...t,id:nZ(t)},e)?e:(null===n.sourceHandle&&delete n.sourceHandle,null===n.targetHandle&&delete n.targetHandle,e.concat(n)):(nM("006",e1.error006()),e)};function nG({sourceX:t,sourceY:e,targetX:n,targetY:r}){let[i,o,u,a]=nF({sourceX:t,sourceY:e,targetX:n,targetY:r});return[`M ${t},${e}L ${n},${r}`,i,o,u,a]}let nJ={[g.Left]:{x:-1,y:0},[g.Right]:{x:1,y:0},[g.Top]:{x:0,y:-1},[g.Bottom]:{x:0,y:1}},n0=({source:t,sourcePosition:e=g.Bottom,target:n})=>e===g.Left||e===g.Right?t.x<n.x?{x:1,y:0}:{x:-1,y:0}:t.y<n.y?{x:0,y:1}:{x:0,y:-1},n1=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function n2({sourceX:t,sourceY:e,sourcePosition:n=g.Bottom,targetX:r,targetY:i,targetPosition:o=g.Top,borderRadius:u=5,centerX:a,centerY:s,offset:l=20}){let[c,h,f,d,p]=function({source:t,sourcePosition:e=g.Bottom,target:n,targetPosition:r=g.Top,center:i,offset:o}){let u,a;let s=nJ[e],l=nJ[r],c={x:t.x+s.x*o,y:t.y+s.y*o},h={x:n.x+l.x*o,y:n.y+l.y*o},f=n0({source:c,sourcePosition:e,target:h}),d=0!==f.x?"x":"y",p=f[d],y=[],m={x:0,y:0},v={x:0,y:0},[x,w,_,b]=nF({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(s[d]*l[d]==-1){u=i.x??x,a=i.y??w;let t=[{x:u,y:c.y},{x:u,y:h.y}],e=[{x:c.x,y:a},{x:h.x,y:a}];y=s[d]===p?"x"===d?t:e:"x"===d?e:t}else{let i=[{x:c.x,y:h.y}],f=[{x:h.x,y:c.y}];if(y="x"===d?s.x===p?f:i:s.y===p?i:f,e===r){let e=Math.abs(t[d]-n[d]);if(e<=o){let r=Math.min(o-1,o-e);s[d]===p?m[d]=(c[d]>t[d]?-1:1)*r:v[d]=(h[d]>n[d]?-1:1)*r}}if(e!==r){let t="x"===d?"y":"x",e=s[d]===l[t],n=c[t]>h[t],r=c[t]<h[t];(1===s[d]&&(!e&&n||e&&r)||1!==s[d]&&(!e&&r||e&&n))&&(y="x"===d?i:f)}let g={x:c.x+m.x,y:c.y+m.y},x={x:h.x+v.x,y:h.y+v.y};Math.max(Math.abs(g.x-y[0].x),Math.abs(x.x-y[0].x))>=Math.max(Math.abs(g.y-y[0].y),Math.abs(x.y-y[0].y))?(u=(g.x+x.x)/2,a=y[0].y):(u=y[0].x,a=(g.y+x.y)/2)}return[[t,{x:c.x+m.x,y:c.y+m.y},...y,{x:h.x+v.x,y:h.y+v.y},n],u,a,_,b]}({source:{x:t,y:e},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:a,y:s},offset:l});return[c.reduce((t,e,n)=>t+(n>0&&n<c.length-1?function(t,e,n,r){let i=Math.min(n1(t,e)/2,n1(e,n)/2,r),{x:o,y:u}=e;if(t.x===o&&o===n.x||t.y===u&&u===n.y)return`L${o} ${u}`;if(t.y===u){let e=t.x<n.x?-1:1,r=t.y<n.y?1:-1;return`L ${o+i*e},${u}Q ${o},${u} ${o},${u+i*r}`}let a=t.x<n.x?1:-1,s=t.y<n.y?-1:1;return`L ${o},${u+i*s}Q ${o},${u} ${o+i*a},${u}`}(c[n-1],e,c[n+1],u):`${0===n?"M":"L"}${e.x} ${e.y}`),""),h,f,d,p]}function n5(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function n3(t){let{sourceNode:e,targetNode:n}=t;if(!n5(e)||!n5(n))return null;let r=e.internals.handleBounds||n6(e.handles),i=n.internals.handleBounds||n6(n.handles),o=n4(r?.source??[],t.sourceHandle),u=n4(t.connectionMode===h.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),t.targetHandle);if(!o||!u)return t.onError?.("008",e1.error008(o?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;let a=o?.position||g.Bottom,s=u?.position||g.Top,l=n7(e,o,a),c=n7(n,u,s);return{sourceX:l.x,sourceY:l.y,targetX:c.x,targetY:c.y,sourcePosition:a,targetPosition:s}}function n6(t){if(!t)return null;let e=[],n=[];for(let r of t)r.width=r.width??1,r.height=r.height??1,"source"===r.type?e.push(r):"target"===r.type&&n.push(r);return{source:e,target:n}}function n7(t,e,n=g.Left,r=!1){let i=(e?.x??0)+t.internals.positionAbsolute.x,o=(e?.y??0)+t.internals.positionAbsolute.y,{width:u,height:a}=e??nN(t);if(r)return{x:i+u/2,y:o+a/2};switch(e?.position??n){case g.Top:return{x:i+u/2,y:o};case g.Right:return{x:i+u,y:o+a/2};case g.Bottom:return{x:i+u/2,y:o+a};case g.Left:return{x:i,y:o+a/2}}}function n4(t,e){return t&&(e?t.find(t=>t.id===e):t[0])||null}function n8(t,e){if(!t)return"";if("string"==typeof t)return t;let n=e?`${e}__`:"";return`${n}${Object.keys(t).sort().map(e=>`${e}=${t[e]}`).join("&")}`}function n9(t,{id:e,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let o=new Set;return t.reduce((t,u)=>([u.markerStart||r,u.markerEnd||i].forEach(r=>{if(r&&"object"==typeof r){let i=n8(r,e);o.has(i)||(t.push({id:i,color:r.color||n,...r}),o.add(i))}}),t),[]).sort((t,e)=>t.id.localeCompare(e.id))}let rt={nodeOrigin:[0,0],nodeExtent:e2,elevateNodesOnSelect:!0,defaults:{}},re={...rt,checkEquality:!0};function rn(t,e){let n={...t};for(let t in e)void 0!==e[t]&&(n[t]=e[t]);return n}function rr(t,e,n){let r=rn(rt,n);for(let n of t.values())if(n.parentId)ro(n,t,e,r);else{let t=nc(nt(n,r.nodeOrigin),nS(n.extent)?n.extent:r.nodeExtent,nN(n));n.internals.positionAbsolute=t}}function ri(t,e,n,r){let i=rn(re,r),o=new Map(e),u=i?.elevateNodesOnSelect?1e3:0;for(let a of(e.clear(),n.clear(),t)){let t=o.get(a.id);if(i.checkEquality&&a===t?.internals.userNode)e.set(a.id,t);else{let n=nc(nt(a,i.nodeOrigin),nS(a.extent)?a.extent:i.nodeExtent,nN(a));t={...i.defaults,...a,measured:{width:a.measured?.width,height:a.measured?.height},internals:{positionAbsolute:n,handleBounds:a.measured?t?.internals.handleBounds:void 0,z:ru(a,u),userNode:a}},e.set(a.id,t)}a.parentId&&ro(t,e,n,r)}}function ro(t,e,n,r){let{elevateNodesOnSelect:i,nodeOrigin:o,nodeExtent:u}=rn(rt,r),a=t.parentId,s=e.get(a);if(!s){console.warn(`Parent node ${a} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}!function(t,e){if(!t.parentId)return;let n=e.get(t.parentId);n?n.set(t.id,t):e.set(t.parentId,new Map([[t.id,t]]))}(t,n);let{x:l,y:c,z:h}=function(t,e,n,r,i){let{x:o,y:u}=e.internals.positionAbsolute,a=nN(t),s=nt(t,n),l=nS(t.extent)?nc(s,t.extent,a):s,c=nc({x:o+l.x,y:u+l.y},r,a);"parent"===t.extent&&(c=nh(c,a,e));let h=ru(t,i),f=e.internals.z??0;return{x:c.x,y:c.y,z:f>h?f:h}}(t,s,o,u,i?1e3:0),{positionAbsolute:f}=t.internals,d=l!==f.x||c!==f.y;(d||h!==t.internals.z)&&e.set(t.id,{...t,internals:{...t.internals,positionAbsolute:d?{x:l,y:c}:f,z:h}})}function ru(t,e){return(nb(t.zIndex)?t.zIndex:0)+(t.selected?e:0)}function ra(t,e,n,r=[0,0]){let i=[],o=new Map;for(let n of t){let t=e.get(n.parentId);if(!t)continue;let r=nx(o.get(n.parentId)?.expandedRect??nm(t),n.rect);o.set(n.parentId,{expandedRect:r,parent:t})}return o.size>0&&o.forEach(({expandedRect:e,parent:o},u)=>{let a=o.internals.positionAbsolute,s=nN(o),l=o.origin??r,c=e.x<a.x?Math.round(Math.abs(a.x-e.x)):0,h=e.y<a.y?Math.round(Math.abs(a.y-e.y)):0,f=Math.max(s.width,Math.round(e.width)),d=Math.max(s.height,Math.round(e.height)),p=(f-s.width)*l[0],y=(d-s.height)*l[1];(c>0||h>0||p||y)&&(i.push({id:u,type:"position",position:{x:o.position.x-c+p,y:o.position.y-h+y}}),n.get(u)?.forEach(e=>{t.some(t=>t.id===e.id)||i.push({id:e.id,type:"position",position:{x:e.position.x+c,y:e.position.y+h}})})),(s.width<e.width||s.height<e.height||c||h)&&i.push({id:u,type:"dimensions",setAttributes:!0,dimensions:{width:f+(c?l[0]*c-p:0),height:d+(h?l[1]*h-y:0)}})}),i}function rs(t,e,n,r,i,o){let u=r?.querySelector(".xyflow__viewport"),a=!1;if(!u)return{changes:[],updatedInternals:a};let s=[],l=window.getComputedStyle(u),{m22:c}=new window.DOMMatrixReadOnly(l.transform),h=[];for(let r of t.values()){let t=e.get(r.id);if(!t)continue;if(t.hidden){e.set(t.id,{...t,internals:{...t.internals,handleBounds:void 0}}),a=!0;continue}let u=nB(r.nodeElement),l=t.measured.width!==u.width||t.measured.height!==u.height;if(u.width&&u.height&&(l||!t.internals.handleBounds||r.force)){let f=r.nodeElement.getBoundingClientRect(),d=nS(t.extent)?t.extent:o,{positionAbsolute:p}=t.internals;t.parentId&&"parent"===t.extent?p=nh(p,u,e.get(t.parentId)):d&&(p=nc(p,d,u));let y={...t,measured:u,internals:{...t.internals,positionAbsolute:p,handleBounds:{source:nY("source",r.nodeElement,f,c,t.id),target:nY("target",r.nodeElement,f,c,t.id)}}};e.set(t.id,y),t.parentId&&ro(y,e,n,{nodeOrigin:i}),a=!0,l&&(s.push({id:t.id,type:"dimensions",dimensions:u}),t.expandParent&&t.parentId&&h.push({id:t.id,parentId:t.parentId,rect:nm(y,i)}))}}if(h.length>0){let t=ra(h,e,n,i);s.push(...t)}return{changes:s,updatedInternals:a}}async function rl({delta:t,panZoom:e,transform:n,translateExtent:r,width:i,height:o}){if(!e||!t.x&&!t.y)return Promise.resolve(!1);let u=await e.setViewportConstrained({x:n[0]+t.x,y:n[1]+t.y,zoom:n[2]},[[0,0],[i,o]],r);return Promise.resolve(!!u&&(u.x!==n[0]||u.y!==n[1]||u.k!==n[2]))}function rc(t,e,n,r,i,o){let u=i,a=r.get(u)||new Map;r.set(u,a.set(n,e)),u=`${i}-${t}`;let s=r.get(u)||new Map;if(r.set(u,s.set(n,e)),o){u=`${i}-${t}-${o}`;let a=r.get(u)||new Map;r.set(u,a.set(n,e))}}function rh(t,e,n){for(let r of(t.clear(),e.clear(),n)){let{source:n,target:i,sourceHandle:o=null,targetHandle:u=null}=r,a={edgeId:r.id,source:n,target:i,sourceHandle:o,targetHandle:u},s=`${n}-${o}--${i}-${u}`;rc("source",a,`${i}-${u}--${n}-${o}`,t,n,o),rc("target",a,s,t,i,u),e.set(r.id,r)}}function rf(t,e,n){let r=t;do{if(r?.matches?.(e))return!0;if(r===n)break;r=r?.parentElement}while(r);return!1}function rd({nodeId:t,dragItems:e,nodeLookup:n,dragging:r=!0}){let i=[];for(let[t,o]of e){let e=n.get(t)?.internals.userNode;e&&i.push({...e,position:o.position,dragging:r})}if(!t)return[i[0],i];let o=n.get(t)?.internals.userNode;return[o?{...o,position:e.get(t)?.position||o.position,dragging:r}:i[0],i]}function rp({onNodeMouseDown:t,getStoreItems:e,onDragStart:n,onDrag:r,onDragStop:i}){let o={x:null,y:null},u=0,a=new Map,s=!1,l={x:0,y:0},c=null,h=!1,f=null,d=!1;return{update:function({noDragClassName:p,handleSelector:y,domNode:g,isSelectable:m,nodeId:v,nodeClickDistance:x=0}){function w({x:t,y:n},i){let{nodeLookup:u,nodeExtent:s,snapGrid:l,snapToGrid:c,nodeOrigin:h,onNodeDrag:f,onSelectionDrag:d,onError:p,updateNodePositions:y}=e();o={x:t,y:n};let g=!1,m={x:0,y:0,x2:0,y2:0};for(let[e,r]of(a.size>1&&s&&(m=ny(nn(a))),a)){if(!u.has(e))continue;let i={x:t-r.distance.x,y:n-r.distance.y};c&&(i=nE(i,l));let o=[[s[0][0],s[0][1]],[s[1][0],s[1][1]]];if(a.size>1&&s&&!r.extent){let{positionAbsolute:t}=r.internals,e=t.x-m.x+s[0][0],n=t.x+r.measured.width-m.x2+s[1][0];o=[[e,t.y-m.y+s[0][1]],[n,t.y+r.measured.height-m.y2+s[1][1]]]}let{position:f,positionAbsolute:d}=na({nodeId:e,nextPosition:i,nodeLookup:u,nodeExtent:o,nodeOrigin:h,onError:p});g=g||r.position.x!==f.x||r.position.y!==f.y,r.position=f,r.internals.positionAbsolute=d}if(g&&(y(a,!0),i&&(r||f||!v&&d))){let[t,e]=rd({nodeId:v,dragItems:a,nodeLookup:u});r?.(i,a,t,e),f?.(i,t,e),v||d?.(i,e)}}async function _(){if(!c)return;let{transform:t,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=e();if(!i){s=!1,cancelAnimationFrame(u);return}let[a,h]=nd(l,c,r);(0!==a||0!==h)&&(o.x=(o.x??0)-a/t[2],o.y=(o.y??0)-h/t[2],await n({x:a,y:h})&&w(o,null)),u=requestAnimationFrame(_)}function b(r){let{nodeLookup:i,multiSelectionActive:u,nodesDraggable:s,transform:l,snapGrid:f,snapToGrid:d,selectNodesOnDrag:p,onNodeDragStart:y,onSelectionDragStart:g,unselectNodesAndEdges:x}=e();h=!0,p&&m||u||!v||i.get(v)?.selected||x(),m&&p&&v&&t?.(v);let w=nH(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:d,containerBounds:c});if(o=w,(a=function(t,e,n,r){let i=new Map;for(let[o,u]of t)if((u.selected||u.id===r)&&(!u.parentId||!function t(e,n){if(!e.parentId)return!1;let r=n.get(e.parentId);return!!r&&(!!r.selected||t(r,n))}(u,t))&&(u.draggable||e&&void 0===u.draggable)){let e=t.get(o);e&&i.set(o,{id:o,position:e.position||{x:0,y:0},distance:{x:n.x-e.internals.positionAbsolute.x,y:n.y-e.internals.positionAbsolute.y},extent:e.extent,parentId:e.parentId,origin:e.origin,expandParent:e.expandParent,internals:{positionAbsolute:e.internals.positionAbsolute||{x:0,y:0}},measured:{width:e.measured.width??0,height:e.measured.height??0}})}return i}(i,s,w,v)).size>0&&(n||y||!v&&g)){let[t,e]=rd({nodeId:v,dragItems:a,nodeLookup:i});n?.(r.sourceEvent,a,t,e),y?.(r.sourceEvent,t,e),v||g?.(r.sourceEvent,e)}}f=tl(g);let M=tM().clickDistance(x).on("start",t=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:u,snapToGrid:a}=e();c=n?.getBoundingClientRect()||null,d=!1,0===r&&b(t),o=nH(t.sourceEvent,{transform:i,snapGrid:u,snapToGrid:a,containerBounds:c}),l=nR(t.sourceEvent,c)}).on("drag",t=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:u,nodeDragThreshold:f,nodeLookup:p}=e(),y=nH(t.sourceEvent,{transform:r,snapGrid:i,snapToGrid:u,containerBounds:c});if(("touchmove"===t.sourceEvent.type&&t.sourceEvent.touches.length>1||v&&!p.has(v))&&(d=!0),!d){if(!s&&n&&h&&(s=!0,_()),!h){let e=y.xSnapped-(o.x??0),n=y.ySnapped-(o.y??0);Math.sqrt(e*e+n*n)>f&&b(t)}(o.x!==y.xSnapped||o.y!==y.ySnapped)&&a&&h&&(l=nR(t.sourceEvent,c),w(y,t.sourceEvent))}}).on("end",t=>{if(h&&!d&&(s=!1,h=!1,cancelAnimationFrame(u),a.size>0)){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:o,onSelectionDragStop:u}=e();if(r(a,!1),i||o||!v&&u){let[e,r]=rd({nodeId:v,dragItems:a,nodeLookup:n,dragging:!1});i?.(t.sourceEvent,a,e,r),o?.(t.sourceEvent,e,r),v||u?.(t.sourceEvent,r)}}}).filter(t=>{let e=t.target;return!t.button&&(!p||!rf(e,`.${p}`,g))&&(!y||rf(e,y,g))});f.call(M)},destroy:function(){f?.on(".drag",null)}}}function ry(t,e,n,r,i,o=!1){let u=r.get(t);if(!u)return null;let a="strict"===i?u.internals.handleBounds?.[e]:[...u.internals.handleBounds?.source??[],...u.internals.handleBounds?.target??[]],s=(n?a?.find(t=>t.id===n):a?.[0])??null;return s&&o?{...s,...n7(u,s,s.position,!0)}:s}function rg(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}let rm=()=>!0;function rv(t,{handle:e,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:o,doc:u,lib:a,flowId:s,isValidConnection:l=rm,nodeLookup:c}){let f="target"===o,d=e?u.querySelector(`.${a}-flow__handle[data-id="${s}-${e?.nodeId}-${e?.id}-${e?.type}"]`):null,{x:p,y}=nR(t),g=u.elementFromPoint(p,y),m=g?.classList.contains(`${a}-flow__handle`)?g:d,v={handleDomNode:m,isValid:!1,connection:null,toHandle:null};if(m){let t=rg(void 0,m),e=m.getAttribute("data-nodeid"),o=m.getAttribute("data-handleid"),u=m.classList.contains("connectable"),a=m.classList.contains("connectableend");if(!e||!t)return v;let s={source:f?e:r,sourceHandle:f?o:i,target:f?r:e,targetHandle:f?i:o};v.connection=s;let d=u&&a&&(n===h.Strict?f&&"source"===t||!f&&"target"===t:e!==r||o!==i);v.isValid=d&&l(s),v.toHandle=ry(e,t,o,c,n,!1)}return v}let rx={onPointerDown:function(t,{connectionMode:e,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:o,isTarget:u,domNode:a,nodeLookup:s,lib:l,autoPanOnConnect:c,flowId:h,panBy:f,cancelConnection:d,onConnectStart:p,onConnect:y,onConnectEnd:m,isValidConnection:v=rm,onReconnectEnd:x,updateConnection:w,getTransform:_,getFromHandle:b,autoPanSpeed:M}){let E;let k=nO(t.target),$=0,{x:A,y:z}=nR(t),S=rg(o,k?.elementFromPoint(A,z)),N=a?.getBoundingClientRect();if(!N||!S)return;let I=ry(i,S,r,s,e);if(!I)return;let T=nR(t,N),P=!1,H=null,B=!1,O=null,C={...I,nodeId:i,type:S,position:I.position},L=s.get(i),X={inProgress:!0,isValid:null,from:n7(L,C,g.Left,!0),fromHandle:C,fromPosition:C.position,fromNode:L,to:T,toHandle:null,toPosition:e6[C.position],toNode:null};w(X);let R=X;function Y(t){var o,a;let d;if(!b()||!C){V(t);return}let p=_();E=function(t,e,n,r){let i=[],o=1/0;for(let u of function(t,e,n){let r=[],i={x:t.x-n,y:t.y-n,width:2*n,height:2*n};for(let t of e.values())nw(i,nm(t))>0&&r.push(t);return r}(t,n,e+250))for(let n of[...u.internals.handleBounds?.source??[],...u.internals.handleBounds?.target??[]]){if(r.nodeId===n.nodeId&&r.type===n.type&&r.id===n.id)continue;let{x:a,y:s}=n7(u,n,n.position,!0),l=Math.sqrt(Math.pow(a-t.x,2)+Math.pow(s-t.y,2));l>e||(l<o?(i=[{...n,x:a,y:s}],o=l):l===o&&i.push({...n,x:a,y:s}))}if(!i.length)return null;if(i.length>1){let t="source"===r.type?"target":"source";return i.find(e=>e.type===t)??i[0]}return i[0]}(nk(T=nR(t,N),p,!1,[1,1]),n,s,C),P||(function t(){if(!c||!N)return;let[e,n]=nd(T,N,M);f({x:e,y:n}),$=requestAnimationFrame(t)}(),P=!0);let y=rv(t,{handle:E,connectionMode:e,fromNodeId:i,fromHandleId:r,fromType:u?"target":"source",isValidConnection:v,doc:k,lib:l,flowId:h,nodeLookup:s});O=y.handleDomNode,H=y.connection,o=!!E,a=y.isValid,d=null,a?d=!0:o&&!a&&(d=!1),B=d;let g={...R,isValid:B,to:E&&B?n$({x:E.x,y:E.y},p):T,toHandle:y.toHandle,toPosition:B&&y.toHandle?y.toHandle.position:e6[C.position],toNode:y.toHandle?s.get(y.toHandle.nodeId):null};B&&E&&R.toHandle&&g.toHandle&&R.toHandle.type===g.toHandle.type&&R.toHandle.nodeId===g.toHandle.nodeId&&R.toHandle.id===g.toHandle.id&&R.to.x===g.to.x&&R.to.y===g.to.y||(w(g),R=g)}function V(t){(E||O)&&H&&B&&y?.(H);let{inProgress:e,...n}=R,r={...n,toPosition:R.toHandle?R.toPosition:null};m?.(t,r),o&&x?.(t,r),d(),cancelAnimationFrame($),P=!1,B=!1,H=null,O=null,k.removeEventListener("mousemove",Y),k.removeEventListener("mouseup",V),k.removeEventListener("touchmove",Y),k.removeEventListener("touchend",V)}p?.(t,{nodeId:i,handleId:r,handleType:S}),k.addEventListener("mousemove",Y),k.addEventListener("mouseup",V),k.addEventListener("touchmove",Y),k.addEventListener("touchend",V)},isValid:rv};function rw({domNode:t,panZoom:e,getTransform:n,getViewScale:r}){let i=tl(t);return{update:function({translateExtent:t,width:o,height:u,zoomStep:a=10,pannable:s=!0,zoomable:l=!0,inversePan:c=!1}){let h=[0,0],f=e0().on("start",t=>{("mousedown"===t.sourceEvent.type||"touchstart"===t.sourceEvent.type)&&(h=[t.sourceEvent.clientX??t.sourceEvent.touches[0].clientX,t.sourceEvent.clientY??t.sourceEvent.touches[0].clientY])}).on("zoom",s?i=>{let a=n();if("mousemove"!==i.sourceEvent.type&&"touchmove"!==i.sourceEvent.type||!e)return;let s=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[s[0]-h[0],s[1]-h[1]];h=s;let f=r()*Math.max(a[2],Math.log(a[2]))*(c?-1:1),d={x:a[0]-l[0]*f,y:a[1]-l[1]*f};e.setViewportConstrained({x:d.x,y:d.y,zoom:a[2]},[[0,0],[o,u]],t)}:null).on("zoom.wheel",l?t=>{let r=n();if("wheel"!==t.sourceEvent.type||!e)return;let i=-t.sourceEvent.deltaY*(1===t.sourceEvent.deltaMode?.05:t.sourceEvent.deltaMode?1:.002)*a,o=r[2]*Math.pow(2,i);e.scaleTo(o)}:null);i.call(f,{})},destroy:function(){i.on("zoom",null)},pointer:tc}}let r_=(t,e)=>t.x!==e.x||t.y!==e.y||t.zoom!==e.k,rb=t=>({x:t.x,y:t.y,zoom:t.k}),rM=({x:t,y:e,zoom:n})=>eq.translate(t,e).scale(n),rE=(t,e)=>t.target.closest(`.${e}`),rk=(t,e)=>2===e&&Array.isArray(t)&&t.includes(2),r$=(t,e=0,n=()=>{})=>{let r="number"==typeof e&&e>0;return r||n(),r?t.transition().duration(e).on("end",n):t},rA=t=>{let e=t.ctrlKey&&nz()?10:1;return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*e};function rz({domNode:t,minZoom:e,maxZoom:n,paneClickDistance:r,translateExtent:i,viewport:o,onPanZoom:u,onPanZoomStart:a,onPanZoomEnd:s,onDraggingChange:l}){let c={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},h=t.getBoundingClientRect(),d=e0().clickDistance(!nb(r)||r<0?0:r).scaleExtent([e,n]).translateExtent(i),p=tl(t).call(d);x({x:o.x,y:o.y,zoom:nl(o.zoom,e,n)},[[0,0],[h.width,h.height]],i);let y=p.on("wheel.zoom"),g=p.on("dblclick.zoom");function m(t,e){return p?new Promise(n=>{d?.transform(r$(p,e?.duration,()=>n(!0)),t)}):Promise.resolve(!1)}function v(){d.on("zoom",null)}async function x(t,e,n){let r=rM(t),i=d?.constrain()(r,e,n);return i&&await m(i),new Promise(t=>t(i))}return d.wheelDelta(rA),{update:function({noWheelClassName:t,noPanClassName:e,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:o,panOnScrollMode:h,panOnScrollSpeed:m,preventScrolling:x,zoomOnPinch:w,zoomOnScroll:_,zoomOnDoubleClick:b,zoomActivationKeyPressed:M,lib:E,onTransformChange:k}){r&&!c.isZoomingOrPanning&&v();let $=!i||M||r?function({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:n}){return function(r,i){if(!e&&"wheel"===r.type&&!r.ctrlKey||rE(r,t))return null;r.preventDefault(),n.call(this,r,i)}}({noWheelClassName:t,preventScrolling:x,d3ZoomHandler:y}):function({zoomPanValues:t,noWheelClassName:e,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:o,zoomOnPinch:u,onPanZoomStart:a,onPanZoom:s,onPanZoomEnd:l}){return c=>{if(rE(c,e))return!1;c.preventDefault(),c.stopImmediatePropagation();let h=n.property("__zoom").k||1;if(c.ctrlKey&&u){let t=tc(c),e=rA(c);r.scaleTo(n,h*Math.pow(2,e),t,c);return}let d=1===c.deltaMode?20:1,p=i===f.Vertical?0:c.deltaX*d,y=i===f.Horizontal?0:c.deltaY*d;!nz()&&c.shiftKey&&i!==f.Vertical&&(p=c.deltaY*d,y=0),r.translateBy(n,-(p/h)*o,-(y/h)*o,{internal:!0});let g=rb(n.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling||(t.isPanScrolling=!0,a?.(c,g)),t.isPanScrolling&&(s?.(c,g),t.panScrollTimeout=setTimeout(()=>{l?.(c,g),t.isPanScrolling=!1},150))}}({zoomPanValues:c,noWheelClassName:t,d3Selection:p,d3Zoom:d,panOnScrollMode:h,panOnScrollSpeed:m,zoomOnPinch:w,onPanZoomStart:a,onPanZoom:u,onPanZoomEnd:s});if(p.on("wheel.zoom",$,{passive:!1}),!r){let t=function({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=rb(r.transform);t.mouseButton=r.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=i,r.sourceEvent?.type==="mousedown"&&e(!0),n&&n?.(r.sourceEvent,i)}}({zoomPanValues:c,onDraggingChange:l,onPanZoomStart:a});d.on("start",t);let e=function({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return o=>{t.usedRightMouseButton=!!(n&&rk(e,t.mouseButton??0)),o.sourceEvent?.sync||r([o.transform.x,o.transform.y,o.transform.k]),i&&!o.sourceEvent?.internal&&i?.(o.sourceEvent,rb(o.transform))}}({zoomPanValues:c,panOnDrag:o,onPaneContextMenu:!!n,onPanZoom:u,onTransformChange:k});d.on("zoom",e);let r=function({zoomPanValues:t,panOnDrag:e,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:o}){return u=>{if(!u.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,o&&rk(e,t.mouseButton??0)&&!t.usedRightMouseButton&&u.sourceEvent&&o(u.sourceEvent),t.usedRightMouseButton=!1,r(!1),i&&r_(t.prevViewport,u.transform))){let e=rb(u.transform);t.prevViewport=e,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{i?.(u.sourceEvent,e)},n?150:0)}}}({zoomPanValues:c,panOnDrag:o,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:l});d.on("end",r)}let A=function({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:n,panOnDrag:r,panOnScroll:i,zoomOnDoubleClick:o,userSelectionActive:u,noWheelClassName:a,noPanClassName:s,lib:l}){return c=>{let h=t||e,f=n&&c.ctrlKey;if(1===c.button&&"mousedown"===c.type&&(rE(c,`${l}-flow__node`)||rE(c,`${l}-flow__edge`)))return!0;if(!r&&!h&&!i&&!o&&!n||u||rE(c,a)&&"wheel"===c.type||rE(c,s)&&("wheel"!==c.type||i&&"wheel"===c.type&&!t)||!n&&c.ctrlKey&&"wheel"===c.type)return!1;if(!n&&"touchstart"===c.type&&c.touches?.length>1)return c.preventDefault(),!1;if(!h&&!i&&!f&&"wheel"===c.type||!r&&("mousedown"===c.type||"touchstart"===c.type)||Array.isArray(r)&&!r.includes(c.button)&&"mousedown"===c.type)return!1;let d=Array.isArray(r)&&r.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||"wheel"===c.type)&&d}}({zoomActivationKeyPressed:M,panOnDrag:o,zoomOnScroll:_,panOnScroll:i,zoomOnDoubleClick:b,zoomOnPinch:w,userSelectionActive:r,noPanClassName:e,noWheelClassName:t,lib:E});d.filter(A),b?p.on("dblclick.zoom",g):p.on("dblclick.zoom",null)},destroy:v,setViewport:async function(t,e){let n=rM(t);return await m(n,e),new Promise(t=>t(n))},setViewportConstrained:x,getViewport:function(){let t=p?eD(p.node()):{x:0,y:0,k:1};return{x:t.x,y:t.y,zoom:t.k}},scaleTo:function(t,e){return p?new Promise(n=>{d?.scaleTo(r$(p,e?.duration,()=>n(!0)),t)}):Promise.resolve(!1)},scaleBy:function(t,e){return p?new Promise(n=>{d?.scaleBy(r$(p,e?.duration,()=>n(!0)),t)}):Promise.resolve(!1)},setScaleExtent:function(t){d?.scaleExtent(t)},setTranslateExtent:function(t){d?.translateExtent(t)},syncViewport:function(t){if(p){let e=rM(t),n=p.property("__zoom");(n.k!==t.zoom||n.x!==t.x||n.y!==t.y)&&d?.transform(p,e,null,{sync:!0})}},setClickDistance:function(t){let e=!nb(t)||t<0?0:t;d?.clickDistance(e)}}}function rS(t,e){return Math.max(0,e-t)}function rN(t,e){return Math.max(0,t-e)}function rI(t,e,n){return Math.max(0,e-t,t-n)}(l=m||(m={})).Line="line",l.Handle="handle";let rT={width:0,height:0,x:0,y:0},rP={...rT,pointerX:0,pointerY:0,aspectRatio:1};function rH({domNode:t,nodeId:e,getStoreItems:n,onChange:r,onEnd:i}){let o=tl(t);return{update:function({controlPosition:t,boundaries:u,keepAspectRatio:a,onResizeStart:s,onResize:l,onResizeEnd:c,shouldResize:h}){let f,d,p,y,g={...rT},m={...rP},v=function(t){let e=t.includes("right")||t.includes("left");return{isHorizontal:e,isVertical:t.includes("bottom")||t.includes("top"),affectsX:t.includes("left"),affectsY:t.includes("top")}}(t),x=null,w=[],_=tM().on("start",t=>{let{nodeLookup:r,transform:i,snapGrid:o,snapToGrid:u,nodeOrigin:a,paneDomNode:l}=n();if(!(f=r.get(e)))return;x=l?.getBoundingClientRect()??null;let{xSnapped:c,ySnapped:h}=nH(t.sourceEvent,{transform:i,snapGrid:o,snapToGrid:u,containerBounds:x});if(m={...g={width:f.measured.width??0,height:f.measured.height??0,x:f.position.x??0,y:f.position.y??0},pointerX:c,pointerY:h,aspectRatio:g.width/g.height},d=void 0,f.parentId&&("parent"===f.extent||f.expandParent)){var v;p=(d=r.get(f.parentId))&&"parent"===f.extent?[[0,0],[(v=d).measured.width,v.measured.height]]:void 0}for(let[t,n]of(w=[],y=void 0,r))if(n.parentId===e&&(w.push({id:t,position:{...n.position},extent:n.extent}),"parent"===n.extent||n.expandParent)){let t=function(t,e,n){let r=e.position.x+t.position.x,i=e.position.y+t.position.y,o=t.measured.width??0,u=t.measured.height??0,a=n[0]*o,s=n[1]*u;return[[r-a,i-s],[r+o-a,i+u-s]]}(n,f,n.origin??a);y=y?[[Math.min(t[0][0],y[0][0]),Math.min(t[0][1],y[0][1])],[Math.max(t[1][0],y[1][0]),Math.max(t[1][1],y[1][1])]]:t}s?.(t,{...g})}).on("drag",t=>{let{transform:e,snapGrid:i,snapToGrid:o,nodeOrigin:s}=n(),c=nH(t.sourceEvent,{transform:e,snapGrid:i,snapToGrid:o,containerBounds:x}),_=[];if(!f)return;let{x:b,y:M,width:E,height:k}=g,$={},A=f.origin??s,{width:z,height:S,x:N,y:I}=function(t,e,n,r,i,o,u,a){let{affectsX:s,affectsY:l}=e,{isHorizontal:c,isVertical:h}=e,f=c&&h,{xSnapped:d,ySnapped:p}=n,{minWidth:y,maxWidth:g,minHeight:m,maxHeight:v}=r,{x:x,y:w,width:_,height:b,aspectRatio:M}=t,E=Math.floor(c?d-t.pointerX:0),k=Math.floor(h?p-t.pointerY:0),$=_+(s?-E:E),A=b+(l?-k:k),z=-o[0]*_,S=-o[1]*b,N=rI($,y,g),I=rI(A,m,v);if(u){let t=0,e=0;s&&E<0?t=rS(x+E+z,u[0][0]):!s&&E>0&&(t=rN(x+$+z,u[1][0])),l&&k<0?e=rS(w+k+S,u[0][1]):!l&&k>0&&(e=rN(w+A+S,u[1][1])),N=Math.max(N,t),I=Math.max(I,e)}if(a){let t=0,e=0;s&&E>0?t=rN(x+E,a[0][0]):!s&&E<0&&(t=rS(x+$,a[1][0])),l&&k>0?e=rN(w+k,a[0][1]):!l&&k<0&&(e=rS(w+A,a[1][1])),N=Math.max(N,t),I=Math.max(I,e)}if(i&&(c&&(N=Math.max(N,rI($/M,m,v)*M),u&&(N=Math.max(N,(s||l)&&(!s||l||!f)?rS(w+S+(s?E:-E)/M,u[0][1])*M:rN(w+S+$/M,u[1][1])*M)),a&&(N=Math.max(N,(s||l)&&(!s||l||!f)?rN(w+(s?E:-E)/M,a[0][1])*M:rS(w+$/M,a[1][1])*M))),h&&(I=Math.max(I,rI(A*M,y,g)/M),u&&(I=Math.max(I,(s||l)&&(!l||s||!f)?rS(x+(l?k:-k)*M+z,u[0][0])/M:rN(x+A*M+z,u[1][0])/M)),a&&(I=Math.max(I,(s||l)&&(!l||s||!f)?rN(x+(l?k:-k)*M,a[0][0])/M:rS(x+A*M,a[1][0])/M)))),k+=k<0?I:-I,E+=E<0?N:-N,i){if(f){var T,P,H,B;$>A*M?k=((T=s,P=l,T?!P:P)?-E:E)/M:E=((H=s,B=l,H?!B:B)?-k:k)*M}else c?(k=E/M,l=s):(E=k*M,s=l)}let O=s?x+E:x,C=l?w+k:w;return{width:_+(s?-E:E),height:b+(l?-k:k),x:o[0]*E*(s?-1:1)+O,y:o[1]*k*(l?-1:1)+C}}(m,v,c,u,a,A,p,y),T=z!==E,P=S!==k,H=N!==b&&T,B=I!==M&&P;if(!H&&!B&&!T&&!P)return;if((H||B||1===A[0]||1===A[1])&&($.x=H?N:g.x,$.y=B?I:g.y,g.x=$.x,g.y=$.y,w.length>0)){let t=N-b,e=I-M;for(let n of w)n.position={x:n.position.x-t+A[0]*(z-E),y:n.position.y-e+A[1]*(S-k)},_.push(n)}if((T||P)&&($.width=T?z:g.width,$.height=P?S:g.height,g.width=$.width,g.height=$.height),d&&f.expandParent){let t=A[0]*($.width??0);$.x&&$.x<t&&(g.x=t,m.x=m.x-($.x-t));let e=A[1]*($.height??0);$.y&&$.y<e&&(g.y=e,m.y=m.y-($.y-e))}let O=function({width:t,prevWidth:e,height:n,prevHeight:r,affectsX:i,affectsY:o}){let u=t-e,a=n-r,s=[u>0?1:u<0?-1:0,a>0?1:a<0?-1:0];return u&&i&&(s[0]=-1*s[0]),a&&o&&(s[1]=-1*s[1]),s}({width:g.width,prevWidth:E,height:g.height,prevHeight:k,affectsX:v.affectsX,affectsY:v.affectsY}),C={...g,direction:O};!1!==h?.(t,C)&&(l?.(t,C),r($,_))}).on("end",t=>{c?.(t,{...g}),i?.()});o.call(_)},destroy:function(){o.on(".drag",null)}}}},52033:function(t,e,n){var r=n(26194),i=n(26789)(r);t.exports=i},98129:function(t,e,n){var r=n(52033);t.exports=function(t,e){var n=[];return r(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}},49819:function(t,e,n){var r=n(18911)();t.exports=r},26194:function(t,e,n){var r=n(49819),i=n(50098);t.exports=function(t,e){return t&&r(t,e,i)}},26789:function(t,e,n){var r=n(80068);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var o=n.length,u=e?o:-1,a=Object(n);(e?u--:++u<o)&&!1!==i(a[u],u,a););return n}}},18911:function(t){t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),u=r(e),a=u.length;a--;){var s=u[t?a:++i];if(!1===n(o[s],s,o))break}return e}}},69238:function(t,e,n){var r=n(10263),i=n(98129),o=n(89278),u=n(19785);t.exports=function(t,e){return(u(t)?r:i)(t,o(e,3))}},31159:function(t){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},51901:function(){},33834:function(t,e,n){"use strict";var r=n(27378),i="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},o=r.useState,u=r.useEffect,a=r.useLayoutEffect,s=r.useDebugValue;function l(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!i(t,n)}catch(t){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(t,e){return e()}:function(t,e){var n=e(),r=o({inst:{value:n,getSnapshot:e}}),i=r[0].inst,c=r[1];return a(function(){i.value=n,i.getSnapshot=e,l(i)&&c({inst:i})},[t,n,e]),u(function(){return l(i)&&c({inst:i}),t(function(){l(i)&&c({inst:i})})},[t]),s(n),n};e.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},92959:function(t,e,n){"use strict";var r=n(27378),i=n(70644),o="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},u=i.useSyncExternalStore,a=r.useRef,s=r.useEffect,l=r.useMemo,c=r.useDebugValue;e.useSyncExternalStoreWithSelector=function(t,e,n,r,i){var h=a(null);if(null===h.current){var f={hasValue:!1,value:null};h.current=f}else f=h.current;var d=u(t,(h=l(function(){function t(t){if(!s){if(s=!0,u=t,t=r(t),void 0!==i&&f.hasValue){var e=f.value;if(i(e,t))return a=e}return a=t}if(e=a,o(u,t))return e;var n=r(t);return void 0!==i&&i(e,n)?(u=t,e):(u=t,a=n)}var u,a,s=!1,l=void 0===n?null:n;return[function(){return t(e())},null===l?void 0:function(){return t(l())}]},[e,n,r,i]))[0],h[1]);return s(function(){f.hasValue=!0,f.value=d},[d]),c(d),d}},70644:function(t,e,n){"use strict";t.exports=n(33834)},60626:function(t,e,n){"use strict";t.exports=n(92959)},7008:function(t,e,n){"use strict";n.d(e,{Z:function(){return function t(e){if("string"==typeof e||"number"==typeof e)return""+e;let n="";if(Array.isArray(e))for(let r=0,i;r<e.length;r++)""!==(i=t(e[r]))&&(n+=(n&&" ")+i);else for(let t in e)e[t]&&(n+=(n&&" ")+t);return n}}})},4157:function(t,e,n){"use strict";function r(t,e){if(Object.is(t,e))return!0;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[n,r]of t)if(!Object.is(r,e.get(n)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}let n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(e,r)||!Object.is(t[r],e[r]))return!1;return!0}n.d(e,{X:function(){return r}})},22353:function(t,e,n){"use strict";n.d(e,{F:function(){return f},s:function(){return c}});var r=n(27378),i=n(60626);let o=t=>{let e;let n=new Set,r=(t,r)=>{let i="function"==typeof t?t(e):t;if(!Object.is(i,e)){let t=e;e=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({},e,i),n.forEach(n=>n(e,t))}},i=()=>e,o={setState:r,getState:i,getInitialState:()=>u,subscribe:t=>(n.add(t),()=>n.delete(t)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=e=t(r,i,o);return o},u=t=>t?o(t):o,{useDebugValue:a}=r,{useSyncExternalStoreWithSelector:s}=i,l=t=>t;function c(t,e=l,n){let r=s(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return a(r),r}let h=(t,e)=>{let n=u(t),r=(t,r=e)=>c(n,t,r);return Object.assign(r,n),r},f=(t,e)=>t?h(t,e):h}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1821],{95492:function(e,s,n){n.d(s,{l:function(){return i}});var t=n(24246);let i=(0,n(39158).IUT)({displayName:"TrashCanSolidIcon",viewBox:"0 0 12 15",path:(0,t.jsx)("path",{d:"M8.37857 1.18083C8.23393 0.892838 7.93661 0.710938 7.6125 0.710938H4.3875C4.06339 0.710938 3.76607 0.892838 3.62143 1.18083L3.42857 1.56094H0.857143C0.383036 1.56094 -1.19209e-07 1.94158 -1.19209e-07 2.41094C-1.19209e-07 2.8803 0.383036 3.26094 0.857143 3.26094H11.1429C11.6162 3.26094 12 2.8803 12 2.41094C12 1.94158 11.6162 1.56094 11.1429 1.56094H8.57143L8.37857 1.18083ZM11.167 4.11094H0.857143V12.6109C0.857143 13.5486 1.62589 14.3109 2.57143 14.3109H9.45268C10.3754 14.3109 11.167 13.5486 11.167 12.6109V4.11094ZM9.02411 6.23594V12.1859C9.02411 12.4197 8.80714 12.6109 8.59554 12.6109C8.33571 12.6109 8.16696 12.4197 8.16696 12.1859V6.23594C8.16696 6.00219 8.33571 5.81094 8.59554 5.81094C8.80714 5.81094 9.02411 6.00219 9.02411 6.23594ZM6.45268 6.23594V12.1859C6.45268 12.4197 6.23571 12.6109 6.02411 12.6109C5.76429 12.6109 5.57143 12.4197 5.57143 12.1859V6.23594C5.57143 6.00219 5.76429 5.81094 6.02411 5.81094C6.23571 5.81094 6.45268 6.00219 6.45268 6.23594ZM3.85714 6.23594V12.1859C3.85714 12.4197 3.66429 12.6109 3.42857 12.6109C3.19286 12.6109 3 12.4197 3 12.1859V6.23594C3 6.00219 3.19286 5.81094 3.42857 5.81094C3.66429 5.81094 3.85714 6.00219 3.85714 6.23594Z",fill:"currentColor"})})},77213:function(e,s,n){n.d(s,{Z:function(){return p}});var t=n(24246),i=n(39158),a=n(88038),r=n.n(a),l=n(86677);n(27378);var o=n(25980),d=n(90867),c=n(42478),u=n(77830),m=()=>{let e=(0,l.useRouter)();return(0,t.jsx)(i.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,t.jsxs)(i.xuv,{children:[(0,t.jsxs)(i.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,t.jsx)(i.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,t.jsx)(i.wpx,{onClick:()=>{e.push(u.AD)},children:"Configure"})]}),(0,t.jsxs)(i.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},p=e=>{let{children:s,title:n,padded:a=!0,mainProps:u}=e,p=(0,o.hz)(),h=(0,l.useRouter)(),g="/privacy-requests"===h.pathname||"/datastore-connection"===h.pathname,x=!(p.flags.messagingConfiguration&&g),{data:f}=(0,c.JE)(void 0,{skip:x}),{data:j}=(0,d.PW)(void 0,{skip:x}),w=p.flags.messagingConfiguration&&(!f||!j)&&g;return(0,t.jsxs)(i.kCb,{"data-testid":n,direction:"column",h:"100vh",children:[(0,t.jsxs)(r(),{children:[(0,t.jsxs)("title",{children:["Fides Admin UI - ",n]}),(0,t.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,t.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,t.jsxs)(i.kCb,{as:"main",direction:"column",py:a?6:0,px:a?10:0,h:a?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...u,children:[w?(0,t.jsx)(m,{}):null,s]})]})}},58754:function(e,s,n){var t=n(24246),i=n(39158),a=n(70788);s.Z=e=>{let{heading:s,breadcrumbItems:n,isSticky:r=!0,children:l,rightContent:o,style:d,...c}=e;return(0,t.jsxs)("div",{...c,style:r?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...d}:{paddingBottom:"24px",...d},children:[(0,t.jsxs)(i.jqI,{justify:"space-between",children:["string"==typeof s?(0,t.jsx)(i.lQT,{className:n||l?"pb-4":void 0,level:1,"data-testid":"page-heading",children:s}):s,o&&(0,t.jsx)("div",{"data-testid":"page-header-right-content",children:o})]}),!!n&&(0,t.jsx)(a.m,{className:l?"pb-4":void 0,items:n,"data-testid":"page-breadcrumb"}),l]})}},19904:function(e,s,n){n.d(s,{Tg:function(){return r}});var t=n(24246),i=n(16134),a=n(31793);let r=e=>(0,i.C)(a.uu).filter(s=>e.includes(s)).length>0;s.ZP=e=>{let{scopes:s,children:n}=e;return r(s)?(0,t.jsx)(t.Fragment,{children:n}):null}},70788:function(e,s,n){n.d(s,{m:function(){return d}});var t=n(24246),i=n(39158),a=n(79894),r=n.n(a),l=n(27378);let{Text:o}=i.AntTypography,d=e=>{let{items:s,...n}=e,a=(0,l.useMemo)(()=>null==s?void 0:s.map((e,n)=>{let a=n===s.length-1,l={...e},d=l.onClick&&!l.href;return("string"==typeof l.title&&(l.title=(0,t.jsx)(o,{style:{color:"inherit",maxWidth:a?void 0:400},ellipsis:!a,id:a?"breadcrumb-current-page":void 0,children:l.title})),d)?l.title=(0,t.jsx)(i.wpx,{type:"text",size:"small",icon:l.icon,onClick:l.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:l.title}):(l.icon&&(l.title=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"anticon align-text-bottom",children:l.icon}),l.title]})),l.href&&l.title&&(l.title=(0,t.jsx)(r(),{href:l.href,className:"ant-breadcrumb-link",children:l.title}),delete l.href)),l}),[s]);return(0,t.jsx)(i.zrq,{items:a,...n})}},42478:function(e,s,n){n.d(s,{FU:function(){return d},JE:function(){return i},Ki:function(){return u},SU:function(){return m},W:function(){return p},h9:function(){return a},jc:function(){return t},qt:function(){return o},sn:function(){return c}});let{useGetEmailInviteStatusQuery:t,useGetActiveMessagingProviderQuery:i,useCreateMessagingConfigurationMutation:a,useCreateMessagingConfigurationSecretsMutation:r,useGetMessagingConfigurationDetailsQuery:l,useGetMessagingConfigurationsQuery:o,useGetMessagingConfigurationByKeyQuery:d,useUpdateMessagingConfigurationByKeyMutation:c,useUpdateMessagingConfigurationSecretsByKeyMutation:u,useCreateTestConnectionMessageMutation:m,useDeleteMessagingConfigurationByKeyMutation:p}=n(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,s,n,t)=>{let i=await t({url:"messaging/default/active"});return i.error&&404===i.error.status?{data:null}:i},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})},61038:function(e,s,n){var t=n(24246),i=n(39158),a=n(34090),r=n(86677);n(27378);var l=n(55484),o=n(16134),d=n(40324),c=n(812),u=n(77830),m=n(46628),p=n(65497);let h={username:"",usernameConfirmation:""},g=e=>{let{id:s,username:n,onClose:t}=e,a=(0,i.pmc)(),d=(0,r.useRouter)(),h=(0,o.T)(),[g]=(0,p.I1)();return{handleDeleteUser:async()=>{let e=await g(s);(0,c.D4)(e)?a((0,m.Vo)((0,c.e$)(e.error))):(a((0,m.t5)("Successfully deleted user")),t()),h((0,p.Vv)(void 0)),d.push(u.e3)},validationSchema:l.Ry().shape({usernameConfirmation:l.Z_().required().oneOf([n],"Confirmation input must match the username").label("Username confirmation")})}};s.Z=e=>{let{user:s,...n}=e,{isOpen:r,onClose:l}=n,{handleDeleteUser:o,validationSchema:c}=g({id:s.id,username:s.username,onClose:l});return(0,t.jsxs)(i.u_l,{isCentered:!0,isOpen:r,onClose:l,children:[(0,t.jsx)(i.ZAr,{}),(0,t.jsx)(i.hzk,{"data-testid":"delete-user-modal",children:(0,t.jsx)(a.J9,{initialValues:h,validationSchema:c,onSubmit:o,children:e=>{let{isSubmitting:n,dirty:r,isValid:o}=e;return(0,t.jsxs)(a.l0,{children:[(0,t.jsx)(i.xBx,{children:"Delete User"}),(0,t.jsx)(i.olH,{}),(0,t.jsxs)(i.fef,{children:[(0,t.jsxs)(i.bZj,{status:"warning",overflow:"visible",colorScheme:"warn",marginBottom:4,children:[(0,t.jsx)(i.zMQ,{}),(0,t.jsxs)(i.XaZ,{children:[(0,t.jsx)(i.xvT,{as:"span",mb:2,children:"You are about to delete the user\xa0"}),(0,t.jsxs)(i.xvT,{as:"span",mb:2,fontStyle:"italic",fontWeight:"semibold",children:[s.username,"."]}),(0,t.jsx)(i.xvT,{mb:2,children:"This action cannot be undone. To confirm, please enter the user’s username below."})]})]}),(0,t.jsx)(i.Kqy,{direction:"column",spacing:4,children:(0,t.jsx)(d.j0,{name:"usernameConfirmation",label:"Confirm username",placeholder:"Type the username to delete"})})]}),(0,t.jsx)(i.mzw,{children:(0,t.jsxs)("div",{className:"flex w-full gap-2",children:[(0,t.jsx)(i.wpx,{onClick:l,className:"w-1/2",children:"Cancel"}),(0,t.jsx)(i.wpx,{type:"primary",disabled:!r||!o,loading:n,htmlType:"submit",className:"w-1/2","data-testid":"submit-btn",children:"Delete User"})]})})]})}})})]})}},83696:function(e,s,n){n.d(s,{Z:function(){return et}});var t=n(24246),i=n(39158),a=n(91437),r=()=>(0,t.jsxs)(i.xuv,{children:[(0,t.jsx)(i.xuv,{pb:4,fontSize:"18px",fontWeight:"semibold",children:"Role Description"}),(0,t.jsx)(i.gCW,{spacing:4,children:a.K.map(e=>(0,t.jsxs)(i.xuv,{width:"100%",padding:4,borderRadius:"md",backgroundColor:"gray.75",fontSize:"14px",children:[(0,t.jsx)(i.xuv,{fontWeight:"semibold",children:e.label}),(0,t.jsx)(i.xuv,{color:"gray.700",children:e.description})]},e.roleKey))})]}),l=n(16134),o=n(60240),d=n(19904),c=n(34090),u=n(86677),m=n(27378),p=n(812),h=n(46238),g=n(58452),x=n(77830),f=n(46628),j=n(26917),w=n(1315),y=n(95492),b=n(65497);let v=e=>{let{assignedSystems:s,onAssignedSystemChange:n}=e,a=(0,l.C)(b.Ux);if((0,b.d6)(a,{skip:!a}),0===s.length)return null;let r=e=>{n(s.filter(s=>s.fides_key!==e.fides_key))};return(0,t.jsxs)(i.iA_,{size:"sm","data-testid":"assign-systems-delete-table",children:[(0,t.jsx)(i.hrZ,{children:(0,t.jsxs)(i.Tr,{children:[(0,t.jsx)(i.Th,{children:"System"}),(0,t.jsx)(i.Th,{})]})}),(0,t.jsx)(i.p3B,{children:s.map(e=>(0,t.jsxs)(i.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,t.jsx)(i.Td,{children:e.name}),(0,t.jsx)(i.Td,{textAlign:"end",children:(0,t.jsx)(i.wpx,{"aria-label":"Unassign system from user",icon:(0,t.jsx)(y.l,{}),onClick:()=>r(e),"data-testid":"unassign-btn"})})]},e.fides_key))})]})};var C=e=>{let{allSystems:s,assignedSystems:n,onChange:a}=e,r=e=>{n.find(s=>s.fides_key===e.fides_key)?a(n.filter(s=>s.fides_key!==e.fides_key)):a([...n,e])};return(0,t.jsx)(i.xuv,{overflowY:"auto",maxHeight:"300px",children:(0,t.jsxs)(i.iA_,{size:"sm","data-testid":"assign-systems-table",maxHeight:"50vh",overflowY:"scroll",children:[(0,t.jsx)(i.hrZ,{position:"sticky",top:0,background:"white",zIndex:1,children:(0,t.jsxs)(i.Tr,{children:[(0,t.jsx)(i.Th,{children:"System"}),(0,t.jsx)(i.Th,{children:"Assign"})]})}),(0,t.jsx)(i.p3B,{children:s.map(e=>{let s=!!n.find(s=>s.fides_key===e.fides_key);return(0,t.jsxs)(i.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,t.jsx)(i.Td,{children:e.name}),(0,t.jsx)(i.Td,{children:(0,t.jsx)(i.rAg,{checked:s,onChange:()=>r(e),"data-testid":"assign-switch"})})]},e.fides_key)})})]})})};let _=(e,s)=>{var n,t;return(null===(n=e.name)||void 0===n?void 0:n.toLocaleLowerCase().includes(s.toLocaleLowerCase()))||(null===(t=e.description)||void 0===t?void 0:t.toLocaleLowerCase().includes(s.toLocaleLowerCase()))};var S=e=>{let{isOpen:s,onClose:n,assignedSystems:a,onAssignedSystemChange:r}=e,{data:l}=(0,w.K3)(),[o,d]=(0,m.useState)(""),[c,u]=(0,m.useState)(a),p=async()=>{r(c),n()},h=!l||0===l.length,g=(0,m.useMemo)(()=>l?l.filter(e=>_(e,o)):[],[l,o]),x=(0,m.useMemo)(()=>{let e=new Set(c.map(e=>e.fides_key));return g.every(s=>e.has(s.fides_key))},[g,c]);return(0,t.jsxs)(i.u_l,{isOpen:s,onClose:n,size:"2xl",children:[(0,t.jsx)(i.ZAr,{}),(0,t.jsxs)(i.hzk,{p:8,"data-testid":"confirmation-modal",children:[(0,t.jsxs)(i.xBx,{fontWeight:"medium",display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,t.jsx)(i.xvT,{children:"Assign systems"}),(0,t.jsxs)(i.j8w,{color:"success",children:["Assigned to ",a.length," systems"]})]}),(0,t.jsx)(i.fef,{"data-testid":"assign-systems-modal-body",children:h?(0,t.jsx)(i.xvT,{children:"No systems found"}):(0,t.jsxs)(i.Kqy,{spacing:4,children:[(0,t.jsxs)(i.kCb,{justifyContent:"space-between",children:[(0,t.jsx)(i.xvT,{fontSize:"sm",flexGrow:1,fontWeight:"medium",children:"Assign systems in your organization to this user"}),(0,t.jsx)(i.xuv,{children:(0,t.jsxs)(i.NIc,{display:"flex",alignItems:"center",children:[(0,t.jsx)(i.lXp,{fontSize:"sm",htmlFor:"assign-all-systems",mb:"0",children:"Assign all systems"}),(0,t.jsx)(i.rAg,{size:"small",id:"assign-all-systems",checked:x,onChange:e=>{e&&l?u(g):u(l?l.filter(e=>!g.includes(e)):[])},"data-testid":"assign-all-systems-toggle"})]})})]}),(0,t.jsx)(j.Z,{value:o,onChange:d,placeholder:"Search for systems","data-testid":"system-search"}),(0,t.jsx)(C,{allSystems:g,assignedSystems:c,onChange:u})]})}),(0,t.jsx)(i.mzw,{justifyContent:"flex-start",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(i.wpx,{onClick:n,className:"mr-2","data-testid":"cancel-btn",children:"Cancel"}),h?null:(0,t.jsx)(i.wpx,{type:"primary",onClick:p,"data-testid":"confirm-btn",children:"Confirm"})]})})]})]})},T=e=>{let{label:s,roleKey:n,isSelected:a,isDisabled:r,assignedSystems:l,onAssignedSystemChange:d}=e,{setFieldValue:u}=(0,c.u6)(),m=(0,i.qY0)(),p=r?"You do not have sufficient permissions to assign this role.":void 0;return a?(0,t.jsxs)(i.Kqy,{borderRadius:"md",border:"1px solid",borderColor:"gray.200",p:4,backgroundColor:"gray.50","aria-selected":"true",spacing:4,"data-testid":"selected",children:[(0,t.jsxs)(i.kCb,{alignItems:"center",justifyContent:"space-between",children:[(0,t.jsx)(i.xvT,{fontSize:"md",fontWeight:"semibold",children:s}),(0,t.jsx)(i.StI,{})]}),n!==o.A7.APPROVER&&n!==o.A7.RESPONDENT&&n!==o.A7.EXTERNAL_RESPONDENT?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(i.kCb,{alignItems:"center",children:[(0,t.jsx)(i.xvT,{fontSize:"sm",fontWeight:"semibold",mr:1,children:"Assigned systems"}),(0,t.jsx)(h.b,{label:"Assigned systems refer to those systems that have been specifically allocated to a user for management purposes. Users assigned to a system possess full edit permissions and are listed as the Data Steward for the respective system."})]}),(0,t.jsx)(i.wpx,{disabled:r,title:p,type:"primary",size:"small",onClick:m.onOpen,"data-testid":"assign-systems-btn",children:"Assign systems +"}),(0,t.jsx)(v,{assignedSystems:l,onAssignedSystemChange:d}),m.isOpen?(0,t.jsx)(S,{isOpen:m.isOpen,onClose:m.onClose,assignedSystems:l,onAssignedSystemChange:d}):null]}):null]}):(0,t.jsx)(i.wpx,{onClick:()=>{u("roles",[n])},"data-testid":"role-option-".concat(s),title:p,disabled:r,children:s})};let k={roles:[]};var E=()=>{var e,s;let n=(0,i.pmc)(),r=(0,u.useRouter)(),j=(0,l.C)(b.Ux);(0,b.d6)(j,{skip:!j});let{isOpen:w,onOpen:y,onClose:v}=(0,i.qY0)(),C=(0,l.C)(b.R$),[_,S]=(0,m.useState)(C),[E]=(0,b.G$)();(0,m.useEffect)(()=>{S(C)},[C]);let{data:R,isLoading:A}=(0,b.gU)(null!=j?j:"",{skip:!j}),[P]=(0,b.lD)(),N=!!(null==R?void 0:null===(e=R.roles)||void 0===e?void 0:e.includes(o.A7.EXTERNAL_RESPONDENT)),q=async e=>{if(w&&v(),!j)return;let s=e.roles.includes(o.A7.APPROVER),t=await P({user_id:j,payload:{roles:e.roles}});if((0,p.D4)(t)){n((0,f.Vo)((0,p.e$)(t.error)));return}if(!s){let e=_.map(e=>e.fides_key),s=await E({userId:j,fidesKeys:e});if((0,p.D4)(s)){n((0,f.Vo)((0,p.e$)(s.error)));return}}n((0,f.t5)("Permissions updated"))},O=async e=>{j&&(_.length>0&&e.roles.includes(o.A7.APPROVER)?y():await q(e))},I=(0,d.Tg)([o.Sh.USER_PERMISSION_ASSIGN_OWNERS]);if(!j)return null;if(A)return(0,t.jsx)(i.$jN,{});if(!I&&(null==R?void 0:null===(s=R.roles)||void 0===s?void 0:s.includes(o.A7.OWNER)))return(0,t.jsx)(i.xvT,{"data-testid":"insufficient-access",children:"You do not have sufficient access to change this user's permissions."});let M=(null==R?void 0:R.roles)?{roles:R.roles}:k,z=a.K.filter(e=>N?e.roleKey===o.A7.EXTERNAL_RESPONDENT:e.roleKey!==o.A7.EXTERNAL_RESPONDENT),D=N?"External respondent role cannot be changed":void 0;return(0,t.jsx)(c.J9,{onSubmit:O,initialValues:M,enableReinitialize:!0,children:e=>{let{values:s,isSubmitting:n,dirty:a}=e;return(0,t.jsxs)(c.l0,{children:[(0,t.jsxs)(i.Kqy,{spacing:7,children:[(0,t.jsxs)(i.Kqy,{spacing:3,"data-testid":"role-options",children:[(0,t.jsxs)(i.kCb,{alignItems:"center",children:[(0,t.jsx)(i.xvT,{fontSize:"sm",fontWeight:"semibold",mr:1,children:"User role"}),(0,t.jsx)(h.b,{label:"A user's role in the organization determines what parts of the UI they can access and which functions are available to them."})]}),z.map(e=>{let n=s.roles.indexOf(e.roleKey)>=0,i=e.roleKey===o.A7.OWNER?!I:N;return(0,t.jsx)(T,{isSelected:n,isDisabled:i,assignedSystems:_,onAssignedSystemChange:S,...e},e.roleKey)}),!N&&(0,t.jsx)(i.esZ,{title:"To invite a new External respondent user, create a manual task integration and then click on the 'Manage secure access' button",children:(0,t.jsx)(i.wpx,{disabled:!0,"data-testid":"role-option-External respondent",children:"External respondent"})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(i.wpx,{onClick:()=>r.push(x.e3),children:"Cancel"}),(0,t.jsx)(i.esZ,{title:D,children:(0,t.jsx)(i.wpx,{className:"ml-2",type:"primary",htmlType:"submit",loading:n,disabled:!a&&_===C||N,"data-testid":"save-btn",children:"Save"})})]})]}),(0,t.jsx)(g.Z,{isOpen:w,onClose:v,onConfirm:()=>q(s),title:"Change role to Approver",testId:"downgrade-to-approver-confirmation-modal",continueButtonText:"Yes",message:(0,t.jsx)(i.xvT,{children:"Switching to an approver role will remove all assigned systems. Do you wish to proceed?"})})]})}})},R=n(61038),A=n(55484),P=n(25980),N=n(40324),q=n(96006),O=n(7426),I=n(42478),M=n(76174),z=n(91317),D=n(16125),V=n(36835),U=n(31883),Z=n(52253);let K=(e,s,n)=>{var t;try{localStorage.removeItem(Z.xH)}catch(e){}e((0,V.kS)()),null==n||null===(t=n.onClose)||void 0===t||t.call(n),s.push(Z._e)},W=A.Ry().shape({password:q.a.label("Password"),passwordConfirmation:A.Z_().required().oneOf([A.iH("password")],"Passwords must match").label("Password confirmation")}),B={password:"",passwordConfirmation:""},L=e=>{let s=(0,i.qY0)(),n=(0,i.pmc)(),[t]=(0,b.ls)(),a=(0,u.useRouter)(),r=(0,D.I0)(),o=(0,l.C)(V.dy),d=async i=>{let l=await t({id:e,new_password:i.password});(0,U.D4)(l)?n((0,f.Vo)((0,p.e$)(l.error))):(n((0,f.t5)("Successfully reset user's password. Please inform the user of their new password.")),s.onClose(),(null==o?void 0:o.id)===e&&K(r,a))};return{...s,handleResetPassword:d}};var H=e=>{let{id:s}=e,{handleResetPassword:n,isOpen:a,onClose:r,onOpen:l}=L(s);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.wpx,{onClick:l,"data-testid":"reset-password-btn",children:"Reset password"}),(0,t.jsxs)(i.u_l,{isCentered:!0,isOpen:a,onClose:r,children:[(0,t.jsx)(i.ZAr,{}),(0,t.jsx)(i.hzk,{children:(0,t.jsx)(c.J9,{initialValues:B,validationSchema:W,onSubmit:n,children:e=>{let{isSubmitting:s,dirty:n,isValid:a}=e;return(0,t.jsxs)(c.l0,{children:[(0,t.jsx)(i.xBx,{children:"Reset Password"}),(0,t.jsx)(i.olH,{}),(0,t.jsx)(i.fef,{children:(0,t.jsxs)(i.Kqy,{direction:"column",spacing:4,children:[(0,t.jsx)(i.xvT,{mb:2,children:"Choose a new password for this user."}),(0,t.jsx)(N.j0,{name:"password",label:"Password",placeholder:"********",type:"password",tooltip:"Password must contain at least 8 characters, 1 number, 1 capital letter, 1 lowercase letter, and at least 1 symbol.",autoComplete:"new-password"}),(0,t.jsx)(N.j0,{name:"passwordConfirmation",label:"Confirm Password",placeholder:"********",type:"password",tooltip:"Must match above password.",autoComplete:"confirm-password"})]})}),(0,t.jsx)(i.mzw,{children:(0,t.jsxs)("div",{className:"w-full gap-2",children:[(0,t.jsx)(i.wpx,{onClick:r,className:"w-1/2",children:"Cancel"}),(0,t.jsx)(i.wpx,{type:"primary",disabled:!n||!a,loading:s,htmlType:"submit",className:"w-1/2","data-testid":"submit-btn",children:"Change Password"})]})})]})}})})]})]})};let F=e=>{let s=(0,i.qY0)(),n=(0,i.pmc)(),[t,a]=(0,m.useState)(""),[r,l]=(0,m.useState)(""),[o,{isLoading:d}]=(0,b.ev)(),c=(0,u.useRouter)(),p=(0,D.I0)(),h=!!(e&&r&&t),g=async()=>{h&&o({id:e,old_password:t,new_password:r}).unwrap().then(()=>{n((0,f.t5)("Password updated")),K(p,c,{onClose:s.onClose})})};return{...s,changePasswordValidation:h,handleChange:e=>{"oldPassword"===e.target.name?a(e.target.value):l(e.target.value)},handleChangePassword:g,isLoading:d,newPasswordValue:r,oldPasswordValue:t}};var Y=e=>{let{id:s}=e,{changePasswordValidation:n,handleChange:a,handleChangePassword:r,isLoading:l,isOpen:o,newPasswordValue:d,oldPasswordValue:c,onClose:u,onOpen:m}=F(s);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.wpx,{onClick:m,"data-testid":"update-password-btn",children:"Update password"}),(0,t.jsxs)(i.u_l,{isCentered:!0,isOpen:o,onClose:u,children:[(0,t.jsx)(i.ZAr,{}),(0,t.jsxs)(i.hzk,{children:[(0,t.jsx)(i.xBx,{children:"Update Password"}),(0,t.jsx)(i.olH,{}),(0,t.jsx)(i.fef,{pb:6,children:(0,t.jsxs)(i.Kqy,{direction:"column",spacing:"15px",children:[(0,t.jsx)(i.NIc,{children:(0,t.jsx)(i.IIB,{isRequired:!0,name:"oldPassword",onChange:a,placeholder:"Old Password",type:"password",value:c,"data-testid":"input-oldPassword"})}),(0,t.jsx)(i.NIc,{children:(0,t.jsx)(i.IIB,{isRequired:!0,name:"newPassword",onChange:a,placeholder:"New Password",type:"password",value:d,"data-testid":"input-newPassword"})})]})}),(0,t.jsxs)(i.mzw,{children:[(0,t.jsx)(i.wpx,{onClick:u,className:"mr-2 w-1/2",children:"Cancel"}),(0,t.jsx)(i.wpx,{type:"primary",disabled:!n,loading:l,onClick:r,htmlType:"submit",className:"mr-3 w-1/2","data-testid":"submit-btn",children:"Change Password"})]})]})]})]})},X=()=>{var e;let s=(0,l.C)(b.Ux),n=(0,l.C)(z.dy),a=!!n&&n.id===s,{data:r}=(0,b.gU)(null!=s?s:"",{skip:!s});return(null==r?void 0:null===(e=r.roles)||void 0===e?void 0:e.includes(o.A7.EXTERNAL_RESPONDENT))?null:(0,t.jsx)(i.xuv,{children:s?(0,t.jsxs)(i.Ugi,{children:[a?(0,t.jsx)(Y,{id:s}):null,(0,t.jsx)(d.ZP,{scopes:[o.Sh.USER_PASSWORD_RESET],children:(0,t.jsx)(H,{id:s})})]}):null})};let $=(e,s,n,t)=>!e||e&&!s||e&&s&&!0===n&&!!t,J=(e,s,n)=>!!(e&&s&&n),G=(e,s,n,t,i,a)=>!!e&&!s&&$(n,t,i,a),Q=(e,s,n,t)=>$(e,s,n,t),ee={username:"",first_name:"",email_address:"",last_name:"",password:"",password_login_enabled:!1},es=(e,s,n,t,i)=>A.Ry().shape({username:A.Z_().required().label("Username"),email_address:A.Z_().email().required().label("Email address"),first_name:A.Z_().label("First name"),last_name:A.Z_().label("Last name"),password:A.Z_().when(["password_login_enabled"],{is:a=>G(e,s,n,t,i,a),then:()=>q.a.label("Password"),otherwise:()=>A.Z_().optional().label("Password")}),password_login_enabled:A.O7().label("Allow password login")});var en=e=>{let{onSubmit:s,initialValues:n,canEditNames:a}=e,r=(0,u.useRouter)(),o=(0,i.pmc)(),d=(0,l.T)(),m=(0,i.qY0)(),{data:h}=(0,I.jc)(),{data:g}=(0,M.qv)();(0,O.tB)({api_set:!1});let j=(0,l.C)(b.ZC),w=(0,l.C)(O.iR),{plus:v}=(0,P.hz)(),C=(null==h?void 0:h.enabled)||!1,_=(null==w?void 0:w.allow_username_password_login)||!1,S=!j,T=!S&&!a,k=g&&g.length>0||!1,E=J(v,k,_),A=null!=n?n:ee;j&&"password_login_enabled"in j&&(A={...A,password_login_enabled:!!j.password_login_enabled});let q=es(S,C,v,k,_),z=async e=>{let n=G(S,C,v,k,_,e.password_login_enabled),t={username:e.username,email_address:e.email_address,first_name:e.first_name,last_name:e.last_name};E&&(t.password_login_enabled=e.password_login_enabled),n&&e.password&&(t.password=e.password);let i=await s(t);if((0,p.D4)(i)){o((0,f.Vo)((0,p.e$)(i.error)));return}o((0,f.t5)("".concat(S?"User created. By default, new users are set to the Viewer role. To change the role, please go to the Permissions tab.":"User updated."))),(null==i?void 0:i.data)&&d((0,b.Vv)(i.data.id))};return(0,t.jsx)(c.J9,{onSubmit:z,initialValues:A,validationSchema:q,"data-testid":"user-form",children:e=>{let{dirty:s,isSubmitting:n,isValid:a,values:l}=e;return(0,t.jsx)(c.l0,{children:(0,t.jsxs)(i.Kqy,{maxW:["xs","xs","100%"],width:"100%",spacing:7,children:[(0,t.jsxs)(i.Kqy,{spacing:6,maxWidth:"55%",children:[(0,t.jsxs)(i.kCb,{children:[(0,t.jsxs)(i.xvT,{display:"flex",alignItems:"center",fontSize:"sm",fontWeight:"semibold",children:["Profile"," ",(null==j?void 0:j.disabled)&&(0,t.jsx)(i.j8w,{color:"success",className:"ml-2","data-testid":"invite-sent-badge",children:"Invite sent"})]}),(0,t.jsx)(i.xuv,{marginLeft:"auto",children:(0,t.jsxs)(i.Ugi,{children:[Q(v,k,_||!1,l.password_login_enabled)&&(0,t.jsx)(X,{"data-testid":"password-management"}),S?null:(0,t.jsxs)(i.xuv,{children:[(0,t.jsx)(i.wpx,{"aria-label":"delete",icon:(0,t.jsx)(y.l,{}),onClick:m.onOpen,"data-testid":"delete-user-btn"}),(0,t.jsx)(R.Z,{user:j,...m})]})]})})]}),(0,t.jsx)(N.j0,{name:"username",label:"Username",variant:"block",placeholder:"Enter new username",disabled:!S,isRequired:!0,"data-testid":"input-username"}),(0,t.jsx)(N.j0,{name:"email_address",label:"Email address",variant:"block",placeholder:"Enter email of user",isRequired:!0,"data-testid":"input-email-address"}),(0,t.jsx)(N.j0,{name:"first_name",label:"First name",variant:"block",placeholder:"Enter first name of user",disabled:T,"data-testid":"input-first-name"}),(0,t.jsx)(N.j0,{name:"last_name",label:"Last name",variant:"block",placeholder:"Enter last name of user",disabled:T,"data-testid":"input-last-name"}),E&&(0,t.jsx)(N.w8,{name:"password_login_enabled",label:"Allow password login",tooltip:"When enabled, user can log in with username and password. When disabled, user must use SSO.",variant:"stacked",isDisabled:!S,"data-testid":"toggle-allow-password-login",size:"default"}),G(S,C,v,k,_,l.password_login_enabled)&&(0,t.jsx)(N.j0,{name:"password",label:"Password",variant:"block",placeholder:"********",type:"password",tooltip:"Password must contain at least 8 characters, 1 number, 1 capital letter, 1 lowercase letter, and at least 1 symbol.",isRequired:!0,"data-testid":"input-password"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(i.wpx,{onClick:()=>r.push(x.e3),className:"mr-3","data-testid":"cancel-btn",children:"Cancel"}),(0,t.jsx)(i.wpx,{htmlType:"submit",type:"primary",disabled:!s||!a,loading:n,"data-testid":"save-user-btn",children:"Save"})]})]})})}})},et=e=>{let{onSubmit:s,initialValues:n,...a}=e,c=(0,l.C)(b.Ux);(0,b.Fk)(c,{skip:!c});let u=(0,d.Tg)([o.Sh.USER_PERMISSION_UPDATE]),m=!c||!u,p=[{label:"Profile",key:"profile",children:(0,t.jsx)(en,{onSubmit:s,initialValues:n,...a})},{label:"Permissions",key:"permissions",children:(0,t.jsxs)(i.kCb,{gap:"97px",children:[(0,t.jsx)(i.xuv,{w:{base:"100%",md:"50%",xl:"50%"},children:(0,t.jsx)(E,{})}),(0,t.jsx)(i.xuv,{position:"absolute",top:"96px",right:6,height:"calc(100% + 100px)",overflowY:"scroll",padding:6,w:"35%",borderLeftWidth:"1px",children:(0,t.jsx)(r,{})})]}),disabled:m,forceRender:!m}];return(0,t.jsx)(i.A5g,{items:p})}},91437:function(e,s,n){n.d(s,{K:function(){return i}});var t=n(60240);let i=[{label:"Owner",permissions_label:"Owner",roleKey:t.A7.OWNER,description:"Owners have view and edit access to the whole organization and can create new users"},{label:"Contributor",permissions_label:"Contributor",roleKey:t.A7.CONTRIBUTOR,description:"Contributors can create new users and have view and edit access to the whole organization. Contributors cannot configure storage and messaging services"},{label:"Viewer",permissions_label:"Viewer",roleKey:t.A7.VIEWER,description:"Viewers have view access to the Data Map and all systems"},{label:"Viewer & Approver",permissions_label:"Viewer & Approver",roleKey:t.A7.VIEWER_AND_APPROVER,description:"Viewer & Approvers have view access to the Data Map but can also manage Privacy Requests"},{label:"Approver",permissions_label:"Approver",roleKey:t.A7.APPROVER,description:"Approvers can only access the Privacy Requests portal to review, approve, and create new requests"},{label:"Internal respondent",permissions_label:"Internal respondent",roleKey:t.A7.RESPONDENT,description:"Internal respondents have limited access and can only view and complete manual DSR tasks assigned to them"},{label:"External respondent",permissions_label:"External respondent",roleKey:t.A7.EXTERNAL_RESPONDENT,description:"External respondents can only access the external task portal to complete manual DSR tasks assigned to them"}]},31883:function(e,s,n){n.d(s,{Bw:function(){return t.Bw},D4:function(){return t.D4}});var t=n(19043)}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1840],{58754:function(e,t,n){"use strict";var i=n(24246),r=n(39158),a=n(70788);t.Z=e=>{let{heading:t,breadcrumbItems:n,isSticky:s=!0,children:o,rightContent:l,style:u,...d}=e;return(0,i.jsxs)("div",{...d,style:s?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...u}:{paddingBottom:"24px",...u},children:[(0,i.jsxs)(r.jqI,{justify:"space-between",children:["string"==typeof t?(0,i.jsx)(r.lQT,{className:n||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,l&&(0,i.jsx)("div",{"data-testid":"page-header-right-content",children:l})]}),!!n&&(0,i.jsx)(a.m,{className:o?"pb-4":void 0,items:n,"data-testid":"page-breadcrumb"}),o]})}},70788:function(e,t,n){"use strict";n.d(t,{m:function(){return u}});var i=n(24246),r=n(39158),a=n(79894),s=n.n(a),o=n(27378);let{Text:l}=r.AntTypography,u=e=>{let{items:t,...n}=e,a=(0,o.useMemo)(()=>null==t?void 0:t.map((e,n)=>{let a=n===t.length-1,o={...e},u=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,i.jsx)(l,{style:{color:"inherit",maxWidth:a?void 0:400},ellipsis:!a,id:a?"breadcrumb-current-page":void 0,children:o.title})),u)?o.title=(0,i.jsx)(r.wpx,{type:"text",size:"small",icon:o.icon,onClick:o.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:o.title}):(o.icon&&(o.title=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:"anticon align-text-bottom",children:o.icon}),o.title]})),o.href&&o.title&&(o.title=(0,i.jsx)(s(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[t]);return(0,i.jsx)(r.zrq,{items:a,...n})}},42478:function(e,t,n){"use strict";n.d(t,{FU:function(){return u},JE:function(){return r},Ki:function(){return c},SU:function(){return g},W:function(){return f},h9:function(){return a},jc:function(){return i},qt:function(){return l},sn:function(){return d}});let{useGetEmailInviteStatusQuery:i,useGetActiveMessagingProviderQuery:r,useCreateMessagingConfigurationMutation:a,useCreateMessagingConfigurationSecretsMutation:s,useGetMessagingConfigurationDetailsQuery:o,useGetMessagingConfigurationsQuery:l,useGetMessagingConfigurationByKeyQuery:u,useUpdateMessagingConfigurationByKeyMutation:d,useUpdateMessagingConfigurationSecretsByKeyMutation:c,useCreateTestConnectionMessageMutation:g,useDeleteMessagingConfigurationByKeyMutation:f}=n(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,t,n,i)=>{let r=await i({url:"messaging/default/active"});return r.error&&404===r.error.status?{data:null}:r},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})},76737:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return o},noSSR:function(){return s}});let i=n(51538);n(24246),n(27378);let r=i._(n(21887));function a(e){return{default:(null==e?void 0:e.default)||e}}function s(e,t){return delete t.webpack,delete t.modules,e(t)}function o(e,t){let n=r.default,i={loading:e=>{let{error:t,isLoading:n,pastDelay:i}=e;return null}};e instanceof Promise?i.loader=()=>e:"function"==typeof e?i.loader=e:"object"==typeof e&&(i={...i,...e});let o=(i={...i,...t}).loader;return(i.loadableGenerated&&(i={...i,...i.loadableGenerated},delete i.loadableGenerated),"boolean"!=typeof i.ssr||i.ssr)?n({...i,loader:()=>null!=o?o().then(a):Promise.resolve(a(()=>null))}):(delete i.webpack,delete i.modules,s(n,i))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},28438:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"LoadableContext",{enumerable:!0,get:function(){return i}});let i=n(51538)._(n(27378)).default.createContext(null)},21887:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return g}});let i=n(51538)._(n(27378)),r=n(28438),a=[],s=[],o=!1;function l(e){let t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then(e=>(n.loading=!1,n.loaded=e,e)).catch(e=>{throw n.loading=!1,n.error=e,e}),n}class u{promise(){return this._res.promise}retry(){this._clearTimeouts(),this._res=this._loadFn(this._opts.loader),this._state={pastDelay:!1,timedOut:!1};let{_res:e,_opts:t}=this;e.loading&&("number"==typeof t.delay&&(0===t.delay?this._state.pastDelay=!0:this._delay=setTimeout(()=>{this._update({pastDelay:!0})},t.delay)),"number"==typeof t.timeout&&(this._timeout=setTimeout(()=>{this._update({timedOut:!0})},t.timeout))),this._res.promise.then(()=>{this._update({}),this._clearTimeouts()}).catch(e=>{this._update({}),this._clearTimeouts()}),this._update({})}_update(e){this._state={...this._state,error:this._res.error,loaded:this._res.loaded,loading:this._res.loading,...e},this._callbacks.forEach(e=>e())}_clearTimeouts(){clearTimeout(this._delay),clearTimeout(this._timeout)}getCurrentValue(){return this._state}subscribe(e){return this._callbacks.add(e),()=>{this._callbacks.delete(e)}}constructor(e,t){this._loadFn=e,this._opts=t,this._callbacks=new Set,this._delay=null,this._timeout=null,this.retry()}}function d(e){return function(e,t){let n=Object.assign({loader:null,loading:null,delay:200,timeout:null,webpack:null,modules:null},t),a=null;function l(){if(!a){let t=new u(e,n);a={getCurrentValue:t.getCurrentValue.bind(t),subscribe:t.subscribe.bind(t),retry:t.retry.bind(t),promise:t.promise.bind(t)}}return a.promise()}if(!o){let e=n.webpack?n.webpack():n.modules;e&&s.push(t=>{for(let n of e)if(t.includes(n))return l()})}function d(e,t){!function(){l();let e=i.default.useContext(r.LoadableContext);e&&Array.isArray(n.modules)&&n.modules.forEach(t=>{e(t)})}();let s=i.default.useSyncExternalStore(a.subscribe,a.getCurrentValue,a.getCurrentValue);return i.default.useImperativeHandle(t,()=>({retry:a.retry}),[]),i.default.useMemo(()=>{var t;return s.loading||s.error?i.default.createElement(n.loading,{isLoading:s.loading,pastDelay:s.pastDelay,timedOut:s.timedOut,error:s.error,retry:a.retry}):s.loaded?i.default.createElement((t=s.loaded)&&t.default?t.default:t,e):null},[e,s])}return d.preload=()=>l(),d.displayName="LoadableComponent",i.default.forwardRef(d)}(l,e)}function c(e,t){let n=[];for(;e.length;){let i=e.pop();n.push(i(t))}return Promise.all(n).then(()=>{if(e.length)return c(e,t)})}d.preloadAll=()=>new Promise((e,t)=>{c(a).then(e,t)}),d.preloadReady=e=>(void 0===e&&(e=[]),new Promise(t=>{let n=()=>(o=!0,t());c(s,e).then(n,n)})),window.__NEXT_PRELOADREADY=d.preloadReady;let g=d},65218:function(e,t,n){e.exports=n(76737)}}]);