masks-server 0.7.0

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 (816) hide show
  1. checksums.yaml +7 -0
  2. data/app/controllers/concerns/masks/server/client_authentication.rb +65 -0
  3. data/app/controllers/concerns/masks/server/holds_login.rb +49 -0
  4. data/app/controllers/concerns/masks/server/manage_endpoint.rb +34 -0
  5. data/app/controllers/concerns/masks/server/rack_oauth2_endpoint.rb +45 -0
  6. data/app/controllers/concerns/masks/server/resource_token.rb +145 -0
  7. data/app/controllers/concerns/masks/server/saml_farewells.rb +53 -0
  8. data/app/controllers/concerns/masks/server/scim_endpoint.rb +100 -0
  9. data/app/controllers/concerns/masks/server/serves_pictures.rb +27 -0
  10. data/app/controllers/concerns/masks/server/token_presented.rb +47 -0
  11. data/app/controllers/masks/server/account_controller.rb +73 -0
  12. data/app/controllers/masks/server/account_exports_controller.rb +25 -0
  13. data/app/controllers/masks/server/addresses_controller.rb +78 -0
  14. data/app/controllers/masks/server/application_controller.rb +322 -0
  15. data/app/controllers/masks/server/apps_controller.rb +37 -0
  16. data/app/controllers/masks/server/authenticator_apps_controller.rb +53 -0
  17. data/app/controllers/masks/server/authorize_controller.rb +197 -0
  18. data/app/controllers/masks/server/avatars_controller.rb +118 -0
  19. data/app/controllers/masks/server/backup_codes_controller.rb +29 -0
  20. data/app/controllers/masks/server/client_logos_controller.rb +22 -0
  21. data/app/controllers/masks/server/code_factors_controller.rb +38 -0
  22. data/app/controllers/masks/server/connections_controller.rb +43 -0
  23. data/app/controllers/masks/server/delegations_controller.rb +24 -0
  24. data/app/controllers/masks/server/device_authorizations_controller.rb +74 -0
  25. data/app/controllers/masks/server/device_verifications_controller.rb +78 -0
  26. data/app/controllers/masks/server/devices_controller.rb +50 -0
  27. data/app/controllers/masks/server/discovery_controller.rb +18 -0
  28. data/app/controllers/masks/server/forward_auth_controller.rb +90 -0
  29. data/app/controllers/masks/server/handshakes_controller.rb +178 -0
  30. data/app/controllers/masks/server/introspections_controller.rb +51 -0
  31. data/app/controllers/masks/server/links_controller.rb +41 -0
  32. data/app/controllers/masks/server/logins_controller.rb +239 -0
  33. data/app/controllers/masks/server/manage/exports_controller.rb +22 -0
  34. data/app/controllers/masks/server/manage/graphql_controller.rb +70 -0
  35. data/app/controllers/masks/server/manage_controller.rb +19 -0
  36. data/app/controllers/masks/server/notifications_controller.rb +23 -0
  37. data/app/controllers/masks/server/organization_members_controller.rb +118 -0
  38. data/app/controllers/masks/server/passkeys_controller.rb +80 -0
  39. data/app/controllers/masks/server/passwords_controller.rb +67 -0
  40. data/app/controllers/masks/server/profiles_controller.rb +34 -0
  41. data/app/controllers/masks/server/provider_metadata_controller.rb +13 -0
  42. data/app/controllers/masks/server/pushed_authorizations_controller.rb +69 -0
  43. data/app/controllers/masks/server/received_signals_controller.rb +19 -0
  44. data/app/controllers/masks/server/registrations_controller.rb +137 -0
  45. data/app/controllers/masks/server/revocations_controller.rb +33 -0
  46. data/app/controllers/masks/server/saml_controller.rb +195 -0
  47. data/app/controllers/masks/server/scim/groups_controller.rb +157 -0
  48. data/app/controllers/masks/server/scim/metadata_controller.rb +123 -0
  49. data/app/controllers/masks/server/scim/users_controller.rb +128 -0
  50. data/app/controllers/masks/server/sessions_controller.rb +60 -0
  51. data/app/controllers/masks/server/sign_in_approvals_controller.rb +48 -0
  52. data/app/controllers/masks/server/signal_streams_controller.rb +162 -0
  53. data/app/controllers/masks/server/tenant_logos_controller.rb +21 -0
  54. data/app/controllers/masks/server/themes_controller.rb +21 -0
  55. data/app/controllers/masks/server/tokens_controller.rb +360 -0
  56. data/app/controllers/masks/server/userinfo_controller.rb +30 -0
  57. data/app/controllers/masks/server/verifications_controller.rb +32 -0
  58. data/app/graphql/masks/server/manage/mutations/activate_signing_key.rb +26 -0
  59. data/app/graphql/masks/server/manage/mutations/add_app.rb +64 -0
  60. data/app/graphql/masks/server/manage/mutations/add_group_member.rb +25 -0
  61. data/app/graphql/masks/server/manage/mutations/add_member.rb +36 -0
  62. data/app/graphql/masks/server/manage/mutations/approve_actor.rb +25 -0
  63. data/app/graphql/masks/server/manage/mutations/archive_client.rb +30 -0
  64. data/app/graphql/masks/server/manage/mutations/archive_event_stream.rb +28 -0
  65. data/app/graphql/masks/server/manage/mutations/archive_organization.rb +27 -0
  66. data/app/graphql/masks/server/manage/mutations/archive_provider.rb +28 -0
  67. data/app/graphql/masks/server/manage/mutations/archive_sender.rb +28 -0
  68. data/app/graphql/masks/server/manage/mutations/archive_sign_in_policy.rb +31 -0
  69. data/app/graphql/masks/server/manage/mutations/base_mutation.rb +139 -0
  70. data/app/graphql/masks/server/manage/mutations/block_device.rb +24 -0
  71. data/app/graphql/masks/server/manage/mutations/block_devices.rb +62 -0
  72. data/app/graphql/masks/server/manage/mutations/check_domain.rb +30 -0
  73. data/app/graphql/masks/server/manage/mutations/claim_domain.rb +26 -0
  74. data/app/graphql/masks/server/manage/mutations/create_actor.rb +50 -0
  75. data/app/graphql/masks/server/manage/mutations/create_client.rb +53 -0
  76. data/app/graphql/masks/server/manage/mutations/create_event_stream.rb +33 -0
  77. data/app/graphql/masks/server/manage/mutations/create_group.rb +25 -0
  78. data/app/graphql/masks/server/manage/mutations/create_organization.rb +34 -0
  79. data/app/graphql/masks/server/manage/mutations/create_provider.rb +117 -0
  80. data/app/graphql/masks/server/manage/mutations/create_saml_application.rb +53 -0
  81. data/app/graphql/masks/server/manage/mutations/create_sender.rb +35 -0
  82. data/app/graphql/masks/server/manage/mutations/create_sign_in_policy.rb +24 -0
  83. data/app/graphql/masks/server/manage/mutations/delete_actor.rb +31 -0
  84. data/app/graphql/masks/server/manage/mutations/delete_group.rb +24 -0
  85. data/app/graphql/masks/server/manage/mutations/disable_authenticator.rb +32 -0
  86. data/app/graphql/masks/server/manage/mutations/disable_code_factor.rb +27 -0
  87. data/app/graphql/masks/server/manage/mutations/discard_signing_key.rb +26 -0
  88. data/app/graphql/masks/server/manage/mutations/discover_provider.rb +39 -0
  89. data/app/graphql/masks/server/manage/mutations/dismiss_recovery.rb +25 -0
  90. data/app/graphql/masks/server/manage/mutations/domain_mutation.rb +24 -0
  91. data/app/graphql/masks/server/manage/mutations/export_events.rb +41 -0
  92. data/app/graphql/masks/server/manage/mutations/generate_backup_codes.rb +31 -0
  93. data/app/graphql/masks/server/manage/mutations/invite_actors.rb +46 -0
  94. data/app/graphql/masks/server/manage/mutations/issue_ldap_credential.rb +28 -0
  95. data/app/graphql/masks/server/manage/mutations/issue_provisioning_token.rb +33 -0
  96. data/app/graphql/masks/server/manage/mutations/organization_mutation.rb +26 -0
  97. data/app/graphql/masks/server/manage/mutations/read_saml_application_metadata.rb +39 -0
  98. data/app/graphql/masks/server/manage/mutations/read_saml_metadata.rb +43 -0
  99. data/app/graphql/masks/server/manage/mutations/register_provider.rb +30 -0
  100. data/app/graphql/masks/server/manage/mutations/release_domain.rb +25 -0
  101. data/app/graphql/masks/server/manage/mutations/release_namespace.rb +28 -0
  102. data/app/graphql/masks/server/manage/mutations/remove_avatar.rb +27 -0
  103. data/app/graphql/masks/server/manage/mutations/remove_group_member.rb +25 -0
  104. data/app/graphql/masks/server/manage/mutations/remove_member.rb +26 -0
  105. data/app/graphql/masks/server/manage/mutations/remove_tenant_logo.rb +19 -0
  106. data/app/graphql/masks/server/manage/mutations/resend_invitation.rb +25 -0
  107. data/app/graphql/masks/server/manage/mutations/resend_organization_invitation.rb +31 -0
  108. data/app/graphql/masks/server/manage/mutations/reset_password.rb +26 -0
  109. data/app/graphql/masks/server/manage/mutations/reset_second_factors.rb +23 -0
  110. data/app/graphql/masks/server/manage/mutations/restore_actor.rb +26 -0
  111. data/app/graphql/masks/server/manage/mutations/restore_client.rb +45 -0
  112. data/app/graphql/masks/server/manage/mutations/restore_event_stream.rb +28 -0
  113. data/app/graphql/masks/server/manage/mutations/restore_organization.rb +27 -0
  114. data/app/graphql/masks/server/manage/mutations/restore_provider.rb +28 -0
  115. data/app/graphql/masks/server/manage/mutations/restore_sender.rb +28 -0
  116. data/app/graphql/masks/server/manage/mutations/restore_sign_in_policy.rb +28 -0
  117. data/app/graphql/masks/server/manage/mutations/revoke_connection.rb +29 -0
  118. data/app/graphql/masks/server/manage/mutations/revoke_consent.rb +36 -0
  119. data/app/graphql/masks/server/manage/mutations/revoke_delegation.rb +24 -0
  120. data/app/graphql/masks/server/manage/mutations/revoke_ldap_credential.rb +26 -0
  121. data/app/graphql/masks/server/manage/mutations/revoke_passkey.rb +28 -0
  122. data/app/graphql/masks/server/manage/mutations/revoke_provisioning_token.rb +24 -0
  123. data/app/graphql/masks/server/manage/mutations/revoke_session.rb +25 -0
  124. data/app/graphql/masks/server/manage/mutations/revoke_token.rb +34 -0
  125. data/app/graphql/masks/server/manage/mutations/rotate_client_secret.rb +32 -0
  126. data/app/graphql/masks/server/manage/mutations/rotate_event_stream_secret.rb +28 -0
  127. data/app/graphql/masks/server/manage/mutations/rotate_signing_key.rb +21 -0
  128. data/app/graphql/masks/server/manage/mutations/serve_domain.rb +34 -0
  129. data/app/graphql/masks/server/manage/mutations/set_actor_scopes.rb +33 -0
  130. data/app/graphql/masks/server/manage/mutations/set_member_role.rb +26 -0
  131. data/app/graphql/masks/server/manage/mutations/set_provider_organization.rb +49 -0
  132. data/app/graphql/masks/server/manage/mutations/sign_in_policy_mutation.rb +57 -0
  133. data/app/graphql/masks/server/manage/mutations/sign_out_actor.rb +24 -0
  134. data/app/graphql/masks/server/manage/mutations/sign_out_device.rb +24 -0
  135. data/app/graphql/masks/server/manage/mutations/stage_signing_key.rb +27 -0
  136. data/app/graphql/masks/server/manage/mutations/suspend_actor.rb +27 -0
  137. data/app/graphql/masks/server/manage/mutations/test_event_stream.rb +33 -0
  138. data/app/graphql/masks/server/manage/mutations/test_sender.rb +31 -0
  139. data/app/graphql/masks/server/manage/mutations/unblock_device.rb +24 -0
  140. data/app/graphql/masks/server/manage/mutations/unblock_devices.rb +31 -0
  141. data/app/graphql/masks/server/manage/mutations/update_actor.rb +49 -0
  142. data/app/graphql/masks/server/manage/mutations/update_client.rb +105 -0
  143. data/app/graphql/masks/server/manage/mutations/update_domain_claim.rb +26 -0
  144. data/app/graphql/masks/server/manage/mutations/update_event_stream.rb +37 -0
  145. data/app/graphql/masks/server/manage/mutations/update_group.rb +24 -0
  146. data/app/graphql/masks/server/manage/mutations/update_mail_template.rb +37 -0
  147. data/app/graphql/masks/server/manage/mutations/update_organization.rb +34 -0
  148. data/app/graphql/masks/server/manage/mutations/update_provider.rb +87 -0
  149. data/app/graphql/masks/server/manage/mutations/update_sender.rb +35 -0
  150. data/app/graphql/masks/server/manage/mutations/update_sign_in_policy.rb +28 -0
  151. data/app/graphql/masks/server/manage/mutations/update_tenant.rb +122 -0
  152. data/app/graphql/masks/server/manage/mutations/upload_avatar.rb +27 -0
  153. data/app/graphql/masks/server/manage/mutations/upload_tenant_logo.rb +23 -0
  154. data/app/graphql/masks/server/manage/mutations/verify_email.rb +26 -0
  155. data/app/graphql/masks/server/manage/sources/membership_counts.rb +29 -0
  156. data/app/graphql/masks/server/manage/types/activity_day_type.rb +12 -0
  157. data/app/graphql/masks/server/manage/types/actor_type.rb +151 -0
  158. data/app/graphql/masks/server/manage/types/app_preset_type.rb +18 -0
  159. data/app/graphql/masks/server/manage/types/app_setting_type.rb +14 -0
  160. data/app/graphql/masks/server/manage/types/avatars_type.rb +13 -0
  161. data/app/graphql/masks/server/manage/types/base_object.rb +10 -0
  162. data/app/graphql/masks/server/manage/types/client_type.rb +121 -0
  163. data/app/graphql/masks/server/manage/types/connection_type.rb +37 -0
  164. data/app/graphql/masks/server/manage/types/consent_type.rb +30 -0
  165. data/app/graphql/masks/server/manage/types/delegation_type.rb +32 -0
  166. data/app/graphql/masks/server/manage/types/device_type.rb +35 -0
  167. data/app/graphql/masks/server/manage/types/domain_claim_type.rb +17 -0
  168. data/app/graphql/masks/server/manage/types/event_action_type.rb +20 -0
  169. data/app/graphql/masks/server/manage/types/event_stream_type.rb +21 -0
  170. data/app/graphql/masks/server/manage/types/event_type.rb +27 -0
  171. data/app/graphql/masks/server/manage/types/group_type.rb +25 -0
  172. data/app/graphql/masks/server/manage/types/invitation_outcome_type.rb +18 -0
  173. data/app/graphql/masks/server/manage/types/ldap_credential_type.rb +20 -0
  174. data/app/graphql/masks/server/manage/types/mail_preview_type.rb +19 -0
  175. data/app/graphql/masks/server/manage/types/mail_template_type.rb +20 -0
  176. data/app/graphql/masks/server/manage/types/membership_type.rb +24 -0
  177. data/app/graphql/masks/server/manage/types/mutation_type.rb +103 -0
  178. data/app/graphql/masks/server/manage/types/namespace_type.rb +26 -0
  179. data/app/graphql/masks/server/manage/types/organization_type.rb +70 -0
  180. data/app/graphql/masks/server/manage/types/passkey_type.rb +22 -0
  181. data/app/graphql/masks/server/manage/types/provider_preset_type.rb +21 -0
  182. data/app/graphql/masks/server/manage/types/provider_type.rb +108 -0
  183. data/app/graphql/masks/server/manage/types/provisioning_token_type.rb +18 -0
  184. data/app/graphql/masks/server/manage/types/query_type.rb +536 -0
  185. data/app/graphql/masks/server/manage/types/sender_field_type.rb +18 -0
  186. data/app/graphql/masks/server/manage/types/sender_service_type.rb +14 -0
  187. data/app/graphql/masks/server/manage/types/sender_type.rb +29 -0
  188. data/app/graphql/masks/server/manage/types/session_type.rb +19 -0
  189. data/app/graphql/masks/server/manage/types/sign_in_policy_type.rb +54 -0
  190. data/app/graphql/masks/server/manage/types/signing_key_type.rb +23 -0
  191. data/app/graphql/masks/server/manage/types/tally_type.rb +14 -0
  192. data/app/graphql/masks/server/manage/types/tenant_type.rb +64 -0
  193. data/app/graphql/masks/server/manage/types/token_type.rb +42 -0
  194. data/app/graphql/masks/server/manage/types/upload_type.rb +21 -0
  195. data/app/graphql/masks/server/manage_schema.rb +23 -0
  196. data/app/helpers/masks/server/account_helper.rb +59 -0
  197. data/app/helpers/masks/server/application_helper.rb +39 -0
  198. data/app/helpers/masks/server/avatars_helper.rb +20 -0
  199. data/app/helpers/masks/server/events_helper.rb +19 -0
  200. data/app/helpers/masks/server/scopes_helper.rb +15 -0
  201. data/app/jobs/masks/server/application_job.rb +7 -0
  202. data/app/jobs/masks/server/backchannel_logout_job.rb +38 -0
  203. data/app/jobs/masks/server/check_domain_claims_job.rb +31 -0
  204. data/app/jobs/masks/server/cleanup_job.rb +53 -0
  205. data/app/jobs/masks/server/client_logo_job.rb +20 -0
  206. data/app/jobs/masks/server/event_stream_job.rb +40 -0
  207. data/app/jobs/masks/server/idle_accounts_job.rb +14 -0
  208. data/app/jobs/masks/server/mail_delivery_job.rb +7 -0
  209. data/app/jobs/masks/server/notification_job.rb +17 -0
  210. data/app/jobs/masks/server/refresh_authenticators_job.rb +14 -0
  211. data/app/jobs/masks/server/refresh_saml_metadata_job.rb +24 -0
  212. data/app/jobs/masks/server/rotate_signing_keys_job.rb +37 -0
  213. data/app/jobs/masks/server/saml_logout_job.rb +38 -0
  214. data/app/jobs/masks/server/signal_job.rb +45 -0
  215. data/app/jobs/masks/server/text_job.rb +17 -0
  216. data/app/ldap/masks/server/ldap/ber.rb +202 -0
  217. data/app/ldap/masks/server/ldap/connection.rb +149 -0
  218. data/app/ldap/masks/server/ldap/directory.rb +175 -0
  219. data/app/ldap/masks/server/ldap/dn.rb +185 -0
  220. data/app/ldap/masks/server/ldap/entry.rb +30 -0
  221. data/app/ldap/masks/server/ldap/filter.rb +239 -0
  222. data/app/ldap/masks/server/ldap/gate.rb +169 -0
  223. data/app/ldap/masks/server/ldap/listener.rb +113 -0
  224. data/app/ldap/masks/server/ldap/protocol.rb +174 -0
  225. data/app/logins/masks/server/login_state.rb +153 -0
  226. data/app/logins/masks/server/login_states/app_access.rb +18 -0
  227. data/app/logins/masks/server/login_states/backup_code.rb +69 -0
  228. data/app/logins/masks/server/login_states/code_factor.rb +100 -0
  229. data/app/logins/masks/server/login_states/configure.rb +43 -0
  230. data/app/logins/masks/server/login_states/confirmation.rb +193 -0
  231. data/app/logins/masks/server/login_states/consent.rb +90 -0
  232. data/app/logins/masks/server/login_states/delegation.rb +172 -0
  233. data/app/logins/masks/server/login_states/email_code.rb +108 -0
  234. data/app/logins/masks/server/login_states/enrolment.rb +268 -0
  235. data/app/logins/masks/server/login_states/first_factor.rb +17 -0
  236. data/app/logins/masks/server/login_states/identifier.rb +48 -0
  237. data/app/logins/masks/server/login_states/inbox.rb +159 -0
  238. data/app/logins/masks/server/login_states/invitation.rb +80 -0
  239. data/app/logins/masks/server/login_states/one_time_password.rb +30 -0
  240. data/app/logins/masks/server/login_states/organization_choice.rb +108 -0
  241. data/app/logins/masks/server/login_states/passkey.rb +113 -0
  242. data/app/logins/masks/server/login_states/password.rb +40 -0
  243. data/app/logins/masks/server/login_states/password_reset.rb +88 -0
  244. data/app/logins/masks/server/login_states/provider.rb +181 -0
  245. data/app/logins/masks/server/login_states/risk_check.rb +79 -0
  246. data/app/logins/masks/server/login_states/second_factor.rb +55 -0
  247. data/app/logins/masks/server/login_states/signup.rb +351 -0
  248. data/app/logins/masks/server/login_states/suspension.rb +18 -0
  249. data/app/logins/masks/server/login_states/trusted_device.rb +84 -0
  250. data/app/mailers/masks/server/actor_mailer.rb +184 -0
  251. data/app/mailers/masks/server/application_mailer.rb +66 -0
  252. data/app/mailers/masks/server/sender_mailer.rb +13 -0
  253. data/app/models/concerns/masks/server/archivable.rb +22 -0
  254. data/app/models/concerns/masks/server/carries_authorization.rb +75 -0
  255. data/app/models/concerns/masks/server/mailed_link.rb +47 -0
  256. data/app/models/concerns/masks/server/paged.rb +18 -0
  257. data/app/models/concerns/masks/server/tenant_scoped.rb +13 -0
  258. data/app/models/masks/server/access_token.rb +69 -0
  259. data/app/models/masks/server/account_export.rb +144 -0
  260. data/app/models/masks/server/actor.rb +523 -0
  261. data/app/models/masks/server/addresses.rb +65 -0
  262. data/app/models/masks/server/app_preset.rb +251 -0
  263. data/app/models/masks/server/application_record.rb +17 -0
  264. data/app/models/masks/server/apps.rb +56 -0
  265. data/app/models/masks/server/authenticator.rb +57 -0
  266. data/app/models/masks/server/authenticator_app.rb +51 -0
  267. data/app/models/masks/server/authenticators.rb +78 -0
  268. data/app/models/masks/server/authorization.rb +200 -0
  269. data/app/models/masks/server/authorization_code.rb +32 -0
  270. data/app/models/masks/server/authorization_details.rb +235 -0
  271. data/app/models/masks/server/authorize_request.rb +57 -0
  272. data/app/models/masks/server/avatar.rb +52 -0
  273. data/app/models/masks/server/avatars.rb +99 -0
  274. data/app/models/masks/server/backchannel_logout.rb +67 -0
  275. data/app/models/masks/server/breached_passwords.rb +29 -0
  276. data/app/models/masks/server/client.rb +604 -0
  277. data/app/models/masks/server/client_assertion.rb +59 -0
  278. data/app/models/masks/server/client_keys.rb +130 -0
  279. data/app/models/masks/server/client_logo.rb +55 -0
  280. data/app/models/masks/server/client_metadata_document.rb +178 -0
  281. data/app/models/masks/server/code_factors.rb +103 -0
  282. data/app/models/masks/server/confirmation_code.rb +110 -0
  283. data/app/models/masks/server/confirmations.rb +51 -0
  284. data/app/models/masks/server/connection.rb +140 -0
  285. data/app/models/masks/server/consent.rb +70 -0
  286. data/app/models/masks/server/current.rb +8 -0
  287. data/app/models/masks/server/declared.rb +127 -0
  288. data/app/models/masks/server/delegation.rb +94 -0
  289. data/app/models/masks/server/device.rb +145 -0
  290. data/app/models/masks/server/device_factor.rb +39 -0
  291. data/app/models/masks/server/device_grant.rb +93 -0
  292. data/app/models/masks/server/domain_claim.rb +85 -0
  293. data/app/models/masks/server/email_verification.rb +22 -0
  294. data/app/models/masks/server/event.rb +251 -0
  295. data/app/models/masks/server/event_export.rb +73 -0
  296. data/app/models/masks/server/event_stream.rb +131 -0
  297. data/app/models/masks/server/exchange.rb +240 -0
  298. data/app/models/masks/server/federation/mcp.rb +29 -0
  299. data/app/models/masks/server/federation/oauth2.rb +27 -0
  300. data/app/models/masks/server/federation/oidc.rb +146 -0
  301. data/app/models/masks/server/federation/protocol.rb +114 -0
  302. data/app/models/masks/server/federation/saml.rb +120 -0
  303. data/app/models/masks/server/forward_code.rb +13 -0
  304. data/app/models/masks/server/forward_session.rb +14 -0
  305. data/app/models/masks/server/forwarded.rb +40 -0
  306. data/app/models/masks/server/group.rb +31 -0
  307. data/app/models/masks/server/group_member.rb +10 -0
  308. data/app/models/masks/server/handshake.rb +172 -0
  309. data/app/models/masks/server/help_requests.rb +50 -0
  310. data/app/models/masks/server/identicon.rb +71 -0
  311. data/app/models/masks/server/idle_accounts.rb +96 -0
  312. data/app/models/masks/server/initial_access_token.rb +14 -0
  313. data/app/models/masks/server/initials.rb +75 -0
  314. data/app/models/masks/server/invitation.rb +29 -0
  315. data/app/models/masks/server/invitations.rb +24 -0
  316. data/app/models/masks/server/issuer.rb +205 -0
  317. data/app/models/masks/server/journey.rb +97 -0
  318. data/app/models/masks/server/ldap_credential.rb +51 -0
  319. data/app/models/masks/server/linking.rb +81 -0
  320. data/app/models/masks/server/locales.rb +55 -0
  321. data/app/models/masks/server/localized.rb +42 -0
  322. data/app/models/masks/server/locked_out.rb +30 -0
  323. data/app/models/masks/server/login.rb +469 -0
  324. data/app/models/masks/server/logout.rb +99 -0
  325. data/app/models/masks/server/mail_previews.rb +90 -0
  326. data/app/models/masks/server/mail_template.rb +77 -0
  327. data/app/models/masks/server/manage_roles.rb +48 -0
  328. data/app/models/masks/server/master_key.rb +44 -0
  329. data/app/models/masks/server/members.rb +166 -0
  330. data/app/models/masks/server/membership.rb +105 -0
  331. data/app/models/masks/server/namespace.rb +85 -0
  332. data/app/models/masks/server/notifications.rb +156 -0
  333. data/app/models/masks/server/organization.rb +74 -0
  334. data/app/models/masks/server/outbound.rb +165 -0
  335. data/app/models/masks/server/passkey.rb +83 -0
  336. data/app/models/masks/server/password_reset.rb +30 -0
  337. data/app/models/masks/server/passwords.rb +21 -0
  338. data/app/models/masks/server/pending_handshake.rb +36 -0
  339. data/app/models/masks/server/pending_login.rb +23 -0
  340. data/app/models/masks/server/pending_request.rb +69 -0
  341. data/app/models/masks/server/pictures.rb +84 -0
  342. data/app/models/masks/server/presented_token.rb +106 -0
  343. data/app/models/masks/server/proof.rb +170 -0
  344. data/app/models/masks/server/proof_of_work.rb +43 -0
  345. data/app/models/masks/server/provider.rb +576 -0
  346. data/app/models/masks/server/provider_domains.rb +9 -0
  347. data/app/models/masks/server/provider_preset.rb +234 -0
  348. data/app/models/masks/server/provisioning_token.rb +35 -0
  349. data/app/models/masks/server/pushed_request.rb +39 -0
  350. data/app/models/masks/server/received_signal.rb +131 -0
  351. data/app/models/masks/server/recoveries.rb +40 -0
  352. data/app/models/masks/server/refresh_token.rb +19 -0
  353. data/app/models/masks/server/relying_party.rb +76 -0
  354. data/app/models/masks/server/replay.rb +11 -0
  355. data/app/models/masks/server/request_object.rb +84 -0
  356. data/app/models/masks/server/resource_metadata.rb +70 -0
  357. data/app/models/masks/server/risk.rb +110 -0
  358. data/app/models/masks/server/saml_identity/farewells.rb +51 -0
  359. data/app/models/masks/server/saml_identity/logout_reply.rb +31 -0
  360. data/app/models/masks/server/saml_identity/logout_request.rb +51 -0
  361. data/app/models/masks/server/saml_identity/message.rb +171 -0
  362. data/app/models/masks/server/saml_identity/metadata.rb +43 -0
  363. data/app/models/masks/server/saml_identity/request.rb +57 -0
  364. data/app/models/masks/server/saml_identity/response.rb +137 -0
  365. data/app/models/masks/server/saml_identity/sign_off.rb +46 -0
  366. data/app/models/masks/server/saml_identity.rb +87 -0
  367. data/app/models/masks/server/saml_participation.rb +35 -0
  368. data/app/models/masks/server/scim/directory.rb +57 -0
  369. data/app/models/masks/server/scim/filter.rb +124 -0
  370. data/app/models/masks/server/scim/group.rb +142 -0
  371. data/app/models/masks/server/scim/organization_directory.rb +70 -0
  372. data/app/models/masks/server/scim/user.rb +149 -0
  373. data/app/models/masks/server/scim.rb +41 -0
  374. data/app/models/masks/server/scopes.rb +128 -0
  375. data/app/models/masks/server/sector_identifier.rb +50 -0
  376. data/app/models/masks/server/sender.rb +173 -0
  377. data/app/models/masks/server/senders/click_send.rb +21 -0
  378. data/app/models/masks/server/senders/infobip.rb +34 -0
  379. data/app/models/masks/server/senders/mail.rb +36 -0
  380. data/app/models/masks/server/senders/message_bird.rb +20 -0
  381. data/app/models/masks/server/senders/plivo.rb +19 -0
  382. data/app/models/masks/server/senders/sinch.rb +22 -0
  383. data/app/models/masks/server/senders/sms.rb +76 -0
  384. data/app/models/masks/server/senders/sms_log.rb +19 -0
  385. data/app/models/masks/server/senders/smtp.rb +60 -0
  386. data/app/models/masks/server/senders/sns.rb +72 -0
  387. data/app/models/masks/server/senders/telnyx.rb +18 -0
  388. data/app/models/masks/server/senders/twilio.rb +21 -0
  389. data/app/models/masks/server/senders/vonage.rb +25 -0
  390. data/app/models/masks/server/session.rb +134 -0
  391. data/app/models/masks/server/sign_in_approval.rb +70 -0
  392. data/app/models/masks/server/sign_in_policy.rb +202 -0
  393. data/app/models/masks/server/signal_stream.rb +147 -0
  394. data/app/models/masks/server/signals.rb +72 -0
  395. data/app/models/masks/server/signing_key.rb +112 -0
  396. data/app/models/masks/server/single_sign_on.rb +262 -0
  397. data/app/models/masks/server/subject.rb +14 -0
  398. data/app/models/masks/server/subjects.rb +39 -0
  399. data/app/models/masks/server/tenant.rb +476 -0
  400. data/app/models/masks/server/tenant_logo.rb +44 -0
  401. data/app/models/masks/server/texting.rb +16 -0
  402. data/app/models/masks/server/themes.rb +64 -0
  403. data/app/models/masks/server/token.rb +183 -0
  404. data/app/models/masks/server/user_codes.rb +32 -0
  405. data/app/models/masks/server/verifications.rb +26 -0
  406. data/app/policies/masks/server/authorization_policy.rb +55 -0
  407. data/app/policies/masks/server/client_policy.rb +21 -0
  408. data/app/policies/masks/server/device_policy.rb +22 -0
  409. data/app/policies/masks/server/exchange_policy.rb +155 -0
  410. data/app/policies/masks/server/grant_checks.rb +45 -0
  411. data/app/policies/masks/server/policy.rb +64 -0
  412. data/app/views/layouts/masks/server/application.html.erb +40 -0
  413. data/app/views/layouts/masks/server/mailer.html.erb +263 -0
  414. data/app/views/layouts/masks/server/mailer.text.erb +7 -0
  415. data/app/views/layouts/masks/server/manage.html.erb +22 -0
  416. data/app/views/masks/server/account/_activity.html.erb +44 -0
  417. data/app/views/masks/server/account/_address.html.erb +42 -0
  418. data/app/views/masks/server/account/_approve.html.erb +56 -0
  419. data/app/views/masks/server/account/_apps.html.erb +129 -0
  420. data/app/views/masks/server/account/_delete.html.erb +40 -0
  421. data/app/views/masks/server/account/_devices.html.erb +57 -0
  422. data/app/views/masks/server/account/_export.html.erb +29 -0
  423. data/app/views/masks/server/account/_head.html.erb +58 -0
  424. data/app/views/masks/server/account/_info.html.erb +81 -0
  425. data/app/views/masks/server/account/_launcher.html.erb +18 -0
  426. data/app/views/masks/server/account/_organizations.html.erb +171 -0
  427. data/app/views/masks/server/account/_signing_in.html.erb +339 -0
  428. data/app/views/masks/server/account/index.html.erb +41 -0
  429. data/app/views/masks/server/actor_mailer/_action.html.erb +18 -0
  430. data/app/views/masks/server/actor_mailer/_message.html.erb +7 -0
  431. data/app/views/masks/server/actor_mailer/_message.text.erb +1 -0
  432. data/app/views/masks/server/actor_mailer/approval_requested.html.erb +7 -0
  433. data/app/views/masks/server/actor_mailer/approval_requested.text.erb +7 -0
  434. data/app/views/masks/server/actor_mailer/approved.html.erb +7 -0
  435. data/app/views/masks/server/actor_mailer/approved.text.erb +7 -0
  436. data/app/views/masks/server/actor_mailer/confirmation_code.html.erb +9 -0
  437. data/app/views/masks/server/actor_mailer/confirmation_code.text.erb +7 -0
  438. data/app/views/masks/server/actor_mailer/email_verification.html.erb +11 -0
  439. data/app/views/masks/server/actor_mailer/email_verification.text.erb +7 -0
  440. data/app/views/masks/server/actor_mailer/idle.html.erb +9 -0
  441. data/app/views/masks/server/actor_mailer/idle.text.erb +9 -0
  442. data/app/views/masks/server/actor_mailer/invitation.html.erb +19 -0
  443. data/app/views/masks/server/actor_mailer/invitation.text.erb +13 -0
  444. data/app/views/masks/server/actor_mailer/notification.html.erb +20 -0
  445. data/app/views/masks/server/actor_mailer/notification.text.erb +15 -0
  446. data/app/views/masks/server/actor_mailer/organization_invitation.html.erb +11 -0
  447. data/app/views/masks/server/actor_mailer/organization_invitation.text.erb +11 -0
  448. data/app/views/masks/server/actor_mailer/password_reset.html.erb +15 -0
  449. data/app/views/masks/server/actor_mailer/password_reset.text.erb +11 -0
  450. data/app/views/masks/server/actor_mailer/recovery_requested.html.erb +7 -0
  451. data/app/views/masks/server/actor_mailer/recovery_requested.text.erb +7 -0
  452. data/app/views/masks/server/application/_flashes.html.erb +8 -0
  453. data/app/views/masks/server/application/_person.html.erb +27 -0
  454. data/app/views/masks/server/authorize/error.html.erb +12 -0
  455. data/app/views/masks/server/device_verifications/approved.html.erb +8 -0
  456. data/app/views/masks/server/device_verifications/show.html.erb +23 -0
  457. data/app/views/masks/server/handshakes/refused.html.erb +20 -0
  458. data/app/views/masks/server/handshakes/show.html.erb +141 -0
  459. data/app/views/masks/server/links/expired.html.erb +10 -0
  460. data/app/views/masks/server/links/verified.html.erb +8 -0
  461. data/app/views/masks/server/logins/_accept_invitation.html.erb +31 -0
  462. data/app/views/masks/server/logins/_add_phone.html.erb +14 -0
  463. data/app/views/masks/server/logins/_awaiting_approval.html.erb +7 -0
  464. data/app/views/masks/server/logins/_backup_code.html.erb +23 -0
  465. data/app/views/masks/server/logins/_choose_organization.html.erb +21 -0
  466. data/app/views/masks/server/logins/_code_form.html.erb +12 -0
  467. data/app/views/masks/server/logins/_confirm_email.html.erb +19 -0
  468. data/app/views/masks/server/logins/_confirm_head.html.erb +12 -0
  469. data/app/views/masks/server/logins/_confirm_phone.html.erb +16 -0
  470. data/app/views/masks/server/logins/_consent.html.erb +109 -0
  471. data/app/views/masks/server/logins/_email_code.html.erb +7 -0
  472. data/app/views/masks/server/logins/_enrol.html.erb +103 -0
  473. data/app/views/masks/server/logins/_enrol_code_form.html.erb +9 -0
  474. data/app/views/masks/server/logins/_first_factor.html.erb +41 -0
  475. data/app/views/masks/server/logins/_head.html.erb +15 -0
  476. data/app/views/masks/server/logins/_header.html.erb +3 -0
  477. data/app/views/masks/server/logins/_hint.html.erb +6 -0
  478. data/app/views/masks/server/logins/_identified.html.erb +6 -0
  479. data/app/views/masks/server/logins/_identify.html.erb +24 -0
  480. data/app/views/masks/server/logins/_prove_email.html.erb +12 -0
  481. data/app/views/masks/server/logins/_providers.html.erb +21 -0
  482. data/app/views/masks/server/logins/_resend.html.erb +5 -0
  483. data/app/views/masks/server/logins/_reset_password.html.erb +23 -0
  484. data/app/views/masks/server/logins/_second_factor.html.erb +102 -0
  485. data/app/views/masks/server/logins/_setup_configure.html.erb +32 -0
  486. data/app/views/masks/server/logins/_signup.html.erb +85 -0
  487. data/app/views/masks/server/logins/_signup_credentials.html.erb +54 -0
  488. data/app/views/masks/server/logins/_signup_head.html.erb +20 -0
  489. data/app/views/masks/server/logins/_steps.html.erb +7 -0
  490. data/app/views/masks/server/logins/_warnings.html.erb +3 -0
  491. data/app/views/masks/server/logins/show.html.erb +14 -0
  492. data/app/views/masks/server/manage/index.html.erb +1 -0
  493. data/app/views/masks/server/refusals/show.html.erb +16 -0
  494. data/app/views/masks/server/saml/post.html.erb +16 -0
  495. data/app/views/masks/server/sender_mailer/trial.html.erb +1 -0
  496. data/app/views/masks/server/sender_mailer/trial.text.erb +1 -0
  497. data/app/views/masks/server/sessions/confirm.html.erb +29 -0
  498. data/config/initializers/fido_metadata.rb +5 -0
  499. data/config/initializers/inflections.rb +3 -0
  500. data/config/initializers/premailer.rb +7 -0
  501. data/config/initializers/rack_oauth2.rb +3 -0
  502. data/config/locales/de/account.yml +277 -0
  503. data/config/locales/de/actors.yml +8 -0
  504. data/config/locales/de/application.yml +6 -0
  505. data/config/locales/de/authorize.yml +7 -0
  506. data/config/locales/de/device_verifications.yml +15 -0
  507. data/config/locales/de/events.yml +189 -0
  508. data/config/locales/de/flashes.yml +164 -0
  509. data/config/locales/de/handshakes.yml +45 -0
  510. data/config/locales/de/links.yml +16 -0
  511. data/config/locales/de/logins.yml +272 -0
  512. data/config/locales/de/mailers.yml +135 -0
  513. data/config/locales/de/manage/activity.yml +31 -0
  514. data/config/locales/de/manage/actor.yml +125 -0
  515. data/config/locales/de/manage/actors.yml +78 -0
  516. data/config/locales/de/manage/api.yml +5 -0
  517. data/config/locales/de/manage/app.yml +24 -0
  518. data/config/locales/de/manage/client.yml +187 -0
  519. data/config/locales/de/manage/clients.yml +62 -0
  520. data/config/locales/de/manage/connections.yml +18 -0
  521. data/config/locales/de/manage/consents.yml +10 -0
  522. data/config/locales/de/manage/device.yml +30 -0
  523. data/config/locales/de/manage/devices.yml +59 -0
  524. data/config/locales/de/manage/directory.yml +5 -0
  525. data/config/locales/de/manage/domains.yml +28 -0
  526. data/config/locales/de/manage/emails.yml +30 -0
  527. data/config/locales/de/manage/event_labels.yml +5 -0
  528. data/config/locales/de/manage/events.yml +8 -0
  529. data/config/locales/de/manage/groups.yml +15 -0
  530. data/config/locales/de/manage/ldap.yml +35 -0
  531. data/config/locales/de/manage/mail_template.yml +18 -0
  532. data/config/locales/de/manage/messages.yml +11 -0
  533. data/config/locales/de/manage/namespaces.yml +14 -0
  534. data/config/locales/de/manage/organization.yml +132 -0
  535. data/config/locales/de/manage/organization_cell.yml +4 -0
  536. data/config/locales/de/manage/organization_headcount.yml +9 -0
  537. data/config/locales/de/manage/organizations.yml +31 -0
  538. data/config/locales/de/manage/pairing.yml +5 -0
  539. data/config/locales/de/manage/policies.yml +111 -0
  540. data/config/locales/de/manage/policy_rules.yml +73 -0
  541. data/config/locales/de/manage/presence.yml +26 -0
  542. data/config/locales/de/manage/providers.yml +156 -0
  543. data/config/locales/de/manage/provisioning.yml +29 -0
  544. data/config/locales/de/manage/scopes_editor.yml +21 -0
  545. data/config/locales/de/manage/senders.yml +43 -0
  546. data/config/locales/de/manage/settings.yml +147 -0
  547. data/config/locales/de/manage/settings_shell.yml +15 -0
  548. data/config/locales/de/manage/streams.yml +45 -0
  549. data/config/locales/de/manage/tokens.yml +21 -0
  550. data/config/locales/de/manage/ui.yml +23 -0
  551. data/config/locales/de/notifications.yml +15 -0
  552. data/config/locales/de/refusals.yml +16 -0
  553. data/config/locales/de/saml.yml +8 -0
  554. data/config/locales/de/scopes.yml +20 -0
  555. data/config/locales/de/senders.yml +12 -0
  556. data/config/locales/de/sessions.yml +10 -0
  557. data/config/locales/en/account.yml +278 -0
  558. data/config/locales/en/actors.yml +8 -0
  559. data/config/locales/en/application.yml +6 -0
  560. data/config/locales/en/authorize.yml +7 -0
  561. data/config/locales/en/device_verifications.yml +15 -0
  562. data/config/locales/en/events.yml +189 -0
  563. data/config/locales/en/flashes.yml +164 -0
  564. data/config/locales/en/handshakes.yml +45 -0
  565. data/config/locales/en/links.yml +16 -0
  566. data/config/locales/en/logins.yml +272 -0
  567. data/config/locales/en/mailers.yml +135 -0
  568. data/config/locales/en/manage/activity.yml +31 -0
  569. data/config/locales/en/manage/actor.yml +125 -0
  570. data/config/locales/en/manage/actors.yml +78 -0
  571. data/config/locales/en/manage/api.yml +5 -0
  572. data/config/locales/en/manage/app.yml +24 -0
  573. data/config/locales/en/manage/client.yml +187 -0
  574. data/config/locales/en/manage/clients.yml +62 -0
  575. data/config/locales/en/manage/connections.yml +18 -0
  576. data/config/locales/en/manage/consents.yml +10 -0
  577. data/config/locales/en/manage/device.yml +30 -0
  578. data/config/locales/en/manage/devices.yml +59 -0
  579. data/config/locales/en/manage/directory.yml +5 -0
  580. data/config/locales/en/manage/domains.yml +28 -0
  581. data/config/locales/en/manage/emails.yml +30 -0
  582. data/config/locales/en/manage/event_labels.yml +5 -0
  583. data/config/locales/en/manage/events.yml +8 -0
  584. data/config/locales/en/manage/groups.yml +15 -0
  585. data/config/locales/en/manage/ldap.yml +35 -0
  586. data/config/locales/en/manage/mail_template.yml +18 -0
  587. data/config/locales/en/manage/messages.yml +11 -0
  588. data/config/locales/en/manage/namespaces.yml +14 -0
  589. data/config/locales/en/manage/organization.yml +132 -0
  590. data/config/locales/en/manage/organization_cell.yml +4 -0
  591. data/config/locales/en/manage/organization_headcount.yml +9 -0
  592. data/config/locales/en/manage/organizations.yml +31 -0
  593. data/config/locales/en/manage/pairing.yml +5 -0
  594. data/config/locales/en/manage/policies.yml +111 -0
  595. data/config/locales/en/manage/policy_rules.yml +73 -0
  596. data/config/locales/en/manage/presence.yml +26 -0
  597. data/config/locales/en/manage/providers.yml +156 -0
  598. data/config/locales/en/manage/provisioning.yml +29 -0
  599. data/config/locales/en/manage/scopes_editor.yml +21 -0
  600. data/config/locales/en/manage/senders.yml +43 -0
  601. data/config/locales/en/manage/settings.yml +147 -0
  602. data/config/locales/en/manage/settings_shell.yml +15 -0
  603. data/config/locales/en/manage/streams.yml +45 -0
  604. data/config/locales/en/manage/tokens.yml +21 -0
  605. data/config/locales/en/manage/ui.yml +23 -0
  606. data/config/locales/en/notifications.yml +15 -0
  607. data/config/locales/en/refusals.yml +16 -0
  608. data/config/locales/en/saml.yml +8 -0
  609. data/config/locales/en/scopes.yml +20 -0
  610. data/config/locales/en/senders.yml +12 -0
  611. data/config/locales/en/sessions.yml +10 -0
  612. data/config/locales/es/account.yml +277 -0
  613. data/config/locales/es/actors.yml +8 -0
  614. data/config/locales/es/application.yml +6 -0
  615. data/config/locales/es/authorize.yml +7 -0
  616. data/config/locales/es/device_verifications.yml +15 -0
  617. data/config/locales/es/events.yml +189 -0
  618. data/config/locales/es/flashes.yml +164 -0
  619. data/config/locales/es/handshakes.yml +45 -0
  620. data/config/locales/es/links.yml +16 -0
  621. data/config/locales/es/logins.yml +272 -0
  622. data/config/locales/es/mailers.yml +135 -0
  623. data/config/locales/es/manage/activity.yml +31 -0
  624. data/config/locales/es/manage/actor.yml +125 -0
  625. data/config/locales/es/manage/actors.yml +78 -0
  626. data/config/locales/es/manage/api.yml +5 -0
  627. data/config/locales/es/manage/app.yml +24 -0
  628. data/config/locales/es/manage/client.yml +187 -0
  629. data/config/locales/es/manage/clients.yml +62 -0
  630. data/config/locales/es/manage/connections.yml +18 -0
  631. data/config/locales/es/manage/consents.yml +10 -0
  632. data/config/locales/es/manage/device.yml +30 -0
  633. data/config/locales/es/manage/devices.yml +59 -0
  634. data/config/locales/es/manage/directory.yml +5 -0
  635. data/config/locales/es/manage/domains.yml +28 -0
  636. data/config/locales/es/manage/emails.yml +30 -0
  637. data/config/locales/es/manage/event_labels.yml +5 -0
  638. data/config/locales/es/manage/events.yml +8 -0
  639. data/config/locales/es/manage/groups.yml +15 -0
  640. data/config/locales/es/manage/ldap.yml +35 -0
  641. data/config/locales/es/manage/mail_template.yml +18 -0
  642. data/config/locales/es/manage/messages.yml +11 -0
  643. data/config/locales/es/manage/namespaces.yml +14 -0
  644. data/config/locales/es/manage/organization.yml +132 -0
  645. data/config/locales/es/manage/organization_cell.yml +4 -0
  646. data/config/locales/es/manage/organization_headcount.yml +9 -0
  647. data/config/locales/es/manage/organizations.yml +31 -0
  648. data/config/locales/es/manage/pairing.yml +5 -0
  649. data/config/locales/es/manage/policies.yml +111 -0
  650. data/config/locales/es/manage/policy_rules.yml +73 -0
  651. data/config/locales/es/manage/presence.yml +26 -0
  652. data/config/locales/es/manage/providers.yml +156 -0
  653. data/config/locales/es/manage/provisioning.yml +29 -0
  654. data/config/locales/es/manage/scopes_editor.yml +21 -0
  655. data/config/locales/es/manage/senders.yml +43 -0
  656. data/config/locales/es/manage/settings.yml +147 -0
  657. data/config/locales/es/manage/settings_shell.yml +15 -0
  658. data/config/locales/es/manage/streams.yml +45 -0
  659. data/config/locales/es/manage/tokens.yml +21 -0
  660. data/config/locales/es/manage/ui.yml +23 -0
  661. data/config/locales/es/notifications.yml +15 -0
  662. data/config/locales/es/refusals.yml +16 -0
  663. data/config/locales/es/saml.yml +8 -0
  664. data/config/locales/es/scopes.yml +20 -0
  665. data/config/locales/es/senders.yml +12 -0
  666. data/config/locales/es/sessions.yml +10 -0
  667. data/config/locales/fr/account.yml +277 -0
  668. data/config/locales/fr/actors.yml +8 -0
  669. data/config/locales/fr/application.yml +6 -0
  670. data/config/locales/fr/authorize.yml +7 -0
  671. data/config/locales/fr/device_verifications.yml +15 -0
  672. data/config/locales/fr/events.yml +189 -0
  673. data/config/locales/fr/flashes.yml +164 -0
  674. data/config/locales/fr/handshakes.yml +45 -0
  675. data/config/locales/fr/links.yml +16 -0
  676. data/config/locales/fr/logins.yml +272 -0
  677. data/config/locales/fr/mailers.yml +135 -0
  678. data/config/locales/fr/manage/activity.yml +31 -0
  679. data/config/locales/fr/manage/actor.yml +125 -0
  680. data/config/locales/fr/manage/actors.yml +78 -0
  681. data/config/locales/fr/manage/api.yml +5 -0
  682. data/config/locales/fr/manage/app.yml +24 -0
  683. data/config/locales/fr/manage/client.yml +187 -0
  684. data/config/locales/fr/manage/clients.yml +62 -0
  685. data/config/locales/fr/manage/connections.yml +18 -0
  686. data/config/locales/fr/manage/consents.yml +10 -0
  687. data/config/locales/fr/manage/device.yml +30 -0
  688. data/config/locales/fr/manage/devices.yml +59 -0
  689. data/config/locales/fr/manage/directory.yml +5 -0
  690. data/config/locales/fr/manage/domains.yml +28 -0
  691. data/config/locales/fr/manage/emails.yml +30 -0
  692. data/config/locales/fr/manage/event_labels.yml +5 -0
  693. data/config/locales/fr/manage/events.yml +8 -0
  694. data/config/locales/fr/manage/groups.yml +15 -0
  695. data/config/locales/fr/manage/ldap.yml +35 -0
  696. data/config/locales/fr/manage/mail_template.yml +18 -0
  697. data/config/locales/fr/manage/messages.yml +11 -0
  698. data/config/locales/fr/manage/namespaces.yml +14 -0
  699. data/config/locales/fr/manage/organization.yml +132 -0
  700. data/config/locales/fr/manage/organization_cell.yml +4 -0
  701. data/config/locales/fr/manage/organization_headcount.yml +9 -0
  702. data/config/locales/fr/manage/organizations.yml +31 -0
  703. data/config/locales/fr/manage/pairing.yml +5 -0
  704. data/config/locales/fr/manage/policies.yml +111 -0
  705. data/config/locales/fr/manage/policy_rules.yml +73 -0
  706. data/config/locales/fr/manage/presence.yml +26 -0
  707. data/config/locales/fr/manage/providers.yml +156 -0
  708. data/config/locales/fr/manage/provisioning.yml +29 -0
  709. data/config/locales/fr/manage/scopes_editor.yml +21 -0
  710. data/config/locales/fr/manage/senders.yml +43 -0
  711. data/config/locales/fr/manage/settings.yml +147 -0
  712. data/config/locales/fr/manage/settings_shell.yml +15 -0
  713. data/config/locales/fr/manage/streams.yml +45 -0
  714. data/config/locales/fr/manage/tokens.yml +21 -0
  715. data/config/locales/fr/manage/ui.yml +23 -0
  716. data/config/locales/fr/notifications.yml +15 -0
  717. data/config/locales/fr/refusals.yml +16 -0
  718. data/config/locales/fr/saml.yml +8 -0
  719. data/config/locales/fr/scopes.yml +20 -0
  720. data/config/locales/fr/senders.yml +12 -0
  721. data/config/locales/fr/sessions.yml +10 -0
  722. data/config/passwords/LICENSE +21 -0
  723. data/config/passwords/common.txt +46907 -0
  724. data/config/routes.rb +152 -0
  725. data/db/authenticators.yml +18 -0
  726. data/db/migrate/20260912000000_create_masks_schema.rb +425 -0
  727. data/db/migrate/20260913000000_create_adapters.rb +46 -0
  728. data/db/migrate/20260913010000_create_sign_in_policies.rb +44 -0
  729. data/db/migrate/20260913020000_add_signup_to_actors.rb +10 -0
  730. data/db/migrate/20260913030000_add_consent_required_to_clients.rb +5 -0
  731. data/db/migrate/20260913040000_remove_upstream_tokens.rb +9 -0
  732. data/db/migrate/20260913050000_add_role_to_providers.rb +23 -0
  733. data/db/migrate/20260913060000_add_protocols_to_providers.rb +19 -0
  734. data/db/migrate/20260913070000_add_saml_to_providers.rb +10 -0
  735. data/db/migrate/20260913080000_grant_identities_to_actors.rb +14 -0
  736. data/db/migrate/20260913090000_create_delegations.rb +56 -0
  737. data/db/migrate/20260914000000_add_keys_to_clients.rb +8 -0
  738. data/db/migrate/20260914010000_add_require_signed_request_object_to_clients.rb +5 -0
  739. data/db/migrate/20260914020000_add_provisioning_to_actors.rb +10 -0
  740. data/db/migrate/20260914030000_add_saml_to_clients.rb +17 -0
  741. data/db/migrate/20260921000000_create_client_logos.rb +30 -0
  742. data/db/migrate/20260921010000_add_setup_token_to_tenants.rb +5 -0
  743. data/db/migrate/20260926000000_add_code_factors_to_actors.rb +8 -0
  744. data/db/migrate/20260926010000_add_idle_accounts.rb +14 -0
  745. data/db/migrate/20260926020000_create_event_streams.rb +28 -0
  746. data/db/migrate/20260927000000_add_apps_require_second_factor_to_sign_in_policies.rb +5 -0
  747. data/db/migrate/20260927010000_add_session_policies.rb +14 -0
  748. data/db/migrate/20260927020000_create_organizations.rb +47 -0
  749. data/db/migrate/20260927030000_add_organizations_to_policies_and_providers.rb +12 -0
  750. data/db/migrate/20260927040000_add_organizations_to_events_and_streams.rb +8 -0
  751. data/db/migrate/20260927050000_create_domain_claims.rb +27 -0
  752. data/db/migrate/20260927060000_add_event_retention_to_tenants.rb +5 -0
  753. data/db/migrate/20260927070000_add_risk_to_sign_in_policies.rb +11 -0
  754. data/db/migrate/20260927110000_create_signal_streams.rb +31 -0
  755. data/db/migrate/20260927120000_add_custom_host_to_tenants.rb +6 -0
  756. data/db/migrate/20260927140500_add_first_factor_to_sessions.rb +6 -0
  757. data/db/migrate/20260927160000_add_invited_at_to_memberships.rb +15 -0
  758. data/db/migrate/20260927170000_grant_identities_to_actors_in_every_tenant.rb +17 -0
  759. data/db/migrate/20260927180000_move_directory_ids_to_memberships.rb +46 -0
  760. data/db/migrate/20261003120000_add_metadata_expires_at_to_clients.rb +5 -0
  761. data/db/migrate/20261003130000_create_mail_templates.rb +23 -0
  762. data/db/migrate/20261003140000_add_authorization_details.rb +7 -0
  763. data/db/migrate/20261004120000_add_remembering_to_consents.rb +7 -0
  764. data/db/migrate/20261004130000_add_receives_signals_to_providers.rb +5 -0
  765. data/db/migrate/20261010120000_add_root_to_tokens.rb +27 -0
  766. data/db/migrate/20261010130000_add_recovery_requested_at_to_actors.rb +6 -0
  767. data/db/migrate/20261010140000_create_groups.rb +38 -0
  768. data/db/migrate/20261010150000_add_token_lifetimes_to_clients.rb +6 -0
  769. data/db/migrate/20261010160000_create_tenant_logos.rb +27 -0
  770. data/db/migrate/20261011120000_index_pending_approvals.rb +5 -0
  771. data/db/migrate/20261011130000_add_key_rotation_days_to_tenants.rb +5 -0
  772. data/db/migrate/20261011140000_add_keys_derived_at_to_tenants.rb +5 -0
  773. data/db/migrate/20261011150000_add_proof_of_work_to_sign_in_policies.rb +5 -0
  774. data/db/migrate/20261011160000_add_password_required_to_sign_in_policies.rb +5 -0
  775. data/db/migrate/20261011170000_create_saml_participations.rb +30 -0
  776. data/db/migrate/20261011180000_rename_adapters_to_senders.rb +45 -0
  777. data/lib/generators/masks/server/install/install_generator.rb +116 -0
  778. data/lib/generators/masks/server/install/templates/masks_server.rb.tt +7 -0
  779. data/lib/masks/server/configuration.rb +134 -0
  780. data/lib/masks/server/engine.rb +60 -0
  781. data/lib/masks/server/forwarded_app.rb +19 -0
  782. data/lib/masks/server/forwarding.rb +29 -0
  783. data/lib/masks/server/host.rb +21 -0
  784. data/lib/masks/server/isolation.rb +34 -0
  785. data/lib/masks/server/journey_serializer.rb +17 -0
  786. data/lib/masks/server/schema_reference.rb +164 -0
  787. data/lib/masks/server/tenancy/job.rb +78 -0
  788. data/lib/masks/server/tenancy/middleware.rb +104 -0
  789. data/lib/masks/server/tenant_isolation.rb +40 -0
  790. data/lib/masks/server/tenant_key_provider.rb +76 -0
  791. data/lib/masks/server/version.rb +5 -0
  792. data/lib/masks/server.rb +116 -0
  793. data/lib/masks-server.rb +1 -0
  794. data/lib/puma/plugin/masks_ldap.rb +25 -0
  795. data/lib/rack/oauth2/server/token/extension/device_code.rb +40 -0
  796. data/lib/rack/oauth2/server/token/extension/token_exchange.rb +48 -0
  797. data/lib/tasks/masks.rake +22 -0
  798. data/public/masks-assets/assets/account-D46qDQCo.js +2 -0
  799. data/public/masks-assets/assets/account-D46qDQCo.js.map +1 -0
  800. data/public/masks-assets/assets/app-olx-5PkA.css +2 -0
  801. data/public/masks-assets/assets/console-CiuQ3qj0.css +1 -0
  802. data/public/masks-assets/assets/handshake-BYhhQ_X3.js +2 -0
  803. data/public/masks-assets/assets/handshake-BYhhQ_X3.js.map +1 -0
  804. data/public/masks-assets/assets/initial-D99AzFOd.js +3 -0
  805. data/public/masks-assets/assets/initial-D99AzFOd.js.map +1 -0
  806. data/public/masks-assets/assets/login-CNs1UpxJ.js +4 -0
  807. data/public/masks-assets/assets/login-CNs1UpxJ.js.map +1 -0
  808. data/public/masks-assets/assets/manage-Z3GmPDNQ.js +560 -0
  809. data/public/masks-assets/assets/manage-Z3GmPDNQ.js.map +1 -0
  810. data/public/masks-assets/assets/passkey-DIj_5LCY.js +2 -0
  811. data/public/masks-assets/assets/passkey-DIj_5LCY.js.map +1 -0
  812. data/public/masks-public/favicon.svg +27 -0
  813. data/public/masks-public/icon.png +0 -0
  814. data/public/masks-public/icon.svg +26 -0
  815. data/version.txt +1 -0
  816. metadata +1095 -0
@@ -0,0 +1,48 @@
1
+ require "rack/oauth2"
2
+
3
+ module Rack
4
+ module OAuth2
5
+ module Server
6
+ class Token
7
+ module Extension
8
+ class TokenExchange < Abstract::Handler
9
+ GRANT_TYPE_URN = "urn:ietf:params:oauth:grant-type:token-exchange".freeze
10
+
11
+ class << self
12
+ def grant_type_for?(grant_type)
13
+ grant_type == GRANT_TYPE_URN
14
+ end
15
+ end
16
+
17
+ def _call(env)
18
+ @request = Request.new(env)
19
+ @response = Response.new(request)
20
+ super
21
+ end
22
+
23
+ class Request < Token::Request
24
+ attr_required :subject_token
25
+ attr_optional :subject_token_type, :requested_token_type, :scope,
26
+ :actor_token, :actor_token_type, :requested_lifetime
27
+
28
+ def initialize(env)
29
+ super
30
+
31
+ @grant_type = GRANT_TYPE_URN
32
+ @subject_token = params["subject_token"]
33
+ @subject_token_type = params["subject_token_type"]
34
+ @requested_token_type = params["requested_token_type"]
35
+ @scope = params["scope"]
36
+ @actor_token = params["actor_token"]
37
+ @actor_token_type = params["actor_token_type"]
38
+ @requested_lifetime = params["requested_lifetime"]
39
+
40
+ attr_missing!
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,22 @@
1
+ namespace :masks do
2
+ desc "Ensure every tenant named by MASKS_TENANTS exists, and print the setup token of any not yet set up"
3
+ task tenants: :environment do
4
+ Masks::Server::MasterKey.check!
5
+
6
+ Masks::Server::Tenant.declare!.each { |tenant| puts "#{tenant.subdomain}: #{tenant.signing_key.kid}" }
7
+
8
+ Masks::Server::Tenant.active.reject(&:set_up?).each { |tenant| puts "masks: #{tenant.setup_announcement}" }
9
+
10
+ Masks::Server::Declared.apply!.each { |said| puts "masks: #{said}" }
11
+
12
+ Masks::Server::LockedOut.recover!.each { |recovered| puts "masks: #{recovered}" }
13
+
14
+ if ENV["ENCRYPTION_PREVIOUS_PRIMARY_KEY"].present?
15
+ Masks::Server::MasterKey.reencrypt!
16
+ puts "masks: every encrypted column now uses the current master key. Remove MASKS_PREVIOUS_MASTER_KEY."
17
+ elsif Masks::Server::MasterKey.underived.exists?
18
+ Masks::Server::MasterKey.reencrypt!(Masks::Server::MasterKey.underived)
19
+ puts "masks: every tenant's encrypted columns now use a key of that tenant's own."
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,2 @@
1
+ import{a as e,i as t,o as n}from"./passkey-DIj_5LCY.js";var r=()=>document.querySelector(`meta[name="csrf-token"]`)?.content??``,i=document.getElementById(`add-passkey`),a=document.getElementById(`passkey-credential`),o=document.getElementById(`passkey-name`),s=document.getElementById(`add-passkey-button`),c=document.getElementById(`passkey-unusable`);async function l(){let e=await fetch(i.dataset.challenge,{method:`POST`,credentials:`same-origin`,headers:{Accept:`application/json`,"X-CSRF-Token":r()}});if(e.status===401){let{redirectTo:t}=await e.json();throw window.location.assign(t),Error(`signing in again first`)}if(!e.ok)throw Error(`could not start enrolment: ${e.status}`);return e.json()}async function u(t){t.preventDefault(),s.disabled=!0,c.hidden=!0;try{a.value=await e(await l()),i.submit()}catch(e){n(e)||(c.textContent=`That passkey could not be added on this device.`,c.hidden=!1),s.disabled=!1}}i&&t()?(i.hidden=!1,s.addEventListener(`click`,u)):o&&o.closest(`[data-passkeys]`)?.setAttribute(`data-unsupported`,`true`);var d=document.getElementById(`picture-file`);d?.addEventListener(`change`,()=>{d.files?.length&&d.form?.requestSubmit()});for(let e of document.querySelectorAll(`[data-autosubmit]`)){let t=e.form?.querySelector(`[data-autosubmitted]`);t&&(t.hidden=!0),e.addEventListener(`change`,()=>e.form?.requestSubmit())}
2
+ //# sourceMappingURL=account-D46qDQCo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-D46qDQCo.js","names":["enrol","available","refused","csrf","form","field","name","button","unusable","options","response","redirectTo","add","event","error","picture"],"sources":["../../../../server/app/frontend/entrypoints/account.js"],"sourcesContent":["import { available, enrol, refused } from \"../lib/passkey.js\";\n\nconst csrf = () =>\n document.querySelector('meta[name=\"csrf-token\"]')?.content ?? \"\";\n\nconst form = document.getElementById(\"add-passkey\");\nconst field = document.getElementById(\"passkey-credential\");\nconst name = document.getElementById(\"passkey-name\");\nconst button = document.getElementById(\"add-passkey-button\");\nconst unusable = document.getElementById(\"passkey-unusable\");\n\nasync function options() {\n const response = await fetch(form.dataset.challenge, {\n method: \"POST\",\n credentials: \"same-origin\",\n headers: { Accept: \"application/json\", \"X-CSRF-Token\": csrf() },\n });\n\n if (response.status === 401) {\n const { redirectTo } = await response.json();\n window.location.assign(redirectTo);\n throw new Error(\"signing in again first\");\n }\n\n if (!response.ok)\n throw new Error(`could not start enrolment: ${response.status}`);\n\n return response.json();\n}\n\nasync function add(event) {\n event.preventDefault();\n\n button.disabled = true;\n unusable.hidden = true;\n\n try {\n field.value = await enrol(await options());\n form.submit();\n } catch (error) {\n if (!refused(error)) {\n unusable.textContent = \"That passkey could not be added on this device.\";\n unusable.hidden = false;\n }\n\n button.disabled = false;\n }\n}\n\nif (form && available()) {\n form.hidden = false;\n button.addEventListener(\"click\", add);\n} else if (name) {\n name.closest(\"[data-passkeys]\")?.setAttribute(\"data-unsupported\", \"true\");\n}\n\nconst picture = document.getElementById(\"picture-file\");\n\npicture?.addEventListener(\"change\", () => {\n if (picture.files?.length) picture.form?.requestSubmit();\n});\n\nfor (const field of document.querySelectorAll(\"[data-autosubmit]\")) {\n const button = field.form?.querySelector(\"[data-autosubmitted]\");\n\n if (button) button.hidden = true;\n field.addEventListener(\"change\", () => field.form?.requestSubmit());\n}\n"],"mappings":"wDAEA,IAAMG,MACJ,SAAS,cAAc,yBAAyB,CAAC,EAAE,SAAW,GAE1DC,EAAO,SAAS,eAAe,aAAa,EAC5CC,EAAQ,SAAS,eAAe,oBAAoB,EACpDC,EAAO,SAAS,eAAe,cAAc,EAC7CC,EAAS,SAAS,eAAe,oBAAoB,EACrDC,EAAW,SAAS,eAAe,kBAAkB,EAE3D,eAAeC,GAAU,CACvB,IAAMC,EAAW,MAAM,MAAMN,EAAK,QAAQ,UAAW,CACnD,OAAQ,OACR,YAAa,cACb,QAAS,CAAE,OAAQ,mBAAoB,eAAgBD,EAAK,CAAE,CAChE,CAAC,EAED,GAAIO,EAAS,SAAW,IAAK,CAC3B,GAAM,CAAE,cAAe,MAAMA,EAAS,KAAK,EAE3C,MADA,OAAO,SAAS,OAAOC,CAAU,EACvB,MAAM,wBAAwB,CAC1C,CAEA,GAAI,CAACD,EAAS,GACZ,MAAU,MAAM,8BAA8BA,EAAS,QAAQ,EAEjE,OAAOA,EAAS,KAAK,CACvB,CAEA,eAAeE,EAAI,EAAO,CACxBC,EAAM,eAAe,EAErB,EAAO,SAAW,GAClB,EAAS,OAAS,GAElB,GAAI,CACF,EAAM,MAAQ,MAAMb,EAAM,MAAMS,EAAQ,CAAC,EACzCL,EAAK,OAAO,CACd,OAASU,EAAO,CACTZ,EAAQY,CAAK,IAChB,EAAS,YAAc,kDACvB,EAAS,OAAS,IAGpB,EAAO,SAAW,EACpB,CACF,CAEIV,GAAQH,EAAU,GACpB,EAAK,OAAS,GACdM,EAAO,iBAAiB,QAASK,CAAG,GAC3BN,GACTA,EAAK,QAAQ,iBAAiB,CAAC,EAAE,aAAa,mBAAoB,MAAM,EAG1E,IAAMS,EAAU,SAAS,eAAe,cAAc,EAEtDA,GAAS,iBAAiB,aAAgB,CACpCA,EAAQ,OAAO,QAAQA,EAAQ,MAAM,cAAc,CACzD,CAAC,EAED,IAAK,IAAMV,KAAS,SAAS,iBAAiB,mBAAmB,EAAG,CAClE,IAAME,EAASF,EAAM,MAAM,cAAc,sBAAsB,EAE3DE,IAAQ,EAAO,OAAS,IAC5BF,EAAM,iBAAiB,aAAgBA,EAAM,MAAM,cAAc,CAAC,CACpE"}
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-xl:36rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-base-100:#fff;--color-base-200:#fcf9f7;--color-base-300:#e5ded9;--color-base-content:#211c18;--color-primary:#b04000;--color-primary-content:#fff;--color-info:#0077b2;--color-success:#008450;--color-warning:#8b6200;--color-error:#b53530;--color-error-content:#fff;--radius-box:5px;--radius-field:3px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn{border-radius:var(--radius-box);border:1px solid var(--edge);background:var(--color-base-100);color:inherit;font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:.4375rem;padding:.5625rem .9375rem;font-size:.875rem;font-weight:500;line-height:1.2;text-decoration:none;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:#211c18}@supports (color:color-mix(in lab, red, red)){.btn:hover:not(:disabled){border-color:color-mix(in oklab, var(--color-base-content) 30%, var(--edge))}}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-xs{padding:.25rem .5rem;font-size:.75rem}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-content)}.btn-primary:hover:not(:disabled){background:#973700}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover:not(:disabled){background:color-mix(in oklab, var(--color-primary) 86%, black)}}.btn-primary:hover:not(:disabled){border-color:#973700}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover:not(:disabled){border-color:color-mix(in oklab, var(--color-primary) 86%, black)}}.btn-error{background:var(--color-error);border-color:var(--color-error);color:var(--color-error-content)}.btn-error:hover:not(:disabled){background:#9c2e29}@supports (color:color-mix(in lab, red, red)){.btn-error:hover:not(:disabled){background:color-mix(in oklab, var(--color-error) 86%, black)}}.btn-error:hover:not(:disabled){border-color:#9c2e29}@supports (color:color-mix(in lab, red, red)){.btn-error:hover:not(:disabled){border-color:color-mix(in oklab, var(--color-error) 86%, black)}}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--sunk);border-color:#0000}.btn-outline{background:0 0}.btn-error.btn-outline{color:var(--color-error);border-color:#b5353073}@supports (color:color-mix(in lab, red, red)){.btn-error.btn-outline{border-color:color-mix(in oklab, var(--color-error) 45%, transparent)}}.btn-error.btn-outline:hover:not(:disabled){background:#b535301f}@supports (color:color-mix(in lab, red, red)){.btn-error.btn-outline:hover:not(:disabled){background:color-mix(in oklab, var(--color-error) 12%, transparent)}}.btn-error.btn-outline:hover:not(:disabled){border-color:var(--color-error)}.link{color:inherit;text-underline-offset:2px;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px}.link-hover{text-decoration:none}.link-hover:hover,.link:hover{text-decoration:underline}.badge{border:1px solid var(--edge);background:var(--color-base-100);white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.125rem .4375rem;font-size:.75rem;font-weight:500;line-height:1.5;display:inline-flex}.badge-sm{padding:.0625rem .375rem;font-size:.6875rem}.badge-xs{padding:0 .3125rem;font-size:.625rem}.badge-ghost{background:var(--sunk);border-color:#0000}.badge-success{color:var(--color-success);border-color:#00845066}@supports (color:color-mix(in lab, red, red)){.badge-success{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.badge-success{background:#0084501f}@supports (color:color-mix(in lab, red, red)){.badge-success{background:color-mix(in oklab, var(--color-success) 12%, transparent)}}.badge-warning{color:var(--color-warning);border-color:#8b620066}@supports (color:color-mix(in lab, red, red)){.badge-warning{border-color:color-mix(in oklab, var(--color-warning) 40%, transparent)}}.badge-warning{background:#8b62001f}@supports (color:color-mix(in lab, red, red)){.badge-warning{background:color-mix(in oklab, var(--color-warning) 12%, transparent)}}.badge-error{color:var(--color-error);border-color:#b5353066}@supports (color:color-mix(in lab, red, red)){.badge-error{border-color:color-mix(in oklab, var(--color-error) 40%, transparent)}}.badge-error{background:#b535301f}@supports (color:color-mix(in lab, red, red)){.badge-error{background:color-mix(in oklab, var(--color-error) 12%, transparent)}}.badge-info{color:var(--color-info);border-color:#0077b266}@supports (color:color-mix(in lab, red, red)){.badge-info{border-color:color-mix(in oklab, var(--color-info) 40%, transparent)}}.badge-info{background:#0077b21f}@supports (color:color-mix(in lab, red, red)){.badge-info{background:color-mix(in oklab, var(--color-info) 12%, transparent)}}.alert{border-radius:var(--radius-box);border:1px solid var(--edge);background:var(--color-base-100);align-items:flex-start;gap:.625rem;padding:.75rem .875rem;font-size:.875rem;line-height:1.45;display:flex}.alert-soft{background:var(--sunk);border-color:#0000}.alert-error{color:var(--color-error);border-color:#b5353059}@supports (color:color-mix(in lab, red, red)){.alert-error{border-color:color-mix(in oklab, var(--color-error) 35%, transparent)}}.alert-error{background:#b535301a}@supports (color:color-mix(in lab, red, red)){.alert-error{background:color-mix(in oklab, var(--color-error) 10%, transparent)}}.alert-warning{color:var(--color-warning);border-color:#8b620059}@supports (color:color-mix(in lab, red, red)){.alert-warning{border-color:color-mix(in oklab, var(--color-warning) 35%, transparent)}}.alert-warning{background:#8b62001a}@supports (color:color-mix(in lab, red, red)){.alert-warning{background:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.alert-success{color:var(--color-success);border-color:#00845059}@supports (color:color-mix(in lab, red, red)){.alert-success{border-color:color-mix(in oklab, var(--color-success) 35%, transparent)}}.alert-success{background:#0084501a}@supports (color:color-mix(in lab, red, red)){.alert-success{background:color-mix(in oklab, var(--color-success) 10%, transparent)}}.alert-info{color:var(--color-info);border-color:#0077b259}@supports (color:color-mix(in lab, red, red)){.alert-info{border-color:color-mix(in oklab, var(--color-info) 35%, transparent)}}.alert-info{background:#0077b21a}@supports (color:color-mix(in lab, red, red)){.alert-info{background:color-mix(in oklab, var(--color-info) 10%, transparent)}}.input,.select,.textarea{border-radius:var(--radius-box);border:1px solid var(--edge);background:var(--color-base-100);width:100%;color:inherit;font:inherit;padding:.5625rem .75rem;font-size:.875rem;line-height:1.4}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.input-sm,.select-sm,.textarea-sm{padding:.375rem .5625rem;font-size:.8125rem}.textarea{resize:vertical;min-height:5rem}.select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - .9375rem) 55%,calc(100% - .625rem) 55%;background-repeat:no-repeat;background-size:.3125rem .3125rem,.3125rem .3125rem;padding-right:1.75rem}.checkbox{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer;flex:none;margin:0}.toggle{appearance:none;border:1px solid var(--edge);background:var(--sunk);cursor:pointer;border-radius:999px;flex:none;width:2.25rem;height:1.3125rem;transition:background-color .15s;position:relative}.toggle:after{content:"";background:var(--color-base-content);border-radius:50%;width:.9375rem;height:.9375rem;transition:transform .15s;position:absolute;top:50%;left:.125rem;transform:translateY(-50%)}.toggle:checked{background:var(--color-primary);border-color:var(--color-primary)}.toggle:checked:after{background:var(--color-primary-content);transform:translate(.9375rem,-50%)}.toggle-sm{width:1.875rem;height:1.125rem}.toggle-sm:after{width:.75rem;height:.75rem}.toggle-sm:checked:after{transform:translate(.75rem,-50%)}.range{width:100%;accent-color:var(--color-primary)}.join{display:inline-flex}.join-item:not(:first-child){border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:-1px}.join-item:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.card{border-radius:var(--radius-box);border:1px solid var(--edge);background:var(--color-base-100);flex-direction:column;display:flex}.table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.table :where(th){color:#211c1899;padding:.625rem .75rem;font-size:.75rem;font-weight:500}@supports (color:color-mix(in lab, red, red)){.table :where(th){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(th){border-bottom:1px solid var(--edge)}.table :where(td){border-bottom:1px solid var(--edge);vertical-align:top;padding:.6875rem .75rem}.table :where(tbody tr:last-child td){border-bottom:0}.table-sm :where(th,td){padding:.4375rem .625rem}.loading{border:2px solid;border-top-color:#0000;border-radius:50%;width:1.125rem;height:1.125rem;animation:.62s linear infinite spin;display:inline-block}.loading-spinner{border-style:solid}.auth-page{--ground:#ececed;--surface:#f7f7f8;--line:#d9d9dc;--line-firm:#c4c4c8;--ink:#18181b;--ink-soft:#5c5c63;--came:#8a5a1c;--brass:#8a5a1c;--brass-lit:#9b6a26;--signal:#b3380f;--signal-ink:#fff;--ring:#b3380f4d;--bad:#b0183f;--bad-field:#fbeef1;--warn:#8b6200;--warn-field:#fbf5e8;--info:#0077b2;--info-field:#edf5fa;--glow:#b3380f0d;--window:url(/masks-public/icon.svg);--window-strength:.2;--pane:var(--surface)}@supports (color:color-mix(in lab, red, red)){.auth-page{--pane:color-mix(in oklab, var(--surface) 58%, transparent)}}.auth-page{--pane-rim:var(--brass)}@supports (color:color-mix(in lab, red, red)){.auth-page{--pane-rim:color-mix(in oklab, var(--brass) 30%, var(--line))}}.auth-page{--pane-shine:#ffffffb3;--pane-sheen:#ffffff73;--pane-shadow:0 1px 1px #14141812, 0 18px 40px -24px #14141866;--bend:8px;--swing:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){.auth-page{--ground:#0b0b0c;--surface:#1c1c1f;--line:#2a2a2e;--line-firm:#3e3e44;--ink:#ededef;--ink-soft:#9a9a9f;--came:#c9a14a;--brass:#c9a14a;--brass-lit:#e8c27a;--signal:#ff7a4a;--signal-ink:#1f0c06;--ring:#ff7a4a66;--bad:#ff7396;--bad-field:#ff73961a;--warn:#d4ad03;--warn-field:#d4ad031a;--info:#00c2fe;--info-field:#00c2fe1a;--glow:#ff7a4a0f;--window-strength:.36;--pane:var(--surface)}@supports (color:color-mix(in lab, red, red)){.auth-page{--pane:color-mix(in oklab, var(--surface) 52%, transparent)}}.auth-page{--pane-shine:#ffffff1a;--pane-sheen:#ffffff0b;--pane-shadow:0 1px 0 #0009, 0 22px 50px -24px #000c}}.auth-page{background:var(--ground);min-height:100svh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:2.5rem 1.25rem 3rem;display:flex}.auth-page:before{--window-size:min(64rem, 150vw);content:"";top:calc(var(--window-size) * -.42);right:calc(var(--window-size) * -.2);width:var(--window-size);aspect-ratio:1;pointer-events:none;background:var(--window) center / contain no-repeat;filter:blur(56px)saturate(1.2);opacity:var(--window-strength);position:fixed}.auth-col{flex-direction:column;gap:1.5rem;width:100%;max-width:24rem;margin:auto;display:flex;position:relative}.surface-grant{max-width:30rem}.setup-ready{--signal:var(--glass-emerald);--signal-ink:#fff;--ring:var(--glass-emerald)}@supports (color:color-mix(in lab, red, red)){.setup-ready{--ring:color-mix(in oklab, var(--glass-emerald) 26%, transparent)}}@media (prefers-color-scheme:dark){.setup-ready{--signal-ink:#06231a}}.surface-terminus{max-width:21rem}.disclosure{flex-direction:column;gap:.5rem;display:flex}.disclosure>summary{cursor:pointer;width:fit-content;color:var(--signal);text-underline-offset:3px;font-size:.9375rem;text-decoration:underline;list-style:none}.disclosure>summary::-webkit-details-marker{display:none}.surface-terminus .prompt-head{text-align:left;align-items:flex-start}.surface-terminus .prompt-title{letter-spacing:-.012em;font-size:1.125rem;font-weight:500;line-height:1.4}.surface-terminus .prompt-lede{max-width:none;font-size:.9375rem}.state{letter-spacing:.14em;text-transform:uppercase;color:var(--came);align-items:center;gap:.5rem;font-size:.6875rem;font-weight:700;display:flex}.state:before{content:"";background:currentColor;border-radius:1px;flex:none;width:1.5rem;height:2px}.state-bad{color:var(--bad)}.state-done{color:var(--signal)}.said{border-radius:var(--bend);background:var(--surface);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-soft);overflow-wrap:anywhere;margin:0;padding:.6875rem .8125rem;font-size:.75rem;line-height:1.5}.auth-id{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.auth-mark{border-radius:var(--bend);background:var(--surface);border:1px solid var(--brass);place-items:center;width:2.75rem;height:2.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.auth-mark{border:1px solid color-mix(in oklab, var(--brass) 55%, var(--line))}}.auth-mark{color:var(--signal);letter-spacing:-.02em;font-size:1.0625rem;font-weight:700}.avatar{border-radius:var(--bend);border:1px solid var(--line);background:var(--surface);object-fit:cover;display:block}.avatar-photo{border-radius:50%}.avatar-identicon,.avatar-initials{border-radius:22%}.auth-tenant{letter-spacing:.12em;text-transform:uppercase;color:var(--came);overflow-wrap:anywhere;font-size:.75rem;font-weight:700}.auth-pair{justify-content:center;align-items:center;gap:.875rem;display:flex}.auth-pair .auth-mark{width:2.5rem;height:2.5rem;font-size:1rem}.auth-mark-client{color:var(--ink);border-color:var(--line-firm)}.auth-mark-logo{object-fit:cover;background:var(--surface)}.item-logo{border-radius:.3rem}.app-tiles{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.app-tile{border:1px solid var(--pane-rim);background:var(--pane);box-shadow:var(--pane-shadow);color:inherit;text-align:center;border-radius:1rem;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem .875rem;text-decoration:none;display:flex}.app-tile:hover,.app-tile:focus-visible{border-color:var(--came)}.app-tile-logo{border-radius:.45rem;width:2rem;height:2rem}.app-tile-initial{background:var(--came);place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.app-tile-initial{background:color-mix(in oklab, var(--came) 14%, transparent)}}.app-tile-initial{color:var(--came);font-weight:600}.app-tile-name{overflow-wrap:anywhere;font-size:.875rem;font-weight:500}.client-links{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.auth-mark-pending{color:var(--came);border-style:dashed}.auth-mark-rose{background:0 0;border:0;border-radius:50%}.auth-wire{background:var(--line-firm);flex:0 0 3.5rem;height:1px;position:relative}.auth-wire:after{content:"";border-top:1px solid var(--line-firm);border-right:1px solid var(--line-firm);width:5px;height:5px;position:absolute;top:50%;right:0;transform:translateY(-50%)rotate(45deg)}.auth-wire-live{background:var(--signal)}.auth-wire-live:after{background:var(--signal);border:0;border-radius:50%;width:6px;height:6px;transform:translate(50%,-50%)}.slab,.entry,.person{background:linear-gradient(160deg, var(--pane-sheen), transparent 45%), var(--pane);border:1px solid var(--pane-rim);box-shadow:inset 0 1px 0 var(--pane-shine), var(--pane-shadow);-webkit-backdrop-filter:blur(22px)saturate(1.5);backdrop-filter:blur(22px)saturate(1.5)}.slab{border-radius:var(--bend);flex-direction:column;gap:1rem;padding:1.125rem;display:flex}.grant-scope-hot,.grant-scope-hot .chip-key{color:var(--warn)}.grant-scope-split{background:var(--line-firm);height:1px;margin:.25rem 0;list-style:none}.record-cap{letter-spacing:.16em;text-transform:uppercase;color:var(--came);font-size:.6875rem;font-weight:700}.place{--accent:var(--glass-gold);flex-direction:column;gap:1.75rem;display:flex}.plaque{isolation:isolate;text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:0 1rem .5rem;display:flex;position:relative}.plaque-top{text-align:left;align-self:stretch;align-items:center;gap:.5rem;display:flex}.plaque-top .auth-mark{width:1.75rem;height:1.75rem;font-size:.75rem}.plaque-title{border-bottom:1px solid var(--line);letter-spacing:-.02em;text-align:left;align-self:stretch;margin:.5rem 0 1.75rem;padding-bottom:1rem;font-size:1.25rem;font-weight:600}.plaque-notes{text-align:left;flex-direction:column;align-self:stretch;gap:.5rem;margin:-.75rem 0 1.75rem;display:flex}.plaque:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(44% 58% at 50% 0%, var(--glass-amber), transparent 72%);height:18rem;position:absolute;inset:-3rem 0 auto}@supports (color:color-mix(in lab, red, red)){.plaque:before{background:radial-gradient(44% 58% at 50% 0%, color-mix(in oklab, var(--glass-amber) 20%, transparent), transparent 72%)}}.plaque-shot{display:inline-block;position:relative}.plaque-pick{cursor:pointer;display:block}.plaque-badge-form{z-index:1;position:absolute;bottom:-.1875rem;right:-.1875rem}.plaque-badge{background:var(--surface);border:1px solid var(--line-firm);width:1.75rem;height:1.75rem;color:var(--ink-soft);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.plaque-badge svg{width:.875rem;height:.875rem}.plaque-badge:hover{border-color:var(--bad);color:var(--bad)}.plaque-done{z-index:2;background:var(--glass-emerald);width:1.75rem;height:1.75rem;color:var(--surface);pointer-events:none;opacity:0;border-radius:50%;place-items:center;animation:2.4s ease-out plaque-done;display:grid;position:absolute;bottom:-.1875rem;right:-.1875rem}.plaque-done svg{stroke-width:2.2px;width:.875rem;height:.875rem}.plaque-shot-done .plaque-avatar{animation:2.4s ease-out plaque-ring}@keyframes plaque-done{0%,65%{opacity:1}to{opacity:0}}@keyframes plaque-ring{0%,65%{box-shadow:0 0 0 2px var(--glass-emerald), 0 16px 34px -18px color-mix(in oklab, var(--glass-amber) 55%, transparent)}}.plaque-file{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.plaque-file-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.plaque-pick:focus-within .plaque-avatar{outline:2px solid var(--accent);outline-offset:3px}.plaque-avatar{object-fit:cover;width:5.5rem;height:5.5rem;box-shadow:0 0 0 1px var(--line-firm), 0 16px 34px -18px var(--glass-amber);flex:none;display:block}@supports (color:color-mix(in lab, red, red)){.plaque-avatar{box-shadow:0 0 0 1px var(--line-firm), 0 16px 34px -18px color-mix(in oklab, var(--glass-amber) 55%, transparent)}}.plaque-name{letter-spacing:-.03em;margin:.75rem 0 0;font-size:1.625rem;font-weight:700;line-height:1.15}.plaque-sub{color:var(--ink-soft);margin:0;font-size:1rem}.plaque-pills{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.5rem;margin-top:1rem;display:flex}.signout{display:contents}.pill{border:1px solid var(--line-firm);background:var(--glow);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:.4375rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.pill:hover{border-color:var(--came);color:var(--ink)}.pill-accent{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.pill-accent{border-color:color-mix(in oklab, var(--accent) 40%, var(--line))}}.pill-accent:hover{color:var(--accent);border-color:var(--accent)}.pill svg{width:1rem;height:1rem}.group{flex-direction:column;gap:.5rem;scroll-margin-top:1.25rem;display:flex}.group>h2{color:var(--came);margin:0 0 .125rem .25rem;font-size:.875rem;font-weight:500}.entries{flex-direction:column;gap:.5rem;display:flex}.entry{border-radius:1rem;scroll-margin-top:1.25rem}.entry[open]{border-color:var(--brass)}@supports (color:color-mix(in lab, red, red)){.entry[open]{border-color:color-mix(in oklab, var(--brass) 45%, var(--line-firm))}}.entry>summary{cursor:pointer;align-items:center;gap:.875rem;padding:.9375rem 1rem;list-style:none;display:flex}.entry>summary::-webkit-details-marker{display:none}.entry-icon{border:1px solid var(--line-firm);width:2.25rem;height:2.25rem;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;display:grid}.entry-icon svg{width:1.125rem;height:1.125rem}.entry-label{overflow-wrap:anywhere;letter-spacing:-.012em;min-width:0;font-size:1rem;font-weight:500}.entry-state{color:var(--came);text-align:right;flex:none;margin-left:auto;font-size:.875rem}.entry-state-warn{color:var(--accent)}.entry-state-bad{color:var(--bad)}.entry-mark{border-right:1.5px solid var(--line-firm);border-bottom:1.5px solid var(--line-firm);width:.4375rem;height:.4375rem;transition:transform .2s var(--swing);flex:none;transform:rotate(-45deg)}.entry[open] .entry-mark{transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.entry-mark{transition:none}}.entry-body{flex-direction:column;gap:.875rem;padding:0 1rem 1.125rem;display:flex}.entry-body>.aside{max-width:52ch}.items{flex-direction:column;display:flex}.item{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.375rem 1rem;padding:.875rem 0;display:grid}.item+.item{border-top:1px solid var(--line)}.item:first-child{padding-top:.25rem}.item:last-child{padding-bottom:.25rem}.item-name{overflow-wrap:anywhere;letter-spacing:-.01em;flex-wrap:wrap;grid-column:1;align-items:center;gap:.5rem;min-width:0;font-size:.9375rem;font-weight:600;display:flex}.item-meta{color:var(--ink-soft);grid-column:1;font-size:.8125rem;line-height:1.5}.item-list{color:var(--ink-soft);flex-direction:column;grid-column:1;gap:.1875rem;margin:0;padding:0;font-size:.8125rem;line-height:1.4;list-style:none;display:flex}.item-more{color:var(--came)}.item-delegations{color:var(--ink-soft);flex-direction:column;grid-column:1/-1;gap:.375rem;margin:.25rem 0 0;padding:0;font-size:.8125rem;list-style:none;display:flex}.item-delegations li{border-left:2px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-left:.75rem;display:flex}.item-act{grid-area:1/2;justify-self:end}.item-act .action{white-space:nowrap}.item-acts{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.item-acts .control{width:auto}.item-member .item-act{grid-row:1/span 2;align-self:center}@media (width<=34rem){.item-member{grid-template-columns:minmax(0,1fr)}.item-member .item-act{grid-area:auto/1;justify-self:start}.item-member .item-acts{justify-content:flex-start}}.entry-invited{border-color:var(--warn)}@supports (color:color-mix(in lab, red, red)){.entry-invited{border-color:color-mix(in oklab, var(--warn) 55%, var(--line-firm))}}.member-add{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(7rem,auto) auto;align-items:end;gap:.625rem .75rem;padding-top:1rem;display:grid}.member-add-hint{grid-column:1/-1}.member-add .control{height:3.25rem;padding-block:0}.member-add .member-add-go{height:3.25rem}@media (width<=34rem){.member-add{grid-template-columns:minmax(0,1fr) auto}.member-add-email{grid-column:1/-1}}.member-leave{border-top:1px solid var(--line);padding-top:1rem;display:flex}.switches{flex-direction:column;display:flex}.switch{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.6875rem 0;font-size:.9375rem;display:flex}.switch+.switch{border-top:1px solid var(--line)}.switch input[type=checkbox]{width:1.0625rem;height:1.0625rem;accent-color:var(--accent);flex:none;margin:0}.switch-set{flex-direction:column;gap:.25rem;display:flex}.switch-set>legend{color:var(--came);padding:0;font-size:.75rem;font-weight:500}.flow{flex-direction:column;gap:1.25rem;display:flex}.flow-tight{flex-direction:column;gap:.625rem;display:flex}.prompt-head{text-align:center;flex-direction:column;align-items:center;gap:.4375rem;display:flex}.prompt-title{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,1.4rem + 1.5vw,2.125rem);font-weight:700;line-height:1.06}.prompt-lede{color:var(--ink-soft);max-width:38ch;margin:0;font-size:1rem;line-height:1.5}.prompt-lede strong{color:var(--ink);font-weight:500}.pulse{background:var(--brass);border-radius:1px;width:2.75rem;height:2px;margin-bottom:.625rem;position:relative}@supports (color:color-mix(in lab, red, red)){.pulse{background:color-mix(in oklab, var(--brass) 60%, transparent)}}.pulse{overflow:hidden}.pulse:after{content:"";background:var(--signal);inset-block:0;border-radius:1px;width:55%;position:absolute;left:0;translate:-100%}.pulse-on:after{animation:1.15s cubic-bezier(.66,0,.34,1) infinite sweep}.pulse-done{background:var(--signal)}.pulse-bad{background:var(--bad)}.ledger-row{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding:.9375rem 0;display:flex}.ledger-row:first-child{border-top:0;padding-top:0}.ledger-row:last-child{padding-bottom:0}.ledger-step+.ledger-step{border-top:0}.setup .prompt-head{margin-bottom:.75rem}.tabset{gap:.25rem;display:flex}.tabset-tab{border-bottom:2px solid var(--line);letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--ink-soft);flex:1;padding:0 0 .5rem;font-size:.6875rem;font-weight:700;transition:color .2s,border-color .2s}.tabset-done{border-bottom-color:var(--glass-emerald);color:var(--came)}.tabset-now{border-bottom-color:var(--signal);color:var(--ink)}.ledger-row-aside{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;column-gap:.75rem;display:grid}.ledger-aside{grid-area:1/2/span 2;justify-self:end}.ledger-label{letter-spacing:.08em;text-transform:uppercase;color:var(--came);font-size:.75rem;font-weight:700}.ledger-value{overflow-wrap:anywhere;font-size:.9375rem;line-height:1.5}.ledger-row-tight{gap:.25rem;padding:.625rem 0}.ledger-row-tight .ledger-value{font-size:.8125rem}.ledger-step{--step:var(--line-firm)}.ledger-step-done{--step:var(--glass-emerald)}.ledger-step .ledger-label{color:var(--ink-soft);align-items:center;gap:.5rem;transition:color .2s;display:flex}.ledger-step .ledger-label:before{content:"";background:var(--step);border-radius:50%;width:.4375rem;height:.4375rem;transition:background-color .2s}.ledger-step-done .ledger-label{color:var(--step)}.ledger-step-done .control:not(:focus){border-color:var(--step)}@supports (color:color-mix(in lab, red, red)){.ledger-step-done .control:not(:focus){border-color:color-mix(in oklab, var(--step) 45%, var(--line))}}.enrol{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.enrol-qr{aspect-ratio:1;border-radius:var(--bend);border:1px solid var(--line);background:#fff;flex:none;width:10rem;max-width:100%;overflow:hidden}.enrol-qr svg{width:100%;height:100%;display:block}.enrol-key{flex-direction:column;flex:10rem;gap:.375rem;min-width:0;display:flex}.enrol-secret{overflow-wrap:anywhere;letter-spacing:.06em;-webkit-user-select:all;user-select:all}.codes{font-variant-numeric:tabular-nums;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.375rem 1rem;margin:0;padding:0;list-style:none;display:grid}.codes li{-webkit-user-select:all;user-select:all}.codes-actions{flex-wrap:wrap;align-self:flex-start;gap:.5rem 1.25rem;display:flex}.grant-scopes{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.grant-fields{color:var(--ink-soft);flex-basis:100%;grid-template-columns:auto 1fr;gap:.125rem .75rem;margin:.25rem 0 0;font-size:.8125rem;display:grid}.grant-fields dt{font-weight:600}.grant-fields dd{overflow-wrap:anywhere;margin:0}.grant-scope{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.1875rem .875rem;font-size:.9375rem;line-height:1.45;display:flex}.field{flex-direction:column;gap:.4375rem;display:flex}.field-label{letter-spacing:-.002em;font-size:.875rem;font-weight:500}.field-line{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.field-line .textlink{font-size:.875rem}.field-hint{color:var(--ink-soft);font-size:.8125rem;line-height:1.45}.field-hint-bad{color:var(--bad);font-weight:500}.control{width:100%;font:inherit;border-radius:var(--bend);border:1px solid var(--line);background:var(--surface);padding:.9375rem 1rem;font-size:1rem}@supports (color:color-mix(in lab, red, red)){.control{background:color-mix(in oklab, var(--surface) 72%, transparent)}}.control{color:var(--ink);caret-color:var(--signal);transition:border-color .15s,box-shadow .15s,background-color .15s}.control:autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--signal);box-shadow:inset 0 0 0 100vmax var(--surface)}.control:autofill:focus{box-shadow:inset 0 0 0 1px var(--brass-lit), inset 0 0 0 100vmax var(--surface)}.control::placeholder{color:var(--ink-soft)}@supports (color:color-mix(in lab, red, red)){.control::placeholder{color:color-mix(in oklab, var(--ink-soft) 78%, transparent)}}.control:hover:not(:disabled):not([readonly]){border-color:var(--line-firm)}.control:focus{border-color:var(--brass-lit);box-shadow:inset 0 0 0 1px var(--brass-lit);outline:none}.control[readonly]{background:var(--ground);color:var(--ink-soft);border-color:var(--line)}.control-sm{padding:.5625rem .75rem;font-size:.9375rem}.control-mono{font-family:var(--font-mono);letter-spacing:.14em;font-size:1rem}.control-code{font-family:var(--font-mono);text-align:center;letter-spacing:.4em;text-indent:.4em;font-variant-numeric:tabular-nums;padding:.875rem .5rem;font-size:1.5rem;font-weight:500}.check{color:var(--ink-soft);cursor:pointer;align-items:center;gap:.625rem;font-size:.875rem;line-height:1.4;display:flex}.check input[type=checkbox],.check input[type=radio]{width:1rem;height:1rem;accent-color:var(--signal);flex:none;margin:0}.check input[type=checkbox]:focus-visible,.check input[type=radio]:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.action{width:100%;font:inherit;letter-spacing:-.014em;text-align:center;border-radius:var(--bend);border:1px solid var(--signal);justify-content:center;align-items:center;gap:.5rem;padding:.9375rem 1.125rem;font-size:1rem;font-weight:500;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.action{border:1px solid color-mix(in oklab, var(--signal) 60%, transparent)}}.action{background:var(--signal)}@supports (color:color-mix(in lab, red, red)){.action{background:color-mix(in oklab, var(--signal) 14%, var(--ground))}}.action{color:var(--signal);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.action:hover:not(:disabled){border-color:var(--signal);background:var(--signal)}@supports (color:color-mix(in lab, red, red)){.action:hover:not(:disabled){background:color-mix(in oklab, var(--signal) 24%, var(--ground))}}.action:focus-visible{outline:2px solid var(--brass-lit);outline-offset:2px}.action:disabled{border-color:var(--line-firm);color:var(--ink-soft);background:0 0}@supports (color:color-mix(in lab, red, red)){.action:disabled{color:color-mix(in oklab, var(--ink-soft) 66%, transparent)}}.action:disabled{cursor:not-allowed}.action-busy,.action-busy:disabled{background:var(--surface);border-color:var(--line-firm);color:var(--ink-soft);cursor:progress}.action-mark{position:absolute;top:50%;left:1.0625rem;translate:0 -50%}.action-quiet{background:var(--surface);color:var(--ink);border-color:var(--line)}.action-quiet:hover:not(:disabled){background:var(--surface);border-color:var(--line-firm)}.action-plain{color:var(--ink-soft);background:0 0;padding:.6875rem 1rem;font-size:.9375rem;font-weight:400}.action-plain:hover:not(:disabled){background:var(--surface);color:var(--ink)}.action-sm{align-self:flex-start;width:auto;padding:.5625rem .9375rem;font-size:.9375rem}.providers{flex-direction:column;gap:.625rem;display:flex}.providers>form{display:contents}.org-picks{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.org-pick{border:1px solid var(--line);border-radius:var(--bend);background:var(--surface);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.875rem;padding:.75rem 1rem .75rem .75rem;transition:border-color .15s,background-color .15s;display:grid}.org-pick:hover:not(:disabled){border-color:var(--signal)}@supports (color:color-mix(in lab, red, red)){.org-pick:hover:not(:disabled){border-color:color-mix(in oklab, var(--signal) 60%, var(--line-firm))}}.org-pick:focus-visible{outline:2px solid var(--brass-lit);outline-offset:2px}.org-pick:disabled{cursor:not-allowed;opacity:.6}.org-pick[aria-busy=true]{opacity:1;cursor:progress;border-color:var(--signal)}.org-pick-mark{border-radius:calc(var(--bend) * .75);border:1px solid var(--line-firm);background:var(--ground);width:2.25rem;height:2.25rem;color:var(--signal);letter-spacing:.02em;place-items:center;font-size:.8125rem;font-weight:700;display:grid}.org-pick-name{overflow-wrap:anywhere;letter-spacing:-.014em;min-width:0;font-size:1rem;font-weight:600}.org-pick-role{color:var(--ink-soft);font-size:.8125rem}.credential-ways{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.credential-way{font:inherit;border-radius:var(--bend);border:1px solid var(--line);background:var(--surface);padding:.75rem 1rem;font-size:.9375rem}@supports (color:color-mix(in lab, red, red)){.credential-way{background:color-mix(in oklab, var(--surface) 72%, transparent)}}.credential-way{color:var(--ink-soft);cursor:pointer;transition:border-color .15s,color .15s}.credential-way[aria-checked=true]{border-color:var(--signal);color:var(--ink);font-weight:600}.credential-way:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.providers-rule{color:var(--ink-soft);text-transform:lowercase;align-items:center;gap:.75rem;font-size:.8125rem;display:flex}.providers-rule:before,.providers-rule:after{content:"";background:var(--line);flex:auto;height:1px}.otherwise{flex-direction:column;gap:.625rem;display:flex}.otherwise>.providers-rule{margin-bottom:.3125rem}.otherwise .providers{gap:.625rem}.action-row{align-items:stretch;gap:.625rem;display:flex}.action-row>form{display:flex}.action-countdown{font-variant-numeric:tabular-nums}.action-grow{flex:auto}.action-row .action-sm{align-self:auto}.action-fit{flex:none;width:auto}.textlink{font:inherit;color:var(--signal);cursor:pointer;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--signal);-webkit-text-decoration-color:var(--signal);-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal);background:0 0;border:0;padding:0;font-size:.9375rem;font-weight:400}@supports (color:color-mix(in lab, red, red)){.textlink{-webkit-text-decoration-color:color-mix(in oklab, var(--signal) 38%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--signal) 38%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--signal) 38%, transparent);text-decoration-color:color-mix(in oklab, var(--signal) 38%, transparent)}}.textlink{transition:text-decoration-color .15s}.textlink:hover{text-decoration-color:currentColor}.textlink:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:3px}.textlink:disabled{opacity:.5;cursor:not-allowed}.whom{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;padding-bottom:.8125rem;display:flex}.whom-name{font-family:var(--font-mono);color:var(--ink-soft);overflow-wrap:anywhere;font-size:.8125rem;line-height:1.5}.whom .textlink{flex:none;font-size:.875rem}.handshake-warn{color:var(--warn)}.handshake-more>summary{color:var(--ink-soft);-webkit-text-decoration-color:var(--line-firm);-webkit-text-decoration-color:var(--line-firm);-webkit-text-decoration-color:var(--line-firm);text-decoration-color:var(--line-firm);align-self:center;font-size:.8125rem}.person{border-radius:.75rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.875rem;padding:.75rem .875rem;display:grid}.person-avatar{object-fit:cover;border-radius:999px;width:2.75rem;height:2.75rem}.person-who{flex-direction:column;gap:.125rem;min-width:0;display:flex}.person-name{overflow-wrap:anywhere;font-weight:600;line-height:1.3}.person-sub{color:var(--ink-soft);overflow-wrap:anywhere;font-size:.8125rem;line-height:1.4}.person-note{color:var(--came)}.person-role{letter-spacing:.08em;text-transform:uppercase;width:fit-content;color:var(--signal);margin-top:.25rem;font-size:.6875rem;font-weight:700}.person .textlink{font-size:.875rem}.chip-key{font-family:var(--font-mono);color:var(--ink-soft);flex:none;font-size:.75rem}.tag{border:1px solid var(--line-firm);background:var(--ground);color:var(--ink-soft);border-radius:999px;flex:none;padding:.0625rem .4375rem;font-size:.75rem;font-weight:500;line-height:1.6}.tag-bad{background:var(--bad-field);color:var(--bad);border-color:currentColor}.aside{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.5}.aside-mono{font-family:var(--font-mono);font-size:.8125rem}.aside-bad{color:var(--bad)}.approval-code{letter-spacing:.12em;color:var(--ink);text-align:center;font-size:2rem}.note{border-radius:var(--bend);color:var(--info);background:var(--info-field);border:1px solid;flex-direction:column;gap:.1875rem;padding:.8125rem .875rem;font-size:.9375rem;line-height:1.45;display:flex}.note-bad{color:var(--bad);background:var(--bad-field)}.note-plain{color:var(--ink);background:var(--glow);border-color:var(--line-firm)}.note-warn{color:var(--warn);background:var(--warn-field)}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;width:1.05em;height:1.05em;animation:.62s linear infinite spin}.waiting{color:var(--ink-soft);align-items:center;gap:.625rem;margin:0;font-size:1rem;display:flex}.over{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.over .prompt-lede{max-width:30ch}.over .action{width:auto;min-width:11rem}.empty{color:var(--ink-soft);margin:0;padding:.375rem 0;font-size:.9375rem;line-height:1.5}.recover{flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:.375rem 1rem;display:flex}.recover>span{flex:14rem}.recover .textlink{color:inherit;flex:none;font-size:.9375rem}.recover .textlink:focus-visible{outline-color:currentColor}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.z-20{z-index:20}.m-0{margin:0}.mx-auto{margin-inline:auto}.ms-auto{margin-inline-start:auto}.-me-3{margin-inline-end:calc(var(--spacing) * -3)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1{margin-left:var(--spacing)}.ml-auto{margin-left:auto}.\!hidden{display:none!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-0{width:0}.w-16{width:calc(var(--spacing) * 16)}.w-44{width:calc(var(--spacing) * 44)}.w-auto{width:auto}.w-full{width:100%}.max-w-0{max-width:0}.max-w-6xl{max-width:var(--container-6xl)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-60{max-width:calc(var(--spacing) * 60)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\[11rem\]{max-width:11rem}.max-w-\[12rem\]{max-width:12rem}.max-w-\[16rem\]{max-width:16rem}.max-w-\[18rem\]{max-width:18rem}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-28{min-width:calc(var(--spacing) * 28)}.min-w-44{min-width:calc(var(--spacing) * 44)}.min-w-64{min-width:calc(var(--spacing) * 64)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-28{flex-basis:calc(var(--spacing) * 28)}.cursor-pointer{cursor:pointer}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-base-300{border-color:var(--color-base-300)}.bg-base-200{background-color:var(--color-base-200)}.object-cover{object-fit:cover}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.line-through{text-decoration-line:line-through}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.outline-none{--tw-outline-style:none;outline-style:none}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:pb-0:last-child{padding-bottom:0}@media (hover:hover){.hover\:opacity-100:hover{opacity:1}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}@media (width>=40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:w-48{width:calc(var(--spacing) * 48)}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[2fr_1fr\]{grid-template-columns:2fr 1fr}.sm\:grid-cols-\[minmax\(0\,1fr\)_10rem_auto\]{grid-template-columns:minmax(0,1fr) 10rem auto}.sm\:items-end{align-items:flex-end}.sm\:gap-y-2{row-gap:calc(var(--spacing) * 2)}.sm\:pb-0{padding-bottom:0}}@media (width>=48rem){.md\:ml-auto{margin-left:auto}.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:w-56{width:calc(var(--spacing) * 56)}.md\:w-auto{width:auto}.md\:max-w-\[15rem\]{max-width:15rem}.md\:flex-1{flex:1}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@media (prefers-color-scheme:dark){:root{--color-base-100:#15110e;--color-base-200:#1e1915;--color-base-300:#3d352f;--color-base-content:#f3efec;--color-primary:#ff8f53;--color-primary-content:#1a1614;--color-secondary:#b58a41;--color-secondary-content:#000;--color-accent:#deaf56;--color-accent-content:#000;--color-neutral:#1a1614;--color-neutral-content:#e9e5e2;--color-info:#00c2fe;--color-info-content:#000;--color-success:#1dcf98;--color-success-content:#000;--color-warning:#d4ad03;--color-warning-content:#000;--color-error:#ff867a;--color-error-content:#1a1614}}:root{--glass-ruby:#b53530;--glass-ember:#b04000;--glass-amber:#a44f00;--glass-gold:#8b6200;--glass-verdant:#267e05;--glass-emerald:#008450;--glass-cyan:#008386;--glass-sky:#0077b2;--glass-cobalt:#2065c5;--glass-violet:#6e50be}@media (prefers-color-scheme:dark){:root{--glass-ruby:#ff867a;--glass-ember:#ff8f53;--glass-amber:#f19c29;--glass-gold:#d4ad03;--glass-verdant:#78c966;--glass-emerald:#1dcf98;--glass-cyan:#00cecf;--glass-sky:#00c2fe;--glass-cobalt:#70b1ff;--glass-violet:#b49dff}}[data-theme=rose]{--glass-ruby:#ff867a;--glass-ember:#ff8f53;--glass-amber:#f19c29;--glass-gold:#d4ad03;--glass-verdant:#78c966;--glass-emerald:#1dcf98;--glass-cyan:#00cecf;--glass-sky:#00c2fe;--glass-cobalt:#70b1ff;--glass-violet:#b49dff}@keyframes rise{0%{opacity:0;translate:0 4px}to{opacity:1;translate:none}}@keyframes sweep{0%{translate:-100%}to{translate:240%}}@keyframes spin{to{transform:rotate(360deg)}}.gate{flex-direction:column;gap:1.25rem;display:flex}.gate-moving{overflow-clip-margin:8px;overflow:visible clip}.gate-enter>*{animation:rise .34s var(--swing) both}.gate-enter>:nth-child(2){animation-delay:40ms}.gate-enter>:nth-child(3){animation-delay:80ms}.gate-enter>:nth-child(4){animation-delay:.11s}.gate-enter>:nth-child(n+5){animation-delay:.13s}@media (prefers-reduced-motion:reduce){.gate-enter>*{animation:none}.pulse-on:after{animation-duration:2.4s}.spinner{animation-duration:2s}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}
@@ -0,0 +1 @@
1
+ .console{--text-xs:.8125rem;--text-xs--line-height:1.45;--text-sm:.875rem;--text-sm--line-height:1.5;--edge:color-mix(in oklab, var(--color-base-content) 16%, transparent);--sunk:color-mix(in oklab, var(--color-base-content) 6%, transparent);--dim:color-mix(in oklab, var(--color-base-content) 72%, transparent);--dimmer:color-mix(in oklab, var(--color-base-content) 58%, transparent);--gutter:1.25rem;--rhythm:1.25rem;--tabbar-clear:calc(5.25rem + env(safe-area-inset-bottom,0px));--radius-box:10px;--radius-field:7px;--ground:#f4f4f5;--shade:20 20 24;--gold:#8a5a1c;--vermilion-field:#c2410c14;--ring:#c2410c66;--focus:2px solid var(--ring);--line:rgb(var(--shade) / .09);--line-firm:rgb(var(--shade) / .14);--sheet:#fff;--sheet-lift:0 0 0 1px var(--line), 0 1px 2px rgb(var(--shade) / .04);--tray:#efeff1;--tray-sink:inset 0 0 0 1px var(--line);--key:#fff;--key-hover:#f7f7f8;--key-lift:inset 0 0 0 1px var(--line-firm), 0 1px 1px rgb(var(--shade) / .05);--key-sink:inset 0 0 0 1px var(--line-firm), inset 0 1px 2px rgb(var(--shade) / .1);--key-hot-hover:#d4521c;--key-hot-lift:0 1px 1px rgb(var(--shade) / .12);--knob:#fff;--top:#f4f4f5f5;--tray-bar:#fffffff5;--tray-bar-lift:0 0 0 1px var(--line), 0 8px 24px rgb(var(--shade) / .1);--chart-ink:var(--color-primary);--chart-idle:color-mix(in oklab, var(--color-base-content) 14%, transparent);--color-base-100:#fff;--color-base-200:#f2f2f3;--color-base-300:#d6d6d9;--color-base-content:#18181b;--color-primary:#c2410c;--color-primary-content:#fff;--color-neutral:#18181b;--color-neutral-content:#f5f5f6;--color-info:#00679e;--color-success:#0f7a4c;--color-warning:#87590a;--color-error:#b0183f;--color-error-content:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--ground);color:var(--color-base-content);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.headline{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:1.5rem;font-weight:600;line-height:1.15}.headline-hero{letter-spacing:-.025em;font-size:1.75rem}.deck{max-width:60ch;color:var(--dim);margin:0;font-size:.875rem;line-height:1.55}.deck-sm{max-width:64ch;color:var(--dim);margin:0;font-size:.875rem;line-height:1.55}.section{min-width:0;padding-top:var(--rhythm);border-top:1px solid var(--line);flex-direction:column;gap:1rem;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;display:flex}.section-head:not(:has(.deck-sm)){align-items:center;min-height:2rem}@media (width>=48rem){.console{--gutter:1.5rem;--rhythm:1.5rem}}@media (prefers-color-scheme:dark){.console{--ground:#0a0a0b;--gold:#e6b95a;--vermilion-field:#ff7a4a1a;--ring:#ff7a4a80;--line:#ffffff13;--line-firm:#ffffff1c;--sheet:#131315;--sheet-lift:0 0 0 1px var(--line), 0 1px 2px #0000004d;--tray:#0e0e10;--key:#1c1c1f;--key-hover:#232327;--key-lift:inset 0 0 0 1px var(--line-firm), 0 1px 1px #0000004d;--key-sink:inset 0 0 0 1px var(--line-firm), inset 0 1px 3px #00000080;--key-hot-hover:#ff8d63;--key-hot-lift:0 1px 1px #0000004d;--knob:#e4e4e7;--top:#0a0a0bf5;--tray-bar:#161618f5;--tray-bar-lift:0 0 0 1px var(--line-firm), 0 8px 24px #00000080;--color-base-100:#131315;--color-base-200:#1a1a1d;--color-base-300:#2c2c31;--color-base-content:#ededef;--color-primary:#ff7a4a;--color-primary-content:#1f0c06;--color-neutral:#1c1c1f;--color-neutral-content:#ededef;--color-info:#4cc9ff;--color-success:#3fd6a0;--color-warning:#e6b95a;--color-error:#ff7396;--color-error-content:#2a0710;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.console-page{gap:var(--rhythm);flex-direction:column;min-width:0;display:flex}.console-bar,.console-main{padding-inline:max(var(--gutter), env(safe-area-inset-left,0px), env(safe-area-inset-right,0px))}.console-main{padding-block:var(--rhythm)}.section-body{flex-direction:column;gap:1rem;min-width:0;display:flex}@media (width>=48rem){.section-row{grid-template-columns:minmax(12rem,1fr) minmax(0,2fr);align-items:start;gap:1rem 2.5rem;display:grid}.section-row>.section-head{flex-direction:column;justify-content:flex-start;align-items:flex-start;padding-top:.375rem}}.hint,.term{color:var(--dim);font-size:.875rem;line-height:1.5}.console .field-label{color:color-mix(in oklab, var(--color-base-content) 75%, transparent);font-size:.9375rem}.console :is(.input-sm,.select-sm,.textarea-sm){font-size:.9375rem}.tip{flex:none;display:inline-flex;position:relative}.tip-mark{border:1px solid var(--edge);width:1.125rem;height:1.125rem;font:inherit;color:var(--dim);cursor:help;background:0 0;border-radius:50%;place-items:center;padding:0;font-size:.6875rem;font-weight:600;line-height:1;display:grid}.tip-mark:hover,.tip-mark:focus-visible{color:var(--color-base-content);border-color:var(--dim);outline:none}.tip-body{z-index:30;border-radius:var(--radius-box);background:var(--sheet);width:max-content;max-width:min(24rem,100vw - 2rem);box-shadow:var(--sheet-lift), 0 16px 32px -12px #00000073;letter-spacing:normal;text-transform:none;color:var(--color-base-content);opacity:0;visibility:hidden;pointer-events:none;padding:.625rem .75rem;font-size:.9375rem;font-weight:400;line-height:1.5;transition:opacity .12s;position:absolute;top:calc(100% + .5rem);left:-.5rem}.tip:hover .tip-body,.tip:focus-within .tip-body{opacity:1;visibility:visible}.subhead{letter-spacing:-.005em;color:var(--color-base-content);margin:0;font-size:.9375rem;font-weight:600}.legend{color:var(--dim);font-size:.8125rem;font-weight:600}.stamp{font-family:var(--font-mono);letter-spacing:-.01em;overflow-wrap:anywhere;color:var(--dimmer);font-size:.8125rem}.brand{letter-spacing:-.01em;color:inherit;white-space:nowrap;align-items:center;gap:.625rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:flex}.brand-mark{flex:none;width:1.75rem;height:1.75rem}.nav{flex-wrap:wrap;gap:0 .25rem;display:flex}.nav-item{border-radius:var(--radius-field);white-space:nowrap;color:var(--dimmer);padding:.375rem .625rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s}.nav-item:not(.nav-item-on):hover{color:var(--color-base-content);background:var(--key-hover)}.nav-item-on{color:var(--color-base-content);background:var(--key);box-shadow:var(--key-lift)}.tally{border-radius:var(--radius-box);background:var(--line);box-shadow:var(--sheet-lift);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:1px;display:grid;overflow:hidden}.tally-cell{background:var(--sheet);min-width:0;color:inherit;flex-direction:column;gap:.375rem;padding:1rem 1.25rem 1.0625rem;text-decoration:none;transition:background-color .12s;display:flex;position:relative}a.tally-cell:hover{background:var(--key-hover)}a.tally-cell:hover .tally-label{color:var(--color-base-content)}a.tally-cell:after{content:"→";color:var(--dim);opacity:0;transition:opacity .12s,transform .12s;position:absolute;top:.875rem;right:1rem;transform:translate(-.25rem)}a.tally-cell:hover:after,a.tally-cell:focus-visible:after{opacity:1;transform:none}a.tally-cell:active{background:var(--tray)}.tally-cell:focus-visible{outline:var(--focus);outline-offset:-2px}.tally-figure{letter-spacing:-.03em;font-variant-numeric:tabular-nums;order:1;font-size:2rem;font-weight:600;line-height:1.1}.tally-label{color:var(--dim);overflow-wrap:anywhere;font-size:.8125rem;font-weight:500}.slats{flex-direction:column;display:flex;overflow:hidden}.slat{flex-direction:column;gap:.25rem;min-width:0;padding:.6875rem .9375rem;display:flex;overflow:hidden}.slat+.slat{box-shadow:inset 0 1px 0 var(--line)}.scope{color:var(--dim)}.scope-privileged{color:var(--color-error)}.section-row .section-body :is(.select,.input:not([type=date]),.join){max-width:24rem}.section-row .section-body .join .input{max-width:none}.ldap-facts{grid-template-columns:max-content 1fr;align-items:baseline;gap:.375rem 1rem;display:grid}.nav-count{background:var(--color-warning);min-width:1rem;color:var(--color-base-100);text-align:center;vertical-align:.0625rem;font-variant-numeric:tabular-nums;border-radius:999px;margin-inline-start:.375rem;padding-inline:.25rem;font-size:.6875rem;font-weight:600;line-height:1rem;display:inline-block}.compact-list{flex-direction:column;display:flex}.compact-list>li{align-items:center;gap:.25rem .75rem;min-width:0;padding-block:.5rem;display:flex}.compact-list>li+li{box-shadow:inset 0 1px 0 var(--line)}.scope-picker{flex-direction:column;gap:.75rem;min-width:0;display:flex}.scope-picker-field{max-width:28rem;position:relative}.scope-picker-list{inset-inline:0;z-index:20;border-radius:var(--radius-field);background:var(--sheet);max-height:16rem;box-shadow:var(--tray-bar-lift);padding:.25rem;position:absolute;top:calc(100% + .25rem);overflow-y:auto}.scope-picker-option{border-radius:calc(var(--radius-field) - 2px);font-size:var(--text-xs);cursor:pointer;align-items:center;gap:.5rem;padding:.375rem .5rem;display:flex}.scope-picker-active{background:var(--sunk)}.scope-picker-new{color:var(--dimmer)}.scope-picker-more{font-size:var(--text-xs);color:var(--dimmer);padding:.375rem .5rem}.scope-picker-held{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.scope-picker-remove{opacity:.6;cursor:pointer;border-radius:999px;margin-inline:.125rem -.25rem;padding-inline:.25rem;line-height:1}.scope-picker-remove:hover{opacity:1}.scope-picker-remove:focus-visible{outline:var(--focus)}.drawn{filter:saturate(.35)contrast(1.05)}.console .table{font-variant-numeric:tabular-nums;font-size:.875rem}.console .table :where(th,td){border-bottom-color:var(--line);padding-block:.625rem}.console .table :where(tbody tr:last-child td){border-bottom:0}.console .table tr.hover:hover>td{background:color-mix(in oklab, var(--color-base-content) 3.5%, transparent)}.console .table :where(th:first-child,td:first-child){padding-inline-start:1rem}.console .table :where(th:last-child,td:last-child){padding-inline-end:1rem}.console .table thead th{white-space:nowrap;color:var(--dimmer);background:color-mix(in oklab, var(--color-base-content) 2.5%, transparent);padding-block:.5rem;font-size:.75rem;font-weight:500}.console .table tr.bare:hover>td{background:0 0}.console .badge{white-space:nowrap;letter-spacing:.02em;height:auto;min-height:var(--size);white-space:normal;text-align:left;padding-block:.1875rem;font-size:.8125rem;font-weight:600;line-height:1.35}.console .badge:not(.badge-error,.badge-success,.badge-info,.badge-warning){border-color:#0000}.console .badge-warning{color:var(--gold);background:color-mix(in oklab, var(--gold) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--gold) 30%, transparent);border-color:#0000}.chart{flex-direction:column;gap:.75rem;margin:0;display:flex}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.chart-peak{color:var(--dimmer);font-size:.8125rem}.chart-plot{padding:.75rem .75rem 0;position:relative}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-base{stroke:var(--edge);stroke-width:1px}.chart-bar{fill:var(--chart-ink)}.chart-bar-idle{fill:var(--chart-idle)}.chart-hit{fill:#0000}.chart-bar-on{fill:var(--color-base-content)}.chart-tip{white-space:nowrap;pointer-events:none;border-radius:var(--radius-field);background:var(--sheet);color:var(--color-base-content);box-shadow:var(--sheet-lift), 0 8px 20px -8px #0006;bottom:calc(100% - 1.25rem);left:var(--at);transform:translateX(calc(var(--at) * -1));padding:.375rem .5625rem;font-size:.8125rem;line-height:1.3;position:absolute}.chart-tip strong{font-variant-numeric:tabular-nums;font-weight:600}.chart-tip span{opacity:.7;display:block}.chart-axis{font-variant-numeric:tabular-nums;height:1rem;color:var(--dimmer);margin-inline:.75rem;font-size:.75rem;position:relative}.chart-axis span{left:var(--at);transform:translateX(calc(var(--at) * -1));white-space:nowrap;position:absolute}.range{border-radius:var(--radius-field);scrollbar-width:none;gap:2px;width:max-content;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.range button{white-space:nowrap;border-radius:calc(var(--radius-field) - 3px);font:inherit;font-variant-numeric:tabular-nums;color:var(--dimmer);cursor:pointer;background:0 0;border:0;flex:none;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.range button:hover{color:var(--color-base-content)}.range button[aria-pressed=true]{background:var(--key);box-shadow:var(--key-lift);color:var(--color-base-content)}.range button:focus-visible{outline:var(--focus);outline-offset:1px}.console .prompt-title{letter-spacing:-.02em;font-weight:600}.console-cog{width:2rem;height:2rem;color:var(--dim);border-radius:50%;flex:none;place-items:center;text-decoration:none;transition:color .15s,background-color .15s;display:grid}.console-cog svg{width:1.375rem;height:1.375rem}.console-cog:hover,.console-cog:focus-visible{color:var(--color-base-content);background:var(--key);box-shadow:var(--key-lift);outline:none}.console-cog:focus-visible{box-shadow:var(--key-lift), 0 0 0 2px var(--ring)}.console-cog:active{box-shadow:var(--key-sink)}.console-cog-on{color:var(--color-primary);background:var(--vermilion-field)}.settings{gap:1.5rem;display:grid}.settings-bar{border-bottom:1px solid var(--edge);align-items:center;gap:1rem;min-width:0;padding-bottom:.75rem;display:flex}.settings-tabs{gap:.25rem;min-width:0;display:flex;overflow-x:auto}.settings-tab{border-radius:var(--radius-field);font:inherit;text-align:left;white-space:nowrap;color:var(--dim);cursor:pointer;background:0 0;border:0;padding:.375rem .625rem;font-size:.875rem;text-decoration:none}.settings-tab:hover{color:var(--color-base-content);background:var(--key-hover)}.settings-tab-on{color:var(--color-base-content);background:var(--key);box-shadow:var(--key-lift);font-weight:500}.settings-me{flex-wrap:wrap;align-items:center;gap:.25rem;min-width:0;display:flex}.settings-who{max-width:14rem;color:var(--dim);border-radius:999px;align-items:center;gap:.5rem;padding:.25rem .625rem .25rem .25rem;font-size:.875rem;text-decoration:none;display:inline-flex}.settings-who:hover{color:var(--color-base-content);background:var(--key-hover)}.settings-who img{object-fit:cover;border-radius:50%;flex:none;width:1.5rem;height:1.5rem}.settings-who span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-quiet{color:var(--dimmer);font-size:.875rem}@media (width>=48rem){.settings-me{flex-wrap:nowrap;margin-inline-start:auto}}@media (width<=47.99rem){.settings-bar{display:contents}.settings-tabs{border-bottom:1px solid var(--edge);order:0;padding-bottom:.75rem}.settings>.min-w-0{order:1}.settings-me{border-top:1px solid var(--edge);order:2;padding-top:1rem}}.policy-rows{flex-direction:column;display:flex}.policy-row{border-top:1px solid var(--edge);gap:.625rem;padding-block:1rem;display:grid}.policy-controls{flex-direction:column;gap:.75rem;min-width:0;display:flex}@media (width>=40rem){.policy-row{grid-template-columns:8rem minmax(0,1fr);gap:1.5rem}.policy-row>.legend{padding-top:.25rem}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.btn-disabled{opacity:.45;pointer-events:none}.tabbar{inset:auto max(.625rem, env(safe-area-inset-left,0px)) calc(env(safe-area-inset-bottom,0px) + .625rem) max(.625rem, env(safe-area-inset-right,0px));z-index:20;background:var(--tray-bar);box-shadow:var(--tray-bar-lift);border-radius:1.25rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;padding:.375rem;display:grid;position:fixed}.tabbar-item{letter-spacing:.02em;color:var(--dimmer);-webkit-tap-highlight-color:transparent;border-radius:.875rem;flex-direction:column;align-items:center;gap:.25rem;padding:.4375rem 0 .5rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.tabbar-item svg{width:1.375rem;height:1.375rem}.tabbar-item-on{color:var(--color-primary);background:var(--vermilion-field)}.tabbar-item:active{box-shadow:var(--key-sink)}.tabbar-item:focus-visible{outline:var(--focus);outline-offset:-2px}@media (width>=48rem){.tabbar{display:none}}@media (width<=47.99rem){.nav{display:none}.console-main{min-width:0;padding-bottom:calc(var(--tabbar-clear) + 2rem);overflow-x:clip}.tally{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.tally-cell{padding:.875rem 1rem}.tally-cell:first-child:nth-last-child(odd){grid-column:1/-1}.section-head .btn-ghost{margin-inline-end:calc(var(--btn-p,.75rem) * -1)}.tip-body{inset:auto var(--gutter) calc(var(--tabbar-clear) + .75rem);width:auto;max-width:none;position:fixed}}.more>summary{cursor:pointer;width:fit-content;color:var(--dim);font-size:.875rem;list-style:none}.more>summary::-webkit-details-marker{display:none}.more>summary:before{content:"+ "}.more[open]>summary:before{content:"− "}.mail{gap:1.25rem;display:grid}.mail-pick{flex-direction:column;gap:.5rem;display:flex}.mail-list{flex-direction:column;gap:1.25rem;display:none}@media (width>=48rem){.mail-pick{display:none}.mail-list{display:flex}}.mail-group{flex-direction:column;gap:.125rem;display:flex}.mail-group>.select{margin-block:.375rem}.mail-item{border-radius:var(--radius-field);font:inherit;text-align:left;color:var(--dim);cursor:pointer;background:0 0;border:0;padding:.3125rem .625rem;font-size:.875rem}.mail-item:hover{color:var(--color-base-content);background:var(--key-hover)}.mail-item[aria-current]{color:var(--color-base-content);background:var(--key);box-shadow:var(--key-lift);font-weight:500}.mail-view{flex-direction:column;gap:.75rem;min-width:0;display:flex}.mail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1rem;display:flex}.mail-words{border-block:1px solid var(--color-base-300);flex-direction:column;gap:.75rem;padding-block:.75rem;display:flex}.mail-template summary{cursor:pointer}.mail-subject{overflow-wrap:anywhere;margin:0;font-size:1.0625rem;font-weight:600}.mail-frame{border:1px solid var(--edge);border-radius:var(--radius-box);width:100%;height:32rem;display:block}.mail-text{border:1px solid var(--edge);border-radius:var(--radius-box);background:var(--sunk);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:1rem;font-size:.875rem;line-height:1.6}@media (width>=48rem){.mail{grid-template-columns:15rem minmax(0,1fr);align-items:start;gap:2rem}.mail-list{position:sticky;top:5rem}}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.console-top{background:var(--top);box-shadow:0 1px 0 var(--line)}.sheet,.slats{border-radius:var(--radius-box)}.sheet,.slats,.console .alert{background:var(--sheet);box-shadow:var(--sheet-lift)}.sheet-press{transition:background-color .12s,box-shadow .12s}.sheet-press:hover{background:var(--key-hover);box-shadow:0 0 0 1px var(--line-firm)}.sheet-press:active{background:var(--tray)}.tray{border-radius:calc(var(--radius-box) - 4px)}.tray,.range,.console :is(.input,.select,.textarea),.console .toggle,.console .badge:not(.badge-error,.badge-success,.badge-info,.badge-warning),.console .alert-soft{background-color:var(--tray);box-shadow:var(--tray-sink)}.console .btn{border-radius:var(--radius-field);background:var(--key);box-shadow:var(--key-lift);color:inherit;border:0;font-weight:500;transition:background-color .12s,box-shadow .12s,transform 80ms}.console .btn:hover:not(:disabled){background:var(--key-hover)}.console .btn:active:not(:disabled){box-shadow:var(--key-sink)}.console .btn:focus-visible{outline:var(--focus);outline-offset:2px}.console .btn-primary{background:var(--color-primary);box-shadow:var(--key-hot-lift);color:var(--color-primary-content)}.console .btn-primary:hover:not(:disabled){background:var(--key-hot-hover)}.console .btn-primary:active:not(:disabled){background:var(--color-primary);box-shadow:inset 0 1px 2px #0000004d}.console .btn-error:not(.btn-outline,.btn-ghost){background:var(--color-error);color:var(--color-error-content);box-shadow:0 1px 1px #0003}.console .btn-error:not(.btn-outline,.btn-ghost):hover:not(:disabled){background:color-mix(in oklab, var(--color-error) 90%, white)}.console .btn-ghost{box-shadow:none;color:var(--dim);background:0 0}.console .btn-ghost:hover:not(:disabled){background:var(--key-hover);box-shadow:none;color:var(--color-base-content)}.console .btn-error.btn-outline:hover:not(:disabled),.console .btn-error.btn-outline:focus-visible{background:color-mix(in oklab, var(--color-error) 12%, var(--key));box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--color-error) 45%, transparent);color:var(--color-error)}.console :is(.input,.select,.textarea){border-radius:var(--radius-field);border:0}.console :is(.input,.select,.textarea):focus{outline:var(--focus);outline-offset:1px}.console .select option{background:var(--color-base-100);color:var(--color-base-content)}.console .toggle{border-color:#0000}.console .toggle:after{background:var(--knob);box-shadow:var(--key-lift)}.console .toggle:checked{background:var(--color-primary);box-shadow:none}.console .toggle:checked:after{background:var(--sheet)}.console .toggle:focus-visible{outline:var(--focus);outline-offset:2px}.console .alert{border:0}.console .link:focus-visible,.console a:focus-visible{outline:var(--focus);outline-offset:2px;border-radius:3px}@media (prefers-reduced-motion:no-preference){.console .btn:active:not(:disabled){transform:translateY(.5px)}}@media (prefers-reduced-motion:reduce){.console :is(.btn,.sheet-press){transition:none}}.dash,.dash-main,.dash-side{gap:var(--rhythm);flex-direction:column;min-width:0;display:flex}@media (width>=64rem){.dash{grid-template-columns:minmax(0,2fr) minmax(18rem,1fr);align-items:start;gap:2.5rem;display:grid}}.console .btn-ghost.btn-error:hover:not(:disabled),.console .btn-ghost.btn-error:focus-visible{background:color-mix(in oklab, var(--color-error) 10%, transparent);color:var(--color-error)}@media (width<=47.99rem){.range,.settings-tabs{flex-wrap:wrap;overflow-x:visible}.range{width:auto}}
@@ -0,0 +1,2 @@
1
+ var e=document.querySelector(`[data-countdown]`);if(e){let t=e.textContent,n=e.dataset.waiting,r=Number(e.dataset.countdown),i=()=>{e.disabled=r>0,e.textContent=r>0?n.replace(`%{seconds}`,r):t};i();let a=setInterval(()=>{document.visibilityState===`visible`&&(--r,i(),r<=0&&clearInterval(a))},1e3)}
2
+ //# sourceMappingURL=handshake-BYhhQ_X3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handshake-BYhhQ_X3.js","names":["button","ready","waiting","left","render","timer"],"sources":["../../../../server/app/frontend/entrypoints/handshake.js"],"sourcesContent":["const button = document.querySelector(\"[data-countdown]\");\n\nif (button) {\n const ready = button.textContent;\n const waiting = button.dataset.waiting;\n let left = Number(button.dataset.countdown);\n\n const render = () => {\n button.disabled = left > 0;\n button.textContent = left > 0 ? waiting.replace(\"%{seconds}\", left) : ready;\n };\n\n render();\n\n const timer = setInterval(() => {\n if (document.visibilityState !== \"visible\") return;\n\n left -= 1;\n render();\n\n if (left <= 0) clearInterval(timer);\n }, 1000);\n}\n"],"mappings":"AAAA,IAAMA,EAAS,SAAS,cAAc,kBAAkB,EAExD,GAAIA,EAAQ,CACV,IAAMC,EAAQD,EAAO,YACfE,EAAUF,EAAO,QAAQ,QAC3BG,EAAO,OAAOH,EAAO,QAAQ,SAAS,EAEpCI,MAAe,CACnB,EAAO,SAAWD,EAAO,EACzB,EAAO,YAAcA,EAAO,EAAID,EAAQ,QAAQ,aAAcC,CAAI,EAAIF,CACxE,EAEAG,EAAO,EAEP,IAAMC,EAAQ,gBAAkB,CAC1B,SAAS,kBAAoB,YAEjC,IACAD,EAAO,EAEHD,GAAQ,GAAG,cAAcE,CAAK,EACpC,EAAG,GAAI,CACT"}
@@ -0,0 +1,3 @@
1
+ var e=Array.isArray,t=Array.prototype.indexOf,n=Array.prototype.includes,r=Array.from,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors,s=Object.prototype,c=Array.prototype,l=Object.getPrototypeOf,u=Object.isExtensible,d=()=>{};function f(e){for(var t=0;t<e.length;t++)e[t]()}function p(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function m(e,t,n=!1){return e===void 0?n?t():t:e}function h(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}var g=1<<24,_=1024,v=2048,y=4096,b=8192,x=16384,S=32768,ee=1<<25,C=65536,te=1<<19,ne=1<<20,re=1<<25,ie=65536,ae=1<<21,oe=1<<22,se=1<<23,ce=Symbol(`$state`),le=Symbol(`component`),ue=Symbol(`legacy props`),de=Symbol(``),fe=Symbol(`attributes`),pe=Symbol(`class`),me=Symbol(`style`),he=Symbol(`text`),ge=Symbol(`form reset`),_e=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ve=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`),ye={},w=Symbol(`uninitialized`),be=`http://www.w3.org/1999/xhtml`,xe=`http://www.w3.org/2000/svg`,Se=`http://www.w3.org/1998/Math/MathML`;function Ce(){console.warn(`https://svelte.dev/e/derived_inert`)}function we(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Te(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function Ee(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var T=!1;function De(e){T=e}var E;function D(e){if(e===null)throw we(),ye;return E=e}function Oe(){return D(L(E))}function ke(e){if(T){if(L(E)!==null)throw we(),ye;E=e}}function Ae(e=1){if(T){for(var t=e,n=E;t--;)n=L(n);E=n}}function je(e=!0){for(var t=0,n=E;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=L(n);e&&n.remove(),n=i}}function Me(e){if(!e||e.nodeType!==8)throw we(),ye;return e.data}function Ne(e){return e===this.v}function Pe(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Fe(e){return!Pe(e,this.v)}function Ie(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function Le(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function Re(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function ze(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Be(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Ve(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function He(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Ue(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function We(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Ge(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Ke(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function qe(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Je=[];function Ye(e,t=!1,n=!1){return Xe(e,new Map,``,Je,null,n)}function Xe(t,n,r,i,a=null,o=!1){if(typeof t==`object`&&t){var c=n.get(t);if(c!==void 0)return c;if(t instanceof Map)return new Map(t);if(t instanceof Set)return new Set(t);if(e(t)){var u=Array(t.length);n.set(t,u),a!==null&&n.set(a,u);for(var d=0;d<t.length;d+=1){var f=t[d];d in t&&(u[d]=Xe(f,n,r,i,null,o))}return u}if(l(t)===s){u={},n.set(t,u),a!==null&&n.set(a,u);for(var p of Object.keys(t))u[p]=Xe(t[p],n,r,i,null,o);return u}if(t instanceof Date)return t.getTime(),structuredClone(t);if(typeof t.toJSON==`function`&&!o)return Xe(t.toJSON(),n,r,i,t)}if(t instanceof EventTarget)return t;try{return structuredClone(t)}catch{return t}}function Ze(e){let t=e.p;for(;t!==null&&t.c===null;)t=t.p;return t?.c??null}function Qe(e,t){return e===null&&Ie(t),e.c??=new Map(Ze(e)||void 0)}var O=null;function $e(e){O=e}function et(e){return Qe(O,`getContext`).get(e)}function tt(e,t){return Qe(O,`setContext`).set(e,t),t}function nt(e,t=!1,n){O={p:O,i:!1,c:null,e:null,s:e,x:null,r:K,l:null}}function rt(e){var t=O,n=t.e;if(n!==null){t.e=null;for(var r of n)jn(r)}return e!==void 0&&(t.x=e),t.i=!0,O=t.p,it(e)}function it(e={}){return i(e,le,{value:!0}),e}function at(){return!0}var ot=[];function st(){var e=ot;ot=[],f(e)}function k(e){if(ot.length===0&&!Rt){var t=ot;queueMicrotask(()=>{t===ot&&st()})}ot.push(e)}function ct(){for(;ot.length>0;)st()}var lt=~(v|y|_);function A(e,t){e.f=e.f&lt|t}function ut(e){e.f&512||e.deps===null?A(e,_):A(e,y)}function dt(e){if(e!==null)for(let t of e)t.f&2&&t.f&65536&&(t.f^=ie,dt(t.deps))}function ft(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),dt(e.deps),A(e,_)}var pt=!1;function mt(e){var t=pt;try{return pt=!1,[e(),pt]}finally{pt=t}}function ht(e,t){if(t){let t=document.body;e.autofocus=!0,k(()=>{document.activeElement===t&&e.focus()})}}function gt(e){T&&I(e)!==null&&xn(e)}var _t=!1;function vt(){_t||(_t=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[ge]?.()})},{capture:!0}))}function yt(e){var t=U,n=K;G(null),q(null);try{return e()}finally{G(t),q(n)}}function bt(e,t,n,r=n){e.addEventListener(t,()=>yt(n));let i=e[ge];e[ge]=i?()=>{i(),r(!0)}:()=>r(!0),vt()}function xt(e,t,n,r){let i=at()?Tt:kt;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=K,c=St(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){R(e,s)}Ct()}}var d=wt();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>Dt(e))).then(u).catch(e=>R(e,s)).finally(d)}l?l.then(()=>{c(),f(),Ct()}):f()}function St(){var e=K,t=U,n=O,r=j;return function(i=!0){q(e),G(t),$e(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function Ct(e=!0){q(null),G(null),$e(null),e&&j?.deactivate()}function wt(){var e=K,t=e.b,n=j,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}function Tt(e){var t=2|v;return K!==null&&(K.f|=te),{ctx:O,deps:null,effects:null,equals:Ne,f:t,fn:e,reactions:null,rv:0,v:w,wv:0,parent:K,ac:null}}var Et=Symbol(`obsolete`);function Dt(e,t,n){let r=K;r===null&&Le();var i=void 0,a=en(w),o=!U,s=new Set;return Fn(()=>{var t=K,n=p();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==_e&&n.reject(e)}).finally(Ct)}catch(e){n.reject(e),Ct()}var c=j;if(o){if(t.f&32768)var l=wt();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(Et);else for(let e of s.values())e.reject(Et);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==Et&&(c.activate(),t?(a.f|=se,rn(a,t)):(a.f&8388608&&(a.f^=se),rn(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),kn(()=>{for(let e of s)e.reject(Et)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function Ot(e){let t=Tt(e);return $n(t),t}function kt(e){let t=Tt(e);return t.equals=Fe,t}function At(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)V(t[n])}}function jt(e){var t,n=K,r=e.parent;if(!H&&r!==null&&e.v!==w&&r.f&24576)return Ce(),e.v;q(r);try{e.f&=~ie,At(e),t=cr(e)}finally{q(n)}return t}function Mt(e){var t=jt(e);if(!e.equals(t)&&(e.wv=ar(),(!j?.is_fork||e.deps===null)&&(j===null?e.v=t:(j.capture(e,t,!0),It?.capture(e,t,!0)),e.deps===null))){A(e,_);return}H||(M===null?ut(e):(On()||j?.is_fork)&&M.set(e,t))}function Nt(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac!==null&&yt(()=>{t.ac.abort(_e),t.ac=null}),t.fn!==null&&(t.teardown=d),dr(t,0),Vn(t))}function Pt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&fr(t)}var Ft=null,j=null,It=null,M=null,Lt=null,Rt=!1,zt=!1,Bt=null,Vt=null,Ht=0,Ut=1,Wt=class e{id=Ut++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;#r=new Set;#i=new Set;#a=0;#o=new Map;#s=null;#c=[];#l=[];#u=new Set;#d=new Set;#f=new Map;#p=new Set;is_fork=!1;#m=!1;constructor(){Ft===null?Ft=this:(Ft.#n=this,this.#t=Ft),Ft=this}#h(){if(this.is_fork)return!0;for(let n of this.#o.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#f.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#f.has(e)||this.#f.set(e,{d:[],m:[]}),this.#p.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#f.get(e);if(n){this.#f.delete(e);for(var r of n.d)A(r,v),t(r);for(r of n.m)A(r,y),t(r)}this.#p.add(e)}#g(){this.#e=!0,Ht++>1e3&&(this.#x(),Kt());for(let e of this.#u)this.#d.delete(e),A(e,v),this.schedule(e);for(let e of this.#d)A(e,y),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=Bt=[],r=[],i=Vt=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw Zt(e),this.#h()||this.discard(),t}if(j=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(Bt=null,Vt=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)Xt(e,t);i.length>0&&j.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),It=this,Jt(r),Jt(n),It=null,this.#s?.resolve();var s=j;if(this.#a===0&&(this.#c.length===0||s!==null)&&this.#x(),this.#c.length>0){if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this}s!==null&&(N.clear(),s.#g())}#_(e,t,n){e.f^=_;for(var r=e.first;r!==null;){var i=r.f,a=!!(i&96);if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=_:i&4?t.push(r):or(r)&&(i&16&&this.#d.add(r),fr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#v(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#y(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#d);let t=e=>{var n=e.reactions;if(n!==null&&!(e.f&2&&!(e.f&6144)))for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#d.delete(i),A(i,v),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#x(),j=this,this.#g()}#b(e){for(var t=0;t<e.length;t+=1)ft(e[t],this.#u,this.#d)}capture(e,t,n=!1){e.v!==w&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),M?.set(e,t)),this.is_fork||(e.v=t)}activate(){j=this}deactivate(){j=null,M=null}flush(){try{zt=!0,j=this,this.#g()}finally{Ht=0,Lt=null,Bt=null,Vt=null,zt=!1,j=null,M=null,N.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear();for(let e of this.async_deriveds.values())e.reject(Et);this.#x(),this.#s?.resolve()}register_created_effect(e){this.#l.push(e)}increment(e,t){if(this.#a+=1,e){let e=this.#o.get(t)??0;this.#o.set(t,e+1)}}decrement(e,t){if(--this.#a,e){let e=this.#o.get(t)??0;e===1?this.#o.delete(t):this.#o.set(t,e-1)}this.#m||(this.#m=!0,k(()=>{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#u.add(t);for(let e of t)this.#d.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}settled(){return(this.#s??=p()).promise}static ensure(){if(j===null){let t=j=new e;!zt&&!Rt&&k(()=>{t.#e||t.flush()})}return j}apply(){M=null}schedule(e){if(Lt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(Bt!==null&&t===K&&(U===null||!(U.f&2)))return;if(n&96){if(!(n&1024))return;t.f^=_}}this.#c.push(t)}#x(){if(this.linked){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?Ft=e:t.#t=e,this.linked=!1}}};function Gt(e){var t=Rt;Rt=!0;try{var n;for(e&&(j!==null&&!j.is_fork&&j.flush(),n=e());;){if(ct(),j===null)return n;j.flush()}}finally{Rt=t}}function Kt(){try{He()}catch(e){R(e,Lt)}}var qt=null;function Jt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&or(r)&&(qt=new Set,fr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Wn(r),qt?.size>0)){N.clear();for(let e of qt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)qt.has(n)&&(qt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||fr(n)}}qt.clear()}}qt=null}}function Yt(e){j.schedule(e)}function Xt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),A(e,_);for(var n=e.first;n!==null;)Xt(n,t),n=n.next}}function Zt(e){A(e,_);for(var t=e.first;t!==null;)Zt(t),t=t.next}var Qt=new Set,N=new Map,$t=!1;function en(e,t){return{f:0,v:e,reactions:null,equals:Ne,rv:0,wv:0}}function tn(e,t){let n=en(e,t);return $n(n),n}function nn(e,t=!1,n=!0){let r=en(e);return t||(r.equals=Fe),r}function P(e,t,n=!1){return U!==null&&(!W||U.f&131072)&&at()&&U.f&4325394&&(J===null||!J.has(e))&&Ke(),rn(e,n?ln(t):t,Vt)}function rn(e,t,n=null){if(!e.equals(t)){H?N.set(e,t):N.has(e)||N.set(e,e.v);var r=Wt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&jt(t),M===null&&ut(t)}e.wv=ar(),cn(e,v,n),at()&&K!==null&&K.f&1024&&!(K.f&96)&&(Z===null?er([e]):Z.push(e)),!r.is_fork&&Qt.size>0&&!$t&&an()}return t}function an(){$t=!1;for(let e of Qt){e.f&1024&&A(e,y);let t;try{t=or(e)}catch{t=!0}t&&fr(e)}Qt.clear()}function on(e,t=1){var n=Q(e),r=t===1?n++:n--;return P(e,n),r}function sn(e){P(e,e.v+1)}function cn(e,t,n){var r=e.reactions;if(r!==null)for(var i=at(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(i||s!==K){var l=(c&v)===0;if(l&&A(s,t),c&131072)Qt.add(s);else if(c&2){var u=s;M?.delete(u),c&65536||(c&512&&(K===null||!(K.f&2097152))&&(s.f|=ie),cn(u,y,n))}else if(l){var d=s;c&16&&qt!==null&&qt.add(d),n===null?Yt(d):n.push(d)}}}}function ln(t){if(typeof t!=`object`||!t||ce in t||le in t)return t;let n=l(t);if(n!==s&&n!==c)return t;var r=new Map,i=e(t),o=tn(0),u=null,d=rr,f=e=>{if(rr===d)return e();var t=U,n=rr;G(null),ir(d);var r=e();return G(t),ir(n),r};return i&&r.set(`length`,tn(t.length,u)),new Proxy(t,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&We();var i=r.get(t);return i===void 0?f(()=>{var e=tn(n.value,u);return r.set(t,e),e}):P(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>tn(w,u));r.set(t,e),sn(o)}}else P(n,w),sn(o);return!0},get(e,n,i){if(n===ce)return t;var o=r.get(n),s=n in e;if(o===void 0&&(!s||a(e,n)?.writable)&&(o=f(()=>tn(ln(s?e[n]:w),u)),r.set(n,o)),o!==void 0){var c=Q(o);return c===w?void 0:c}return Reflect.get(e,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=Q(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==w)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===ce)return!0;var n=r.get(t),i=n!==void 0&&n.v!==w||Reflect.has(e,t);return(n!==void 0||K!==null&&(!i||a(e,t)?.writable))&&(n===void 0&&(n=f(()=>tn(i?ln(e[t]):w,u)),r.set(t,n)),Q(n)===w)?!1:i},set(e,t,n,s){var c=r.get(t),l=t in e;if(i&&t===`length`)for(var d=n;d<c.v;d+=1){var p=r.get(d+``);p===void 0?d in e&&(p=f(()=>tn(w,u)),r.set(d+``,p)):P(p,w)}if(c===void 0)(!l||a(e,t)?.writable)&&(c=f(()=>tn(void 0,u)),P(c,ln(n)),r.set(t,c));else{l=c.v!==w;var m=f(()=>ln(n));P(c,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(s,n),!l){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&P(g,_+1)}sn(o)}return!0},ownKeys(e){Q(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==w});for(var[n,i]of r)i.v!==w&&!(n in e)&&t.push(n);return t},setPrototypeOf(){Ge()}})}function un(e){try{if(typeof e==`object`&&e&&ce in e)return e[ce]}catch{}return e}function dn(e,t){return Object.is(un(e),un(t))}var fn,pn,mn,hn;function gn(){if(fn===void 0){fn=window,pn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;mn=a(t,`firstChild`).get,hn=a(t,`nextSibling`).get,u(e)&&(e[pe]=void 0,e[fe]=null,e[me]=void 0,e.__e=void 0),u(n)&&(n[he]=void 0)}}function F(e=``){return document.createTextNode(e)}function I(e){return mn.call(e)}function L(e){return hn.call(e)}function _n(e,t){if(!T)return I(e);var n=I(E);if(n===null)n=E.appendChild(F());else if(t&&n.nodeType!==3){var r=F();return n?.before(r),D(r),r}return t&&wn(n),D(n),n}function vn(e,t=!1){if(!T){var n=I(e);return n instanceof Comment&&n.data===``?L(n):n}if(t){if(E?.nodeType!==3){var r=F();return E?.before(r),D(r),r}wn(E)}return E}function yn(e,t=!1){if(!T)return I(e);var n=_n(e,t);return ke(e),n}function bn(e,t=1,n=!1){let r=T?E:e;for(var i;t--;)i=r,r=L(r);if(!T)return r;if(n){if(r?.nodeType!==3){var a=F();return r===null?i?.after(a):r.before(a),D(a),a}wn(r)}return D(r),r}function xn(e){e.textContent=``}function Sn(){return!1}function Cn(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function wn(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function Tn(e){var t=K;if(t===null)return U.f|=se,e;if(!(t.f&32768)&&!(t.f&4))throw e;R(e,t)}function R(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128&&!(t.f&33570816)){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}function En(e){K===null&&(U===null&&Ve(e),Be()),H&&ze(e)}function Dn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function z(e,t){var n=K;n!==null&&n.f&8192&&(e|=b);var r={ctx:O,deps:null,nodes:null,f:e|v|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};j?.register_created_effect(r);var i=r;if(e&4)Bt===null?Wt.ensure().schedule(r):Bt.push(r);else if(t!==null){try{fr(r)}catch(e){throw V(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=C))}if(i!==null&&(i.parent=n,n!==null&&Dn(i,n),U!==null&&U.f&2&&!(e&64))){var a=U;(a.effects??=[]).push(i)}return r}function On(){return U!==null&&!W}function kn(e){let t=z(8,null);return A(t,_),t.teardown=e,t}function An(e){En(`$effect`);var t=K.f;if(!U&&t&32&&O!==null&&!O.i){var n=O;(n.e??=[]).push(e)}else return jn(e)}function jn(e){return z(4|ne,e)}function Mn(e){return En(`$effect.pre`),z(8|ne,e)}function Nn(e){Wt.ensure();let t=z(64|te,e);return(e={})=>new Promise(n=>{e.outro?Gn(t,()=>{V(t),n(void 0)}):(V(t),n(void 0))})}function Pn(e){return z(4,e)}function Fn(e){return z(oe|te,e)}function In(e,t=0){return z(8|t,e)}function Ln(e,t=[],n=[],r=[]){xt(r,t,n,t=>{z(8,()=>{e(...t.map(Q))})})}function Rn(e,t=0){return z(16|t,e)}function zn(e,t=0){return z(g|t,e)}function B(e){return z(32|te,e)}function Bn(e){var t=e.teardown;if(t!==null){let n=H,r=U;Qn(!0),G(null);try{t.call(null)}catch(t){R(t,e.parent)}finally{Qn(n),G(r)}}}function Vn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&yt(()=>{e.abort(_e)});var r=n.next;n.f&64?n.parent=null:V(n,t),n=r}}function Hn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||V(t),t=n}}function V(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(Un(e.nodes.start,e.nodes.end),n=!0),e.f|=ee,Vn(e,t&&!n),dr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Bn(e),e.f^=ee,e.f|=x;var i=e.parent;i!==null&&i.first!==null&&Wn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Un(e,t){for(;e!==null;){var n=e===t?null:L(e);e.remove(),e=n}}function Wn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Gn(e,t,n=!0){var r=[];e.f|=256,Kn(e,r,!0);var i=()=>{n&&V(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Kn(e,t,n){if(!(e.f&8192)){e.f^=b;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=!!(i.f&65536)||!!(i.f&32)&&!!(e.f&16);Kn(i,t,o?n:!1)}i=a}}}function qn(e){e.f&=-257,Jn(e,!0)}function Jn(e,t){if(!(e.f&256)&&e.f&8192){e.f^=b,e.f&1024||(A(e,v),Wt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=!!(n.f&65536)||!!(n.f&32);Jn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function Yn(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:L(n);t.append(n),n=i}}var Xn=null,Zn=!1,H=!1;function Qn(e){H=e}var U=null,W=!1;function G(e){U=e}var K=null;function q(e){K=e}var J=null;function $n(e){U!==null&&(J??=new Set).add(e)}var Y=null,X=0,Z=null;function er(e){Z=e}var tr=1,nr=0,rr=nr;function ir(e){rr=e}function ar(){return++tr}function or(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ie),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(or(a)&&Mt(a),a.wv>e.wv)return!0}t&512&&M===null&&A(e,_)}return!1}function sr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(J!==null&&J.has(e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?sr(a,t,!1):t===a&&(n?A(a,v):a.f&1024&&A(a,y),Yt(a))}}function cr(e){var t=Y,n=X,r=Z,i=U,a=J,o=O,s=W,c=rr,l=e.f;Y=null,X=0,Z=null,U=l&96?null:e,J=null,$e(e.ctx),W=!1,rr=++nr,e.ac!==null&&(yt(()=>{e.ac.abort(_e)}),e.ac=null);try{e.f|=ae;var u=e.fn,d=u();e.f|=S;var f=lr(e);if(at()&&Z!==null&&!W&&f!==null&&!(e.f&6146))for(var p=0;p<Z.length;p++)sr(Z[p],e);if(i!==null&&i!==e){if(nr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=nr;if(t!==null)for(let e of t)e.rv=nr;Z!==null&&(r===null?r=Z:r.push(...Z))}return e.f&8388608&&(e.f^=se),d}catch(t){return lr(e),Tn(t)}finally{e.f^=ae,Y=t,X=n,Z=r,U=i,J=a,$e(o),W=s,rr=c}}function lr(e){var t=e.deps,n=j?.is_fork;if(Y!==null){var r;if(n||dr(e,X),t!==null&&X>0)for(t.length=X+Y.length,r=0;r<Y.length;r++)t[X+r]=Y[r];else e.deps=t=Y;if(On()&&e.f&512)for(r=X;r<t.length;r++)(t[r].reactions??=[]).push(e)}else!n&&t!==null&&X<t.length&&(dr(e,X),t.length=X);return t}function ur(e,r){let i=r.reactions;if(i!==null){var a=t.call(i,e);if(a!==-1){var o=i.length-1;o===0?i=r.reactions=null:(i[a]=i[o],i.pop())}}if(i===null&&r.f&2&&(Y===null||!n.call(Y,r))){var s=r;s.f&512&&(s.f^=512,s.f&=~ie),s.v!==w&&ut(s),s.ac!==null&&yt(()=>{s.ac.abort(_e),s.ac=null,A(s,v)}),Nt(s),dr(s,0)}}function dr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)ur(e,n[r])}function fr(e){var t=e.f;if(!(t&16384)){A(e,_);var n=K,r=Zn;K=e,Zn=!(t&96);try{t&16777232?Hn(e):Vn(e),Bn(e);var i=cr(e);e.teardown=typeof i==`function`?i:null,e.wv=tr}finally{Zn=r,K=n}}}async function pr(){await Promise.resolve(),Gt()}function Q(e){var t=!!(e.f&2);if(Xn?.add(e),U!==null&&!W&&!(K!==null&&K.f&16384)&&(J===null||!J.has(e))){var r=U.deps;if(U.f&2097152)e.rv<nr&&(e.rv=nr,Y===null&&r!==null&&r[X]===e?X++:Y===null?Y=[e]:Y.push(e));else{U.deps??=[],n.call(U.deps,e)||U.deps.push(e);var i=e.reactions;i===null?e.reactions=[U]:n.call(i,U)||i.push(U)}}if(H&&N.has(e))return N.get(e);if(t){var a=e;if(H){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||hr(a))&&(o=jt(a)),N.set(a,o),o}var s=!(a.f&512)&&!W&&U!==null&&(Zn||!!(U.f&512)),c=(a.f&S)===0;or(a)&&(s&&(a.f|=512),Mt(a)),s&&!c&&(Pt(a),mr(a))}if(M?.has(e))return M.get(e);if(e.f&8388608)throw e.v;return e.v}function mr(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(Pt(t),mr(t))}function hr(e){if(e.v===w)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(N.has(t)||t.f&2&&hr(t))return!0;return!1}function gr(e){var t=W;try{return W=!0,e()}finally{W=t}}function _r(e){return e.endsWith(`capture`)&&e!==`gotpointercapture`&&e!==`lostpointercapture`}var vr=[`beforeinput`,`click`,`change`,`dblclick`,`contextmenu`,`focusin`,`focusout`,`input`,`keydown`,`keyup`,`mousedown`,`mousemove`,`mouseout`,`mouseover`,`mouseup`,`pointerdown`,`pointermove`,`pointerout`,`pointerover`,`pointerup`,`touchend`,`touchmove`,`touchstart`];function yr(e){return vr.includes(e)}var br=`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`),xr={formnovalidate:`formNoValidate`,ismap:`isMap`,nomodule:`noModule`,playsinline:`playsInline`,readonly:`readOnly`,defaultvalue:`defaultValue`,defaultchecked:`defaultChecked`,srcobject:`srcObject`,novalidate:`noValidate`,allowfullscreen:`allowFullscreen`,disablepictureinpicture:`disablePictureInPicture`,disableremoteplayback:`disableRemotePlayback`};function Sr(e){return e=e.toLowerCase(),xr[e]??e}[...br];var Cr=[`touchstart`,`touchmove`];function wr(e){return Cr.includes(e)}var Tr=Symbol(`events`),Er=new Set,Dr=new Set;function Or(e){if(!T)return;e.removeAttribute(`onload`),e.removeAttribute(`onerror`);let t=e.__e;t!==void 0&&(e.__e=void 0,queueMicrotask(()=>{e.isConnected&&e.dispatchEvent(t)}))}function kr(e,t,n,r={}){function i(e){if(r.capture||Fr.call(t,e),!e.cancelBubble)return yt(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?k(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Ar(e,t,n,r,i){var a={capture:r,passive:i},o=kr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&kn(()=>{t.removeEventListener(e,o,a)})}function jr(e,t,n){(t[Tr]??={})[e]=n}function Mr(e){for(var t=0;t<e.length;t++)Er.add(e[t]);for(var n of Dr)n(e)}var Nr=null,Pr=!1;function Fr(e){var t=this,n=t.ownerDocument,r=e.type,a=e.composedPath?.()||[],o=a[0]||e.target;Nr=e,Pr||(Pr=!0,setTimeout(()=>{Pr=!1,Nr=null}));var s=0,c=Nr===e&&e[Tr];if(c){var l=a.indexOf(c);if(l!==-1&&(t===document||t===window)){e[Tr]=t;return}var u=a.indexOf(t);if(u===-1)return;l<=u&&(s=l)}if(o=a[s]||e.target,o!==t){i(e,`currentTarget`,{configurable:!0,get(){return o||n}});var d=U,f=K;G(null),q(null);try{for(var p,m=[];o!==null&&o!==t;){try{var h=o[Tr]?.[r];h!=null&&(!o.disabled||e.target===o)&&h.call(o,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble)break;s++,o=s<a.length?a[s]:null}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[Tr]=t,delete e.currentTarget,G(d),q(f)}}}var Ir=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function Lr(e){return Ir?.createHTML(e)??e}function Rr(e){var t=Cn(`template`);return t.innerHTML=Lr(e.replaceAll(`<!>`,`<!---->`)),t.content}function $(e,t){var n=K;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function zr(e,t){var n=!!(t&1),r=!!(t&2),i,a=!e.startsWith(`<!>`);return()=>{if(T)return $(E,null),E;i===void 0&&(i=Rr(a?e:`<!>`+e),n||(i=I(i)));var t=r||pn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=I(t),s=t.lastChild;$(o,s)}else $(t,t);return t}}function Br(e,t,n=`svg`){var r=!e.startsWith(`<!>`),i=!!(t&1),a=`<${n}>${r?e:`<!>`+e}</${n}>`,o;return()=>{if(T)return $(E,null),E;if(!o){var e=I(Rr(a));if(i)for(o=document.createDocumentFragment();I(e);)o.appendChild(I(e));else o=I(e)}var t=o.cloneNode(!0);if(i){var n=I(t),r=t.lastChild;$(n,r)}else $(t,t);return t}}function Vr(e,t){return Br(e,t,`svg`)}function Hr(e=``){if(!T){var t=F(e+``);return $(t,t),t}var n=E;return n.nodeType===3?wn(n):(n.before(n=F()),D(n)),$(n,n),n}function Ur(){if(T)return $(E,null),E;var e=document.createDocumentFragment(),t=document.createComment(``),n=F();return e.append(t,n),$(t,n),e}function Wr(e,t){if(T){var n=K;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=E),Oe();return}e!==null&&e.before(t)}function Gr(){if(T&&E&&E.nodeType===8&&E.textContent?.startsWith(`$`)){let e=E.textContent.substring(1);return Oe(),e}return(window.__svelte??={}).uid??=1,`c${window.__svelte.uid++}`}function Kr(e){let t=0,n=en(0),r;return()=>{On()&&(Q(n),In(()=>(t===0&&(r=gr(()=>e(()=>sn(n)))),t+=1,()=>{k(()=>{--t,t===0&&(r?.(),r=void 0,sn(n))})})))}}var qr=C|te;function Jr(e,t,n,r){new Yr(e,t,n,r)}var Yr=class{parent;is_pending=!1;transform_error;#e;#t=T?E:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=Kr(()=>(this.#m=en(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=K;t.b=this,t.f|=128,n(e)},this.parent=K.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Rn(()=>{if(T){let e=this.#t;Oe();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#y():this.#g()}else this.#b()},qr),T&&(this.#e=E)}#g(){try{this.#a=B(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed,{reset:n,invoke_onerror:r}=this.#v(e);k(r),t&&(this.#s=B(()=>{t(this.#e,()=>e,()=>n)}))}#v(e){var t=!1,n=!1;let r=()=>{if(t){Ee();return}t=!0,n&&qe(),this.#s!==null&&Gn(this.#s,()=>{this.#s=null}),this.#S(()=>{this.#b()})};return{reset:r,invoke_onerror:()=>{try{n=!0,this.#n.onerror?.(e,r),n=!1}catch(e){R(e,this.#i&&this.#i.parent)}}}}#y(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=B(()=>e(this.#e)),k(()=>{var e=this.#c=document.createDocumentFragment(),t=F(),n=!1;if(e.append(t),this.#a=this.#S(()=>{try{return B(()=>this.#r(t))}catch(e){try{this.error(e),n=!0}catch(e){R(e,this.#i.parent)}return null}}),this.#a===null){this.#c=null,n&&this.#x(j);return}this.#u===0&&(this.#e.before(e),this.#c=null,Gn(this.#o,()=>{this.#o=null}),this.#x(j))}))}#b(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=B(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();Yn(this.#a,e);let t=this.#n.pending;this.#o=B(()=>t(this.#e))}else this.#x(j)}catch(e){this.error(e)}}#x(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){ft(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#S(e){var t=K,n=U,r=O;q(this.#i),G(this.#i),$e(this.#i.ctx);try{return Wt.ensure(),e()}finally{q(t),G(n),$e(r)}}#C(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#C(e,t);return}this.#u+=e,this.#u===0&&(this.#x(t),this.#o&&Gn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#C(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,k(()=>{this.#d=!1,this.#m&&rn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),Q(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;j?.is_fork?(this.#a&&j.skip_effect(this.#a),this.#o&&j.skip_effect(this.#o),this.#s&&j.skip_effect(this.#s),j.oncommit(()=>{this.#w(e)})):this.#w(e)}#w(e){this.#a&&=(V(this.#a),null),this.#o&&=(V(this.#o),null),this.#s&&=(V(this.#s),null),T&&(D(this.#t),Ae(),D(je()));let t=this.#n.failed,n=e=>{let{reset:n,invoke_onerror:r}=this.#v(e);r(),t&&(this.#s=this.#S(()=>{try{return B(()=>{var r=K;r.b=this,r.f|=128,t(this.#e,()=>e,()=>n)})}catch(e){return R(e,this.#i.parent),null}}))};k(()=>{var t;try{t=this.transform_error(e)}catch(e){R(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(n,e=>R(e,this.#i&&this.#i.parent)):n(t)})}};function Xr(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[he]??=e.nodeValue)&&(e[he]=n,e.nodeValue=`${n}`)}function Zr(e,t){return $r(e,t)}var Qr=new Map;function $r(e,{target:t,anchor:n,props:i={},events:a,context:o,intro:s=!0,transformError:c}){gn();var l=void 0,u=Nn(()=>{var s=n??t.appendChild(F());Jr(s,{pending:()=>{}},t=>{nt({});var n=O;if(o&&(n.c=o),a&&(i.$$events=a),T&&$(t,null),l=e(t,i)||it(),T&&(K.nodes.end=E,E===null||E.nodeType!==8||E.data!==`]`))throw we(),ye;rt()},c);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=wr(r);for(let e of[t,document]){var a=Qr.get(e);a===void 0&&(a=new Map,Qr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,Fr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(r(Er)),Dr.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=Qr.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Fr),r.delete(e),r.size===0&&Qr.delete(n)):r.set(e,i)}Dr.delete(d),s!==n&&s.parentNode?.removeChild(s)}});return ei.set(l,u),l}var ei=new WeakMap,ti=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)qn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(qn(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(V(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();Yn(r,t),t.append(F()),this.#n.set(e,{effect:r,fragment:t})}else V(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Gn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(V(n.effect),this.#n.delete(e))};ensure(e,t){var n=j,r=Sn();if(t&&!this.#t.has(e)&&!this.#n.has(e)){if(r){var i=document.createDocumentFragment(),a=F();i.append(a),this.#n.set(e,{effect:B(()=>t(a)),fragment:i})}else this.#t.set(e,B(()=>t(this.anchor)))}if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else T&&(this.anchor=E),this.#a(n)}};function ni(e,t,n=!1){var r;T&&(r=E,Oe());var i=new ti(e),a=n?C:0;function o(e,t){if(T){var n=Me(r);if(e!==parseInt(n.substring(1))){var a=je();D(a),i.anchor=a,De(!1),i.ensure(e,t),De(!0);return}}i.ensure(e,t)}Rn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}var ri=Symbol(`NaN`);function ii(e,t,n){T&&Oe();var r=new ti(e),i=!at();Rn(()=>{var e=t();e!==e&&(e=ri),i&&typeof e==`object`&&e&&(e={}),r.ensure(e,n)})}function ai(e,t){return t}function oi(e,t,n){for(var i=[],a=t.length,o,s=t.length,c=0;c<a;c++){let n=t[c];Gn(n,()=>{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;si(e,r(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else--s},!1)}if(s===0){var l=i.length===0&&n!==null&&e.pending.size===0;if(l){var u=n,d=u.parentNode;xn(d),d.append(u),e.items.clear()}si(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function si(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=re,Yn(a,document.createDocumentFragment())):V(t[i],n)}}var ci;function li(t,n,i,a,o,s=null){var c=t,l=new Map;if(n&4){var u=t;c=T?D(I(u)):u.appendChild(F())}T&&Oe();var d=null,f=kt(()=>{var t=i();return e(t)?t:t==null?[]:r(t)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,di(v,p,c,n,a),d!==null&&(p.length===0?d.f&33554432?(d.f^=re,pi(d,null,c)):qn(d):Gn(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:Rn(()=>{p=Q(f);var e=p.length;let t=!1;T&&Me(c)===`[!`!=(e===0)&&(c=je(),D(c),De(!1),t=!0);for(var r=new Set,u=j,v=Sn(),y=0;y<e;y+=1){T&&E.nodeType===8&&E.data===`]`&&(c=E,t=!0,De(!1));var b=p[y],x=a(b,y),S=h?null:l.get(x);S?(S.v&&rn(S.v,b),S.i&&rn(S.i,y),v&&u.unskip_effect(S.e)):(S=fi(l,h?c:ci??=F(),b,x,y,o,n,i),h||(S.e.f|=re),l.set(x,S)),r.add(x)}if(e===0&&s&&!d&&(h?d=B(()=>s(c)):(d=B(()=>s(ci??=F())),d.f|=re)),e>r.size&&Re(``,``,``),T&&e>0&&D(je()),!h){if(m.set(u,r),v){for(let[e,t]of l)r.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u)}t&&De(!0),Q(f)}),flags:n,items:l,pending:m,outrogroups:null,fallback:d};h=!1,T&&(c=E)}function ui(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function di(e,t,n,i,a){var o=!!(i&8),s=t.length,c=e.items,l=ui(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v<s;v+=1)h=t[v],g=a(h,v),_=c.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<s;v+=1){if(h=t[v],g=a(h,v),_=c.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(qn(_),o&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432){if(_.f^=re,_===l)pi(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),mi(e,d,_),mi(e,_,y),pi(_,y,n),d=_,p=[],m=[],l=ui(d.next);continue}}if(_!==l){if(u!==void 0&&u.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var S=p[0],ee=p[p.length-1];for(x=0;x<p.length;x+=1)pi(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);mi(e,S.prev,ee.next),mi(e,d,S),mi(e,ee,b),l=b,d=ee,--v,p=[],m=[]}else u.delete(_),pi(_,l,n),mi(e,_.prev,_.next),mi(e,_,d===null?e.effect.first:d.next),mi(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=ui(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=ui(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(si(e,r(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var C=[];if(u!==void 0)for(_ of u)_.f&8192||C.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&C.push(l),l=ui(l.next);var te=C.length;if(te>0){var ne=i&4&&s===0?n:null;if(o){for(v=0;v<te;v+=1)C[v].nodes?.a?.measure();for(v=0;v<te;v+=1)C[v].nodes?.a?.fix()}oi(e,C,ne)}}o&&k(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function fi(e,t,n,r,i,a,o,s){var c=o&1?o&16?en(n):nn(n,!1,!1):null,l=o&2?en(i):null;return{v:c,i:l,e:B(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function pi(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=L(r);if(a.before(r),r===i)return;r=o}}function mi(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function hi(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;T&&(o=D(I(c)))}Ln(()=>{var e=K;if(s===(s=t()??``)){T&&Oe();return}if(n&&!T){e.nodes=null,c.innerHTML=s,s!==``&&$(I(c),c.lastChild);return}if(e.nodes!==null&&(Un(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(T){for(var a=E.data,l=Oe(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=L(l);if(l===null)throw we(),ye;$(E,u),o=D(l);return}var d=Cn(r?`svg`:i?`math`:`template`,r?xe:i?Se:void 0);d.innerHTML=s;var f=r||i?d:d.content;if($(I(f),f.lastChild),r||i)for(;I(f);)o.before(I(f));else o.before(f)}})}function gi(e,t,...n){var r=new ti(e);Rn(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},C)}function _i(e,t,n){var r;T&&(r=E,Oe());var i=new ti(e);Rn(()=>{var e=t()??null;if(T&&Me(r)===`[`!=(e!==null)){var a=je();D(a),i.anchor=a,De(!1),i.ensure(e,e&&(t=>n(t,e))),De(!0);return}i.ensure(e,e&&(t=>n(t,e)))},C)}function vi(e,t){var n=void 0,r;zn(()=>{n!==(n=t())&&(r&&=(V(r),null),n&&(r=B(()=>{Pn(()=>n(e))})))})}function yi(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=yi(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function bi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=yi(e))&&(r&&(r+=` `),r+=t);return r}function xi(e){return typeof e==`object`?bi(e):e??``}var Si=[...`
2
+ \r\f\xA0\v`];function Ci(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Si.includes(r[o-1]))&&(s===r.length||Si.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function wi(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Ti(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Ei(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\/\*.*?\*\//g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Ti)),i&&c.push(...Object.keys(i).map(Ti));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=Ti(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=wi(r)),i&&(n+=wi(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function Di(e,t,n,r,i,a){var o=e[pe];if(T||o!==n||o===void 0){var s=Ci(n,r,a);(!T||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[pe]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function Oi(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function ki(e,t,n,r){var i=e[me];if(T||i!==t){var a=Ei(t,r);(!T||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e[me]=t}else r&&(Array.isArray(r)?(Oi(e,n?.[0],r[0]),Oi(e,n?.[1],r[1],`important`)):Oi(e,n,r));return r}function Ai(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function ji(e,t){var n=!(`__defaultValue`in e);(n||e.__defaultValue!==t)&&(e.__defaultValue=t,Mi(e,!n||`__value`in e))}function Mi(t,n){var r=t.__defaultValue,i=t.multiple,a=i?r??[]:null;if(!i||e(a)){var o=t.selectedIndex,s=n&&i?new Set(t.selectedOptions):null;for(var c of t.options){var l=Ii(c);Ai(c,i?a.includes(l):dn(l,r))}if(n){if(s!==null)for(c of t.options){var u=s.has(c);c.selected!==u&&(c.selected=u)}else t.selectedIndex!==o&&(t.selectedIndex=o)}}}function Ni(t,n,r=!1){if(t.multiple){if(n==null)return;if(!e(n))return Te();for(var i of t.options)i.selected=n.includes(Ii(i));return}for(i of t.options)if(dn(Ii(i),n)){i.selected=!0;return}(!r||n!==void 0)&&(t.selectedIndex=-1)}function Pi(e){var t=new MutationObserver(t=>{t.every(Li)||(`__defaultValue`in e&&Mi(e,!1),`__value`in e&&Ni(e,e.__value))});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),kn(()=>{t.disconnect()})}function Fi(e,t,n=t){var r=new WeakSet,i=!0;bt(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),Ii);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&Ii(o)}n(a),e.__value=a,j!==null&&r.add(j)}),Pn(()=>{var a=t();if(e===document.activeElement){var o=j;if(r.has(o))return}if(Ni(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=Ii(s),n(a))}e.__value=a,i=!1})}function Ii(e){return`__value`in e?e.__value:e.value}function Li(e){if(e.target.closest(`selectedcontent`)!==null)return!0;if(e.type===`childList`){var t=[...e.addedNodes,...e.removedNodes];return t.length>0&&t.every(e=>e.nodeName===`SELECTEDCONTENT`)}return!1}var Ri=Symbol(`class`),zi=Symbol(`style`),Bi=Symbol(`is custom element`),Vi=Symbol(`is html`),Hi=ve?`link`:`LINK`,Ui=ve?`input`:`INPUT`,Wi=ve?`option`:`OPTION`,Gi=ve?`select`:`SELECT`,Ki=ve?`progress`:`PROGRESS`;function qi(e){if(T){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Xi(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Xi(e,`checked`,null),e.checked=r}}};e[ge]=n,k(n),vt()}}function Ji(e,t){var n=$i(e);n.value!==(n.value=t??void 0)&&(e.value!==t||t===0&&e.nodeName===Ki)&&(e.value=t??``)}function Yi(e,t){var n=$i(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function Xi(e,t,n,r){var i=$i(e);T&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Hi)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[de]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&ta(e).has(t)?e[t]=n:e.setAttribute(t,n))}function Zi(e,t,n,r,i=!1,a=!1){T&&i&&e.nodeName===Ui&&(`defaultValue`in n||`defaultChecked`in n||qi(e));var o=$i(e),s=o[Bi],c=!o[Vi];let l=T&&s;l&&De(!1);var u=t||{},d=e.nodeName===Wi,f=e.nodeName===Gi;for(var p in t)!(p in n)&&p[0]+p[1]!==`$$`&&(n[p]=null);n.class?n.class=xi(n.class):(r||n[Ri])&&(n.class=null),n[zi]&&(n.style??=null);var m=ta(e);if(e.nodeName===Ui&&`type`in n&&(`value`in n||`__value`in n)){var h=n.type;(h!==u.type||h===void 0&&e.hasAttribute(`type`))&&(u.type=h,Xi(e,`type`,h,a))}for(let i in n){let l=n[i];if(d&&i===`value`&&l==null){e.value=e.__value=``,u[i]=l;continue}if(i===`class`){Di(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,l,r,t?.[Ri],n[Ri]),u[i]=l,u[Ri]=n[Ri];continue}if(i===`style`){ki(e,l,t?.[zi],n[zi]),u[i]=l,u[zi]=n[zi];continue}var g=u[i];if(l!==g||l===void 0&&e.hasAttribute(i)){u[i]=l;var _=i[0]+i[1];if(_!==`$$`){if(_===`on`){let t={},n=`$$`+i,r=i.slice(2);var v=yr(r);if(_r(r)&&(r=r.slice(0,-7),t.capture=!0),!v&&g){if(l!=null)continue;e.removeEventListener(r,u[n],t),u[n]=null}if(v)jr(r,e,l),Mr([r]);else if(l!=null){function a(e){u[i].call(this,e)}u[n]=kr(r,e,a,t)}}else if(i===`style`)Xi(e,i,l);else if(i===`autofocus`)ht(e,!!l);else if(!s&&(i===`__value`||i===`value`&&l!=null))e.value=e.__value=l;else if(i===`selected`&&d)Ai(e,l);else{var y=i;c||(y=Sr(y));var b=y===`defaultValue`||y===`defaultChecked`;if(f&&y===`defaultValue`)continue;if(l==null&&!s&&!b){if(o[i]=null,y===`value`||y===`checked`){let n=e,r=t===void 0;if(y===`value`){let e=n.defaultValue;n.removeAttribute(y),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(y),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i)}else b||(s||typeof l!=`string`)&&m.has(y)?(e[y]=l,y in o&&(o[y]=w)):typeof l!=`function`&&Xi(e,y,l,a)}}}}return l&&De(!0),u}function Qi(e,t,n=[],r=[],i=[],a,o=!1,s=!1){xt(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===Gi,l=!1;if(zn(()=>{var u=t(...n.map(Q)),d=Zi(e,r,u,a,o,s);if(l&&c){var f=e;`defaultValue`in u&&ji(f,u.defaultValue),`value`in u&&Ni(f,u.value)}for(let e of Object.getOwnPropertySymbols(i))u[e]||V(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var p=u[t];t.description===`@attach`&&(!r||p!==r[t])&&(i[t]&&V(i[t]),i[t]=B(()=>vi(e,()=>p))),d[t]=p}r=d}),c){var u=e;Pn(()=>{var e=r;`defaultValue`in e&&ji(u,e.defaultValue),Ni(u,e.value,!0),Pi(u)})}l=!0})}function $i(e){return e[fe]??={[Bi]:e.nodeName.includes(`-`),[Vi]:e.namespaceURI===be}}var ea=new Map;function ta(e){var t=e.getAttribute(`is`)||e.nodeName,n=ea.get(t);if(n)return n;ea.set(t,n=new Set);for(var r,i=e,a=Element.prototype;a!==i;){for(var s in r=o(i),r)r[s].set&&s!==`innerHTML`&&s!==`textContent`&&s!==`innerText`&&n.add(s);i=l(i)}return n}function na(e,t,n=t){var r=new WeakSet;bt(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=sa(e)?ca(a):a,n(a),j!==null&&r.add(j),await pr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(T&&e.defaultValue!==e.value||gr(t)==null&&e.value)&&(n(sa(e)?ca(e.value):e.value),j!==null&&r.add(j)),In(()=>{var n=t();if(e===document.activeElement){var i=j;if(r.has(i))return}sa(e)&&n===ca(e.value)||(e.type!==`date`||n||e.value)&&n!==e.value&&(e.value=n??``)})}var ra=new Set;function ia(e,t,n,r,i=r){var a=n.getAttribute(`type`)===`checkbox`,o=e;let s=!1;if(t!==null)for(var c of t)o=o[c]??=[];o.push(n),bt(n,`change`,()=>{var e=n.__value;a&&(e=oa(o,e,n.checked)),i(e)},()=>i(a?[]:null)),In(()=>{var e=r();if(T&&n.defaultChecked!==n.checked){s=!0;return}a?(e||=[],n.checked=e.includes(n.__value)):n.checked=dn(n.__value,e)}),kn(()=>{var e=o.indexOf(n);e!==-1&&o.splice(e,1)}),ra.has(o)||(ra.add(o),k(()=>{o.sort((e,t)=>e.compareDocumentPosition(t)===4?-1:1),ra.delete(o)})),k(()=>{if(s){var e=a?oa(o,e,n.checked):o.find(e=>e.checked)?.__value;i(e)}})}function aa(e,t,n=t){bt(e,`change`,t=>{n(t?e.defaultChecked:e.checked)}),(T&&e.defaultChecked!==e.checked||gr(t)==null)&&n(e.checked),In(()=>{e.checked=!!t()})}function oa(e,t,n){for(var r=new Set,i=0;i<e.length;i+=1)e[i].checked&&r.add(e[i].__value);return n||r.delete(t),Array.from(r)}function sa(e){var t=e.type;return t===`number`||t===`range`}function ca(e){return e===``?null:+e}function la(e,t){return e===t||e?.[ce]===t}function ua(e=it(),t,n,r){var i=O.r,a=K;return Pn(()=>{var o,s;return In(()=>{o=s,s=r?.()||[],gr(()=>{la(n(...s),e)||(t(e,...s),o&&la(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&la(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}var da={get(e,t){if(!e.exclude.has(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.has(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return!e.exclude.has(t)&&t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.has(t))}};function fa(e,t,n){return new Proxy({props:e,exclude:t},da)}function pa(e,t,n,r){var i=!0,o=!!(n&8),s=!!(n&16),c=r,l=!0,u=void 0,d=()=>s&&i?(u??=Tt(r),Q(u)):(l&&(l=!1,c=s?gr(r):r),c);let f;if(o){var p=ce in e||ue in e;f=a(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;o?[m,h]=mt(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&Ue(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?Tt:kt)(()=>(v=!1,g()));o&&Q(y);var b=K;return(function(e,t){if(arguments.length>0){let n=t?Q(y):i&&o?ln(e):e;return P(y,n),v=!0,c!==void 0&&(c=n),e}return H&&v||b.f&16384?y.v:Q(y)})}function ma(e){O===null&&Ie(`onMount`),An(()=>{let t=gr(e);if(typeof t==`function`)return t})}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var ha=e=>(e??``).trim().slice(0,1).toUpperCase(),ga=e=>(e??``).split(/\s+/).filter(Boolean).slice(0,2).map(ha).join(``);export{kt as $,Wr as A,Q as B,hi as C,ni as D,ii as E,Hr as F,_n as G,Ln as H,Mr as I,bn as J,vn as K,jr as L,zr as M,Vr as N,Zr as O,Gr as P,on as Q,Ar as R,gi as S,ai as T,An as U,gr as V,Mn as W,P as X,ln as Y,tn as Z,Ni as _,fa as a,nt as at,xi as b,ia as c,Ae as ct,qi as d,d as dt,Ot as et,Xi as f,h as ft,Pi as g,Fi as h,pa as i,rt as it,Ur as j,Xr as k,na as l,ke as lt,Ji as m,ga as n,gt as nt,ua as o,tt as ot,Yi as p,yn as q,ma as r,et as rt,aa as s,Ye as st,ha as t,ht as tt,Qi as u,m as ut,ki as v,li as w,_i as x,Di as y,Or as z};
3
+ //# sourceMappingURL=initial-D99AzFOd.js.map