@eifi1/ui-kit 0.40.1 → 0.42.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.
- package/README.md +19 -6
- package/dist/admin/admin-area-labels.d.ts +55 -0
- package/dist/admin/admin-area-labels.js +33 -0
- package/dist/admin/admin-area-labels.js.map +1 -0
- package/dist/admin/admin-forbidden.d.ts +35 -0
- package/dist/admin/admin-forbidden.js +36 -0
- package/dist/admin/admin-forbidden.js.map +1 -0
- package/dist/admin/admin-overview.d.ts +93 -0
- package/dist/admin/admin-overview.js +69 -0
- package/dist/admin/admin-overview.js.map +1 -0
- package/dist/admin/admin-sections.d.ts +63 -0
- package/dist/admin/admin-sections.js +64 -0
- package/dist/admin/admin-sections.js.map +1 -0
- package/dist/admin/admin-tool-links.d.ts +48 -0
- package/dist/admin/admin-tool-links.js +31 -0
- package/dist/admin/admin-tool-links.js.map +1 -0
- package/dist/billing/billing-banner.d.ts +25 -2
- package/dist/billing/billing-banner.js +5 -2
- package/dist/billing/billing-banner.js.map +1 -1
- package/dist/billing/billing-labels.d.ts +32 -0
- package/dist/billing/billing-labels.js +9 -0
- package/dist/billing/billing-labels.js.map +1 -1
- package/dist/billing/billing-overview.d.ts +33 -0
- package/dist/billing/billing-overview.js +6 -0
- package/dist/billing/billing-overview.js.map +1 -1
- package/dist/billing/billing-standing.d.ts +8 -0
- package/dist/billing/billing-standing.js.map +1 -1
- package/dist/billing/cancel-subscription.d.ts +46 -0
- package/dist/billing/cancel-subscription.js +57 -0
- package/dist/billing/cancel-subscription.js.map +1 -0
- package/dist/billing/plan-card.d.ts +45 -1
- package/dist/billing/plan-card.js +53 -2
- package/dist/billing/plan-card.js.map +1 -1
- package/dist/billing/plan-switch.d.ts +10 -1
- package/dist/billing/plan-switch.js +22 -13
- package/dist/billing/plan-switch.js.map +1 -1
- package/dist/billing/subscription-actions.d.ts +37 -4
- package/dist/billing/subscription-actions.js +10 -3
- package/dist/billing/subscription-actions.js.map +1 -1
- package/dist/components/account-chips.d.ts +42 -1
- package/dist/components/account-chips.js +33 -0
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/empty-state.d.ts +2 -1
- package/dist/components/empty-state.js.map +1 -1
- package/dist/components/nav-pills.d.ts +2 -2
- package/dist/components/nav-pills.js.map +1 -1
- package/dist/components/tabs.d.ts +4 -32
- package/dist/components/tabs.js +30 -66
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/translation-review-parts.d.ts +2 -2
- package/dist/components/translation-review-parts.js.map +1 -1
- package/dist/eslint/index.js +1 -1
- package/dist/feedback/feedback-menu-labels.js +0 -2
- package/dist/feedback/feedback-menu-labels.js.map +1 -1
- package/dist/feedback/feedback-menu.d.ts +0 -6
- package/dist/feedback/feedback-menu.js.map +1 -1
- package/dist/i18n/defaults.js +5 -1
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.js +79 -2
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +9 -0
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/locales/en.js +93 -3
- package/dist/i18n/locales/en.js.map +3 -3
- package/dist/i18n/locales/es.js +76 -2
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.js +75 -2
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.js +76 -2
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.js +76 -2
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.js +75 -2
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.js +20 -1
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +18 -2
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/dist/settings/settings-layout.d.ts +7 -1
- package/dist/settings/settings-layout.js +35 -27
- package/dist/settings/settings-layout.js.map +1 -1
- package/dist/shell/account-menu-language.d.ts +46 -0
- package/dist/shell/account-menu-language.js +64 -0
- package/dist/shell/account-menu-language.js.map +1 -0
- package/dist/shell/admin-menu.d.ts +46 -0
- package/dist/shell/admin-menu.js +60 -0
- package/dist/shell/admin-menu.js.map +1 -0
- package/dist/shell/app-shell.d.ts +10 -0
- package/dist/shell/app-shell.js +22 -4
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/dev-switchers.d.ts +53 -0
- package/dist/shell/dev-switchers.js +102 -0
- package/dist/shell/dev-switchers.js.map +1 -0
- package/dist/shell/sync-status-indicator.d.ts +86 -0
- package/dist/shell/sync-status-indicator.js +170 -0
- package/dist/shell/sync-status-indicator.js.map +1 -0
- package/dist/shell/top-bar-actions.d.ts +49 -0
- package/dist/shell/top-bar-actions.js +31 -0
- package/dist/shell/top-bar-actions.js.map +1 -0
- package/dist/shell/top-bar-parts-labels.d.ts +84 -0
- package/dist/shell/top-bar-parts-labels.js +48 -0
- package/dist/shell/top-bar-parts-labels.js.map +1 -0
- package/dist/shell/topbar-action-menu.d.ts +13 -1
- package/dist/shell/topbar-action-menu.js +5 -2
- package/dist/shell/topbar-action-menu.js.map +1 -1
- package/dist/shell/topbar-controls.d.ts +16 -3
- package/dist/shell/topbar-controls.js +5 -1
- package/dist/shell/topbar-controls.js.map +1 -1
- package/dist/shell/tour-menu.d.ts +58 -0
- package/dist/shell/tour-menu.js +73 -0
- package/dist/shell/tour-menu.js.map +1 -0
- package/dist/shell.d.ts +14 -0
- package/dist/shell.js +19 -0
- package/dist/shell.js.map +1 -1
- package/package.json +1 -1
- package/src/admin/admin-area-labels.ts +85 -0
- package/src/admin/admin-forbidden.tsx +75 -0
- package/src/admin/admin-overview.tsx +166 -0
- package/src/admin/admin-sections.tsx +137 -0
- package/src/admin/admin-tool-links.tsx +84 -0
- package/src/billing/billing-banner.tsx +32 -4
- package/src/billing/billing-labels.ts +53 -0
- package/src/billing/billing-overview.ts +37 -0
- package/src/billing/billing-standing.ts +8 -0
- package/src/billing/cancel-subscription.tsx +102 -0
- package/src/billing/plan-card.tsx +97 -1
- package/src/billing/plan-switch.tsx +16 -0
- package/src/billing/subscription-actions.tsx +64 -15
- package/src/components/account-chips.tsx +81 -1
- package/src/components/empty-state.tsx +2 -1
- package/src/components/nav-pills.tsx +2 -2
- package/src/components/tabs.tsx +19 -110
- package/src/components/translation-review-parts.tsx +2 -2
- package/src/feedback/feedback-menu-labels.ts +0 -2
- package/src/feedback/feedback-menu.tsx +0 -6
- package/src/i18n/defaults.ts +4 -0
- package/src/i18n/german.ts +92 -2
- package/src/i18n/kit-labels.tsx +9 -0
- package/src/i18n/locales/en.ts +19 -0
- package/src/i18n/locales/es.ts +86 -2
- package/src/i18n/locales/fr.ts +86 -2
- package/src/i18n/locales/hu.ts +84 -2
- package/src/i18n/locales/it.ts +87 -2
- package/src/i18n/locales/zh.ts +79 -2
- package/src/i18n/review.ts +19 -0
- package/src/index.ts +30 -2
- package/src/settings/settings-layout.tsx +58 -34
- package/src/shell/account-menu-language.tsx +116 -0
- package/src/shell/admin-menu.tsx +117 -0
- package/src/shell/app-shell.tsx +44 -3
- package/src/shell/dev-switchers.tsx +171 -0
- package/src/shell/sync-status-indicator.tsx +301 -0
- package/src/shell/top-bar-actions.tsx +79 -0
- package/src/shell/top-bar-parts-labels.ts +133 -0
- package/src/shell/topbar-action-menu.tsx +15 -2
- package/src/shell/topbar-controls.tsx +20 -3
- package/src/shell/tour-menu.tsx +144 -0
- package/src/shell.ts +24 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/i18n/locales/it.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Italian: every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_IT}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `it-IT` digits; {@link uiKitLabelsIt} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsIt(numberLocale = \"it-IT\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n const plural = (count: number, one: string, many: string) => (count === 1 ? one : many);\n // 0.30.0 — a throttled request (HTTP 429), as `englishRateLimited` in\n // src/auth/auth-errors.ts: no wait → \"un momento\", under a minute → seconds, else\n // minutes rounded up. kastlan's reviewed \"auth.throttled\" is the sentence without one.\n const wait = (seconds: number) =>\n seconds < 60 ? `${n(Math.ceil(seconds))} s` : `${n(Math.ceil(seconds / 60))} min`;\n const rateLimited = (seconds?: number) =>\n !seconds || seconds <= 0\n ? \"Troppi tentativi. Attenda un momento e riprovi.\"\n : `Troppi tentativi. Riprovi tra ${wait(seconds)}.`;\n // 0.32.0 — when a trial or a grant ends, as `inDays` in src/billing/billing-labels.ts:\n // 0 (or less) is today, 1 tomorrow.\n const inDays = (days: number) =>\n days <= 0 ? \"oggi\" : days === 1 ? \"domani\" : `tra ${n(days)} ${plural(days, \"giorno\", \"giorni\")}`;\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"Aggiungi allegato\",\n attachmentCapture: \"Cattura schermata\",\n attachmentPaste:\n \"…oppure incolli uno screenshot direttamente dagli appunti, così può mostrare solo un dettaglio invece dell’intera pagina.\",\n attachmentRemove: \"Rimuovi allegato\",\n attachmentList: \"Allegati\",\n attachmentScreenshot: \"Screenshot\",\n attachmentRemoveFile: (name) => `Rimuovi ${name}`,\n attachmentLimit: (max) =>\n max === 1\n ? `Massimo ${n(max)} allegato: lo rimuova per aggiungerne un altro.`\n : `Massimo ${n(max)} allegati: ne rimuova uno per aggiungerne un altro.`,\n attachmentUploading: \"Caricamento…\",\n attachmentUploadFailed: (name) => `Impossibile caricare «${name}»`,\n },\n feedbackDialog: {\n title: \"Invia feedback\",\n category: \"Categoria\",\n subject: \"Oggetto\",\n body: \"Cosa è successo?\",\n bodyOptional: \"Cosa è successo? (facoltativo)\",\n attachment: \"Allegato\",\n submitHint: (apple) => (apple ? \"⌘ Invio per inviare\" : \"Ctrl+Invio per inviare\"),\n cancel: \"Annulla\",\n save: \"Invia\",\n publicNotice: \"Le altre persone vedranno il titolo e il testo (mai i Suoi screenshot o file).\",\n },\n feedbackThread: {\n thread: \"Commenti\",\n empty: \"Ancora nessun commento\",\n loading: \"Caricamento dei commenti…\",\n you: \"Lei\",\n staff: \"Team\",\n attachments: \"Allegati\",\n },\n feedbackComposer: {\n field: \"Scriva un commento\",\n placeholder: \"Scriva un commento…\",\n send: \"Invia\",\n sendHint: (modifier) => `${modifier} + Invio per inviare`,\n sendHintEnter: \"Invio per inviare, Maiusc + Invio per andare a capo\",\n },\n // 0.27.0. \"Feedback\" stays, as `feedbackDialog`; \"rielaborazione\" for rework.\n feedbackStatus: {\n OPEN: \"Aperto\",\n READY: \"Pronto da implementare\",\n REWORK: \"Rielaborazione richiesta\",\n IN_PROGRESS: \"In corso\",\n IN_EVALUATION: \"In valutazione\",\n NEEDS_LIVE_TEST: \"Da testare in produzione\",\n POSTPONED: \"Rimandato\",\n DONE: \"Completato\",\n WONT_DO: \"Non verrà fatto\",\n },\n feedbackCategory: {\n CRASH: \"Arresto anomalo\",\n BUG: \"Errore\",\n IDEA: \"Idea\",\n QUESTION: \"Domanda\",\n OTHER: \"Altro\",\n },\n feedbackToast: {\n submitted: \"Grazie per il feedback!\",\n submitFailed: \"Impossibile inviare il feedback\",\n attachmentUnsupported: \"Sono consentiti solo immagini, PDF o file di testo\",\n attachmentTooLarge: \"Il file supera i 10 MB\",\n attachmentTooMany: (count) =>\n count === 1\n ? \"C’è posto solo per 1 allegato: gli altri sono stati esclusi.\"\n : `C’è posto solo per ${n(count)} allegati: gli altri sono stati esclusi.`,\n captureFailed: \"Impossibile catturare lo screenshot\",\n updateFailed: \"Non è stato possibile salvare la modifica.\",\n statusChanged: (status, title) => `Impostato su «${status}»: ${title}`,\n statusUndo: \"Annulla\",\n statusRestored: (status, title) => `Tornato a «${status}»: ${title}`,\n commentFailed: \"Non è stato possibile pubblicare il commento.\",\n voteFailed: \"Non è stato possibile salvare il Suo voto.\",\n replyFailed: \"Non è stato possibile inviare la risposta.\",\n },\n feedbackMenu: {\n trigger: \"Invia feedback\",\n myFeedback: \"I miei feedback\",\n viewFeedback: \"Visualizza feedback\",\n allFeedback: \"Tutti i feedback\",\n discussion: \"Discussione sui feedback\",\n inbox: \"Feedback ricevuti\",\n },\n // 0.38.0 — docs/feedback-harmonization.md §9: the public pages and the two feedback\n // notification types. \"Segnalazione\" for one report; formal \"Lei\", as elsewhere.\n feedbackPublic: {\n title: \"Discussione sui feedback\",\n sort: \"Ordina\",\n sortNewest: \"Più recenti\",\n sortVotes: \"Più richiesti\",\n sortUpdated: \"Aggiornati di recente\",\n search: \"Cerca nei titoli\",\n columnVotes: \"Voti\",\n total: (count) => (count === 1 ? \"1 segnalazione\" : `${n(count)} segnalazioni`),\n comments: (count) => (count === 1 ? \"1 commento\" : `${n(count)} commenti`),\n votes: (count) => (count === 1 ? \"1 voto\" : `${n(count)} voti`),\n anonymous: \"Una persona\",\n filedBy: (name) => `Da ${name}`,\n body: \"Descrizione\",\n conversation: \"Risposte e commenti\",\n loading: \"Caricamento…\",\n empty: \"Ancora nessuna segnalazione\",\n visibleToOthers: \"Visibile agli altri\",\n visibleHint: \"Le altre persone vedono il titolo e il testo, mai i Suoi screenshot o file.\",\n visibleLocked: \"Solo finché la segnalazione è ancora aperta.\",\n page: (page) => `Pagina ${n(page)}`,\n },\n feedbackNotificationTypes: {\n answered: \"Risposte alle Sue segnalazioni\",\n answeredDescription: \"Quando una segnalazione che ha scritto o commentato riceve una risposta.\",\n comment: \"Commenti sulle segnalazioni che segue\",\n commentDescription: \"Quando qualcuno commenta una segnalazione che ha scritto o commentato.\",\n },\n feedbackContext: {\n user: \"Utente\",\n attachUrl: \"Allega l’URL della pagina corrente\",\n },\n feedbackPage: {\n title: \"Feedback ricevuti\",\n myTitle: \"I miei feedback\",\n columnId: \"#\",\n columnDate: \"Data\",\n columnCategory: \"Categoria\",\n columnSubject: \"Oggetto\",\n columnUser: \"Utente\",\n columnEmail: \"Email\",\n columnUrl: \"URL\",\n columnStatus: \"Stato\",\n columnResolved: \"Risolto il\",\n openPage: \"Apri pagina\",\n empty: \"Nessuno\",\n deletedUser: \"<utente eliminato>\",\n // An id, not a count: printed as it is, like the \"#\" column.\n userFallback: (id) => `utente #${id}`,\n environment: (environment) => String(environment ?? \"\").toUpperCase(),\n reworkChip: (count) => (count === 1 ? \"Rielaborazione\" : `Rielaborazione ×${n(count)}`),\n awaitingFilter: \"Solo ciò che attende Lei\",\n phoneActions: \"Azioni sul feedback\",\n },\n feedbackDetail: {\n subject: \"Oggetto\",\n body: \"Descrizione\",\n edit: \"Modifica\",\n editDescription: \"Modifica descrizione\",\n save: \"Salva\",\n cancel: \"Annulla\",\n url: \"URL\",\n copyUrl: \"Copia URL\",\n attachment: \"Allegato\",\n download: (name) => `Scarica ${name}`,\n downloadFailed: \"Non è stato possibile scaricare l’allegato.\",\n outcome: \"Esito\",\n replies: \"Risposte\",\n resolvedAt: (date) => `Risolto il ${date}`,\n outcomeAdd: \"Aggiungi esito\",\n outcomeUpdate: \"Aggiorna\",\n outcomePlaceholder: \"Cosa è stato fatto o deciso, oppure perché non verrà affrontato.\",\n rework: \"Rielaborazione\",\n openPage: \"Apri pagina\",\n reworkTitle: \"Rimanda in rielaborazione\",\n reworkSend: \"Richiedi rielaborazione\",\n reworkPlaceholder: \"Cosa va ancora perfezionato? Eventuali nuovi vincoli o cambi di direzione.\",\n reworkUploadFailed:\n \"Non è stato possibile caricare il file. La richiesta di rielaborazione non è stata inviata.\",\n status: \"Stato\",\n note: \"Nota\",\n },\n // 0.38.0 — docs/feedback-harmonization.md §9.15: the vote, the comment thread, the replies.\n feedbackVote: {\n vote: \"Lo voglio anch’io\",\n own: \"La Sua segnalazione\",\n },\n feedbackComments: {\n comments: \"Commenti\",\n empty: \"Ancora nessun commento\",\n hidden: \"Nascosto da un amministratore\",\n hide: \"Nascondi\",\n unhide: \"Mostra\",\n delete: \"Elimina\",\n deleteTitle: \"Eliminare questo commento?\",\n deleteBody: \"Verrà rimosso per tutti. L’operazione non può essere annullata.\",\n field: \"Scrivi un commento\",\n placeholder: \"Scriva un commento…\",\n send: \"Commenta\",\n },\n feedbackReplies: {\n replies: \"Risposte\",\n empty: \"Ancora nessuna risposta\",\n admin: \"Admin\",\n statusChanged: \"Stato cambiato in\",\n field: \"Scrivi una risposta\",\n placeholder: \"Scriva una risposta…\",\n reply: \"Rispondi\",\n status: \"Stato con la risposta\",\n noChange: \"Nessuna modifica\",\n nudge: \"Chi ha inviato la segnalazione non è stato avvisato. Aggiunga una risposta.\",\n },\n accountSettings: {\n profile: {\n title: \"Profilo\",\n email: \"Email\",\n role: \"Ruolo\",\n memberSince: \"Membro dal\",\n displayName: \"Nome visualizzato\",\n save: \"Salva\",\n firstName: \"Nome\",\n lastName: \"Cognome\",\n nameRequired: \"Inserisca sia il nome sia il cognome.\",\n },\n password: {\n title: \"Cambia password\",\n current: \"Password attuale\",\n next: \"Nuova password\",\n confirm: \"Conferma la nuova password\",\n submit: \"Cambia password\",\n tooShort: \"La nuova password è troppo corta.\",\n mismatch: \"Le password non coincidono.\",\n wrongPassword: \"La password non è corretta.\",\n },\n twoFactor: {\n status: \"Autenticazione a due fattori\",\n enabledText: \"Attiva\",\n disabledText: \"Non attiva\",\n enable: \"Configura l’autenticazione a due fattori\",\n scanHint:\n \"Scansioni questo codice con la Sua app di autenticazione, poi inserisca il codice che mostra.\",\n codeLabel: \"Codice di verifica\",\n verify: \"Verifica e attiva\",\n disableSection: \"Disattiva l’autenticazione a due fattori\",\n password: \"Password attuale\",\n disable: \"Disattiva\",\n qrAlt: \"Codice QR per la Sua app di autenticazione\",\n secretHint: \"Non riesce a scansionarlo? Inserisca invece questa chiave nell’app:\",\n copySecret: \"Copia chiave\",\n // 0.31.0: the card's title; the state (\"Attiva\") stands beside it.\n title: \"Autenticazione a due fattori\",\n },\n passkeys: {\n title: \"Passkey\",\n description: \"Acceda con impronta, volto o PIN del dispositivo invece che con una password.\",\n descriptionAlongside: \"Acceda con impronta, volto o PIN del dispositivo. La Sua password continua a funzionare.\",\n empty: \"Ancora nessuna passkey\",\n loading: \"Caricamento delle passkey…\",\n list: \"Le Sue passkey\",\n nameLabel: \"Nome (facoltativo)\",\n namePlaceholder: \"ad es. Portatile, Telefono\",\n add: \"Aggiungi passkey\",\n adding: \"In attesa del dispositivo…\",\n rename: \"Rinomina\",\n renameItem: (name) => `Rinomina ${name}`,\n renameField: (name) => `Nuovo nome per ${name}`,\n save: \"Salva\",\n cancel: \"Annulla\",\n delete: \"Elimina\",\n deleteItem: (name) => `Elimina ${name}`,\n deleteConfirm: (name) => `Eliminare «${name}»? Non potrà più essere usata per accedere.`,\n confirmDelete: \"Elimina passkey\",\n created: (date) => `Aggiunta il ${date}`,\n lastUsed: (date) => `Ultimo uso: ${date}`,\n neverUsed: \"Mai usata\",\n },\n },\n measuredGrid: {\n view: \"Vista tabella\",\n cellsView: \"Celle\",\n textView: \"Testo\",\n addRow: \"Aggiungi riga\",\n removeRow: (row) => `Rimuovi riga ${row}`,\n clear: \"Svuota tabella\",\n pasteHint: \"Incolli un blocco da un foglio di calcolo in qualsiasi cella\",\n cell: (column, row) => `${column}, riga ${row}`,\n rowNumber: \"Riga\",\n rowActions: \"Azioni riga\",\n keyboardHint:\n \"I tasti freccia spostano tra le celle. Digiti per sostituire una cella, F2 per modificarla, Esc per annullare la modifica. Invio scende e aggiunge una riga alla fine.\",\n lineError: (line) => `Impossibile leggere la riga ${line}`,\n points: (count) => (count === 1 ? \"1 punto\" : `${n(count)} punti`),\n problems: (count) =>\n count === 1 ? \"1 cella non è un numero\" : `${n(count)} celle non sono numeri`,\n },\n pageContents: { title: \"In questa pagina\" },\n common: {\n dismiss: \"Chiudi\",\n close: \"Chiudi\",\n clear: \"Cancella\",\n search: \"Cerca\",\n done: \"Fine\",\n cancel: \"Annulla\",\n save: \"Salva\",\n back: \"Indietro\",\n next: \"Avanti\",\n remove: \"Rimuovi\",\n loading: \"Caricamento…\",\n noResults: \"Nessun risultato\",\n fieldValue: (field, value) => `${field}: ${value}`,\n opensInNewTab: \"si apre in una nuova scheda\",\n aboutField: (field) => `Informazioni su «${field}»`,\n help: \"Aiuto\",\n },\n dataTable: {\n columns: \"Colonne\",\n selectAllRows: \"Seleziona tutte le righe\",\n sortHint: \"Faccia clic per ordinare · Maiusc+clic per aggiungere un ordinamento\",\n filter: \"Filtra\",\n close: \"Chiudi\",\n selectRow: \"Seleziona riga\",\n selectRows: \"Seleziona righe\",\n cancelSelection: \"Annulla\",\n rowDetails: \"Dettagli\",\n autoSize: \"Adatta larghezza colonne\",\n loading: \"Caricamento…\",\n filters: \"Filtri\",\n clearAll: \"Cancella tutto\",\n done: \"Fine\",\n pageSize: \"Righe per pagina\",\n pageSizeAll: \"Tutte\",\n prevPage: \"Pagina precedente\",\n nextPage: \"Pagina successiva\",\n clearFilter: \"Cancella filtro\",\n filterPlaceholder: \"Filtra…\",\n selectFilter: \"Seleziona\",\n selectAll: \"Tutti\",\n selectNone: \"Nessuno\",\n dateFrom: \"Dal\",\n dateTo: \"Al\",\n numberMin: \"Min\",\n numberMax: \"Max\",\n numberAbs: \"Valore assoluto\",\n presets: {\n today: \"Oggi\",\n yesterday: \"Ieri\",\n this_week: \"Questa settimana\",\n last_week: \"Settimana scorsa\",\n last_7_days: \"Ultimi 7 giorni\",\n last_30_days: \"Ultimi 30 giorni\",\n this_month: \"Questo mese\",\n last_month: \"Mese scorso\",\n last_3_months: \"Ultimi 3 mesi\",\n ytd: \"Da inizio anno\",\n last_year: \"Anno scorso\",\n },\n table: \"Tabella dati\",\n filterResults: (shown, total) =>\n `${n(shown)} di ${n(total)} ${plural(total, \"riga\", \"righe\")}`,\n sortedAscending: (column) => `Ordinato per ${column}, crescente`,\n sortedDescending: (column) => `Ordinato per ${column}, decrescente`,\n sortCleared: (column) => `Ordinamento per ${column} rimosso`,\n pageChanged: (page, totalPages) => `Pagina ${n(page)} di ${n(totalPages)}`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `Colonne (${n(visible)}/${n(total)})`,\n filterColumn: (column, active) => (active ? `Filtra ${column} (attivo)` : `Filtra ${column}`),\n empty: \"Nessuna voce\",\n actions: \"Azioni\",\n edit: \"Modifica\",\n delete: \"Elimina\",\n booleanTrue: \"Sì\",\n booleanFalse: \"No\",\n booleanUnset: \"Non impostato\",\n sortBy: \"Ordina per\",\n sortDefault: \"Ordine predefinito\",\n sortAscending: \"Crescente\",\n sortDescending: \"Decrescente\",\n },\n miniCalendar: {\n previousMonth: \"Mese precedente\",\n nextMonth: \"Mese successivo\",\n // Already formatted in the provider's locale (\"lunedì 14 settembre 2026\").\n day: (date) => date,\n chooseStart: \"Scelga una data di inizio\",\n chooseEnd: \"Scelga una data di fine\",\n // \"Data\" is feminine and the formatted day cannot agree with a participle, so the\n // date follows a label instead of being the subject.\n startSelected: (date) => `Data di inizio: ${date}. Scelga una data di fine.`,\n rangeSelected: (from, to) =>\n `Periodo selezionato: da ${from} a ${to}. Scelga una data di inizio per ricominciare.`,\n },\n monthPicker: {\n previousYear: \"Anno precedente\",\n nextYear: \"Anno successivo\",\n panel: \"Scegli un mese\",\n month: (monthYear) => monthYear,\n previousMonth: \"Mese precedente\",\n nextMonth: \"Mese successivo\",\n today: \"Oggi\",\n yearPanel: \"Scegli un anno\",\n earlierYears: \"Anni precedenti\",\n laterYears: \"Anni successivi\",\n thisYear: \"Quest’anno\",\n },\n calendarHeatmap: {\n grid: \"Valori giornalieri\",\n day: (date, value) => `${date}: ${value}`,\n less: \"Meno\",\n more: \"Più\",\n truncated: (count) =>\n `Vengono mostrati i giorni più recenti; ${count === 1 ? \"1 giorno precedente non è mostrato\" : `${n(count)} giorni precedenti non sono mostrati`}.`,\n },\n datePicker: {\n apply: \"Applica\",\n cancel: \"Annulla\",\n presets: \"Intervalli rapidi\",\n panel: \"Scegli una data\",\n rangePanel: \"Scegli un intervallo di date\",\n clear: \"Cancella\",\n previousDay: \"Giorno precedente\",\n nextDay: \"Giorno successivo\",\n today: \"Oggi\",\n },\n popover: {\n panel: \"Finestra a comparsa\",\n },\n combobox: {\n search: \"Cerca\",\n noResults: \"Nessun risultato\",\n clear: \"Cancella\",\n loading: \"Caricamento…\",\n create: (query) => `Crea «${query}»`,\n selectedCount: (count) => `${n(count)} ${plural(count, \"selezionato\", \"selezionati\")}`,\n loadError: \"Impossibile caricare i risultati\",\n resultCount: (count) => `${n(count)} ${plural(count, \"risultato\", \"risultati\")}`,\n minChars: (count) => `Digiti almeno ${n(count)} ${plural(count, \"carattere\", \"caratteri\")}`,\n },\n multiSelect: {\n search: \"Cerca\",\n selectAll: \"Seleziona tutto\",\n clear: \"Cancella\",\n all: \"Tutti\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"Apri calcolatrice\",\n panel: \"Calcolatrice\",\n calculation: \"Calcolo\",\n backspace: \"Cancella ultimo carattere\",\n clear: \"Azzera\",\n equals: \"Uguale\",\n done: \"Fine\",\n plus: \"Più\",\n minus: \"Meno\",\n times: \"Per\",\n divide: \"Diviso\",\n decimal: \"Separatore decimale\",\n },\n currency: {\n currency: \"Valuta\",\n search: \"Cerca valuta\",\n },\n chipInput: {\n // The quoted value is a citation; the participle agrees with the implied\n // \"elemento\" whatever the chip says.\n added: (value) => `«${value}» aggiunto`,\n removed: (value) => `«${value}» rimosso`,\n remove: \"Rimuovi\",\n atLimit: (max) => `Limite di ${n(max)} ${plural(max, \"elemento\", \"elementi\")} raggiunto`,\n duplicate: (value) => `«${value}» è già nell’elenco`,\n },\n swatchPicker: {\n none: \"Nessun colore\",\n mixed: \"Misto: gli elementi selezionati hanno colori diversi\",\n },\n iconPicker: {\n none: \"Nessuna icona\",\n mixed: \"Misto: gli elementi selezionati hanno icone diverse\",\n search: \"Cerca icone\",\n noResults: \"Nessuna icona corrispondente\",\n resultCount: (count) => `${n(count)} ${plural(count, \"icona\", \"icone\")}`,\n },\n fieldSync: {\n synced: \"Salvato\",\n edited: \"Modifiche non salvate\",\n pending: \"Salvataggio…\",\n error: \"Impossibile salvare\",\n retry: \"Riprova\",\n },\n passwordReveal: {\n show: \"Mostra password\",\n hide: \"Nascondi password\",\n },\n dangerConfirm: {\n arm: \"Elimina…\",\n confirm: \"Elimina\",\n cancel: \"Annulla\",\n prompt: \"Questa operazione non può essere annullata.\",\n password: \"Password\",\n phrase: (phrase) => `Digiti «${phrase}» per confermare`,\n acknowledge: \"Ho letto cosa comporta questa operazione e desidero continuare.\",\n needsPhrase: (phrase) => `Digiti «${phrase}» per confermare`,\n needsAcknowledge: \"Spunti la casella per confermare\",\n needsPassword: \"Inserisca la password per confermare\",\n },\n tabs: {\n add: \"Aggiungi scheda\",\n remove: (tab) => `Rimuovi ${tab}`,\n more: \"Altre schede\",\n backToFirst: \"Torna alla prima scheda\",\n },\n appShell: {\n collapse: \"Comprimi barra laterale\",\n expand: \"Espandi barra laterale\",\n toggleGroup: (groupLabel) => `${groupLabel}: pagine`,\n },\n topBar: {\n theme: \"Cambia tema\",\n palette: \"Preset di aspetto\",\n language: \"Lingua\",\n switchRole: \"Cambia ruolo\",\n role: (value) => `Ruolo: ${value}`,\n },\n pickerSheet: {\n close: \"Chiudi\",\n done: \"Fine\",\n },\n dialogFrame: {\n close: \"Chiudi\",\n },\n bulkActionBar: {\n selected: (count) => `${n(count)} ${count === 1 ? \"selezionato\" : \"selezionati\"}`,\n clear: \"Annulla selezione\",\n cleared: \"Selezione annullata\",\n },\n swipeableRow: {\n actions: \"Azioni della riga\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale (\"3,4 MB\").\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"Caricamento file\",\n browse: \"Sfoglia\",\n empty: \"Trascini qui un file\",\n emptyMultiple: \"Trascini qui i file\",\n hint: (accept) => (accept ? `Accettati: ${accept}` : \"Qualsiasi tipo di file\"),\n busy: \"Caricamento…\",\n rejectedPick: (count) =>\n count === 1 ? \"Il file non è stato aggiunto\" : `Nessuno dei ${n(count)} file è stato aggiunto`,\n // \"file\" is invariable in Italian (\"1 file\", \"3 file\"); only the verb agrees.\n rejectedType: (name) => `Il tipo di file di «${name}» non è supportato`,\n rejectedTypeOnly: (accept) => `Solo file ${accept}`,\n rejectedSize: (name, maxSize) => `«${name}» supera ${maxSize}`,\n rejectedCount: (name, maxFiles) =>\n `«${name}» non è stato aggiunto: al massimo ${n(maxFiles)} file`,\n rejectedInvalid: (name) => `«${name}» non può essere usato qui`,\n rejectedMany: (count) =>\n count === 1 ? \"1 file non è stato aggiunto\" : `${n(count)} file non sono stati aggiunti`,\n selected: (count, firstName) =>\n count === 1 ? `«${firstName}» selezionato` : `${n(count)} file selezionati`,\n remove: (name) => `Rimuovi «${name}»`,\n clearAll: \"Rimuovi tutti i file\",\n removed: (name) => `«${name}» rimosso`,\n cleared: \"Tutti i file rimossi\",\n },\n wizard: {\n done: \"Fine\",\n cancel: \"Annulla\",\n back: \"Indietro\",\n next: \"Avanti\",\n skip: \"Salta\",\n finish: \"Fine\",\n submitting: \"Creazione in corso…\",\n steps: \"Passaggi\",\n step: (current, total) => `Passaggio ${n(current)} di ${n(total)}`,\n cancelTitle: \"Scartare questo modulo?\",\n confirmCancel: \"I dati inseriti andranno persi.\",\n cancelConfirmLabel: \"Scarta\",\n cancelDismissLabel: \"Continua a modificare\",\n reviewTitle: \"Riepilogo\",\n edit: \"Modifica\",\n missingRequired: \"Compili tutti i campi obbligatori.\",\n genericError: \"Si è verificato un errore\",\n },\n tour: {\n next: \"Avanti\",\n back: \"Indietro\",\n skip: \"Salta\",\n done: \"Fine\",\n awaitClickHint: \"Faccia clic sull’elemento evidenziato per continuare\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"Cancella ricerca\",\n submit: \"Cerca\",\n close: \"Chiudi\",\n placeholder: \"Cerca…\",\n empty: \"Nessun risultato\",\n loading: \"Ricerca in corso…\",\n dialog: \"Ricerca\",\n error: \"Ricerca non riuscita. Riprovi.\",\n },\n globalSearch: {\n trigger: \"Cerca\",\n placeholder: \"Cerca o vai a…\",\n shortcut: (keys) => `Cerca (${keys})`,\n suggestions: \"Provi\",\n results: \"Risultati\",\n },\n sparkline: {\n rising: (first, last) => `In aumento da ${first} a ${last}`,\n falling: (first, last) => `In calo da ${first} a ${last}`,\n flat: (value) => `Stabile a ${value}`,\n single: (value) => `Un solo valore: ${value}`,\n noData: \"Nessun dato\",\n named: (name, summary) => `${name}: ${summary}`,\n },\n statTile: {\n increase: (amount) => `In aumento di ${amount}`,\n decrease: (amount) => `In calo di ${amount}`,\n unchanged: \"Nessuna variazione\",\n better: (change) => `${change} (favorevole)`,\n worse: (change) => `${change} (sfavorevole)`,\n noValue: \"Nessun dato\",\n loading: \"Caricamento…\",\n },\n signaturePad: {\n label: \"Firma\",\n instructions: \"Firmi nel riquadro con il mouse, il dito o una penna.\",\n typedFallbackHint: \"Se non può disegnare, scriva invece il Suo nome.\",\n empty: \"Ancora nessun tratto\",\n signed: \"Firma tracciata\",\n undo: \"Annulla l’ultimo tratto\",\n clear: \"Cancella\",\n save: \"Salva firma\",\n useTyped: \"Scrivi il nome\",\n useDrawn: \"Disegna la firma\",\n typedName: \"Nome e cognome\",\n cleared: \"Firma cancellata\",\n undone: \"Ultimo tratto rimosso\",\n viewEmpty: \"Non firmato\",\n viewDrawn: \"Firma autografa\",\n viewTyped: (name) => `Firmato con il nome digitato ${name}`,\n },\n passwordStrength: {\n // Agrees with \"password\" (feminine in Italian).\n tooShort: \"Troppo corta\",\n weak: \"Debole\",\n fair: \"Discreta\",\n good: \"Buona\",\n strong: \"Forte\",\n announcement: (level) => `Sicurezza della password: ${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) =>\n `Almeno ${n(minLength)} ${plural(minLength, \"carattere\", \"caratteri\")}`,\n ruleCase: \"Maiuscole e minuscole\",\n ruleDigit: \"Un numero\",\n ruleSymbol: \"Un simbolo\",\n optional: (rule) => `${rule} (facoltativo)`,\n met: \"Soddisfatto:\",\n notMet: \"Non soddisfatto:\",\n tooLong: (maxBytes) =>\n `Al massimo ${n(maxBytes)} ${plural(maxBytes, \"carattere\", \"caratteri\")} (le lettere accentate e le emoji contano più di uno).`,\n },\n seriesChart: {\n resetZoom: \"Reimposta zoom\",\n zoomHint:\n \"Trascini per ingrandire: una selezione più o meno quadrata ingrandisce entrambi gli assi, una lunga e sottile solo il proprio. Faccia doppio clic per ripristinare.\",\n empty: \"Nessun dato\",\n legend: \"Serie\",\n points: \"Valori del grafico\",\n },\n pieChart: {\n slices: \"Settori del grafico\",\n slice: (label, value, percent) => `${label}: ${value} (${percent})`,\n total: \"Totale\",\n empty: \"Nessun dato\",\n legend: \"Categorie\",\n },\n confirmDialog: {\n confirm: \"Conferma\",\n cancel: \"Annulla\",\n typed: (text) => `Digiti «${text}» per confermare`,\n },\n floatingPanel: {\n close: \"Chiudi\",\n badge: (count) => `${n(count)} ${plural(count, \"nuovo\", \"nuovi\")}`,\n },\n copyButton: {\n copy: \"Copia\",\n copied: \"Copiato\",\n failed: \"Copia non riuscita\",\n copiedAnnouncement: \"Copiato negli appunti\",\n failedAnnouncement: \"Impossibile copiare negli appunti\",\n },\n list: {\n unread: \"Non letto\",\n opensInNewTab: \"si apre in una nuova scheda\",\n },\n breadcrumbs: {\n label: \"Percorso di navigazione\",\n showAll: \"Mostra percorso completo\",\n },\n toast: {\n close: \"Chiudi notifica\",\n notifications: \"Notifiche\",\n undo: \"Annulla\",\n redo: \"Ripeti\",\n },\n form: {\n save: \"Salva\",\n cancel: \"Annulla\",\n submitShortcut: (apple) => (apple ? \"⌘ Invio\" : \"Ctrl+Invio\"),\n },\n descriptionList: {\n empty: \"—\",\n },\n lineItems: {\n add: \"Aggiungi riga\",\n remove: (row) => `Rimuovi riga ${row}`,\n confirmRemove: (row) => `Rimuovere la riga ${row}? Prema di nuovo per confermare`,\n row: (row) => `Riga ${row}`,\n cell: (column, row) => `${column}, riga ${row}`,\n totals: \"Totale\",\n },\n progressBar: {\n unlimited: \"Illimitato\",\n overLimit: (amount) => `${amount} oltre il limite`,\n },\n signedAmount: {\n positive: (amount) => `più ${amount}`,\n negative: (amount) => `meno ${amount}`,\n },\n errorBoundary: {\n title: \"Si è verificato un errore\",\n message: \"Impossibile mostrare questa parte della pagina. Riprovi o ricarichi la pagina.\",\n retry: \"Riprova\",\n details: \"Dettagli dell’errore\",\n reload: \"Ricarica\",\n updateTitle: \"È disponibile una nuova versione\",\n updateMessage: \"Una parte dell’app è cambiata da quando questa pagina è stata caricata. Ricarichi per ottenere la nuova versione.\",\n offlineTitle: \"Nessuna connessione\",\n offlineMessage: \"Impossibile caricare questa pagina senza connessione. Si riconnetta, poi ricarichi la pagina.\",\n copyReport: \"Copia il rapporto di errore\",\n reported: \"L’errore è stato segnalato automaticamente.\",\n reportedAs: (reference) => `Segnalato con riferimento ${reference}`,\n },\n authedImage: {\n loading: \"Caricamento immagine…\",\n loadError: \"Impossibile caricare l’immagine\",\n failedImage: (alt) => `${alt}: impossibile caricare l’immagine`,\n },\n imageGrid: {\n list: \"Immagini\",\n item: (index, count) => `Immagine ${n(index)} di ${n(count)}`,\n actions: (name) => `Azioni per ${name}`,\n },\n lightbox: {\n dialog: \"Visualizzatore immagini\",\n close: \"Chiudi\",\n previous: \"Immagine precedente\",\n next: \"Immagine successiva\",\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `Immagine ${n(index)} di ${n(count)}`,\n download: \"Scarica\",\n zoom: \"Ingrandisci\",\n noPreview: \"Nessuna anteprima disponibile per questo file\",\n openInNewTab: \"Apri in una nuova scheda\",\n },\n writeLock: {\n reason: \"Può visualizzarlo, ma non modificarlo.\",\n },\n accountState: {\n // Agreeing with \"account\" (masculine): the chip is the state of an account.\n active: \"Attivo\",\n inactive: \"Non attivo\",\n invited: \"Invitato\",\n registered: \"Registrato\",\n unverified: \"Non verificato\",\n passwordChange: \"Deve cambiare la password\",\n deletion: \"Eliminazione richiesta\",\n deletionOn: (date) => `Eliminazione il ${date}`,\n },\n shareCard: {\n dialogTitle: \"Condividi\",\n close: \"Chiudi\",\n email: \"Indirizzo email\",\n emailOptional: \"Indirizzo email (facoltativo)\",\n // example.com is reserved for examples (RFC 2606); a localised domain is real.\n emailPlaceholder: \"nome@example.com\",\n invalidEmail: \"Inserisca un indirizzo email completo.\",\n role: \"Ruolo\",\n roleOf: (name) => `Ruolo di ${name}`,\n add: \"Condividi\",\n whoHasAccess: \"Chi ha accesso\",\n nobodyYet: \"Nessun altro ha ancora accesso.\",\n pending: \"In attesa\",\n openInvite: \"Link di invito aperto\",\n copyLink: \"Copia link\",\n team: \"Team\",\n teamHint: (name) => `Tutti i membri di ${name} avranno accesso.`,\n remove: \"Rimuovi accesso\",\n removeConfirm: (name) => `Rimuovere l’accesso di ${name}?`,\n revokePending: \"Ritira invito\",\n revokePendingConfirm: (name) => `Ritirare l’invito per ${name}?`,\n failed: \"Non ha funzionato. Riprovi.\",\n loading: \"Caricamento…\",\n },\n reauthDialog: {\n title: \"Confermi la Sua identità\",\n description: \"Inserisca la password attuale per continuare.\",\n password: \"Password attuale\",\n submit: \"Continua\",\n cancel: \"Annulla\",\n },\n // 0.35: keksdose's reviewed Italian (its `boot.slow` / `boot.waking`), which is canon.\n serverWake: {\n slow: \"Sta ancora caricando: ci vuole più del solito.\",\n waking: (appName) =>\n `Il server si addormenta quando nessuno usa ${appName ?? \"l’app\"}, perciò la prima richiesta dopo una pausa deve prima riavviarlo. Può volerci un momento: non va perso nulla, la pagina si riempie da sola.`,\n },\n // 0.28.0 — docs/legal-harmonization.md §4.3/§4.4: keksdose's reviewed Italian, and\n // Kurvenschmiede's for the browser section and the beta notice; formal, \"Lei\" and\n // \"Suo\" capitalised, like the rest of this catalogue.\n legal: {\n navLabel: \"Note legali\",\n links: {\n impressum: \"Impressum\",\n privacy: \"Privacy\",\n terms: \"Condizioni d’uso\",\n },\n titles: {\n impressum: \"Impressum\",\n privacy: \"Informativa sulla privacy\",\n terms: \"Condizioni d’uso\",\n },\n backHome: \"Torna alla pagina iniziale\",\n // The elided article stays glued to the link: \"e l’Informativa\", no space (§4.4).\n accept: \"Accetto le {terms} e l’{privacy}\",\n notice: {\n beta: \"Beta chiusa. Questi testi non sono ancora stati verificati da un avvocato e lo saranno prima di un lancio pubblico.\",\n privacy:\n \"Beta chiusa. Le formulazioni legali qui sotto non sono ancora state verificate da un avvocato; lo saranno prima di un lancio pubblico. Le descrizioni tecniche — cosa viene memorizzato, dove e chi può leggerlo — descrivono ciò che il software fa davvero oggi e sono pensate per essere verificate rispetto a esso.\",\n },\n translation: {\n note: (o) =>\n `Questa è una traduzione fornita per Sua comodità. Fa fede la versione in ${o.bindingLanguage}.`,\n show: (o) => `Mostra la versione in ${o.bindingLanguage}`,\n },\n sections: {\n impressum: {\n operator: {\n title: \"Gestore\",\n body: (o) =>\n `${o.name}\\n${o.postalCode} ${o.city}\\n${o.country}\\n\\nL’indirizzo postale completo viene fornito su richiesta a chiunque abbia un legittimo interesse giuridico; scriva all’indirizzo di contatto qui sotto.`,\n },\n contact: {\n title: \"Contatto\",\n body: (o) => `Email: ${o.email}`,\n },\n disclaimer: {\n title: \"Responsabilità per contenuti e link\",\n body: \"Questo è un progetto privato e non commerciale, offerto nell’ambito di una beta chiusa, senza garanzia. I siti esterni a cui rimandiamo sono di responsabilità dei rispettivi gestori; non abbiamo alcun controllo sui loro contenuti.\",\n // 0.32.0 — the commercial variant (docs/billing-harmonization.md §8). \"Piano\"\n // and \"abbonamento\" as the `billing` namespace.\n commercial:\n \"Questo è un servizio commerciale. I piani a pagamento sono venduti dal nostro rivenditore, che agisce in qualità di Merchant of Record: vende l’abbonamento in nome proprio, incassa il pagamento, emette la fattura e gestisce l’IVA, e all’acquisto si applicano le sue condizioni di vendita. Ci impegniamo affinché i contenuti di questo servizio siano corretti, ma non possiamo garantire che siano completi o aggiornati. I siti esterni a cui rimandiamo sono di responsabilità dei rispettivi gestori; non abbiamo alcun controllo sui loro contenuti.\",\n },\n },\n privacy: {\n controller: {\n title: \"Titolare del trattamento\",\n // \"Titolare\", as the title says: in the GDPR's Italian the \"responsabile del\n // trattamento\" is the processor (Art. 28), not the controller.\n body: (o) =>\n `Il titolare del trattamento dei dati personali in questo servizio è:\\n${o.name}\\n${o.postalCode} ${o.city}, ${o.country}\\nEmail: ${o.email}\\n\\nL’indirizzo postale completo viene fornito su richiesta agli interessati e alle autorità di controllo.`,\n },\n legal_basis: {\n title: \"Base giuridica\",\n body: \"Poiché il gestore risiede in Svizzera, il trattamento è disciplinato dalla Legge federale svizzera sulla protezione dei dati (LPD). Dove il Regolamento generale sulla protezione dei dati dell’UE (GDPR) si applica a Lei, ci basiamo sull’esecuzione di un contratto per fornire il servizio (art. 6, par. 1, lett. b GDPR) e sul nostro legittimo interesse a gestirlo e proteggerlo (art. 6, par. 1, lett. f GDPR).\",\n },\n browser: {\n title: \"Che cosa salva il Suo browser\",\n lead: \"Nessun cookie. L’app salva quanto segue nella memoria del Suo browser:\",\n tail: \"Niente di tutto ciò viene usato per tracciarLa. Le voci in attesa di invio ci vengono trasmesse non appena possibile; tutto il resto rimane sul Suo dispositivo. Tutto questo scompare quando cancella i dati del sito, e uscendo dall’account vengono rimossi i token di accesso.\",\n },\n rights: {\n title: \"I Suoi diritti\",\n lead: \"Ha diritto di accesso, rettifica, cancellazione, limitazione, portabilità dei dati e opposizione.\",\n tail: \"Se si trova in Svizzera può rivolgersi all’Incaricato federale della protezione dei dati e della trasparenza (IFPDT); se si trova nell’UE può presentare reclamo alla Sua autorità di controllo locale.\",\n },\n contact: {\n title: \"Contatto per la protezione dei dati\",\n body: (o) => `Per qualsiasi richiesta sulla privacy, si rivolga a: ${o.email}`,\n },\n },\n terms: {\n warranty: {\n title: \"Nessuna garanzia\",\n body: \"Il servizio è fornito «così com’è» e «come disponibile», senza garanzie di alcun tipo nei limiti consentiti dalla legge. Come beta può contenere errori, cambiare o essere interrotto in qualsiasi momento: conservi copie di backup dei dati importanti.\",\n },\n liability: {\n title: \"Limitazione di responsabilità\",\n body: \"Nei limiti consentiti dalla legge applicabile, il gestore non è responsabile per danni indiretti o consequenziali derivanti dall’uso o dall’impossibilità di usare il servizio. Nulla di quanto qui previsto limita la responsabilità che non può essere limitata per legge.\",\n },\n changes: {\n title: \"Modifiche a queste condizioni\",\n body: \"Queste condizioni possono essere aggiornate con l’evoluzione del servizio. Le modifiche sostanziali saranno annunciate via email o nell’app; l’uso continuato dopo una modifica ne implica l’accettazione.\",\n },\n language: {\n title: \"Lingua\",\n body: (o) =>\n `Le presenti condizioni sono redatte in ${o.bindingLanguage}. Le traduzioni in altre lingue sono fornite solo per comodità; in caso di divergenza prevale la versione in ${o.bindingLanguage}.`,\n },\n law: {\n title: \"Legge applicabile\",\n body: (o) =>\n `Queste condizioni sono disciplinate dal diritto svizzero, con esclusione delle norme sui conflitti di legge. Nei limiti consentiti dalla legge, il foro competente è ${o.city} (${o.region}), ${o.country}.`,\n },\n },\n },\n },\n // 0.29.0 — docs/auth-harmonization.md: keksdose's reviewed Italian (auth.*,\n // verify_email, error.not_found_*, budget_share.join_*), kastlan's for the names and\n // the 2FA prompt; written fresh where neither app had the sentence. Formal, \"Lei\" and\n // \"Suo\" capitalised; headings addressed formally (\"Scelga\", not keksdose's \"Scegli\").\n signIn: {\n email: \"Email\",\n password: \"Password\",\n submit: \"Accedi\",\n passkey: \"Accedi con una passkey\",\n forgotPassword: \"Password dimenticata?\",\n noAccount: \"Non ha ancora un account?\",\n register: \"Crea account\",\n invalidCredentials: \"L’indirizzo email o la password non sono corretti.\",\n failed: \"Accesso non riuscito. Riprovi.\",\n passkeyFailed: \"Accesso con passkey non riuscito.\",\n deactivatedHint: \"Account disattivato? Scriva a {contact}.\",\n // \"Account creato con…\" rather than \"Si è registrato con…\", which needs a gender.\n tagHint: (taggedAddress) => `Account creato con ${taggedAddress}? Usi quell’indirizzo.`,\n twoFactorTitle: \"Autenticazione a due fattori\",\n twoFactorIntro: \"Inserisca il codice mostrato dalla Sua app di autenticazione.\",\n code: \"Codice 2FA\",\n verify: \"Verifica\",\n codeInvalid: \"Codice 2FA non valido.\",\n setPasswordTitle: \"Scelga una nuova password\",\n setPasswordIntro:\n \"Per questo account è stata richiesta una nuova password. Ne scelga una e accederà subito.\",\n newPassword: \"Nuova password\",\n confirmPassword: \"Ripeti la nuova password\",\n passwordMismatch: \"Le password non coincidono.\",\n setPasswordSubmit: \"Imposta la password e accedi\",\n setPasswordFailed: \"Impossibile impostare la password.\",\n expired: \"Questo accesso è scaduto. Acceda di nuovo.\",\n backToSignIn: \"Torna all’accesso\",\n // kastlan's backup-code words (\"codice di riserva\" — not keksdose's \"codice di\n // recupero\", which is the key of its end-to-end encryption).\n useRecoveryCode: \"Usa un codice di riserva\",\n useAuthenticatorCode: \"Usa la Sua app di autenticazione\",\n recoveryCode: \"Codice di riserva\",\n recoveryIntro:\n \"Inserisca uno dei codici di riserva che ha salvato quando ha attivato l’autenticazione a due fattori.\",\n recoveryCodeHint: (length) => `${n(length)} lettere e cifre. Trattini e spazi non contano.`,\n recoveryCodeInvalid: \"Questo codice di riserva non è valido o è già stato usato.\",\n rateLimited,\n // 0.31.0: the same words as `landing.requestAccess`.\n requestAccess: \"Richiedi l’accesso\",\n },\n register: {\n firstName: \"Nome\",\n lastName: \"Cognome\",\n email: \"Email\",\n emailTagUse: (address) => `Usa ${address}`,\n emailTagHint:\n \"Molti provider recapitano nome+tag@… nella stessa casella, così la posta di questa app è filtrabile e riconoscibile. Verifichi che il Suo lo faccia prima di farci affidamento: accederebbe con l’indirizzo con il tag.\",\n invitedEmailHint: \"L’indirizzo a cui è stato inviato il Suo invito.\",\n invitedTagNote: \"L’indirizzo con il tag riceve una propria email di conferma.\",\n password: \"Password\",\n confirmPassword: \"Ripeti la password\",\n passwordMismatch: \"Le password non coincidono.\",\n language: \"Lingua\",\n submit: \"Crea account\",\n haveAccount: \"Ha già un account?\",\n signIn: \"Accedi\",\n emailTaken: \"Esiste già un account con questo indirizzo email.\",\n registrationClosed:\n \"I nuovi account si creano solo su invito. Chieda al gestore di invitare il Suo indirizzo email.\",\n invitationInvalid: \"Questo link di invito non è valido.\",\n invitationExpired: \"Questo invito è scaduto. Ne chieda uno nuovo.\",\n failed: \"Registrazione non riuscita. Riprovi.\",\n rateLimited,\n },\n completeName: {\n title: \"Completi il Suo nome\",\n description:\n \"Nome e cognome ora vengono richiesti separatamente. Controlli quanto è già compilato e aggiunga ciò che manca.\",\n firstName: \"Nome\",\n lastName: \"Cognome\",\n save: \"Salva\",\n later: \"Più tardi\",\n failed: \"Impossibile salvare il Suo nome. Riprovi.\",\n },\n forgotPassword: {\n title: \"Password dimenticata\",\n intro:\n \"Inserisca l’indirizzo email del Suo account. Le invieremo un link per scegliere una nuova password.\",\n email: \"Email\",\n submit: \"Invia il link\",\n sent: (email) => `Se esiste un account per ${email}, il link è in arrivo.`,\n sentHint: \"Il link è valido per un’ora e funziona una sola volta. Controlli anche la cartella spam.\",\n backToSignIn: \"Torna all’accesso\",\n error: \"Richiesta non riuscita. Riprovi più tardi.\",\n rateLimited,\n },\n resetPassword: {\n title: \"Scelga una nuova password\",\n checking: \"Verifica del link…\",\n intro: (email) => `Sta impostando una nuova password per ${email}.`,\n newPassword: \"Nuova password\",\n confirmPassword: \"Ripeti la nuova password\",\n mismatch: \"Le password non coincidono.\",\n submit: \"Salva password\",\n failed: \"Impossibile cambiare la password.\",\n noToken: \"Questo link è incompleto.\",\n invalid: \"Questo link non è valido o è scaduto.\",\n invalidHint:\n \"I link sono validi per un’ora e funzionano una sola volta. Ne richieda semplicemente uno nuovo.\",\n requestNew: \"Richiedi un nuovo link\",\n success: \"La Sua password è stata cambiata. Ora può accedere con quella.\",\n sessionsEnded: \"I dispositivi connessi sono stati disconnessi: lì dovrà accedere di nuovo.\",\n signIn: \"Vai all’accesso\",\n rateLimited,\n },\n verifyEmail: {\n title: \"Confermi il Suo indirizzo email\",\n verifying: \"Conferma in corso…\",\n verified: \"Il Suo indirizzo email è confermato.\",\n continue: \"Continua\",\n invalid: \"Questo link di conferma non è valido\",\n expired: \"Questo link di conferma è scaduto\",\n noToken: \"A questo link manca il token di conferma.\",\n invalidHint: \"Il link potrebbe essere scaduto o già stato usato.\",\n requestInApp: \"Può richiederne uno nuovo dall’app.\",\n requestHere: \"Può richiederne uno nuovo qui.\",\n resend: \"Invia di nuovo\",\n resendIn: (seconds) => `Invia di nuovo tra ${n(seconds)} s`,\n resent: \"Email di conferma inviata\",\n resendError: \"Impossibile inviare l’email di conferma\",\n rateLimited,\n banner: \"Confermi il Suo indirizzo email.\",\n dismiss: \"Non ora\",\n },\n notFound: {\n title: \"Pagina non trovata\",\n body: \"Questo indirizzo non esiste (più). Forse è un errore di battitura, oppure la pagina è stata spostata.\",\n home: \"Vai alla pagina iniziale\",\n app: \"Torna all’app\",\n },\n acceptInvitation: {\n title: \"Accetta l’invito\",\n accepting: \"Adesione in corso…\",\n accepted: \"Invito accettato.\",\n // \"Ora fa parte di…\" rather than \"Si è unito/a a…\", which needs a gender.\n joined: (name) => `Ora fa parte di ${name}.`,\n continue: \"Continua\",\n invalid: \"Impossibile unirsi con questo link\",\n expired: \"Questo invito è scaduto\",\n noToken: \"A questo link manca il token di invito.\",\n askAgain: \"Chieda a chi ha inviato l’invito di mandarne uno nuovo.\",\n signInFirst: \"Acceda per accettare questo invito\",\n signInHint: \"Usi l’account a cui è stato inviato l’invito.\",\n signIn: \"Accedi\",\n register: \"Crea account\",\n },\n companySwitcher: {\n switchCompany: \"Cambia azienda\",\n heading: \"Aziende\",\n current: (name) => `Azienda: ${name}`,\n currentMark: \"(attuale)\",\n switching: \"Cambio azienda in corso…\",\n },\n // 0.30.0 — docs/user-admin-harmonization.md: keksdose's reviewed Italian for the admin\n // words (admin.users.*), Kurvenschmiede's for transfer, invitations and sessions,\n // kastlan's for the company, the throttle and \"Esci ovunque\"; written fresh where no\n // app had the sentence. \"Lei\", and phrased so that no sentence about the reader needs\n // a gender (\"disconnesso/a\").\n emailChange: {\n title: \"Indirizzo email\",\n current: \"Indirizzo attuale\",\n newEmail: \"Nuovo indirizzo email\",\n password: \"Password attuale\",\n passwordHint: \"Accede con il Suo indirizzo, quindi per cambiarlo serve la password.\",\n emailTagUse: (address) => `Usa ${address}`,\n emailTagHint:\n \"Molti provider recapitano nome+tag@… nella stessa casella, così la posta di questa app è filtrabile e riconoscibile. Verifichi che il Suo lo faccia prima di farci affidamento: accederebbe con l’indirizzo con il tag.\",\n submit: \"Cambia indirizzo email\",\n sameAsCurrent: \"Questo è già il Suo indirizzo.\",\n emailTaken: \"Esiste già un account con questo indirizzo email.\",\n wrongPassword: \"La password non è corretta.\",\n pending: (newEmail) => `Confermi il link che abbiamo inviato a ${newEmail}.`,\n pendingHint: (currentEmail) =>\n `Fino ad allora continua ad accedere con ${currentEmail}. Controlli anche la cartella spam.`,\n resend: \"Invia di nuovo il link\",\n resent: \"Abbiamo inviato di nuovo il link.\",\n cancel: \"Annulla la modifica\",\n confirmed: (email) => `Il Suo indirizzo email ora è ${email}.`,\n passkeyNote:\n \"Le Sue passkey continuano a funzionare. Il Suo dispositivo potrebbe ancora mostrarle con il vecchio indirizzo.\",\n rateLimited,\n failed: \"Non ha funzionato. Riprovi.\",\n },\n // 0.36.0 — docs/notifications-harmonization.md §4.2: the notification cards. The push\n // and device words follow keksdose's reviewed Italian.\n notifications: {\n typesTitle: \"Avvisami per\",\n typesDescription: \"Scelga di cosa essere avvisato, e come.\",\n byEmail: \"Per e-mail\",\n emailUnverified: \"Confermi il Suo indirizzo per riceverle.\",\n digestCadence: \"Frequenza\",\n digestWeekly: \"Settimanale\",\n digestMonthly: \"Mensile\",\n typesLoading: \"Caricamento delle impostazioni di notifica…\",\n typesEmpty: \"Non ci sono notifiche per questo account.\",\n quietTitle: \"Ore di silenzio\",\n quietDescription: (inbox) =>\n inbox\n ? \"Nessuna notifica push in questa fascia oraria. Arrivano comunque nella Sua casella.\"\n : \"Nessuna notifica push in questa fascia oraria.\",\n quietFrom: \"Dalle\",\n quietUntil: \"Alle\",\n quietIncomplete:\n \"Imposti sia l’ora di inizio sia quella di fine. Le ore di silenzio valgono solo quando sono impostate entrambe.\",\n timeZone: \"Fuso orario\",\n deviceZone: (zone) => `Questo dispositivo è nel fuso ${zone}.`,\n useDeviceZone: \"Usa questo\",\n regions: {\n Africa: \"Africa\",\n America: \"Americhe\",\n Antarctica: \"Antartide\",\n Arctic: \"Artide\",\n Asia: \"Asia\",\n Atlantic: \"Atlantico\",\n Australia: \"Australia\",\n Europe: \"Europa\",\n Indian: \"Oceano Indiano\",\n Pacific: \"Pacifico\",\n },\n pushTitle: \"Notifiche push\",\n pushDescription: \"Notifiche su questo dispositivo, anche quando l’app è chiusa.\",\n unsupported: \"Questo browser non supporta le notifiche push.\",\n iosInstall: (app) =>\n `Su iPhone o iPad aggiunga prima ${app} alla schermata Home: iOS recapita le notifiche solo all’app installata.`,\n notConfigured: \"Le notifiche push non sono configurate su questo server.\",\n blocked: \"Le notifiche sono bloccate nelle impostazioni di questo browser.\",\n on: \"Le notifiche sono attive per questo dispositivo.\",\n off: \"Le notifiche sono disattivate per questo dispositivo.\",\n otherAccount:\n \"Questo browser riceve le notifiche di un altro account. Le attivi qui per riceverle sull’account con cui ha effettuato l’accesso.\",\n enable: \"Attiva notifiche\",\n disable: \"Disattiva\",\n sendTest: \"Invia un test\",\n enableFailed: \"Impossibile attivare le notifiche.\",\n noServiceWorker: \"Impossibile raggiungere il service worker dell’app. Ricarichi la pagina e riprovi.\",\n pushTimeout: \"Il servizio push del browser non ha risposto. Controlli la connessione e riprovi.\",\n testSent: (count) => `Test inviato a ${n(count)} ${plural(count, \"dispositivo\", \"dispositivi\")}`,\n testNone: \"Nessun dispositivo ha accettato il test. Attivi prima le notifiche per questo dispositivo.\",\n testFailed: \"Impossibile inviare la notifica di prova.\",\n explainerTitle: \"Attivare le notifiche?\",\n explainerBody: (app) =>\n `${app} invia notifiche solo per ciò che sceglie Lei, e può disattivarle in qualsiasi momento.`,\n explainerHint: \"Il browser Le chiederà poi il permesso.\",\n explainerContinue: \"Continua\",\n devicesTitle: \"Dispositivi di notifica\",\n devicesDescription:\n \"Tutti i dispositivi che ricevono notifiche push per il Suo account. Rimuova quelli che non usa più.\",\n devicesLoading: \"Caricamento dei dispositivi…\",\n devicesEmpty: \"Nessun dispositivo riceve ancora notifiche.\",\n unknownDevice: \"Dispositivo sconosciuto\",\n thisDevice: \"Questo dispositivo\",\n added: (date) => `Aggiunto il ${date}`,\n lastDelivery: (date) => `Ultimo recapito il ${date}`,\n noDelivery: \"Ancora nessun recapito\",\n failures: (count) => `${n(count)} ${plural(count, \"recapito fallito\", \"recapiti falliti\")} di fila`,\n remove: \"Rimuovi\",\n // Starts with `remove`, the button's visible text, for voice control.\n removeItem: (device) => `Rimuovi ${device}`,\n removePrompt: \"Smettere di inviare notifiche a questo dispositivo?\",\n unsubscribeTitle: \"Notifiche via e-mail\",\n unsubscribeAbout: (type) => `Riceve e-mail su: ${type}.`,\n unsubscribeGeneric: \"Riceve e-mail di notifica.\",\n stopThese: \"Non ricevere più queste e-mail\",\n stopAll: (app) => `Non ricevere più e-mail di notifica da ${app}`,\n stoppedThese: \"Fatto. Non riceverà più queste e-mail.\",\n stoppedAll: (app) => `Fatto. Non riceverà più e-mail di notifica da ${app}.`,\n accountMail: \"Le e-mail sul Suo account continuano ad arrivare.\",\n turnBackOn: \"Può riattivarle in qualsiasi momento nelle impostazioni.\",\n openSettings: \"Apri le impostazioni\",\n invalidLink: \"Questo link non funziona più. Può disattivare le e-mail nelle impostazioni.\",\n failed: \"Non ha funzionato. Riprovi.\",\n },\n sessions: {\n title: \"Sessioni\",\n description:\n \"Ha effettuato l’accesso su un dispositivo che non usa più o di cui non si fida? Esca ovunque.\",\n signOutEverywhere: \"Esci ovunque…\",\n signOutEverywherePrompt:\n \"Tutte le sessioni terminano, compresa questa: anche questo dispositivo verrà disconnesso e dovrà accedere di nuovo da qui.\",\n confirmSignOutEverywhere: \"Esci ovunque\",\n list: \"Dove ha effettuato l’accesso\",\n loading: \"Caricamento delle sessioni…\",\n empty: \"Nessuna sessione da mostrare.\",\n current: \"Questo dispositivo\",\n unknownDevice: \"Dispositivo sconosciuto\",\n // A colon: `when` is either \"3 ore fa\" or a date.\n lastActive: (when) => `Ultima attività: ${when}`,\n ip: (address) => `IP ${address}`,\n revoke: \"Disconnetti\",\n // Starts with `revoke`, the button's visible text, for voice control.\n revokeItem: (device) => `Disconnetti ${device}`,\n failed: \"Non ha funzionato. Riprovi.\",\n },\n deleteAccount: {\n title: \"Elimina account\",\n afterDays: (days) =>\n `Il Suo account viene disattivato subito ed eliminato definitivamente ${n(days)} ${plural(days, \"giorno\", \"giorni\")} dopo.`,\n operator: \"Il Suo account viene disattivato subito, poi il gestore lo eliminerà definitivamente.\",\n arm: \"Elimina account…\",\n prompt: \"Tutte le Sue sessioni terminano, su ogni dispositivo, e il Suo account non potrà più essere usato.\",\n handOver: (count) =>\n count === 1\n ? \"1 elemento visibile ad altri passerà a un amministratore.\"\n : `${n(count)} elementi visibili ad altri passeranno a un amministratore.`,\n confirm: \"Elimina il mio account\",\n done: \"Il Suo account è disattivato. Disconnessione in corso.\",\n wrongPassword: \"La password non è corretta.\",\n confirmationMismatch: \"Questo non è l’indirizzo del Suo account.\",\n lastAdmin: \"Il Suo è l’ultimo account amministratore. Renda prima amministratore qualcun altro.\",\n lastAdminOf: (companies) =>\n `Il Suo è l’ultimo account amministratore di ${companies}. Lì renda prima amministratore qualcun altro.`,\n // keksdose's \"famiglia\".\n householdHasMembers:\n \"La Sua famiglia ha altri membri, quindi l’account non può essere eliminato qui. Scriva al gestore.\",\n rateLimited,\n failed: \"Impossibile eliminare il Suo account. Riprovi.\",\n },\n dataExport: {\n title: \"Esporta i Suoi dati\",\n description: \"Scarichi una copia dei dati del Suo account come file JSON.\",\n download: \"Scarica i miei dati\",\n started: \"Il download è iniziato.\",\n saveAgain: \"Non è partito? Salva il file\",\n rateLimited: (seconds) =>\n seconds && seconds > 0\n ? `Ha appena esportato i Suoi dati. Riprovi tra ${wait(seconds)}.`\n : \"Ha appena esportato i Suoi dati. Riprovi tra un minuto.\",\n failed: \"Esportazione non riuscita. Riprovi.\",\n },\n userRoster: {\n name: \"Nome\",\n email: \"Email\",\n role: \"Ruolo\",\n state: \"Stato\",\n created: \"Creato il\",\n lastLogin: \"Ultimo accesso\",\n never: \"Mai\",\n actions: \"Azioni\",\n actionsFor: (name) => `Azioni per ${name}`,\n },\n roleSelect: {\n label: \"Ruolo\",\n rolesLegend: \"Ruoli\",\n roleOf: (name) => `Ruolo di ${name}`,\n lockedLastAdmin: \"L’ultimo account amministratore attivo mantiene questo ruolo.\",\n lockedSelf: \"Non può cambiare il Suo ruolo.\",\n notForLastAdmin: \"non per l’ultimo amministratore\",\n notForSelf: \"non per il Suo account\",\n unavailable: (role, reason) => `${role} (${reason})`,\n },\n reviewerScope: {\n languages: \"Lingue\",\n hint: \"Spunti le lingue che questa persona rivede.\",\n none: \"Nessuna lingua: salvando si toglie il ruolo di revisore.\",\n areas: \"Limita a\",\n legalOnly: \"Solo le pagine legali\",\n legalOnlyHint:\n \"Impressum, informativa sulla privacy e condizioni d’uso: per un giurista più che per un madrelingua.\",\n failed: \"Impossibile salvare il ruolo di revisore. Riprovi.\",\n },\n adminAction: {\n confirm: \"Conferma\",\n cancel: \"Annulla\",\n close: \"Chiudi\",\n lastAdmin:\n \"Questo è l’ultimo account amministratore attivo. Renda prima amministratore qualcun altro.\",\n self: \"Non può farlo sul Suo account.\",\n confirmationMismatch:\n \"L’indirizzo non corrisponde a questo account. Controlli su quale account si trova.\",\n otherCompanies:\n \"Questo account appartiene anche ad altre aziende, quindi solo il gestore della piattaforma può farlo. Può invece rimuoverlo da questa azienda.\",\n removeFromCompany: \"Rimuovi dall’azienda\",\n failed: \"Non ha funzionato. Riprovi.\",\n },\n adminActionLog: {\n title: \"Azioni di amministrazione\",\n empty: \"Ancora nessuna azione di amministrazione.\",\n loading: \"Caricamento…\",\n by: (actor) => `da ${actor}`,\n bySelf: \"dall’utente stesso\",\n automatic: \"automaticamente\",\n erased: \"un account cancellato\",\n filteredTo: (target) => `Solo ${target}`,\n showAll: \"Mostra tutte le azioni\",\n filterBy: (target) => `Mostra solo le azioni su ${target}`,\n // Agreeing with \"account\" (masculine), like `accountState`.\n actions: {\n deactivate: \"Disattivato\",\n reactivate: \"Riattivato\",\n role: \"Ruolo cambiato\",\n password_change_require: \"Nuova password richiesta\",\n password_change_withdraw: \"Richiesta di nuova password ritirata\",\n mail_verification: \"Email di conferma inviata\",\n mail_reset: \"Email di reimpostazione password inviata\",\n reviewer: \"Ambito di revisione cambiato\",\n invite: \"Invitato\",\n invite_resend: \"Invito inviato di nuovo\",\n invite_revoke: \"Invito ritirato\",\n transfer: \"Lavoro passato ad altri\",\n deletion_request: \"Eliminazione richiesta\",\n deletion_cancel: \"Eliminazione annullata\",\n erase: \"Account cancellato\",\n plan: \"Piano modificato\",\n },\n // 0.34 (§11.5): whole phrases per noun. The group's own agree with the noun\n // (\"Azienda creata\"; Kurvenschmiede's \"il team\" is masculine, never \"squadra\"), a\n // member's with \"account\", as `actions` do. `budget` is keksdose's; `company` keeps\n // `actions.membership_remove`'s string.\n groupActions: {\n group: {\n group_create: \"Gruppo creato\",\n group_rename: \"Gruppo rinominato\",\n group_delete: \"Gruppo eliminato\",\n membership_add: \"Aggiunto al gruppo\",\n membership_role: \"Ruolo nel gruppo cambiato\",\n membership_remove: \"Rimosso dal gruppo\",\n deleted: \"un gruppo eliminato\",\n },\n team: {\n group_create: \"Team creato\",\n group_rename: \"Team rinominato\",\n group_delete: \"Team eliminato\",\n membership_add: \"Aggiunto al team\",\n membership_role: \"Ruolo nel team cambiato\",\n membership_remove: \"Rimosso dal team\",\n deleted: \"un team eliminato\",\n },\n company: {\n group_create: \"Azienda creata\",\n group_rename: \"Azienda rinominata\",\n group_delete: \"Azienda eliminata\",\n membership_add: \"Aggiunto all’azienda\",\n membership_role: \"Ruolo nell’azienda cambiato\",\n membership_remove: \"Rimosso dall’azienda\",\n deleted: \"un’azienda eliminata\",\n },\n budget: {\n group_create: \"Budget creato\",\n group_rename: \"Budget rinominato\",\n group_delete: \"Budget eliminato\",\n membership_add: \"Aggiunto al budget\",\n membership_role: \"Ruolo nel budget cambiato\",\n membership_remove: \"Rimosso dal budget\",\n deleted: \"un budget eliminato\",\n },\n },\n },\n transferOwnership: {\n title: (name) => `Passa il lavoro di ${name}`,\n body: \"Tutto ciò che possiede questo account passa all’account scelto, in un solo passo.\",\n recipient: \"Passalo a\",\n choose: \"Scelga un account…\",\n chooseFirst: \"Scelga chi riceve il lavoro\",\n confirm: \"Passa il lavoro\",\n customer: \"cliente\",\n deactivated: \"disattivato\",\n self: \"lo stesso account\",\n unavailable: (account, reason) => `${account} (${reason})`,\n noCandidates: \"Nessun altro account può riceverlo.\",\n },\n invitations: {\n email: \"Indirizzo email\",\n invalidEmail: \"Inserisca un indirizzo email completo.\",\n role: \"Ruolo\",\n scope: \"Ambito\",\n scopeNone: \"Nessuno\",\n language: \"Lingua dell’invito\",\n note: \"Nota\",\n invite: \"Invita\",\n listTitle: \"Inviti\",\n empty: \"Non è ancora stato invitato nessuno.\",\n loading: \"Caricamento…\",\n // Agreeing with \"invito\" (masculine).\n status: { open: \"Aperto\", accepted: \"Accettato\", expired: \"Scaduto\", revoked: \"Ritirato\" },\n sent: (date) => `Inviato il ${date}`,\n // kastlan's \"Valido fino al\".\n expires: (date) => `Valido fino al ${date}`,\n invitedBy: (name) => `da ${name}`,\n resend: (email) => `Invia a ${email} un nuovo link`,\n copyLink: \"Copia link di invito\",\n revoke: (email) => `Ritira l’invito per ${email}`,\n consoleHint:\n \"Questo server non invia email: vengono scritte nel log del server. Copi qui ogni link di invito e lo inoltri Lei stesso: viene mostrato una sola volta.\",\n linkReady: (email) => `Il link di invito per ${email}, mostrato solo questa volta:`,\n notSent: (email) => `${email} è invitato, ma non è stato possibile inviare l’email. La reinvii.`,\n failed: \"Non ha funzionato. Riprovi.\",\n },\n characterCount: {\n count: (used, max) => `${n(used)} di ${n(max)} ${plural(max, \"carattere\", \"caratteri\")}`,\n remaining: (left) =>\n left === 1 ? \"Resta 1 carattere\" : `Restano ${n(left)} caratteri`,\n limitReached: \"Limite di caratteri raggiunto\",\n },\n countrySelect: {\n country: \"Paese\",\n search: \"Cerca paese\",\n others: \"Altri paesi\",\n },\n inlineEdit: {\n edit: (label) => `Modifica ${label}`,\n failed: \"Non è stato possibile salvare la modifica.\",\n empty: \"Vuoto\",\n },\n ibanInput: {\n format: \"Un IBAN inizia con un codice paese di due lettere e due cifre di controllo.\",\n country: (code) => `«${code}» non è il codice paese di un IBAN.`,\n length: (actual, expected) =>\n `Un IBAN di questo paese ha ${n(expected)} caratteri, questo ne ha ${n(actual)}.`,\n checksum: \"Le cifre di controllo non corrispondono: probabilmente un carattere è stato digitato male.\",\n qrRequired: \"Questo è un IBAN normale. Una QR-fattura richiede il QR-IBAN del conto.\",\n qrNotAllowed:\n \"Questo è un QR-IBAN, che riceve solo pagamenti con QR-fattura. Inserisca l’IBAN normale del conto.\",\n },\n phoneInput: {\n countryCode: \"Prefisso internazionale\",\n other: \"Altro\",\n },\n signChip: {\n outflow: \"Uscita\",\n inflow: \"Entrata\",\n // \"premere per…\": an instruction without a tu imperative, as the kit's Italian is formal.\n direction: (current, next) => `Direzione: ${current} – premere per passare a ${next}`,\n switchTo: (next) => `Passa a ${next}`,\n },\n columnMapper: {\n paste: \"Incolla una tabella\",\n pasteHint:\n \"Copi le righe da un foglio di calcolo e le incolli qui, oppure trascini un file CSV o di testo.\",\n chooseFile: \"Scegli un file\",\n readError: (name) => `Impossibile leggere «${name}»`,\n headerRow: \"La prima riga contiene i nomi delle colonne\",\n summary: (columns, rows) =>\n `${n(columns)} ${plural(columns, \"colonna\", \"colonne\")}, ${n(rows)} ${plural(rows, \"riga\", \"righe\")}`,\n // Fragments of the summary line. \"Separato da…\" would have to agree with a noun the\n // line does not name, so the separator is stated as a value.\n separatorSemicolon: \"separatore: punto e virgola\",\n separatorComma: \"separatore: virgola\",\n separatorTab: \"separatore: tabulazione\",\n separatorSpace: \"separatore: spazio\",\n // The examples stay as written: they show the convention, not the reader's locale.\n decimalComma: \"virgola decimale (1,5)\",\n decimalPoint: \"punto decimale (1.5)\",\n unreadCount: (count) =>\n count === 1 ? \"Impossibile leggere 1 riga\" : `Impossibile leggere ${n(count)} righe`,\n unreadLine: (line) => `Impossibile leggere la riga ${line}`,\n unreadMore: (count) => (count === 1 ? \"…e un’altra\" : `…e altre ${n(count)}`),\n noRows: \"Nessuna riga di questo testo si può leggere come riga della tabella.\",\n table: \"Colonne e relativi ruoli\",\n columnN: (column) => `Colonna ${column}`,\n roleOf: (column) => `Che cosa contiene la colonna «${column}»?`,\n ignore: \"Ignora\",\n requiredRole: (role) => `${role} (obbligatorio)`,\n requiredRoleShort: (role) => `${role} *`,\n previewOf: (shown, total) =>\n shown === 1\n ? `La prima di ${n(total)} righe`\n : `Le prime ${n(shown)} di ${n(total)} righe`,\n // `roles` arrives joined with \"o\" (\"Dare o Avere\").\n oneOf: (roles) => `${roles} (a scelta)`,\n // A participle phrase: no verb to agree with however many roles follow.\n missing: (roles) => `Ancora da assegnare: ${roles}.`,\n },\n translationReview: {\n statusMissing: \"Mancante\",\n statusUnreviewed: \"Non rivisto\",\n statusChanged: \"Modificato dopo la revisione\",\n statusNeedsChange: \"Da modificare\",\n statusApproved: \"Approvato\",\n statusFilter: \"Stato\",\n all: \"Tutti\",\n filterCount: (label, count) => `${label} · ${n(count)}`,\n source: \"Testi\",\n allSources: \"Tutti i testi\",\n namespace: \"Area\",\n allNamespaces: \"Tutte le aree\",\n search: \"Cerca nelle chiavi e nei testi\",\n placeholdersOnly: (count) => `Solo problemi di segnaposto (${n(count)})`,\n placeholderChip: \"Segnaposto\",\n key: \"Chiave\",\n statusColumn: \"Stato\",\n empty: \"Nessun testo corrisponde a questi filtri.\",\n missingText: \"Mancante in questa lingua\",\n progress: (approved, total) => `${n(approved)} di ${n(total)} ${plural(approved, \"approvato\", \"approvati\")}`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n locales: \"Lingue\",\n approve: \"Approva\",\n flag: \"Da modificare\",\n suggest: \"Proponi una traduzione\",\n reset: \"Segna come non rivisto\",\n cancel: \"Annulla\",\n approveSelected: \"Approva i selezionati\",\n resetSelected: \"Segna i selezionati come non rivisti\",\n selectShown: \"Seleziona tutti quelli mostrati\",\n changedSince: \"Questo testo è stato modificato dopo la revisione. Lo rilegga, per favore.\",\n reviewedWording: \"Formulazione al momento della revisione\",\n reviewedReference: \"Riferimento al momento della revisione\",\n placeholderMismatch: (reference, text) =>\n `I segnaposto differiscono dal riferimento — riferimento: ${reference}; questo testo: ${text}. L’app vi inserisce dei valori, quindi devono restare esattamente come sono.`,\n lastApproved: (name, date) => `Approvato da ${name} il ${date}`,\n lastFlagged: (name, date) => `Segnato da modificare da ${name} il ${date}`,\n erasedReviewer: \"un account eliminato\",\n suggestion: \"Formulazione migliore\",\n translation: \"Traduzione\",\n note: \"Nota (facoltativa)\",\n notePlaceholder: \"Cosa non va, o di cosa tenere conto\",\n readOnly: \"Può leggere questa lingua, ma non rivederla.\",\n scope: (areas) => `La Sua revisione è limitata a: ${areas}.`,\n exportCorrections: (count) => `Esporta le correzioni (${n(count)})`,\n failed: \"Non ha funzionato. Riprovi.\",\n approvedToast: (count) => (count === 1 ? \"Testo approvato\" : `${n(count)} testi approvati`),\n clearedToast: (count) => (count === 1 ? \"Testo segnato come non rivisto\" : `${n(count)} testi segnati come non rivisti`),\n groupCount: (unreviewed, total) =>\n `${n(unreviewed)} ${plural(unreviewed, \"non rivisto\", \"non rivisti\")} / ${n(total)}`,\n approveGroup: (count) => `Approva i non rivisti (${n(count)})`,\n confirmGroup: (count, group) =>\n count === 1\n ? `Approvare il testo non rivisto in «${group}»?`\n : `Approvare tutti i ${n(count)} testi non rivisti in «${group}», compresi quelli non visibili sullo schermo?`,\n },\n // 0.31.0 — docs/settings-harmonization.md §4.3 and docs/landing-demo-harmonization.md\n // §4–§5: the settings shell, the landing page's generic words and the demo. The help\n // lines name things as `accountSettings`, `sessions` and `dataExport` do. \"Lei\", and\n // no sentence about the reader needs a gender (\"avvisato/a\").\n settings: {\n title: \"Impostazioni\",\n search: \"Cerca nelle impostazioni\",\n searchPlaceholder: \"Cerca nelle impostazioni…\",\n results: \"Impostazioni corrispondenti\",\n noMatches: (query) => `Nessuna impostazione corrisponde a «${query}».`,\n // As `commandPalette.clear`.\n clearSearch: \"Cancella ricerca\",\n back: \"Torna alle impostazioni\",\n sections: \"Sezioni delle impostazioni\",\n matchCount: (count) => `${n(count)} ${plural(count, \"risultato\", \"risultati\")}`,\n groups: {\n appearance: {\n title: \"Aspetto\",\n help: \"Lingua, tema e aspetto dell’app su questo dispositivo.\",\n },\n account: {\n title: \"Account\",\n help: \"Il Suo profilo e il Suo indirizzo email.\",\n },\n security: {\n title: \"Sicurezza\",\n help: \"Come accede, e su quali dispositivi la sessione è aperta.\",\n },\n notifications: {\n title: \"Notifiche\",\n help: \"Quali notifiche riceve, quando e su quali dispositivi.\",\n },\n data: {\n title: \"Dati\",\n help: \"Esporti i Suoi dati o li elimini insieme al Suo account.\",\n },\n },\n },\n landing: {\n signIn: \"Accedi\",\n requestAccess: \"Richiedi l’accesso\",\n getStarted: \"Inizia\",\n tryDemo: \"Prova la demo\",\n openApp: \"Apri l’app\",\n continueDemo: \"Continua la demo\",\n beta: \"Beta\",\n // Plain text: a mail's subject and body lines, never HTML.\n accessSubject: (app) => (app ? `Accesso a ${app}` : \"Richiesta di accesso\"),\n accessName: \"Nome:\",\n accessCompany: \"Azienda:\",\n accessUse: \"Uso previsto:\",\n },\n demo: {\n starting: \"Avvio della demo…\",\n rateLimited: (minutes) =>\n minutes\n ? `Troppe demo da questa rete. Riprovi tra ${n(minutes)} min.`\n : \"Troppe demo da questa rete. Riprovi più tardi.\",\n capacity: \"La demo è al completo in questo momento. Riprovi più tardi.\",\n unavailable: \"La demo non è disponibile in questo momento.\",\n failed: \"Impossibile avviare la demo. Riprovi.\",\n // As `legal.backHome`.\n backToStart: \"Torna alla pagina iniziale\",\n // \"ancora\" rather than \"mancano\", which would have to agree with the count.\n hoursLeft: (hours, minutes) => `Demo · ancora ${n(hours)} h ${n(minutes)} min`,\n minutesLeft: (minutes) => `Demo · ancora ${n(minutes)} min`,\n badge: \"Demo\",\n readOnly: \"Sta guardando dati di esempio. Non è possibile apportare modifiche.\",\n sandbox: \"Quello che crea viene eliminato al termine della demo.\",\n details: \"Dettagli della demo\",\n writeLocked: \"Non è possibile nella demo.\",\n endedTitle: \"La demo è terminata\",\n endedReadOnly: \"I dati di esempio vengono reimpostati regolarmente.\",\n endedSandbox:\n \"I dati di esempio vengono reimpostati regolarmente; quello che ha creato nella demo viene eliminato.\",\n restart: \"Avvia una nuova demo\",\n },\n // 0.32.0 — docs/billing-harmonization.md §7, §10 and §12.24: \"piano\" is what is bought\n // (Free, Pro), \"abbonamento\" the standing arrangement and the settings group;\n // \"disdire\", the word for ending a contract. \"Lei\" in sentences, the imperative on\n // buttons, as everywhere in this catalogue.\n billing: {\n group: \"Abbonamento\",\n plans: \"Piani\",\n interval: \"Periodo di fatturazione\",\n yearly: \"Annuale\",\n monthly: \"Mensile\",\n // As `currency.currency`.\n currency: \"Valuta\",\n perYear: \"all’anno\",\n perMonth: \"al mese\",\n vatIncluded: \"IVA inclusa\",\n free: \"Gratuito\",\n notOffered: \"Non disponibile per questo periodo di fatturazione\",\n // As `progressBar.unlimited`.\n unlimited: \"Illimitato\",\n limits: \"Limiti\",\n features: \"Incluso\",\n current: \"Piano attuale\",\n choose: (plan) => `Scegli ${plan}`,\n upgrade: (plan) => `Passa a ${plan}`,\n // \"Passare a\" either way: Italian has no plain verb for a downgrade.\n downgrade: (plan) => `Passa a ${plan}`,\n isCurrent: \"Questo è il Suo piano attuale.\",\n pickFirst: \"Scelga prima un piano.\",\n // Agreeing with \"abbonamento\"; \"scaduto\", as `invitations.status.expired`.\n status: {\n trialing: \"In prova\",\n active: \"Attivo\",\n past_due: \"Pagamento in ritardo\",\n canceled: \"Disdetto\",\n expired: \"Scaduto\",\n comped: \"In omaggio\",\n },\n trialEnding: (days) =>\n `Il Suo periodo di prova termina ${inDays(days)}. In seguito potrà ancora vedere tutto, ma per apportare modifiche servirà un piano.`,\n grantEnding: (days) =>\n `Il Suo accesso gratuito termina ${inDays(days)}. In seguito potrà ancora vedere tutto, ma per apportare modifiche servirà un piano.`,\n paymentFailed:\n \"Il Suo ultimo pagamento non è andato a buon fine. Aggiorni il metodo di pagamento per mantenere il Suo piano.\",\n planEnded:\n \"Il Suo piano è terminato. Può ancora vedere ed esportare tutto; scelga un piano per apportare di nuovo modifiche.\",\n // Never why: the owner's payment status is the owner's personal data (§12.6).\n guestReadOnly: (item) =>\n item\n ? `«${item}» per ora è in sola lettura; il proprietario può rimuovere questa limitazione.`\n : \"Per ora è in sola lettura; il proprietario può rimuovere questa limitazione.\",\n processing:\n \"Il Suo pagamento è in elaborazione. Il Suo piano inizia non appena viene confermato; questa pagina si aggiorna da sola.\",\n choosePlan: \"Scegli un piano\",\n updatePayment: \"Aggiorna il metodo di pagamento\",\n checkAgain: \"Verifica di nuovo\",\n lockReason: \"Il Suo piano è terminato. Scelga un piano per apportare di nuovo modifiche.\",\n // As `characterCount.limitReached` (\"Limite di caratteri raggiunto\").\n limitReached: \"Limite del piano raggiunto\",\n limitUpgrade: \"Per aggiungerne altri, scelga un piano con un limite più alto.\",\n limitContact: \"Per aggiungerne altri, ci chieda un limite più alto.\",\n askForMore: \"Chiedi di più\",\n // Both figures arrive formatted; \"di\", as `characterCount.count`.\n usage: (used, limit) => `${used} di ${limit}`,\n contactSubject: (dimension) => `Limite del piano: ${dimension}`,\n // The toast's figure line (§14.11) and the plan change's over-limit lines (§14.12).\n limitUsageLine: (dimension, used, limit) => `${dimension}: ${used} di ${limit}`,\n manage: \"Pagamento e fatture\",\n cancel: \"Disdici l’abbonamento\",\n // §14.5: no customer at the provider yet, so no portal to open.\n notAtProvider:\n \"Ancora niente da gestire. Pagamenti e fatture compariranno qui quando avrà un piano a pagamento.\",\n // §14.4: the pay page's lines, built into its bundle. \"Lei\".\n payOpening: \"Apertura del pagamento sicuro…\",\n payNothing: \"Qui non c’è nulla da pagare. Per scegliere un piano, torni all’app.\",\n payFailed: \"Non è stato possibile aprire il pagamento. Torni indietro e riprovi tra un momento.\",\n payBack: \"Il pagamento è stato chiuso. Può tornare indietro, oppure ricaricare questa pagina per riaprirlo.\",\n payDone: \"Pagamento completato. Può chiudere questa pagina.\",\n // 0.39 (§15.2.10): PlanSwitchConfirm.\n switchTitle: \"Cambia piano\",\n switchFromTo: (from, to) => `Da ${from} a ${to}`,\n switchChargedNow: \"Addebitato ora\",\n switchCredited: \"Accreditato sui prossimi addebiti\",\n switchNextCharge: (date) => `Prossimo addebito il ${date}`,\n switchConfirm: \"Cambia piano\",\n waitingChanges: (count) =>\n `${n(count)} ${plural(count, \"modifica in attesa\", \"modifiche in attesa\")} di un piano`,\n // \"Scarta\", as `wizard.cancelConfirmLabel`.\n discardWaiting: \"Scarta le modifiche in attesa\",\n notConfigured: \"I pagamenti non sono ancora configurati. Riprovi più tardi.\",\n disabled: \"Gli abbonamenti non sono disponibili qui.\",\n // §14.2: server-kit 0.7's refusals. \"Pagamento e fatture\", as `manage`. \"Lei\".\n providerUnavailable: \"Il fornitore dei pagamenti non è raggiungibile al momento. Riprovi tra un momento.\",\n alreadySubscribed: \"Ha già un abbonamento. Cambi piano qui sopra.\",\n planNotSold:\n \"Questo piano non è disponibile per questo periodo di fatturazione o questa valuta. Ne scelga un altro.\",\n // 0.39 (§15.2.10): the plan switch's refusals.\n notSubscribed: \"Non c’è nessun abbonamento attivo da modificare. Scelga un piano per abbonarsi.\",\n planUnchanged: \"Questo è già il Suo piano. Scelga un altro piano o un altro periodo di fatturazione.\",\n },\n // 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, \"piano\" as\n // in `billing`. \"Lei\" in sentences, the imperative on the title and the button.\n planChange: {\n column: \"Piano\",\n title: \"Cambia piano\",\n confirm: \"Cambia piano\",\n plan: \"Piano\",\n current: (plan) => `Piano attuale: ${plan}`,\n keepsItems: \"Un piano più piccolo blocca solo la creazione di nuovi elementi; non viene eliminato nulla.\",\n until: \"Gratuito fino al\",\n untilHint: \"Lasci vuoto per nessuna scadenza. Una beta in corso mantiene la propria scadenza.\",\n needsChange: \"Scelga un altro piano o una data di fine.\",\n changed: (from, to) => `Piano cambiato da ${from} a ${to}.`,\n set: (to) => `Piano impostato su ${to}.`,\n keptBeta: \"La beta mantiene la sua scadenza; è cambiato solo il piano.\",\n untilDone: (date) => `Gratuito fino al ${date}.`,\n overLimit: \"Oltre il limite del nuovo piano: non viene rimosso nulla, i nuovi elementi sono bloccati.\",\n // Figures formatted; \"di\", as `billing.usage`. The app's word follows the limit,\n // in its form (0.33.1): \"1 di 1 budget\", \"1 di 5 budget\".\n usageOf: (used, limit, dimension) => `${used} di ${limit} ${dimension}`,\n },\n // 0.32.0 — docs/text-size-harmonization.md §6: the text-size and contrast settings in\n // the \"Aspetto\" group.\n appearance: {\n textSize: \"Dimensione del testo\",\n textSizeHelp: \"Lettere più grandi e un layout che fa loro spazio.\",\n textSizes: { normal: \"Normale\", large: \"Grande\", xlarge: \"Molto grande\" },\n contrast: \"Contrasto\",\n contrastHelp:\n \"Il contrasto aumentato scurisce i testi tenui e le linee e ispessisce i riquadri di focus. «Sistema» segue l’impostazione di questo dispositivo.\",\n contrastModes: { system: \"Sistema\", standard: \"Standard\", more: \"Aumentato\" },\n saveFailed: \"Non è stato possibile salvarlo nel Suo account. Su questo dispositivo vale comunque.\",\n },\n // 0.36.0 — docs/settings-harmonization.md §11.3: resetting this device's settings, the\n // last card of \"Aspetto\". \"Lei\", capitalised as the rest of the catalogue.\n deviceReset: {\n title: \"Ripristina questo dispositivo\",\n description:\n \"Riporta ai valori predefiniti l’aspetto di questo dispositivo e il modo in cui sono state lasciate le sue tabelle e i suoi pannelli. Il Suo account, i Suoi dati e il Suo accesso restano invariati.\",\n action: \"Ripristina le impostazioni di questo dispositivo\",\n confirmTitle: \"Ripristinare le impostazioni di questo dispositivo?\",\n confirmBody:\n \"Tema, colori, dimensione del testo, contrasto e lingua tornano qui ai valori predefiniti, e tabelle e pannelli si aprono come la prima volta. Se il Suo account ha una lingua, una dimensione del testo o un contrasto, questo dispositivo torna a seguirli. Il Suo account e i Suoi altri dispositivi restano come sono.\",\n confirmAction: \"Ripristina\",\n done: \"Le impostazioni di questo dispositivo sono tornate ai valori predefiniti.\",\n keywords: \"ripristina predefiniti dispositivo reimposta aspetto tabelle layout\",\n },\n rowActions: {\n actions: \"Azioni\",\n actionsFor: (name) => `Azioni per ${name}`,\n },\n appShellMore: {\n more: \"Altro\",\n moreTitle: \"Altre pagine\",\n },\n };\n}\n\nexport const UI_KIT_LABELS_IT: UiKitLabels = uiKitLabelsIt();\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/i18n/locales/it.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Italian: every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_IT}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `it-IT` digits; {@link uiKitLabelsIt} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsIt(numberLocale = \"it-IT\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n const plural = (count: number, one: string, many: string) => (count === 1 ? one : many);\n // 0.30.0 — a throttled request (HTTP 429), as `englishRateLimited` in\n // src/auth/auth-errors.ts: no wait → \"un momento\", under a minute → seconds, else\n // minutes rounded up. kastlan's reviewed \"auth.throttled\" is the sentence without one.\n const wait = (seconds: number) =>\n seconds < 60 ? `${n(Math.ceil(seconds))} s` : `${n(Math.ceil(seconds / 60))} min`;\n const rateLimited = (seconds?: number) =>\n !seconds || seconds <= 0\n ? \"Troppi tentativi. Attenda un momento e riprovi.\"\n : `Troppi tentativi. Riprovi tra ${wait(seconds)}.`;\n // 0.32.0 — when a trial or a grant ends, as `inDays` in src/billing/billing-labels.ts:\n // 0 (or less) is today, 1 tomorrow.\n const inDays = (days: number) =>\n days <= 0 ? \"oggi\" : days === 1 ? \"domani\" : `tra ${n(days)} ${plural(days, \"giorno\", \"giorni\")}`;\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"Aggiungi allegato\",\n attachmentCapture: \"Cattura schermata\",\n attachmentPaste:\n \"…oppure incolli uno screenshot direttamente dagli appunti, così può mostrare solo un dettaglio invece dell’intera pagina.\",\n attachmentRemove: \"Rimuovi allegato\",\n attachmentList: \"Allegati\",\n attachmentScreenshot: \"Screenshot\",\n attachmentRemoveFile: (name) => `Rimuovi ${name}`,\n attachmentLimit: (max) =>\n max === 1\n ? `Massimo ${n(max)} allegato: lo rimuova per aggiungerne un altro.`\n : `Massimo ${n(max)} allegati: ne rimuova uno per aggiungerne un altro.`,\n attachmentUploading: \"Caricamento…\",\n attachmentUploadFailed: (name) => `Impossibile caricare «${name}»`,\n },\n feedbackDialog: {\n title: \"Invia feedback\",\n category: \"Categoria\",\n subject: \"Oggetto\",\n body: \"Cosa è successo?\",\n bodyOptional: \"Cosa è successo? (facoltativo)\",\n attachment: \"Allegato\",\n submitHint: (apple) => (apple ? \"⌘ Invio per inviare\" : \"Ctrl+Invio per inviare\"),\n cancel: \"Annulla\",\n save: \"Invia\",\n publicNotice: \"Le altre persone vedranno il titolo e il testo (mai i Suoi screenshot o file).\",\n },\n feedbackThread: {\n thread: \"Commenti\",\n empty: \"Ancora nessun commento\",\n loading: \"Caricamento dei commenti…\",\n you: \"Lei\",\n staff: \"Team\",\n attachments: \"Allegati\",\n },\n feedbackComposer: {\n field: \"Scriva un commento\",\n placeholder: \"Scriva un commento…\",\n send: \"Invia\",\n sendHint: (modifier) => `${modifier} + Invio per inviare`,\n sendHintEnter: \"Invio per inviare, Maiusc + Invio per andare a capo\",\n },\n // 0.27.0. \"Feedback\" stays, as `feedbackDialog`; \"rielaborazione\" for rework.\n feedbackStatus: {\n OPEN: \"Aperto\",\n READY: \"Pronto da implementare\",\n REWORK: \"Rielaborazione richiesta\",\n IN_PROGRESS: \"In corso\",\n IN_EVALUATION: \"In valutazione\",\n NEEDS_LIVE_TEST: \"Da testare in produzione\",\n POSTPONED: \"Rimandato\",\n DONE: \"Completato\",\n WONT_DO: \"Non verrà fatto\",\n },\n feedbackCategory: {\n CRASH: \"Arresto anomalo\",\n BUG: \"Errore\",\n IDEA: \"Idea\",\n QUESTION: \"Domanda\",\n OTHER: \"Altro\",\n },\n feedbackToast: {\n submitted: \"Grazie per il feedback!\",\n submitFailed: \"Impossibile inviare il feedback\",\n attachmentUnsupported: \"Sono consentiti solo immagini, PDF o file di testo\",\n attachmentTooLarge: \"Il file supera i 10 MB\",\n attachmentTooMany: (count) =>\n count === 1\n ? \"C’è posto solo per 1 allegato: gli altri sono stati esclusi.\"\n : `C’è posto solo per ${n(count)} allegati: gli altri sono stati esclusi.`,\n captureFailed: \"Impossibile catturare lo screenshot\",\n updateFailed: \"Non è stato possibile salvare la modifica.\",\n statusChanged: (status, title) => `Impostato su «${status}»: ${title}`,\n statusUndo: \"Annulla\",\n statusRestored: (status, title) => `Tornato a «${status}»: ${title}`,\n commentFailed: \"Non è stato possibile pubblicare il commento.\",\n voteFailed: \"Non è stato possibile salvare il Suo voto.\",\n replyFailed: \"Non è stato possibile inviare la risposta.\",\n },\n feedbackMenu: {\n trigger: \"Invia feedback\",\n myFeedback: \"I miei feedback\",\n discussion: \"Discussione sui feedback\",\n inbox: \"Feedback ricevuti\",\n },\n // 0.38.0 — docs/feedback-harmonization.md §9: the public pages and the two feedback\n // notification types. \"Segnalazione\" for one report; formal \"Lei\", as elsewhere.\n feedbackPublic: {\n title: \"Discussione sui feedback\",\n sort: \"Ordina\",\n sortNewest: \"Più recenti\",\n sortVotes: \"Più richiesti\",\n sortUpdated: \"Aggiornati di recente\",\n search: \"Cerca nei titoli\",\n columnVotes: \"Voti\",\n total: (count) => (count === 1 ? \"1 segnalazione\" : `${n(count)} segnalazioni`),\n comments: (count) => (count === 1 ? \"1 commento\" : `${n(count)} commenti`),\n votes: (count) => (count === 1 ? \"1 voto\" : `${n(count)} voti`),\n anonymous: \"Una persona\",\n filedBy: (name) => `Da ${name}`,\n body: \"Descrizione\",\n conversation: \"Risposte e commenti\",\n loading: \"Caricamento…\",\n empty: \"Ancora nessuna segnalazione\",\n visibleToOthers: \"Visibile agli altri\",\n visibleHint: \"Le altre persone vedono il titolo e il testo, mai i Suoi screenshot o file.\",\n visibleLocked: \"Solo finché la segnalazione è ancora aperta.\",\n page: (page) => `Pagina ${n(page)}`,\n },\n feedbackNotificationTypes: {\n answered: \"Risposte alle Sue segnalazioni\",\n answeredDescription: \"Quando una segnalazione che ha scritto o commentato riceve una risposta.\",\n comment: \"Commenti sulle segnalazioni che segue\",\n commentDescription: \"Quando qualcuno commenta una segnalazione che ha scritto o commentato.\",\n },\n feedbackContext: {\n user: \"Utente\",\n attachUrl: \"Allega l’URL della pagina corrente\",\n },\n feedbackPage: {\n title: \"Feedback ricevuti\",\n myTitle: \"I miei feedback\",\n columnId: \"#\",\n columnDate: \"Data\",\n columnCategory: \"Categoria\",\n columnSubject: \"Oggetto\",\n columnUser: \"Utente\",\n columnEmail: \"Email\",\n columnUrl: \"URL\",\n columnStatus: \"Stato\",\n columnResolved: \"Risolto il\",\n openPage: \"Apri pagina\",\n empty: \"Nessuno\",\n deletedUser: \"<utente eliminato>\",\n // An id, not a count: printed as it is, like the \"#\" column.\n userFallback: (id) => `utente #${id}`,\n environment: (environment) => String(environment ?? \"\").toUpperCase(),\n reworkChip: (count) => (count === 1 ? \"Rielaborazione\" : `Rielaborazione ×${n(count)}`),\n awaitingFilter: \"Solo ciò che attende Lei\",\n phoneActions: \"Azioni sul feedback\",\n },\n feedbackDetail: {\n subject: \"Oggetto\",\n body: \"Descrizione\",\n edit: \"Modifica\",\n editDescription: \"Modifica descrizione\",\n save: \"Salva\",\n cancel: \"Annulla\",\n url: \"URL\",\n copyUrl: \"Copia URL\",\n attachment: \"Allegato\",\n download: (name) => `Scarica ${name}`,\n downloadFailed: \"Non è stato possibile scaricare l’allegato.\",\n outcome: \"Esito\",\n replies: \"Risposte\",\n resolvedAt: (date) => `Risolto il ${date}`,\n outcomeAdd: \"Aggiungi esito\",\n outcomeUpdate: \"Aggiorna\",\n outcomePlaceholder: \"Cosa è stato fatto o deciso, oppure perché non verrà affrontato.\",\n rework: \"Rielaborazione\",\n openPage: \"Apri pagina\",\n reworkTitle: \"Rimanda in rielaborazione\",\n reworkSend: \"Richiedi rielaborazione\",\n reworkPlaceholder: \"Cosa va ancora perfezionato? Eventuali nuovi vincoli o cambi di direzione.\",\n reworkUploadFailed:\n \"Non è stato possibile caricare il file. La richiesta di rielaborazione non è stata inviata.\",\n status: \"Stato\",\n note: \"Nota\",\n },\n // 0.38.0 — docs/feedback-harmonization.md §9.15: the vote, the comment thread, the replies.\n feedbackVote: {\n vote: \"Lo voglio anch’io\",\n own: \"La Sua segnalazione\",\n },\n feedbackComments: {\n comments: \"Commenti\",\n empty: \"Ancora nessun commento\",\n hidden: \"Nascosto da un amministratore\",\n hide: \"Nascondi\",\n unhide: \"Mostra\",\n delete: \"Elimina\",\n deleteTitle: \"Eliminare questo commento?\",\n deleteBody: \"Verrà rimosso per tutti. L’operazione non può essere annullata.\",\n field: \"Scrivi un commento\",\n placeholder: \"Scriva un commento…\",\n send: \"Commenta\",\n },\n feedbackReplies: {\n replies: \"Risposte\",\n empty: \"Ancora nessuna risposta\",\n admin: \"Admin\",\n statusChanged: \"Stato cambiato in\",\n field: \"Scrivi una risposta\",\n placeholder: \"Scriva una risposta…\",\n reply: \"Rispondi\",\n status: \"Stato con la risposta\",\n noChange: \"Nessuna modifica\",\n nudge: \"Chi ha inviato la segnalazione non è stato avvisato. Aggiunga una risposta.\",\n },\n accountSettings: {\n profile: {\n title: \"Profilo\",\n email: \"Email\",\n role: \"Ruolo\",\n memberSince: \"Membro dal\",\n displayName: \"Nome visualizzato\",\n save: \"Salva\",\n firstName: \"Nome\",\n lastName: \"Cognome\",\n nameRequired: \"Inserisca sia il nome sia il cognome.\",\n },\n password: {\n title: \"Cambia password\",\n current: \"Password attuale\",\n next: \"Nuova password\",\n confirm: \"Conferma la nuova password\",\n submit: \"Cambia password\",\n tooShort: \"La nuova password è troppo corta.\",\n mismatch: \"Le password non coincidono.\",\n wrongPassword: \"La password non è corretta.\",\n },\n twoFactor: {\n status: \"Autenticazione a due fattori\",\n enabledText: \"Attiva\",\n disabledText: \"Non attiva\",\n enable: \"Configura l’autenticazione a due fattori\",\n scanHint:\n \"Scansioni questo codice con la Sua app di autenticazione, poi inserisca il codice che mostra.\",\n codeLabel: \"Codice di verifica\",\n verify: \"Verifica e attiva\",\n disableSection: \"Disattiva l’autenticazione a due fattori\",\n password: \"Password attuale\",\n disable: \"Disattiva\",\n qrAlt: \"Codice QR per la Sua app di autenticazione\",\n secretHint: \"Non riesce a scansionarlo? Inserisca invece questa chiave nell’app:\",\n copySecret: \"Copia chiave\",\n // 0.31.0: the card's title; the state (\"Attiva\") stands beside it.\n title: \"Autenticazione a due fattori\",\n },\n passkeys: {\n title: \"Passkey\",\n description: \"Acceda con impronta, volto o PIN del dispositivo invece che con una password.\",\n descriptionAlongside: \"Acceda con impronta, volto o PIN del dispositivo. La Sua password continua a funzionare.\",\n empty: \"Ancora nessuna passkey\",\n loading: \"Caricamento delle passkey…\",\n list: \"Le Sue passkey\",\n nameLabel: \"Nome (facoltativo)\",\n namePlaceholder: \"ad es. Portatile, Telefono\",\n add: \"Aggiungi passkey\",\n adding: \"In attesa del dispositivo…\",\n rename: \"Rinomina\",\n renameItem: (name) => `Rinomina ${name}`,\n renameField: (name) => `Nuovo nome per ${name}`,\n save: \"Salva\",\n cancel: \"Annulla\",\n delete: \"Elimina\",\n deleteItem: (name) => `Elimina ${name}`,\n deleteConfirm: (name) => `Eliminare «${name}»? Non potrà più essere usata per accedere.`,\n confirmDelete: \"Elimina passkey\",\n created: (date) => `Aggiunta il ${date}`,\n lastUsed: (date) => `Ultimo uso: ${date}`,\n neverUsed: \"Mai usata\",\n },\n },\n measuredGrid: {\n view: \"Vista tabella\",\n cellsView: \"Celle\",\n textView: \"Testo\",\n addRow: \"Aggiungi riga\",\n removeRow: (row) => `Rimuovi riga ${row}`,\n clear: \"Svuota tabella\",\n pasteHint: \"Incolli un blocco da un foglio di calcolo in qualsiasi cella\",\n cell: (column, row) => `${column}, riga ${row}`,\n rowNumber: \"Riga\",\n rowActions: \"Azioni riga\",\n keyboardHint:\n \"I tasti freccia spostano tra le celle. Digiti per sostituire una cella, F2 per modificarla, Esc per annullare la modifica. Invio scende e aggiunge una riga alla fine.\",\n lineError: (line) => `Impossibile leggere la riga ${line}`,\n points: (count) => (count === 1 ? \"1 punto\" : `${n(count)} punti`),\n problems: (count) =>\n count === 1 ? \"1 cella non è un numero\" : `${n(count)} celle non sono numeri`,\n },\n pageContents: { title: \"In questa pagina\" },\n common: {\n dismiss: \"Chiudi\",\n close: \"Chiudi\",\n clear: \"Cancella\",\n search: \"Cerca\",\n done: \"Fine\",\n cancel: \"Annulla\",\n save: \"Salva\",\n back: \"Indietro\",\n next: \"Avanti\",\n remove: \"Rimuovi\",\n loading: \"Caricamento…\",\n noResults: \"Nessun risultato\",\n fieldValue: (field, value) => `${field}: ${value}`,\n opensInNewTab: \"si apre in una nuova scheda\",\n aboutField: (field) => `Informazioni su «${field}»`,\n help: \"Aiuto\",\n },\n dataTable: {\n columns: \"Colonne\",\n selectAllRows: \"Seleziona tutte le righe\",\n sortHint: \"Faccia clic per ordinare · Maiusc+clic per aggiungere un ordinamento\",\n filter: \"Filtra\",\n close: \"Chiudi\",\n selectRow: \"Seleziona riga\",\n selectRows: \"Seleziona righe\",\n cancelSelection: \"Annulla\",\n rowDetails: \"Dettagli\",\n autoSize: \"Adatta larghezza colonne\",\n loading: \"Caricamento…\",\n filters: \"Filtri\",\n clearAll: \"Cancella tutto\",\n done: \"Fine\",\n pageSize: \"Righe per pagina\",\n pageSizeAll: \"Tutte\",\n prevPage: \"Pagina precedente\",\n nextPage: \"Pagina successiva\",\n clearFilter: \"Cancella filtro\",\n filterPlaceholder: \"Filtra…\",\n selectFilter: \"Seleziona\",\n selectAll: \"Tutti\",\n selectNone: \"Nessuno\",\n dateFrom: \"Dal\",\n dateTo: \"Al\",\n numberMin: \"Min\",\n numberMax: \"Max\",\n numberAbs: \"Valore assoluto\",\n presets: {\n today: \"Oggi\",\n yesterday: \"Ieri\",\n this_week: \"Questa settimana\",\n last_week: \"Settimana scorsa\",\n last_7_days: \"Ultimi 7 giorni\",\n last_30_days: \"Ultimi 30 giorni\",\n this_month: \"Questo mese\",\n last_month: \"Mese scorso\",\n last_3_months: \"Ultimi 3 mesi\",\n ytd: \"Da inizio anno\",\n last_year: \"Anno scorso\",\n },\n table: \"Tabella dati\",\n filterResults: (shown, total) =>\n `${n(shown)} di ${n(total)} ${plural(total, \"riga\", \"righe\")}`,\n sortedAscending: (column) => `Ordinato per ${column}, crescente`,\n sortedDescending: (column) => `Ordinato per ${column}, decrescente`,\n sortCleared: (column) => `Ordinamento per ${column} rimosso`,\n pageChanged: (page, totalPages) => `Pagina ${n(page)} di ${n(totalPages)}`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `Colonne (${n(visible)}/${n(total)})`,\n filterColumn: (column, active) => (active ? `Filtra ${column} (attivo)` : `Filtra ${column}`),\n empty: \"Nessuna voce\",\n actions: \"Azioni\",\n edit: \"Modifica\",\n delete: \"Elimina\",\n booleanTrue: \"Sì\",\n booleanFalse: \"No\",\n booleanUnset: \"Non impostato\",\n sortBy: \"Ordina per\",\n sortDefault: \"Ordine predefinito\",\n sortAscending: \"Crescente\",\n sortDescending: \"Decrescente\",\n },\n miniCalendar: {\n previousMonth: \"Mese precedente\",\n nextMonth: \"Mese successivo\",\n // Already formatted in the provider's locale (\"lunedì 14 settembre 2026\").\n day: (date) => date,\n chooseStart: \"Scelga una data di inizio\",\n chooseEnd: \"Scelga una data di fine\",\n // \"Data\" is feminine and the formatted day cannot agree with a participle, so the\n // date follows a label instead of being the subject.\n startSelected: (date) => `Data di inizio: ${date}. Scelga una data di fine.`,\n rangeSelected: (from, to) =>\n `Periodo selezionato: da ${from} a ${to}. Scelga una data di inizio per ricominciare.`,\n },\n monthPicker: {\n previousYear: \"Anno precedente\",\n nextYear: \"Anno successivo\",\n panel: \"Scegli un mese\",\n month: (monthYear) => monthYear,\n previousMonth: \"Mese precedente\",\n nextMonth: \"Mese successivo\",\n today: \"Oggi\",\n yearPanel: \"Scegli un anno\",\n earlierYears: \"Anni precedenti\",\n laterYears: \"Anni successivi\",\n thisYear: \"Quest’anno\",\n },\n calendarHeatmap: {\n grid: \"Valori giornalieri\",\n day: (date, value) => `${date}: ${value}`,\n less: \"Meno\",\n more: \"Più\",\n truncated: (count) =>\n `Vengono mostrati i giorni più recenti; ${count === 1 ? \"1 giorno precedente non è mostrato\" : `${n(count)} giorni precedenti non sono mostrati`}.`,\n },\n datePicker: {\n apply: \"Applica\",\n cancel: \"Annulla\",\n presets: \"Intervalli rapidi\",\n panel: \"Scegli una data\",\n rangePanel: \"Scegli un intervallo di date\",\n clear: \"Cancella\",\n previousDay: \"Giorno precedente\",\n nextDay: \"Giorno successivo\",\n today: \"Oggi\",\n },\n popover: {\n panel: \"Finestra a comparsa\",\n },\n combobox: {\n search: \"Cerca\",\n noResults: \"Nessun risultato\",\n clear: \"Cancella\",\n loading: \"Caricamento…\",\n create: (query) => `Crea «${query}»`,\n selectedCount: (count) => `${n(count)} ${plural(count, \"selezionato\", \"selezionati\")}`,\n loadError: \"Impossibile caricare i risultati\",\n resultCount: (count) => `${n(count)} ${plural(count, \"risultato\", \"risultati\")}`,\n minChars: (count) => `Digiti almeno ${n(count)} ${plural(count, \"carattere\", \"caratteri\")}`,\n },\n multiSelect: {\n search: \"Cerca\",\n selectAll: \"Seleziona tutto\",\n clear: \"Cancella\",\n all: \"Tutti\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"Apri calcolatrice\",\n panel: \"Calcolatrice\",\n calculation: \"Calcolo\",\n backspace: \"Cancella ultimo carattere\",\n clear: \"Azzera\",\n equals: \"Uguale\",\n done: \"Fine\",\n plus: \"Più\",\n minus: \"Meno\",\n times: \"Per\",\n divide: \"Diviso\",\n decimal: \"Separatore decimale\",\n },\n currency: {\n currency: \"Valuta\",\n search: \"Cerca valuta\",\n },\n chipInput: {\n // The quoted value is a citation; the participle agrees with the implied\n // \"elemento\" whatever the chip says.\n added: (value) => `«${value}» aggiunto`,\n removed: (value) => `«${value}» rimosso`,\n remove: \"Rimuovi\",\n atLimit: (max) => `Limite di ${n(max)} ${plural(max, \"elemento\", \"elementi\")} raggiunto`,\n duplicate: (value) => `«${value}» è già nell’elenco`,\n },\n swatchPicker: {\n none: \"Nessun colore\",\n mixed: \"Misto: gli elementi selezionati hanno colori diversi\",\n },\n iconPicker: {\n none: \"Nessuna icona\",\n mixed: \"Misto: gli elementi selezionati hanno icone diverse\",\n search: \"Cerca icone\",\n noResults: \"Nessuna icona corrispondente\",\n resultCount: (count) => `${n(count)} ${plural(count, \"icona\", \"icone\")}`,\n },\n fieldSync: {\n synced: \"Salvato\",\n edited: \"Modifiche non salvate\",\n pending: \"Salvataggio…\",\n error: \"Impossibile salvare\",\n retry: \"Riprova\",\n },\n passwordReveal: {\n show: \"Mostra password\",\n hide: \"Nascondi password\",\n },\n dangerConfirm: {\n arm: \"Elimina…\",\n confirm: \"Elimina\",\n cancel: \"Annulla\",\n prompt: \"Questa operazione non può essere annullata.\",\n password: \"Password\",\n phrase: (phrase) => `Digiti «${phrase}» per confermare`,\n acknowledge: \"Ho letto cosa comporta questa operazione e desidero continuare.\",\n needsPhrase: (phrase) => `Digiti «${phrase}» per confermare`,\n needsAcknowledge: \"Spunti la casella per confermare\",\n needsPassword: \"Inserisca la password per confermare\",\n },\n tabs: {\n add: \"Aggiungi scheda\",\n remove: (tab) => `Rimuovi ${tab}`,\n more: \"Altre schede\",\n backToFirst: \"Torna alla prima scheda\",\n },\n appShell: {\n collapse: \"Comprimi barra laterale\",\n expand: \"Espandi barra laterale\",\n toggleGroup: (groupLabel) => `${groupLabel}: pagine`,\n },\n topBar: {\n theme: \"Cambia tema\",\n palette: \"Preset di aspetto\",\n language: \"Lingua\",\n switchRole: \"Cambia ruolo\",\n role: (value) => `Ruolo: ${value}`,\n },\n pickerSheet: {\n close: \"Chiudi\",\n done: \"Fine\",\n },\n dialogFrame: {\n close: \"Chiudi\",\n },\n bulkActionBar: {\n selected: (count) => `${n(count)} ${count === 1 ? \"selezionato\" : \"selezionati\"}`,\n clear: \"Annulla selezione\",\n cleared: \"Selezione annullata\",\n },\n swipeableRow: {\n actions: \"Azioni della riga\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale (\"3,4 MB\").\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"Caricamento file\",\n browse: \"Sfoglia\",\n empty: \"Trascini qui un file\",\n emptyMultiple: \"Trascini qui i file\",\n hint: (accept) => (accept ? `Accettati: ${accept}` : \"Qualsiasi tipo di file\"),\n busy: \"Caricamento…\",\n rejectedPick: (count) =>\n count === 1 ? \"Il file non è stato aggiunto\" : `Nessuno dei ${n(count)} file è stato aggiunto`,\n // \"file\" is invariable in Italian (\"1 file\", \"3 file\"); only the verb agrees.\n rejectedType: (name) => `Il tipo di file di «${name}» non è supportato`,\n rejectedTypeOnly: (accept) => `Solo file ${accept}`,\n rejectedSize: (name, maxSize) => `«${name}» supera ${maxSize}`,\n rejectedCount: (name, maxFiles) =>\n `«${name}» non è stato aggiunto: al massimo ${n(maxFiles)} file`,\n rejectedInvalid: (name) => `«${name}» non può essere usato qui`,\n rejectedMany: (count) =>\n count === 1 ? \"1 file non è stato aggiunto\" : `${n(count)} file non sono stati aggiunti`,\n selected: (count, firstName) =>\n count === 1 ? `«${firstName}» selezionato` : `${n(count)} file selezionati`,\n remove: (name) => `Rimuovi «${name}»`,\n clearAll: \"Rimuovi tutti i file\",\n removed: (name) => `«${name}» rimosso`,\n cleared: \"Tutti i file rimossi\",\n },\n wizard: {\n done: \"Fine\",\n cancel: \"Annulla\",\n back: \"Indietro\",\n next: \"Avanti\",\n skip: \"Salta\",\n finish: \"Fine\",\n submitting: \"Creazione in corso…\",\n steps: \"Passaggi\",\n step: (current, total) => `Passaggio ${n(current)} di ${n(total)}`,\n cancelTitle: \"Scartare questo modulo?\",\n confirmCancel: \"I dati inseriti andranno persi.\",\n cancelConfirmLabel: \"Scarta\",\n cancelDismissLabel: \"Continua a modificare\",\n reviewTitle: \"Riepilogo\",\n edit: \"Modifica\",\n missingRequired: \"Compili tutti i campi obbligatori.\",\n genericError: \"Si è verificato un errore\",\n },\n tour: {\n next: \"Avanti\",\n back: \"Indietro\",\n skip: \"Salta\",\n done: \"Fine\",\n awaitClickHint: \"Faccia clic sull’elemento evidenziato per continuare\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"Cancella ricerca\",\n submit: \"Cerca\",\n close: \"Chiudi\",\n placeholder: \"Cerca…\",\n empty: \"Nessun risultato\",\n loading: \"Ricerca in corso…\",\n dialog: \"Ricerca\",\n error: \"Ricerca non riuscita. Riprovi.\",\n },\n globalSearch: {\n trigger: \"Cerca\",\n placeholder: \"Cerca o vai a…\",\n shortcut: (keys) => `Cerca (${keys})`,\n suggestions: \"Provi\",\n results: \"Risultati\",\n },\n sparkline: {\n rising: (first, last) => `In aumento da ${first} a ${last}`,\n falling: (first, last) => `In calo da ${first} a ${last}`,\n flat: (value) => `Stabile a ${value}`,\n single: (value) => `Un solo valore: ${value}`,\n noData: \"Nessun dato\",\n named: (name, summary) => `${name}: ${summary}`,\n },\n statTile: {\n increase: (amount) => `In aumento di ${amount}`,\n decrease: (amount) => `In calo di ${amount}`,\n unchanged: \"Nessuna variazione\",\n better: (change) => `${change} (favorevole)`,\n worse: (change) => `${change} (sfavorevole)`,\n noValue: \"Nessun dato\",\n loading: \"Caricamento…\",\n },\n signaturePad: {\n label: \"Firma\",\n instructions: \"Firmi nel riquadro con il mouse, il dito o una penna.\",\n typedFallbackHint: \"Se non può disegnare, scriva invece il Suo nome.\",\n empty: \"Ancora nessun tratto\",\n signed: \"Firma tracciata\",\n undo: \"Annulla l’ultimo tratto\",\n clear: \"Cancella\",\n save: \"Salva firma\",\n useTyped: \"Scrivi il nome\",\n useDrawn: \"Disegna la firma\",\n typedName: \"Nome e cognome\",\n cleared: \"Firma cancellata\",\n undone: \"Ultimo tratto rimosso\",\n viewEmpty: \"Non firmato\",\n viewDrawn: \"Firma autografa\",\n viewTyped: (name) => `Firmato con il nome digitato ${name}`,\n },\n passwordStrength: {\n // Agrees with \"password\" (feminine in Italian).\n tooShort: \"Troppo corta\",\n weak: \"Debole\",\n fair: \"Discreta\",\n good: \"Buona\",\n strong: \"Forte\",\n announcement: (level) => `Sicurezza della password: ${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) =>\n `Almeno ${n(minLength)} ${plural(minLength, \"carattere\", \"caratteri\")}`,\n ruleCase: \"Maiuscole e minuscole\",\n ruleDigit: \"Un numero\",\n ruleSymbol: \"Un simbolo\",\n optional: (rule) => `${rule} (facoltativo)`,\n met: \"Soddisfatto:\",\n notMet: \"Non soddisfatto:\",\n tooLong: (maxBytes) =>\n `Al massimo ${n(maxBytes)} ${plural(maxBytes, \"carattere\", \"caratteri\")} (le lettere accentate e le emoji contano più di uno).`,\n },\n seriesChart: {\n resetZoom: \"Reimposta zoom\",\n zoomHint:\n \"Trascini per ingrandire: una selezione più o meno quadrata ingrandisce entrambi gli assi, una lunga e sottile solo il proprio. Faccia doppio clic per ripristinare.\",\n empty: \"Nessun dato\",\n legend: \"Serie\",\n points: \"Valori del grafico\",\n },\n pieChart: {\n slices: \"Settori del grafico\",\n slice: (label, value, percent) => `${label}: ${value} (${percent})`,\n total: \"Totale\",\n empty: \"Nessun dato\",\n legend: \"Categorie\",\n },\n confirmDialog: {\n confirm: \"Conferma\",\n cancel: \"Annulla\",\n typed: (text) => `Digiti «${text}» per confermare`,\n },\n floatingPanel: {\n close: \"Chiudi\",\n badge: (count) => `${n(count)} ${plural(count, \"nuovo\", \"nuovi\")}`,\n },\n copyButton: {\n copy: \"Copia\",\n copied: \"Copiato\",\n failed: \"Copia non riuscita\",\n copiedAnnouncement: \"Copiato negli appunti\",\n failedAnnouncement: \"Impossibile copiare negli appunti\",\n },\n list: {\n unread: \"Non letto\",\n opensInNewTab: \"si apre in una nuova scheda\",\n },\n breadcrumbs: {\n label: \"Percorso di navigazione\",\n showAll: \"Mostra percorso completo\",\n },\n toast: {\n close: \"Chiudi notifica\",\n notifications: \"Notifiche\",\n undo: \"Annulla\",\n redo: \"Ripeti\",\n },\n form: {\n save: \"Salva\",\n cancel: \"Annulla\",\n submitShortcut: (apple) => (apple ? \"⌘ Invio\" : \"Ctrl+Invio\"),\n },\n descriptionList: {\n empty: \"—\",\n },\n lineItems: {\n add: \"Aggiungi riga\",\n remove: (row) => `Rimuovi riga ${row}`,\n confirmRemove: (row) => `Rimuovere la riga ${row}? Prema di nuovo per confermare`,\n row: (row) => `Riga ${row}`,\n cell: (column, row) => `${column}, riga ${row}`,\n totals: \"Totale\",\n },\n progressBar: {\n unlimited: \"Illimitato\",\n overLimit: (amount) => `${amount} oltre il limite`,\n },\n signedAmount: {\n positive: (amount) => `più ${amount}`,\n negative: (amount) => `meno ${amount}`,\n },\n errorBoundary: {\n title: \"Si è verificato un errore\",\n message: \"Impossibile mostrare questa parte della pagina. Riprovi o ricarichi la pagina.\",\n retry: \"Riprova\",\n details: \"Dettagli dell’errore\",\n reload: \"Ricarica\",\n updateTitle: \"È disponibile una nuova versione\",\n updateMessage: \"Una parte dell’app è cambiata da quando questa pagina è stata caricata. Ricarichi per ottenere la nuova versione.\",\n offlineTitle: \"Nessuna connessione\",\n offlineMessage: \"Impossibile caricare questa pagina senza connessione. Si riconnetta, poi ricarichi la pagina.\",\n copyReport: \"Copia il rapporto di errore\",\n reported: \"L’errore è stato segnalato automaticamente.\",\n reportedAs: (reference) => `Segnalato con riferimento ${reference}`,\n },\n authedImage: {\n loading: \"Caricamento immagine…\",\n loadError: \"Impossibile caricare l’immagine\",\n failedImage: (alt) => `${alt}: impossibile caricare l’immagine`,\n },\n imageGrid: {\n list: \"Immagini\",\n item: (index, count) => `Immagine ${n(index)} di ${n(count)}`,\n actions: (name) => `Azioni per ${name}`,\n },\n lightbox: {\n dialog: \"Visualizzatore immagini\",\n close: \"Chiudi\",\n previous: \"Immagine precedente\",\n next: \"Immagine successiva\",\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `Immagine ${n(index)} di ${n(count)}`,\n download: \"Scarica\",\n zoom: \"Ingrandisci\",\n noPreview: \"Nessuna anteprima disponibile per questo file\",\n openInNewTab: \"Apri in una nuova scheda\",\n },\n writeLock: {\n reason: \"Può visualizzarlo, ma non modificarlo.\",\n },\n accountState: {\n // Agreeing with \"account\" (masculine): the chip is the state of an account.\n active: \"Attivo\",\n inactive: \"Non attivo\",\n invited: \"Invitato\",\n registered: \"Registrato\",\n unverified: \"Non verificato\",\n passwordChange: \"Deve cambiare la password\",\n deletion: \"Eliminazione richiesta\",\n deletionOn: (date) => `Eliminazione il ${date}`,\n },\n shareCard: {\n dialogTitle: \"Condividi\",\n close: \"Chiudi\",\n email: \"Indirizzo email\",\n emailOptional: \"Indirizzo email (facoltativo)\",\n // example.com is reserved for examples (RFC 2606); a localised domain is real.\n emailPlaceholder: \"nome@example.com\",\n invalidEmail: \"Inserisca un indirizzo email completo.\",\n role: \"Ruolo\",\n roleOf: (name) => `Ruolo di ${name}`,\n add: \"Condividi\",\n whoHasAccess: \"Chi ha accesso\",\n nobodyYet: \"Nessun altro ha ancora accesso.\",\n pending: \"In attesa\",\n openInvite: \"Link di invito aperto\",\n copyLink: \"Copia link\",\n team: \"Team\",\n teamHint: (name) => `Tutti i membri di ${name} avranno accesso.`,\n remove: \"Rimuovi accesso\",\n removeConfirm: (name) => `Rimuovere l’accesso di ${name}?`,\n revokePending: \"Ritira invito\",\n revokePendingConfirm: (name) => `Ritirare l’invito per ${name}?`,\n failed: \"Non ha funzionato. Riprovi.\",\n loading: \"Caricamento…\",\n },\n reauthDialog: {\n title: \"Confermi la Sua identità\",\n description: \"Inserisca la password attuale per continuare.\",\n password: \"Password attuale\",\n submit: \"Continua\",\n cancel: \"Annulla\",\n },\n // 0.35: keksdose's reviewed Italian (its `boot.slow` / `boot.waking`), which is canon.\n serverWake: {\n slow: \"Sta ancora caricando: ci vuole più del solito.\",\n waking: (appName) =>\n `Il server si addormenta quando nessuno usa ${appName ?? \"l’app\"}, perciò la prima richiesta dopo una pausa deve prima riavviarlo. Può volerci un momento: non va perso nulla, la pagina si riempie da sola.`,\n },\n // 0.28.0 — docs/legal-harmonization.md §4.3/§4.4: keksdose's reviewed Italian, and\n // Kurvenschmiede's for the browser section and the beta notice; formal, \"Lei\" and\n // \"Suo\" capitalised, like the rest of this catalogue.\n legal: {\n navLabel: \"Note legali\",\n links: {\n impressum: \"Impressum\",\n privacy: \"Privacy\",\n terms: \"Condizioni d’uso\",\n },\n titles: {\n impressum: \"Impressum\",\n privacy: \"Informativa sulla privacy\",\n terms: \"Condizioni d’uso\",\n },\n backHome: \"Torna alla pagina iniziale\",\n // The elided article stays glued to the link: \"e l’Informativa\", no space (§4.4).\n accept: \"Accetto le {terms} e l’{privacy}\",\n notice: {\n beta: \"Beta chiusa. Questi testi non sono ancora stati verificati da un avvocato e lo saranno prima di un lancio pubblico.\",\n privacy:\n \"Beta chiusa. Le formulazioni legali qui sotto non sono ancora state verificate da un avvocato; lo saranno prima di un lancio pubblico. Le descrizioni tecniche — cosa viene memorizzato, dove e chi può leggerlo — descrivono ciò che il software fa davvero oggi e sono pensate per essere verificate rispetto a esso.\",\n },\n translation: {\n note: (o) =>\n `Questa è una traduzione fornita per Sua comodità. Fa fede la versione in ${o.bindingLanguage}.`,\n show: (o) => `Mostra la versione in ${o.bindingLanguage}`,\n },\n sections: {\n impressum: {\n operator: {\n title: \"Gestore\",\n body: (o) =>\n `${o.name}\\n${o.postalCode} ${o.city}\\n${o.country}\\n\\nL’indirizzo postale completo viene fornito su richiesta a chiunque abbia un legittimo interesse giuridico; scriva all’indirizzo di contatto qui sotto.`,\n },\n contact: {\n title: \"Contatto\",\n body: (o) => `Email: ${o.email}`,\n },\n disclaimer: {\n title: \"Responsabilità per contenuti e link\",\n body: \"Questo è un progetto privato e non commerciale, offerto nell’ambito di una beta chiusa, senza garanzia. I siti esterni a cui rimandiamo sono di responsabilità dei rispettivi gestori; non abbiamo alcun controllo sui loro contenuti.\",\n // 0.32.0 — the commercial variant (docs/billing-harmonization.md §8). \"Piano\"\n // and \"abbonamento\" as the `billing` namespace.\n commercial:\n \"Questo è un servizio commerciale. I piani a pagamento sono venduti dal nostro rivenditore, che agisce in qualità di Merchant of Record: vende l’abbonamento in nome proprio, incassa il pagamento, emette la fattura e gestisce l’IVA, e all’acquisto si applicano le sue condizioni di vendita. Ci impegniamo affinché i contenuti di questo servizio siano corretti, ma non possiamo garantire che siano completi o aggiornati. I siti esterni a cui rimandiamo sono di responsabilità dei rispettivi gestori; non abbiamo alcun controllo sui loro contenuti.\",\n },\n },\n privacy: {\n controller: {\n title: \"Titolare del trattamento\",\n // \"Titolare\", as the title says: in the GDPR's Italian the \"responsabile del\n // trattamento\" is the processor (Art. 28), not the controller.\n body: (o) =>\n `Il titolare del trattamento dei dati personali in questo servizio è:\\n${o.name}\\n${o.postalCode} ${o.city}, ${o.country}\\nEmail: ${o.email}\\n\\nL’indirizzo postale completo viene fornito su richiesta agli interessati e alle autorità di controllo.`,\n },\n legal_basis: {\n title: \"Base giuridica\",\n body: \"Poiché il gestore risiede in Svizzera, il trattamento è disciplinato dalla Legge federale svizzera sulla protezione dei dati (LPD). Dove il Regolamento generale sulla protezione dei dati dell’UE (GDPR) si applica a Lei, ci basiamo sull’esecuzione di un contratto per fornire il servizio (art. 6, par. 1, lett. b GDPR) e sul nostro legittimo interesse a gestirlo e proteggerlo (art. 6, par. 1, lett. f GDPR).\",\n },\n browser: {\n title: \"Che cosa salva il Suo browser\",\n lead: \"Nessun cookie. L’app salva quanto segue nella memoria del Suo browser:\",\n tail: \"Niente di tutto ciò viene usato per tracciarLa. Le voci in attesa di invio ci vengono trasmesse non appena possibile; tutto il resto rimane sul Suo dispositivo. Tutto questo scompare quando cancella i dati del sito, e uscendo dall’account vengono rimossi i token di accesso.\",\n },\n rights: {\n title: \"I Suoi diritti\",\n lead: \"Ha diritto di accesso, rettifica, cancellazione, limitazione, portabilità dei dati e opposizione.\",\n tail: \"Se si trova in Svizzera può rivolgersi all’Incaricato federale della protezione dei dati e della trasparenza (IFPDT); se si trova nell’UE può presentare reclamo alla Sua autorità di controllo locale.\",\n },\n contact: {\n title: \"Contatto per la protezione dei dati\",\n body: (o) => `Per qualsiasi richiesta sulla privacy, si rivolga a: ${o.email}`,\n },\n },\n terms: {\n warranty: {\n title: \"Nessuna garanzia\",\n body: \"Il servizio è fornito «così com’è» e «come disponibile», senza garanzie di alcun tipo nei limiti consentiti dalla legge. Come beta può contenere errori, cambiare o essere interrotto in qualsiasi momento: conservi copie di backup dei dati importanti.\",\n },\n liability: {\n title: \"Limitazione di responsabilità\",\n body: \"Nei limiti consentiti dalla legge applicabile, il gestore non è responsabile per danni indiretti o consequenziali derivanti dall’uso o dall’impossibilità di usare il servizio. Nulla di quanto qui previsto limita la responsabilità che non può essere limitata per legge.\",\n },\n changes: {\n title: \"Modifiche a queste condizioni\",\n body: \"Queste condizioni possono essere aggiornate con l’evoluzione del servizio. Le modifiche sostanziali saranno annunciate via email o nell’app; l’uso continuato dopo una modifica ne implica l’accettazione.\",\n },\n language: {\n title: \"Lingua\",\n body: (o) =>\n `Le presenti condizioni sono redatte in ${o.bindingLanguage}. Le traduzioni in altre lingue sono fornite solo per comodità; in caso di divergenza prevale la versione in ${o.bindingLanguage}.`,\n },\n law: {\n title: \"Legge applicabile\",\n body: (o) =>\n `Queste condizioni sono disciplinate dal diritto svizzero, con esclusione delle norme sui conflitti di legge. Nei limiti consentiti dalla legge, il foro competente è ${o.city} (${o.region}), ${o.country}.`,\n },\n },\n },\n },\n // 0.29.0 — docs/auth-harmonization.md: keksdose's reviewed Italian (auth.*,\n // verify_email, error.not_found_*, budget_share.join_*), kastlan's for the names and\n // the 2FA prompt; written fresh where neither app had the sentence. Formal, \"Lei\" and\n // \"Suo\" capitalised; headings addressed formally (\"Scelga\", not keksdose's \"Scegli\").\n signIn: {\n email: \"Email\",\n password: \"Password\",\n submit: \"Accedi\",\n passkey: \"Accedi con una passkey\",\n forgotPassword: \"Password dimenticata?\",\n noAccount: \"Non ha ancora un account?\",\n register: \"Crea account\",\n invalidCredentials: \"L’indirizzo email o la password non sono corretti.\",\n failed: \"Accesso non riuscito. Riprovi.\",\n passkeyFailed: \"Accesso con passkey non riuscito.\",\n deactivatedHint: \"Account disattivato? Scriva a {contact}.\",\n // \"Account creato con…\" rather than \"Si è registrato con…\", which needs a gender.\n tagHint: (taggedAddress) => `Account creato con ${taggedAddress}? Usi quell’indirizzo.`,\n twoFactorTitle: \"Autenticazione a due fattori\",\n twoFactorIntro: \"Inserisca il codice mostrato dalla Sua app di autenticazione.\",\n code: \"Codice 2FA\",\n verify: \"Verifica\",\n codeInvalid: \"Codice 2FA non valido.\",\n setPasswordTitle: \"Scelga una nuova password\",\n setPasswordIntro:\n \"Per questo account è stata richiesta una nuova password. Ne scelga una e accederà subito.\",\n newPassword: \"Nuova password\",\n confirmPassword: \"Ripeti la nuova password\",\n passwordMismatch: \"Le password non coincidono.\",\n setPasswordSubmit: \"Imposta la password e accedi\",\n setPasswordFailed: \"Impossibile impostare la password.\",\n expired: \"Questo accesso è scaduto. Acceda di nuovo.\",\n backToSignIn: \"Torna all’accesso\",\n // kastlan's backup-code words (\"codice di riserva\" — not keksdose's \"codice di\n // recupero\", which is the key of its end-to-end encryption).\n useRecoveryCode: \"Usa un codice di riserva\",\n useAuthenticatorCode: \"Usa la Sua app di autenticazione\",\n recoveryCode: \"Codice di riserva\",\n recoveryIntro:\n \"Inserisca uno dei codici di riserva che ha salvato quando ha attivato l’autenticazione a due fattori.\",\n recoveryCodeHint: (length) => `${n(length)} lettere e cifre. Trattini e spazi non contano.`,\n recoveryCodeInvalid: \"Questo codice di riserva non è valido o è già stato usato.\",\n rateLimited,\n // 0.31.0: the same words as `landing.requestAccess`.\n requestAccess: \"Richiedi l’accesso\",\n },\n register: {\n firstName: \"Nome\",\n lastName: \"Cognome\",\n email: \"Email\",\n emailTagUse: (address) => `Usa ${address}`,\n emailTagHint:\n \"Molti provider recapitano nome+tag@… nella stessa casella, così la posta di questa app è filtrabile e riconoscibile. Verifichi che il Suo lo faccia prima di farci affidamento: accederebbe con l’indirizzo con il tag.\",\n invitedEmailHint: \"L’indirizzo a cui è stato inviato il Suo invito.\",\n invitedTagNote: \"L’indirizzo con il tag riceve una propria email di conferma.\",\n password: \"Password\",\n confirmPassword: \"Ripeti la password\",\n passwordMismatch: \"Le password non coincidono.\",\n language: \"Lingua\",\n submit: \"Crea account\",\n haveAccount: \"Ha già un account?\",\n signIn: \"Accedi\",\n emailTaken: \"Esiste già un account con questo indirizzo email.\",\n registrationClosed:\n \"I nuovi account si creano solo su invito. Chieda al gestore di invitare il Suo indirizzo email.\",\n invitationInvalid: \"Questo link di invito non è valido.\",\n invitationExpired: \"Questo invito è scaduto. Ne chieda uno nuovo.\",\n failed: \"Registrazione non riuscita. Riprovi.\",\n rateLimited,\n },\n completeName: {\n title: \"Completi il Suo nome\",\n description:\n \"Nome e cognome ora vengono richiesti separatamente. Controlli quanto è già compilato e aggiunga ciò che manca.\",\n firstName: \"Nome\",\n lastName: \"Cognome\",\n save: \"Salva\",\n later: \"Più tardi\",\n failed: \"Impossibile salvare il Suo nome. Riprovi.\",\n },\n forgotPassword: {\n title: \"Password dimenticata\",\n intro:\n \"Inserisca l’indirizzo email del Suo account. Le invieremo un link per scegliere una nuova password.\",\n email: \"Email\",\n submit: \"Invia il link\",\n sent: (email) => `Se esiste un account per ${email}, il link è in arrivo.`,\n sentHint: \"Il link è valido per un’ora e funziona una sola volta. Controlli anche la cartella spam.\",\n backToSignIn: \"Torna all’accesso\",\n error: \"Richiesta non riuscita. Riprovi più tardi.\",\n rateLimited,\n },\n resetPassword: {\n title: \"Scelga una nuova password\",\n checking: \"Verifica del link…\",\n intro: (email) => `Sta impostando una nuova password per ${email}.`,\n newPassword: \"Nuova password\",\n confirmPassword: \"Ripeti la nuova password\",\n mismatch: \"Le password non coincidono.\",\n submit: \"Salva password\",\n failed: \"Impossibile cambiare la password.\",\n noToken: \"Questo link è incompleto.\",\n invalid: \"Questo link non è valido o è scaduto.\",\n invalidHint:\n \"I link sono validi per un’ora e funzionano una sola volta. Ne richieda semplicemente uno nuovo.\",\n requestNew: \"Richiedi un nuovo link\",\n success: \"La Sua password è stata cambiata. Ora può accedere con quella.\",\n sessionsEnded: \"I dispositivi connessi sono stati disconnessi: lì dovrà accedere di nuovo.\",\n signIn: \"Vai all’accesso\",\n rateLimited,\n },\n verifyEmail: {\n title: \"Confermi il Suo indirizzo email\",\n verifying: \"Conferma in corso…\",\n verified: \"Il Suo indirizzo email è confermato.\",\n continue: \"Continua\",\n invalid: \"Questo link di conferma non è valido\",\n expired: \"Questo link di conferma è scaduto\",\n noToken: \"A questo link manca il token di conferma.\",\n invalidHint: \"Il link potrebbe essere scaduto o già stato usato.\",\n requestInApp: \"Può richiederne uno nuovo dall’app.\",\n requestHere: \"Può richiederne uno nuovo qui.\",\n resend: \"Invia di nuovo\",\n resendIn: (seconds) => `Invia di nuovo tra ${n(seconds)} s`,\n resent: \"Email di conferma inviata\",\n resendError: \"Impossibile inviare l’email di conferma\",\n rateLimited,\n banner: \"Confermi il Suo indirizzo email.\",\n dismiss: \"Non ora\",\n },\n notFound: {\n title: \"Pagina non trovata\",\n body: \"Questo indirizzo non esiste (più). Forse è un errore di battitura, oppure la pagina è stata spostata.\",\n home: \"Vai alla pagina iniziale\",\n app: \"Torna all’app\",\n },\n acceptInvitation: {\n title: \"Accetta l’invito\",\n accepting: \"Adesione in corso…\",\n accepted: \"Invito accettato.\",\n // \"Ora fa parte di…\" rather than \"Si è unito/a a…\", which needs a gender.\n joined: (name) => `Ora fa parte di ${name}.`,\n continue: \"Continua\",\n invalid: \"Impossibile unirsi con questo link\",\n expired: \"Questo invito è scaduto\",\n noToken: \"A questo link manca il token di invito.\",\n askAgain: \"Chieda a chi ha inviato l’invito di mandarne uno nuovo.\",\n signInFirst: \"Acceda per accettare questo invito\",\n signInHint: \"Usi l’account a cui è stato inviato l’invito.\",\n signIn: \"Accedi\",\n register: \"Crea account\",\n },\n companySwitcher: {\n switchCompany: \"Cambia azienda\",\n heading: \"Aziende\",\n current: (name) => `Azienda: ${name}`,\n currentMark: \"(attuale)\",\n switching: \"Cambio azienda in corso…\",\n },\n // 0.30.0 — docs/user-admin-harmonization.md: keksdose's reviewed Italian for the admin\n // words (admin.users.*), Kurvenschmiede's for transfer, invitations and sessions,\n // kastlan's for the company, the throttle and \"Esci ovunque\"; written fresh where no\n // app had the sentence. \"Lei\", and phrased so that no sentence about the reader needs\n // a gender (\"disconnesso/a\").\n emailChange: {\n title: \"Indirizzo email\",\n current: \"Indirizzo attuale\",\n newEmail: \"Nuovo indirizzo email\",\n password: \"Password attuale\",\n passwordHint: \"Accede con il Suo indirizzo, quindi per cambiarlo serve la password.\",\n emailTagUse: (address) => `Usa ${address}`,\n emailTagHint:\n \"Molti provider recapitano nome+tag@… nella stessa casella, così la posta di questa app è filtrabile e riconoscibile. Verifichi che il Suo lo faccia prima di farci affidamento: accederebbe con l’indirizzo con il tag.\",\n submit: \"Cambia indirizzo email\",\n sameAsCurrent: \"Questo è già il Suo indirizzo.\",\n emailTaken: \"Esiste già un account con questo indirizzo email.\",\n wrongPassword: \"La password non è corretta.\",\n pending: (newEmail) => `Confermi il link che abbiamo inviato a ${newEmail}.`,\n pendingHint: (currentEmail) =>\n `Fino ad allora continua ad accedere con ${currentEmail}. Controlli anche la cartella spam.`,\n resend: \"Invia di nuovo il link\",\n resent: \"Abbiamo inviato di nuovo il link.\",\n cancel: \"Annulla la modifica\",\n confirmed: (email) => `Il Suo indirizzo email ora è ${email}.`,\n passkeyNote:\n \"Le Sue passkey continuano a funzionare. Il Suo dispositivo potrebbe ancora mostrarle con il vecchio indirizzo.\",\n rateLimited,\n failed: \"Non ha funzionato. Riprovi.\",\n },\n // 0.36.0 — docs/notifications-harmonization.md §4.2: the notification cards. The push\n // and device words follow keksdose's reviewed Italian.\n notifications: {\n typesTitle: \"Avvisami per\",\n typesDescription: \"Scelga di cosa essere avvisato, e come.\",\n byEmail: \"Per e-mail\",\n emailUnverified: \"Confermi il Suo indirizzo per riceverle.\",\n digestCadence: \"Frequenza\",\n digestWeekly: \"Settimanale\",\n digestMonthly: \"Mensile\",\n typesLoading: \"Caricamento delle impostazioni di notifica…\",\n typesEmpty: \"Non ci sono notifiche per questo account.\",\n quietTitle: \"Ore di silenzio\",\n quietDescription: (inbox) =>\n inbox\n ? \"Nessuna notifica push in questa fascia oraria. Arrivano comunque nella Sua casella.\"\n : \"Nessuna notifica push in questa fascia oraria.\",\n quietFrom: \"Dalle\",\n quietUntil: \"Alle\",\n quietIncomplete:\n \"Imposti sia l’ora di inizio sia quella di fine. Le ore di silenzio valgono solo quando sono impostate entrambe.\",\n timeZone: \"Fuso orario\",\n deviceZone: (zone) => `Questo dispositivo è nel fuso ${zone}.`,\n useDeviceZone: \"Usa questo\",\n regions: {\n Africa: \"Africa\",\n America: \"Americhe\",\n Antarctica: \"Antartide\",\n Arctic: \"Artide\",\n Asia: \"Asia\",\n Atlantic: \"Atlantico\",\n Australia: \"Australia\",\n Europe: \"Europa\",\n Indian: \"Oceano Indiano\",\n Pacific: \"Pacifico\",\n },\n pushTitle: \"Notifiche push\",\n pushDescription: \"Notifiche su questo dispositivo, anche quando l’app è chiusa.\",\n unsupported: \"Questo browser non supporta le notifiche push.\",\n iosInstall: (app) =>\n `Su iPhone o iPad aggiunga prima ${app} alla schermata Home: iOS recapita le notifiche solo all’app installata.`,\n notConfigured: \"Le notifiche push non sono configurate su questo server.\",\n blocked: \"Le notifiche sono bloccate nelle impostazioni di questo browser.\",\n on: \"Le notifiche sono attive per questo dispositivo.\",\n off: \"Le notifiche sono disattivate per questo dispositivo.\",\n otherAccount:\n \"Questo browser riceve le notifiche di un altro account. Le attivi qui per riceverle sull’account con cui ha effettuato l’accesso.\",\n enable: \"Attiva notifiche\",\n disable: \"Disattiva\",\n sendTest: \"Invia un test\",\n enableFailed: \"Impossibile attivare le notifiche.\",\n noServiceWorker: \"Impossibile raggiungere il service worker dell’app. Ricarichi la pagina e riprovi.\",\n pushTimeout: \"Il servizio push del browser non ha risposto. Controlli la connessione e riprovi.\",\n testSent: (count) => `Test inviato a ${n(count)} ${plural(count, \"dispositivo\", \"dispositivi\")}`,\n testNone: \"Nessun dispositivo ha accettato il test. Attivi prima le notifiche per questo dispositivo.\",\n testFailed: \"Impossibile inviare la notifica di prova.\",\n explainerTitle: \"Attivare le notifiche?\",\n explainerBody: (app) =>\n `${app} invia notifiche solo per ciò che sceglie Lei, e può disattivarle in qualsiasi momento.`,\n explainerHint: \"Il browser Le chiederà poi il permesso.\",\n explainerContinue: \"Continua\",\n devicesTitle: \"Dispositivi di notifica\",\n devicesDescription:\n \"Tutti i dispositivi che ricevono notifiche push per il Suo account. Rimuova quelli che non usa più.\",\n devicesLoading: \"Caricamento dei dispositivi…\",\n devicesEmpty: \"Nessun dispositivo riceve ancora notifiche.\",\n unknownDevice: \"Dispositivo sconosciuto\",\n thisDevice: \"Questo dispositivo\",\n added: (date) => `Aggiunto il ${date}`,\n lastDelivery: (date) => `Ultimo recapito il ${date}`,\n noDelivery: \"Ancora nessun recapito\",\n failures: (count) => `${n(count)} ${plural(count, \"recapito fallito\", \"recapiti falliti\")} di fila`,\n remove: \"Rimuovi\",\n // Starts with `remove`, the button's visible text, for voice control.\n removeItem: (device) => `Rimuovi ${device}`,\n removePrompt: \"Smettere di inviare notifiche a questo dispositivo?\",\n unsubscribeTitle: \"Notifiche via e-mail\",\n unsubscribeAbout: (type) => `Riceve e-mail su: ${type}.`,\n unsubscribeGeneric: \"Riceve e-mail di notifica.\",\n stopThese: \"Non ricevere più queste e-mail\",\n stopAll: (app) => `Non ricevere più e-mail di notifica da ${app}`,\n stoppedThese: \"Fatto. Non riceverà più queste e-mail.\",\n stoppedAll: (app) => `Fatto. Non riceverà più e-mail di notifica da ${app}.`,\n accountMail: \"Le e-mail sul Suo account continuano ad arrivare.\",\n turnBackOn: \"Può riattivarle in qualsiasi momento nelle impostazioni.\",\n openSettings: \"Apri le impostazioni\",\n invalidLink: \"Questo link non funziona più. Può disattivare le e-mail nelle impostazioni.\",\n failed: \"Non ha funzionato. Riprovi.\",\n },\n sessions: {\n title: \"Sessioni\",\n description:\n \"Ha effettuato l’accesso su un dispositivo che non usa più o di cui non si fida? Esca ovunque.\",\n signOutEverywhere: \"Esci ovunque…\",\n signOutEverywherePrompt:\n \"Tutte le sessioni terminano, compresa questa: anche questo dispositivo verrà disconnesso e dovrà accedere di nuovo da qui.\",\n confirmSignOutEverywhere: \"Esci ovunque\",\n list: \"Dove ha effettuato l’accesso\",\n loading: \"Caricamento delle sessioni…\",\n empty: \"Nessuna sessione da mostrare.\",\n current: \"Questo dispositivo\",\n unknownDevice: \"Dispositivo sconosciuto\",\n // A colon: `when` is either \"3 ore fa\" or a date.\n lastActive: (when) => `Ultima attività: ${when}`,\n ip: (address) => `IP ${address}`,\n revoke: \"Disconnetti\",\n // Starts with `revoke`, the button's visible text, for voice control.\n revokeItem: (device) => `Disconnetti ${device}`,\n failed: \"Non ha funzionato. Riprovi.\",\n },\n deleteAccount: {\n title: \"Elimina account\",\n afterDays: (days) =>\n `Il Suo account viene disattivato subito ed eliminato definitivamente ${n(days)} ${plural(days, \"giorno\", \"giorni\")} dopo.`,\n operator: \"Il Suo account viene disattivato subito, poi il gestore lo eliminerà definitivamente.\",\n arm: \"Elimina account…\",\n prompt: \"Tutte le Sue sessioni terminano, su ogni dispositivo, e il Suo account non potrà più essere usato.\",\n handOver: (count) =>\n count === 1\n ? \"1 elemento visibile ad altri passerà a un amministratore.\"\n : `${n(count)} elementi visibili ad altri passeranno a un amministratore.`,\n confirm: \"Elimina il mio account\",\n done: \"Il Suo account è disattivato. Disconnessione in corso.\",\n wrongPassword: \"La password non è corretta.\",\n confirmationMismatch: \"Questo non è l’indirizzo del Suo account.\",\n lastAdmin: \"Il Suo è l’ultimo account amministratore. Renda prima amministratore qualcun altro.\",\n lastAdminOf: (companies) =>\n `Il Suo è l’ultimo account amministratore di ${companies}. Lì renda prima amministratore qualcun altro.`,\n // keksdose's \"famiglia\".\n householdHasMembers:\n \"La Sua famiglia ha altri membri, quindi l’account non può essere eliminato qui. Scriva al gestore.\",\n rateLimited,\n failed: \"Impossibile eliminare il Suo account. Riprovi.\",\n },\n dataExport: {\n title: \"Esporta i Suoi dati\",\n description: \"Scarichi una copia dei dati del Suo account come file JSON.\",\n download: \"Scarica i miei dati\",\n started: \"Il download è iniziato.\",\n saveAgain: \"Non è partito? Salva il file\",\n rateLimited: (seconds) =>\n seconds && seconds > 0\n ? `Ha appena esportato i Suoi dati. Riprovi tra ${wait(seconds)}.`\n : \"Ha appena esportato i Suoi dati. Riprovi tra un minuto.\",\n failed: \"Esportazione non riuscita. Riprovi.\",\n },\n userRoster: {\n name: \"Nome\",\n email: \"Email\",\n role: \"Ruolo\",\n state: \"Stato\",\n created: \"Creato il\",\n lastLogin: \"Ultimo accesso\",\n never: \"Mai\",\n actions: \"Azioni\",\n actionsFor: (name) => `Azioni per ${name}`,\n },\n roleSelect: {\n label: \"Ruolo\",\n rolesLegend: \"Ruoli\",\n roleOf: (name) => `Ruolo di ${name}`,\n lockedLastAdmin: \"L’ultimo account amministratore attivo mantiene questo ruolo.\",\n lockedSelf: \"Non può cambiare il Suo ruolo.\",\n notForLastAdmin: \"non per l’ultimo amministratore\",\n notForSelf: \"non per il Suo account\",\n unavailable: (role, reason) => `${role} (${reason})`,\n },\n reviewerScope: {\n languages: \"Lingue\",\n hint: \"Spunti le lingue che questa persona rivede.\",\n none: \"Nessuna lingua: salvando si toglie il ruolo di revisore.\",\n areas: \"Limita a\",\n legalOnly: \"Solo le pagine legali\",\n legalOnlyHint:\n \"Impressum, informativa sulla privacy e condizioni d’uso: per un giurista più che per un madrelingua.\",\n failed: \"Impossibile salvare il ruolo di revisore. Riprovi.\",\n },\n adminAction: {\n confirm: \"Conferma\",\n cancel: \"Annulla\",\n close: \"Chiudi\",\n lastAdmin:\n \"Questo è l’ultimo account amministratore attivo. Renda prima amministratore qualcun altro.\",\n self: \"Non può farlo sul Suo account.\",\n confirmationMismatch:\n \"L’indirizzo non corrisponde a questo account. Controlli su quale account si trova.\",\n otherCompanies:\n \"Questo account appartiene anche ad altre aziende, quindi solo il gestore della piattaforma può farlo. Può invece rimuoverlo da questa azienda.\",\n removeFromCompany: \"Rimuovi dall’azienda\",\n failed: \"Non ha funzionato. Riprovi.\",\n },\n adminActionLog: {\n title: \"Azioni di amministrazione\",\n empty: \"Ancora nessuna azione di amministrazione.\",\n loading: \"Caricamento…\",\n by: (actor) => `da ${actor}`,\n bySelf: \"dall’utente stesso\",\n automatic: \"automaticamente\",\n erased: \"un account cancellato\",\n filteredTo: (target) => `Solo ${target}`,\n showAll: \"Mostra tutte le azioni\",\n filterBy: (target) => `Mostra solo le azioni su ${target}`,\n // Agreeing with \"account\" (masculine), like `accountState`.\n actions: {\n deactivate: \"Disattivato\",\n reactivate: \"Riattivato\",\n role: \"Ruolo cambiato\",\n password_change_require: \"Nuova password richiesta\",\n password_change_withdraw: \"Richiesta di nuova password ritirata\",\n mail_verification: \"Email di conferma inviata\",\n mail_reset: \"Email di reimpostazione password inviata\",\n reviewer: \"Ambito di revisione cambiato\",\n invite: \"Invitato\",\n invite_resend: \"Invito inviato di nuovo\",\n invite_revoke: \"Invito ritirato\",\n transfer: \"Lavoro passato ad altri\",\n deletion_request: \"Eliminazione richiesta\",\n deletion_cancel: \"Eliminazione annullata\",\n erase: \"Account cancellato\",\n plan: \"Piano modificato\",\n },\n // 0.34 (§11.5): whole phrases per noun. The group's own agree with the noun\n // (\"Azienda creata\"; Kurvenschmiede's \"il team\" is masculine, never \"squadra\"), a\n // member's with \"account\", as `actions` do. `budget` is keksdose's; `company` keeps\n // `actions.membership_remove`'s string.\n groupActions: {\n group: {\n group_create: \"Gruppo creato\",\n group_rename: \"Gruppo rinominato\",\n group_delete: \"Gruppo eliminato\",\n membership_add: \"Aggiunto al gruppo\",\n membership_role: \"Ruolo nel gruppo cambiato\",\n membership_remove: \"Rimosso dal gruppo\",\n deleted: \"un gruppo eliminato\",\n },\n team: {\n group_create: \"Team creato\",\n group_rename: \"Team rinominato\",\n group_delete: \"Team eliminato\",\n membership_add: \"Aggiunto al team\",\n membership_role: \"Ruolo nel team cambiato\",\n membership_remove: \"Rimosso dal team\",\n deleted: \"un team eliminato\",\n },\n company: {\n group_create: \"Azienda creata\",\n group_rename: \"Azienda rinominata\",\n group_delete: \"Azienda eliminata\",\n membership_add: \"Aggiunto all’azienda\",\n membership_role: \"Ruolo nell’azienda cambiato\",\n membership_remove: \"Rimosso dall’azienda\",\n deleted: \"un’azienda eliminata\",\n },\n budget: {\n group_create: \"Budget creato\",\n group_rename: \"Budget rinominato\",\n group_delete: \"Budget eliminato\",\n membership_add: \"Aggiunto al budget\",\n membership_role: \"Ruolo nel budget cambiato\",\n membership_remove: \"Rimosso dal budget\",\n deleted: \"un budget eliminato\",\n },\n },\n },\n transferOwnership: {\n title: (name) => `Passa il lavoro di ${name}`,\n body: \"Tutto ciò che possiede questo account passa all’account scelto, in un solo passo.\",\n recipient: \"Passalo a\",\n choose: \"Scelga un account…\",\n chooseFirst: \"Scelga chi riceve il lavoro\",\n confirm: \"Passa il lavoro\",\n customer: \"cliente\",\n deactivated: \"disattivato\",\n self: \"lo stesso account\",\n unavailable: (account, reason) => `${account} (${reason})`,\n noCandidates: \"Nessun altro account può riceverlo.\",\n },\n invitations: {\n email: \"Indirizzo email\",\n invalidEmail: \"Inserisca un indirizzo email completo.\",\n role: \"Ruolo\",\n scope: \"Ambito\",\n scopeNone: \"Nessuno\",\n language: \"Lingua dell’invito\",\n note: \"Nota\",\n invite: \"Invita\",\n listTitle: \"Inviti\",\n empty: \"Non è ancora stato invitato nessuno.\",\n loading: \"Caricamento…\",\n // Agreeing with \"invito\" (masculine).\n status: { open: \"Aperto\", accepted: \"Accettato\", expired: \"Scaduto\", revoked: \"Ritirato\" },\n sent: (date) => `Inviato il ${date}`,\n // kastlan's \"Valido fino al\".\n expires: (date) => `Valido fino al ${date}`,\n invitedBy: (name) => `da ${name}`,\n resend: (email) => `Invia a ${email} un nuovo link`,\n copyLink: \"Copia link di invito\",\n revoke: (email) => `Ritira l’invito per ${email}`,\n consoleHint:\n \"Questo server non invia email: vengono scritte nel log del server. Copi qui ogni link di invito e lo inoltri Lei stesso: viene mostrato una sola volta.\",\n linkReady: (email) => `Il link di invito per ${email}, mostrato solo questa volta:`,\n notSent: (email) => `${email} è invitato, ma non è stato possibile inviare l’email. La reinvii.`,\n failed: \"Non ha funzionato. Riprovi.\",\n },\n characterCount: {\n count: (used, max) => `${n(used)} di ${n(max)} ${plural(max, \"carattere\", \"caratteri\")}`,\n remaining: (left) =>\n left === 1 ? \"Resta 1 carattere\" : `Restano ${n(left)} caratteri`,\n limitReached: \"Limite di caratteri raggiunto\",\n },\n countrySelect: {\n country: \"Paese\",\n search: \"Cerca paese\",\n others: \"Altri paesi\",\n },\n inlineEdit: {\n edit: (label) => `Modifica ${label}`,\n failed: \"Non è stato possibile salvare la modifica.\",\n empty: \"Vuoto\",\n },\n ibanInput: {\n format: \"Un IBAN inizia con un codice paese di due lettere e due cifre di controllo.\",\n country: (code) => `«${code}» non è il codice paese di un IBAN.`,\n length: (actual, expected) =>\n `Un IBAN di questo paese ha ${n(expected)} caratteri, questo ne ha ${n(actual)}.`,\n checksum: \"Le cifre di controllo non corrispondono: probabilmente un carattere è stato digitato male.\",\n qrRequired: \"Questo è un IBAN normale. Una QR-fattura richiede il QR-IBAN del conto.\",\n qrNotAllowed:\n \"Questo è un QR-IBAN, che riceve solo pagamenti con QR-fattura. Inserisca l’IBAN normale del conto.\",\n },\n phoneInput: {\n countryCode: \"Prefisso internazionale\",\n other: \"Altro\",\n },\n signChip: {\n outflow: \"Uscita\",\n inflow: \"Entrata\",\n // \"premere per…\": an instruction without a tu imperative, as the kit's Italian is formal.\n direction: (current, next) => `Direzione: ${current} – premere per passare a ${next}`,\n switchTo: (next) => `Passa a ${next}`,\n },\n columnMapper: {\n paste: \"Incolla una tabella\",\n pasteHint:\n \"Copi le righe da un foglio di calcolo e le incolli qui, oppure trascini un file CSV o di testo.\",\n chooseFile: \"Scegli un file\",\n readError: (name) => `Impossibile leggere «${name}»`,\n headerRow: \"La prima riga contiene i nomi delle colonne\",\n summary: (columns, rows) =>\n `${n(columns)} ${plural(columns, \"colonna\", \"colonne\")}, ${n(rows)} ${plural(rows, \"riga\", \"righe\")}`,\n // Fragments of the summary line. \"Separato da…\" would have to agree with a noun the\n // line does not name, so the separator is stated as a value.\n separatorSemicolon: \"separatore: punto e virgola\",\n separatorComma: \"separatore: virgola\",\n separatorTab: \"separatore: tabulazione\",\n separatorSpace: \"separatore: spazio\",\n // The examples stay as written: they show the convention, not the reader's locale.\n decimalComma: \"virgola decimale (1,5)\",\n decimalPoint: \"punto decimale (1.5)\",\n unreadCount: (count) =>\n count === 1 ? \"Impossibile leggere 1 riga\" : `Impossibile leggere ${n(count)} righe`,\n unreadLine: (line) => `Impossibile leggere la riga ${line}`,\n unreadMore: (count) => (count === 1 ? \"…e un’altra\" : `…e altre ${n(count)}`),\n noRows: \"Nessuna riga di questo testo si può leggere come riga della tabella.\",\n table: \"Colonne e relativi ruoli\",\n columnN: (column) => `Colonna ${column}`,\n roleOf: (column) => `Che cosa contiene la colonna «${column}»?`,\n ignore: \"Ignora\",\n requiredRole: (role) => `${role} (obbligatorio)`,\n requiredRoleShort: (role) => `${role} *`,\n previewOf: (shown, total) =>\n shown === 1\n ? `La prima di ${n(total)} righe`\n : `Le prime ${n(shown)} di ${n(total)} righe`,\n // `roles` arrives joined with \"o\" (\"Dare o Avere\").\n oneOf: (roles) => `${roles} (a scelta)`,\n // A participle phrase: no verb to agree with however many roles follow.\n missing: (roles) => `Ancora da assegnare: ${roles}.`,\n },\n translationReview: {\n statusMissing: \"Mancante\",\n statusUnreviewed: \"Non rivisto\",\n statusChanged: \"Modificato dopo la revisione\",\n statusNeedsChange: \"Da modificare\",\n statusApproved: \"Approvato\",\n statusFilter: \"Stato\",\n all: \"Tutti\",\n filterCount: (label, count) => `${label} · ${n(count)}`,\n source: \"Testi\",\n allSources: \"Tutti i testi\",\n namespace: \"Area\",\n allNamespaces: \"Tutte le aree\",\n search: \"Cerca nelle chiavi e nei testi\",\n placeholdersOnly: (count) => `Solo problemi di segnaposto (${n(count)})`,\n placeholderChip: \"Segnaposto\",\n key: \"Chiave\",\n statusColumn: \"Stato\",\n empty: \"Nessun testo corrisponde a questi filtri.\",\n missingText: \"Mancante in questa lingua\",\n progress: (approved, total) => `${n(approved)} di ${n(total)} ${plural(approved, \"approvato\", \"approvati\")}`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n locales: \"Lingue\",\n approve: \"Approva\",\n flag: \"Da modificare\",\n suggest: \"Proponi una traduzione\",\n reset: \"Segna come non rivisto\",\n cancel: \"Annulla\",\n approveSelected: \"Approva i selezionati\",\n resetSelected: \"Segna i selezionati come non rivisti\",\n selectShown: \"Seleziona tutti quelli mostrati\",\n changedSince: \"Questo testo è stato modificato dopo la revisione. Lo rilegga, per favore.\",\n reviewedWording: \"Formulazione al momento della revisione\",\n reviewedReference: \"Riferimento al momento della revisione\",\n placeholderMismatch: (reference, text) =>\n `I segnaposto differiscono dal riferimento — riferimento: ${reference}; questo testo: ${text}. L’app vi inserisce dei valori, quindi devono restare esattamente come sono.`,\n lastApproved: (name, date) => `Approvato da ${name} il ${date}`,\n lastFlagged: (name, date) => `Segnato da modificare da ${name} il ${date}`,\n erasedReviewer: \"un account eliminato\",\n suggestion: \"Formulazione migliore\",\n translation: \"Traduzione\",\n note: \"Nota (facoltativa)\",\n notePlaceholder: \"Cosa non va, o di cosa tenere conto\",\n readOnly: \"Può leggere questa lingua, ma non rivederla.\",\n scope: (areas) => `La Sua revisione è limitata a: ${areas}.`,\n exportCorrections: (count) => `Esporta le correzioni (${n(count)})`,\n failed: \"Non ha funzionato. Riprovi.\",\n approvedToast: (count) => (count === 1 ? \"Testo approvato\" : `${n(count)} testi approvati`),\n clearedToast: (count) => (count === 1 ? \"Testo segnato come non rivisto\" : `${n(count)} testi segnati come non rivisti`),\n groupCount: (unreviewed, total) =>\n `${n(unreviewed)} ${plural(unreviewed, \"non rivisto\", \"non rivisti\")} / ${n(total)}`,\n approveGroup: (count) => `Approva i non rivisti (${n(count)})`,\n confirmGroup: (count, group) =>\n count === 1\n ? `Approvare il testo non rivisto in «${group}»?`\n : `Approvare tutti i ${n(count)} testi non rivisti in «${group}», compresi quelli non visibili sullo schermo?`,\n },\n // 0.31.0 — docs/settings-harmonization.md §4.3 and docs/landing-demo-harmonization.md\n // §4–§5: the settings shell, the landing page's generic words and the demo. The help\n // lines name things as `accountSettings`, `sessions` and `dataExport` do. \"Lei\", and\n // no sentence about the reader needs a gender (\"avvisato/a\").\n settings: {\n title: \"Impostazioni\",\n search: \"Cerca nelle impostazioni\",\n searchPlaceholder: \"Cerca nelle impostazioni…\",\n results: \"Impostazioni corrispondenti\",\n noMatches: (query) => `Nessuna impostazione corrisponde a «${query}».`,\n // As `commandPalette.clear`.\n clearSearch: \"Cancella ricerca\",\n back: \"Torna alle impostazioni\",\n sections: \"Sezioni delle impostazioni\",\n matchCount: (count) => `${n(count)} ${plural(count, \"risultato\", \"risultati\")}`,\n groups: {\n appearance: {\n title: \"Aspetto\",\n help: \"Lingua, tema e aspetto dell’app su questo dispositivo.\",\n },\n account: {\n title: \"Account\",\n help: \"Il Suo profilo e il Suo indirizzo email.\",\n },\n security: {\n title: \"Sicurezza\",\n help: \"Come accede, e su quali dispositivi la sessione è aperta.\",\n },\n notifications: {\n title: \"Notifiche\",\n help: \"Quali notifiche riceve, quando e su quali dispositivi.\",\n },\n data: {\n title: \"Dati\",\n help: \"Esporti i Suoi dati o li elimini insieme al Suo account.\",\n },\n },\n },\n landing: {\n signIn: \"Accedi\",\n requestAccess: \"Richiedi l’accesso\",\n getStarted: \"Inizia\",\n tryDemo: \"Prova la demo\",\n openApp: \"Apri l’app\",\n continueDemo: \"Continua la demo\",\n beta: \"Beta\",\n // Plain text: a mail's subject and body lines, never HTML.\n accessSubject: (app) => (app ? `Accesso a ${app}` : \"Richiesta di accesso\"),\n accessName: \"Nome:\",\n accessCompany: \"Azienda:\",\n accessUse: \"Uso previsto:\",\n },\n demo: {\n starting: \"Avvio della demo…\",\n rateLimited: (minutes) =>\n minutes\n ? `Troppe demo da questa rete. Riprovi tra ${n(minutes)} min.`\n : \"Troppe demo da questa rete. Riprovi più tardi.\",\n capacity: \"La demo è al completo in questo momento. Riprovi più tardi.\",\n unavailable: \"La demo non è disponibile in questo momento.\",\n failed: \"Impossibile avviare la demo. Riprovi.\",\n // As `legal.backHome`.\n backToStart: \"Torna alla pagina iniziale\",\n // \"ancora\" rather than \"mancano\", which would have to agree with the count.\n hoursLeft: (hours, minutes) => `Demo · ancora ${n(hours)} h ${n(minutes)} min`,\n minutesLeft: (minutes) => `Demo · ancora ${n(minutes)} min`,\n badge: \"Demo\",\n readOnly: \"Sta guardando dati di esempio. Non è possibile apportare modifiche.\",\n sandbox: \"Quello che crea viene eliminato al termine della demo.\",\n details: \"Dettagli della demo\",\n writeLocked: \"Non è possibile nella demo.\",\n endedTitle: \"La demo è terminata\",\n endedReadOnly: \"I dati di esempio vengono reimpostati regolarmente.\",\n endedSandbox:\n \"I dati di esempio vengono reimpostati regolarmente; quello che ha creato nella demo viene eliminato.\",\n restart: \"Avvia una nuova demo\",\n },\n // 0.32.0 — docs/billing-harmonization.md §7, §10 and §12.24: \"piano\" is what is bought\n // (Free, Pro), \"abbonamento\" the standing arrangement and the settings group;\n // \"disdire\", the word for ending a contract. \"Lei\" in sentences, the imperative on\n // buttons, as everywhere in this catalogue.\n billing: {\n group: \"Abbonamento\",\n plans: \"Piani\",\n interval: \"Periodo di fatturazione\",\n yearly: \"Annuale\",\n monthly: \"Mensile\",\n // As `currency.currency`.\n currency: \"Valuta\",\n perYear: \"all’anno\",\n perMonth: \"al mese\",\n vatIncluded: \"IVA inclusa\",\n free: \"Gratuito\",\n notOffered: \"Non disponibile per questo periodo di fatturazione\",\n // As `progressBar.unlimited`.\n unlimited: \"Illimitato\",\n limits: \"Limiti\",\n features: \"Incluso\",\n current: \"Piano attuale\",\n choose: (plan) => `Scegli ${plan}`,\n upgrade: (plan) => `Passa a ${plan}`,\n // \"Passare a\" either way: Italian has no plain verb for a downgrade.\n downgrade: (plan) => `Passa a ${plan}`,\n isCurrent: \"Questo è il Suo piano attuale.\",\n pickFirst: \"Scelga prima un piano.\",\n // Agreeing with \"abbonamento\"; \"scaduto\", as `invitations.status.expired`.\n status: {\n trialing: \"In prova\",\n active: \"Attivo\",\n past_due: \"Pagamento in ritardo\",\n canceled: \"Disdetto\",\n expired: \"Scaduto\",\n comped: \"In omaggio\",\n },\n trialEnding: (days) =>\n `Il Suo periodo di prova termina ${inDays(days)}. In seguito potrà ancora vedere tutto, ma per apportare modifiche servirà un piano.`,\n grantEnding: (days) =>\n `Il Suo accesso gratuito termina ${inDays(days)}. In seguito potrà ancora vedere tutto, ma per apportare modifiche servirà un piano.`,\n paymentFailed:\n \"Il Suo ultimo pagamento non è andato a buon fine. Aggiorni il metodo di pagamento per mantenere il Suo piano.\",\n planEnded:\n \"Il Suo piano è terminato. Può ancora vedere ed esportare tutto; scelga un piano per apportare di nuovo modifiche.\",\n // Never why: the owner's payment status is the owner's personal data (§12.6).\n guestReadOnly: (item) =>\n item\n ? `«${item}» per ora è in sola lettura; il proprietario può rimuovere questa limitazione.`\n : \"Per ora è in sola lettura; il proprietario può rimuovere questa limitazione.\",\n processing:\n \"Il Suo pagamento è in elaborazione. Il Suo piano inizia non appena viene confermato; questa pagina si aggiorna da sola.\",\n choosePlan: \"Scegli un piano\",\n updatePayment: \"Aggiorna il metodo di pagamento\",\n // 0.42 (§16.7 A): for an admin who isn't the buyer.\n paymentFailedAskBuyer: (buyer) =>\n buyer\n ? `Il pagamento non è andato a buon fine. ${buyer} può aggiornare il metodo di pagamento.`\n : \"Il pagamento non è andato a buon fine. L’amministratore che ha sottoscritto l’abbonamento può aggiornare il metodo di pagamento.\",\n checkAgain: \"Verifica di nuovo\",\n lockReason: \"Il Suo piano è terminato. Scelga un piano per apportare di nuovo modifiche.\",\n // As `characterCount.limitReached` (\"Limite di caratteri raggiunto\").\n limitReached: \"Limite del piano raggiunto\",\n limitUpgrade: \"Per aggiungerne altri, scelga un piano con un limite più alto.\",\n limitContact: \"Per aggiungerne altri, ci chieda un limite più alto.\",\n askForMore: \"Chiedi di più\",\n // Both figures arrive formatted; \"di\", as `characterCount.count`.\n usage: (used, limit) => `${used} di ${limit}`,\n contactSubject: (dimension) => `Limite del piano: ${dimension}`,\n // The toast's figure line (§14.11) and the plan change's over-limit lines (§14.12).\n limitUsageLine: (dimension, used, limit) => `${dimension}: ${used} di ${limit}`,\n manage: \"Pagamento e fatture\",\n cancel: \"Disdici l’abbonamento\",\n // §14.5: no customer at the provider yet, so no portal to open.\n notAtProvider:\n \"Ancora niente da gestire. Pagamenti e fatture compariranno qui quando avrà un piano a pagamento.\",\n // §14.4: the pay page's lines, built into its bundle. \"Lei\".\n payOpening: \"Apertura del pagamento sicuro…\",\n payNothing: \"Qui non c’è nulla da pagare. Per scegliere un piano, torni all’app.\",\n payFailed: \"Non è stato possibile aprire il pagamento. Torni indietro e riprovi tra un momento.\",\n payBack: \"Il pagamento è stato chiuso. Può tornare indietro, oppure ricaricare questa pagina per riaprirlo.\",\n payDone: \"Pagamento completato. Può chiudere questa pagina.\",\n // 0.39 (§15.2.10): PlanSwitchConfirm.\n switchTitle: \"Cambia piano\",\n switchFromTo: (from, to) => `Da ${from} a ${to}`,\n switchChargedNow: \"Addebitato ora\",\n switchCredited: \"Accreditato sui prossimi addebiti\",\n switchNextCharge: (date) => `Prossimo addebito il ${date}`,\n switchConfirm: \"Cambia piano\",\n // 0.42 (§16): the portal for the buyer only, the in-app cancel, the grant warning.\n buyerHolds: (buyer) =>\n buyer\n ? `Il metodo di pagamento e le fatture sono gestiti da ${buyer}, che ha sottoscritto l’abbonamento.`\n : \"Il metodo di pagamento e le fatture sono gestiti dall’amministratore che ha sottoscritto l’abbonamento.\",\n cancelConfirmTitle: \"Disdici l’abbonamento\",\n cancelConfirmBody: (date) =>\n `Il Suo abbonamento termina il ${date}. Fino ad allora tutto funziona come prima.`,\n cancelConfirmAction: \"Disdici ora\",\n keepSubscription: \"Mantieni l’abbonamento\",\n grantWarningTitle: \"Il Suo accesso gratuito continua\",\n grantWarningBody:\n \"Il Suo accesso gratuito non ha una data di fine. Finché dura, un acquisto non cambia il Suo piano: pagherebbe per un piano che non si applica.\",\n grantWarningAction: \"Acquista comunque\",\n waitingChanges: (count) =>\n `${n(count)} ${plural(count, \"modifica in attesa\", \"modifiche in attesa\")} di un piano`,\n // \"Scarta\", as `wizard.cancelConfirmLabel`.\n discardWaiting: \"Scarta le modifiche in attesa\",\n notConfigured: \"I pagamenti non sono ancora configurati. Riprovi più tardi.\",\n disabled: \"Gli abbonamenti non sono disponibili qui.\",\n // §14.2: server-kit 0.7's refusals. \"Pagamento e fatture\", as `manage`. \"Lei\".\n providerUnavailable: \"Il fornitore dei pagamenti non è raggiungibile al momento. Riprovi tra un momento.\",\n alreadySubscribed: \"Ha già un abbonamento. Cambi piano qui sopra.\",\n planNotSold:\n \"Questo piano non è disponibile per questo periodo di fatturazione o questa valuta. Ne scelga un altro.\",\n // 0.39 (§15.2.10): the plan switch's refusals.\n notSubscribed: \"Non c’è nessun abbonamento attivo da modificare. Scelga un piano per abbonarsi.\",\n planUnchanged: \"Questo è già il Suo piano. Scelga un altro piano o un altro periodo di fatturazione.\",\n },\n // 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, \"piano\" as\n // in `billing`. \"Lei\" in sentences, the imperative on the title and the button.\n planChange: {\n column: \"Piano\",\n title: \"Cambia piano\",\n confirm: \"Cambia piano\",\n plan: \"Piano\",\n current: (plan) => `Piano attuale: ${plan}`,\n keepsItems: \"Un piano più piccolo blocca solo la creazione di nuovi elementi; non viene eliminato nulla.\",\n until: \"Gratuito fino al\",\n untilHint: \"Lasci vuoto per nessuna scadenza. Una beta in corso mantiene la propria scadenza.\",\n needsChange: \"Scelga un altro piano o una data di fine.\",\n changed: (from, to) => `Piano cambiato da ${from} a ${to}.`,\n set: (to) => `Piano impostato su ${to}.`,\n keptBeta: \"La beta mantiene la sua scadenza; è cambiato solo il piano.\",\n untilDone: (date) => `Gratuito fino al ${date}.`,\n overLimit: \"Oltre il limite del nuovo piano: non viene rimosso nulla, i nuovi elementi sono bloccati.\",\n // Figures formatted; \"di\", as `billing.usage`. The app's word follows the limit,\n // in its form (0.33.1): \"1 di 1 budget\", \"1 di 5 budget\".\n usageOf: (used, limit, dimension) => `${used} di ${limit} ${dimension}`,\n },\n // 0.32.0 — docs/text-size-harmonization.md §6: the text-size and contrast settings in\n // the \"Aspetto\" group.\n appearance: {\n textSize: \"Dimensione del testo\",\n textSizeHelp: \"Lettere più grandi e un layout che fa loro spazio.\",\n textSizes: { normal: \"Normale\", large: \"Grande\", xlarge: \"Molto grande\" },\n contrast: \"Contrasto\",\n contrastHelp:\n \"Il contrasto aumentato scurisce i testi tenui e le linee e ispessisce i riquadri di focus. «Sistema» segue l’impostazione di questo dispositivo.\",\n contrastModes: { system: \"Sistema\", standard: \"Standard\", more: \"Aumentato\" },\n saveFailed: \"Non è stato possibile salvarlo nel Suo account. Su questo dispositivo vale comunque.\",\n },\n // 0.36.0 — docs/settings-harmonization.md §11.3: resetting this device's settings, the\n // last card of \"Aspetto\". \"Lei\", capitalised as the rest of the catalogue.\n deviceReset: {\n title: \"Ripristina questo dispositivo\",\n description:\n \"Riporta ai valori predefiniti l’aspetto di questo dispositivo e il modo in cui sono state lasciate le sue tabelle e i suoi pannelli. Il Suo account, i Suoi dati e il Suo accesso restano invariati.\",\n action: \"Ripristina le impostazioni di questo dispositivo\",\n confirmTitle: \"Ripristinare le impostazioni di questo dispositivo?\",\n confirmBody:\n \"Tema, colori, dimensione del testo, contrasto e lingua tornano qui ai valori predefiniti, e tabelle e pannelli si aprono come la prima volta. Se il Suo account ha una lingua, una dimensione del testo o un contrasto, questo dispositivo torna a seguirli. Il Suo account e i Suoi altri dispositivi restano come sono.\",\n confirmAction: \"Ripristina\",\n done: \"Le impostazioni di questo dispositivo sono tornate ai valori predefiniti.\",\n keywords: \"ripristina predefiniti dispositivo reimposta aspetto tabelle layout\",\n },\n rowActions: {\n actions: \"Azioni\",\n actionsFor: (name) => `Azioni per ${name}`,\n },\n appShellMore: {\n more: \"Altro\",\n moreTitle: \"Altre pagine\",\n },\n // 0.42.0 — docs/admin-harmonization.md §3.1: the admin area's shared words. \"Lei\", as\n // the rest of the catalogue.\n adminArea: {\n title: \"Amministrazione\",\n waiting: (count) => `${n(count)} in attesa`,\n forbiddenTitle: \"Solo per gli amministratori\",\n forbiddenBody: (appName) =>\n `Qui gli amministratori gestiscono ${appName}. Il Suo account non può aprire questa pagina.`,\n forbiddenHome: \"Vai alla pagina iniziale\",\n forbiddenReviewer: \"Rivedi le traduzioni\",\n sections: {\n overview: { title: \"Panoramica\", help: \"Ciò che è in attesa, a colpo d’occhio.\" },\n users: { title: \"Utenti\", help: \"Chi ha un account e cosa può fare ciascuno.\" },\n invitations: { title: \"Inviti\", help: \"I link con cui entra una persona nuova.\" },\n billing: { title: \"Fatturazione\", help: \"Il piano, il pagamento e le fatture.\" },\n activity: { title: \"Attività\", help: \"Ciò che hanno fatto gli amministratori, dal più recente.\" },\n },\n tiles: {\n feedbackWaiting: \"Da smistare\",\n deletionRequests: \"Richieste di eliminazione\",\n invitationsPending: \"Inviti in sospeso\",\n users: \"Utenti\",\n usersNew: (count) => `${n(count)} ${plural(count, \"nuovo\", \"nuovi\")} in 7 giorni`,\n },\n tools: \"Strumenti\",\n },\n // 0.42.0 — docs/top-bar-harmonization.md §3.1: the top bar's shared parts, keksdose's\n // reviewed sync words where they are not about its budgets; \"piano\" as `billing`.\n topBarParts: {\n tours: {\n menu: \"Tour guidati\",\n newDot: \"Nuovi tour\",\n thisPage: \"In questa pagina\",\n newTours: \"Nuovi tour\",\n allTours: \"Tutti i tour…\",\n badgeNew: \"Nuovo\",\n completed: \"Completato\",\n },\n sync: {\n blocked: (count) =>\n `${n(count)} ${plural(count, \"modifica non può essere inviata\", \"modifiche non possono essere inviate\")} da questo dispositivo`,\n offline: \"Offline: le modifiche vengono salvate su questo dispositivo e sincronizzate alla riconnessione\",\n refused: \"Il server ha rifiutato l’ultima sincronizzazione\",\n syncing: \"Sincronizzazione…\",\n pending: (count) =>\n `${n(count)} ${plural(count, \"modifica\", \"modifiche\")} in attesa di sincronizzazione`,\n syncedAt: (time) => `Sincronizzato alle ${time}`,\n idle: \"Aggiornato\",\n syncHint: \"Tocchi per sincronizzare ora\",\n offlineHint: \"offline non c’è nulla da sincronizzare\",\n withHint: (state, hint) => `${state} — ${hint}`,\n scoped: (scope, state) => `${scope}: ${state}`,\n offlineShort: \"Offline\",\n syncingShort: \"Sincronizzazione…\",\n waitingShort: (count) => `${n(count)} in attesa`,\n refusedShort: \"Non sincronizzato\",\n offlineUnsaved: \"Offline: le modifiche non possono essere salvate finché non si riconnette\",\n saving: \"Salvataggio…\",\n },\n dev: {\n roleHeading: \"Dev · ruolo\",\n switchPlan: \"Cambia piano\",\n plan: (value) => `Piano: ${value}`,\n planHeading: \"Dev · piano\",\n backTo: (role) => `Torna a ${role}`,\n billingOff: \"La fatturazione è disattivata in locale: i piani non cambiano nulla\",\n },\n },\n };\n}\n\nexport const UI_KIT_LABELS_IT: UiKitLabels = uiKitLabelsIt();\n"],"mappings":";AAAA,SAAS,sBAAsB;AAYxB,SAAS,cAAc,eAAe,SAAsB;AACjE,QAAM,MAAM,IAAI,KAAK,aAAa,YAAY;AAC9C,QAAM,IAAI,CAAC,UAAkB,IAAI,OAAO,KAAK;AAC7C,QAAM,SAAS,CAAC,OAAe,KAAa,SAAkB,UAAU,IAAI,MAAM;AAIlF,QAAM,OAAO,CAAC,YACZ,UAAU,KAAK,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,OAAO,GAAG,EAAE,KAAK,KAAK,UAAU,EAAE,CAAC,CAAC;AAC7E,QAAM,cAAc,CAAC,YACnB,CAAC,WAAW,WAAW,IACnB,oDACA,iCAAiC,KAAK,OAAO,CAAC;AAGpD,QAAM,SAAS,CAAC,SACd,QAAQ,IAAI,SAAS,SAAS,IAAI,WAAW,OAAO,EAAE,IAAI,CAAC,IAAI,OAAO,MAAM,UAAU,QAAQ,CAAC;AAEjG,SAAO;AAAA,IACL,oBAAoB;AAAA,MAClB,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,iBACE;AAAA,MACF,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,sBAAsB;AAAA,MACtB,sBAAsB,CAAC,SAAS,WAAW,IAAI;AAAA,MAC/C,iBAAiB,CAAC,QAChB,QAAQ,IACJ,WAAW,EAAE,GAAG,CAAC,oDACjB,WAAW,EAAE,GAAG,CAAC;AAAA,MACvB,qBAAqB;AAAA,MACrB,wBAAwB,CAAC,SAAS,4BAAyB,IAAI;AAAA,IACjE;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS;AAAA,MACT,MAAM;AAAA,MACN,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,YAAY,CAAC,UAAW,QAAQ,6BAAwB;AAAA,MACxD,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,cAAc;AAAA,IAChB;AAAA,IACA,gBAAgB;AAAA,MACd,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,aAAa;AAAA,MACb,MAAM;AAAA,MACN,UAAU,CAAC,aAAa,GAAG,QAAQ;AAAA,MACnC,eAAe;AAAA,IACjB;AAAA;AAAA,IAEA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,eAAe;AAAA,MACf,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,IACT;AAAA,IACA,eAAe;AAAA,MACb,WAAW;AAAA,MACX,cAAc;AAAA,MACd,uBAAuB;AAAA,MACvB,oBAAoB;AAAA,MACpB,mBAAmB,CAAC,UAClB,UAAU,IACN,yEACA,8BAAsB,EAAE,KAAK,CAAC;AAAA,MACpC,eAAe;AAAA,MACf,cAAc;AAAA,MACd,eAAe,CAAC,QAAQ,UAAU,oBAAiB,MAAM,SAAM,KAAK;AAAA,MACpE,YAAY;AAAA,MACZ,gBAAgB,CAAC,QAAQ,UAAU,iBAAc,MAAM,SAAM,KAAK;AAAA,MAClE,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,aAAa;AAAA,IACf;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA;AAAA;AAAA,IAGA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,OAAO,CAAC,UAAW,UAAU,IAAI,mBAAmB,GAAG,EAAE,KAAK,CAAC;AAAA,MAC/D,UAAU,CAAC,UAAW,UAAU,IAAI,eAAe,GAAG,EAAE,KAAK,CAAC;AAAA,MAC9D,OAAO,CAAC,UAAW,UAAU,IAAI,WAAW,GAAG,EAAE,KAAK,CAAC;AAAA,MACvD,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,MAAM,IAAI;AAAA,MAC7B,MAAM;AAAA,MACN,cAAc;AAAA,MACd,SAAS;AAAA,MACT,OAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,eAAe;AAAA,MACf,MAAM,CAAC,SAAS,UAAU,EAAE,IAAI,CAAC;AAAA,IACnC;AAAA,IACA,2BAA2B;AAAA,MACzB,UAAU;AAAA,MACV,qBAAqB;AAAA,MACrB,SAAS;AAAA,MACT,oBAAoB;AAAA,IACtB;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,WAAW;AAAA,IACb;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,WAAW;AAAA,MACX,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,aAAa;AAAA;AAAA,MAEb,cAAc,CAAC,OAAO,WAAW,EAAE;AAAA,MACnC,aAAa,CAAC,gBAAgB,OAAO,eAAe,EAAE,EAAE,YAAY;AAAA,MACpE,YAAY,CAAC,UAAW,UAAU,IAAI,mBAAmB,sBAAmB,EAAE,KAAK,CAAC;AAAA,MACpF,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,IACA,gBAAgB;AAAA,MACd,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU,CAAC,SAAS,WAAW,IAAI;AAAA,MACnC,gBAAgB;AAAA,MAChB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY,CAAC,SAAS,cAAc,IAAI;AAAA,MACxC,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,oBAAoB;AAAA,MACpB,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,mBAAmB;AAAA,MACnB,oBACE;AAAA,MACF,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA,kBAAkB;AAAA,MAChB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,MACP,eAAe;AAAA,MACf,OAAO;AAAA,MACP,aAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,OAAO;AAAA,IACT;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,QACN,aAAa;AAAA,QACb,aAAa;AAAA,QACb,MAAM;AAAA,QACN,WAAW;AAAA,QACX,UAAU;AAAA,QACV,cAAc;AAAA,MAChB;AAAA,MACA,UAAU;AAAA,QACR,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,eAAe;AAAA,MACjB;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,UACE;AAAA,QACF,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,YAAY;AAAA;AAAA,QAEZ,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,sBAAsB;AAAA,QACtB,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,WAAW;AAAA,QACX,iBAAiB;AAAA,QACjB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,YAAY,CAAC,SAAS,YAAY,IAAI;AAAA,QACtC,aAAa,CAAC,SAAS,kBAAkB,IAAI;AAAA,QAC7C,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,YAAY,CAAC,SAAS,WAAW,IAAI;AAAA,QACrC,eAAe,CAAC,SAAS,iBAAc,IAAI;AAAA,QAC3C,eAAe;AAAA,QACf,SAAS,CAAC,SAAS,eAAe,IAAI;AAAA,QACtC,UAAU,CAAC,SAAS,eAAe,IAAI;AAAA,QACvC,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW,CAAC,QAAQ,gBAAgB,GAAG;AAAA,MACvC,OAAO;AAAA,MACP,WAAW;AAAA,MACX,MAAM,CAAC,QAAQ,QAAQ,GAAG,MAAM,UAAU,GAAG;AAAA,MAC7C,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,cACE;AAAA,MACF,WAAW,CAAC,SAAS,+BAA+B,IAAI;AAAA,MACxD,QAAQ,CAAC,UAAW,UAAU,IAAI,YAAY,GAAG,EAAE,KAAK,CAAC;AAAA,MACzD,UAAU,CAAC,UACT,UAAU,IAAI,+BAA4B,GAAG,EAAE,KAAK,CAAC;AAAA,IACzD;AAAA,IACA,cAAc,EAAE,OAAO,mBAAmB;AAAA,IAC1C,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY,CAAC,OAAO,UAAU,GAAG,KAAK,KAAK,KAAK;AAAA,MAChD,eAAe;AAAA,MACf,YAAY,CAAC,UAAU,uBAAoB,KAAK;AAAA,MAChD,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,MACT,eAAe;AAAA,MACf,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,MACV,UAAU;AAAA,MACV,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,QACX,aAAa;AAAA,QACb,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,KAAK;AAAA,QACL,WAAW;AAAA,MACb;AAAA,MACA,OAAO;AAAA,MACP,eAAe,CAAC,OAAO,UACrB,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,QAAQ,OAAO,CAAC;AAAA,MAC9D,iBAAiB,CAAC,WAAW,gBAAgB,MAAM;AAAA,MACnD,kBAAkB,CAAC,WAAW,gBAAgB,MAAM;AAAA,MACpD,aAAa,CAAC,WAAW,mBAAmB,MAAM;AAAA,MAClD,aAAa,CAAC,MAAM,eAAe,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;AAAA,MACxE,WAAW,CAAC,MAAM,IAAI,UAAU,GAAG,EAAE,IAAI,CAAC,SAAI,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MACjE,UAAU,CAAC,UAAU,EAAE,KAAK;AAAA,MAC5B,cAAc,CAAC,SAAS,UAAU,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;AAAA,MACpE,cAAc,CAAC,QAAQ,WAAY,SAAS,UAAU,MAAM,cAAc,UAAU,MAAM;AAAA,MAC1F,OAAO;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,cAAc;AAAA,MACd,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,eAAe;AAAA,MACf,gBAAgB;AAAA,IAClB;AAAA,IACA,cAAc;AAAA,MACZ,eAAe;AAAA,MACf,WAAW;AAAA;AAAA,MAEX,KAAK,CAAC,SAAS;AAAA,MACf,aAAa;AAAA,MACb,WAAW;AAAA;AAAA;AAAA,MAGX,eAAe,CAAC,SAAS,mBAAmB,IAAI;AAAA,MAChD,eAAe,CAAC,MAAM,OACpB,2BAA2B,IAAI,MAAM,EAAE;AAAA,IAC3C;AAAA,IACA,aAAa;AAAA,MACX,cAAc;AAAA,MACd,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO,CAAC,cAAc;AAAA,MACtB,eAAe;AAAA,MACf,WAAW;AAAA,MACX,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,UAAU;AAAA,IACZ;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,KAAK,CAAC,MAAM,UAAU,GAAG,IAAI,KAAK,KAAK;AAAA,MACvC,MAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAW,CAAC,UACV,6CAA0C,UAAU,IAAI,0CAAuC,GAAG,EAAE,KAAK,CAAC,sCAAsC;AAAA,IACpJ;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ,CAAC,UAAU,YAAS,KAAK;AAAA,MACjC,eAAe,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,eAAe,aAAa,CAAC;AAAA,MACpF,WAAW;AAAA,MACX,aAAa,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,aAAa,WAAW,CAAC;AAAA,MAC9E,UAAU,CAAC,UAAU,iBAAiB,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,aAAa,WAAW,CAAC;AAAA,IAC3F;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,KAAK;AAAA;AAAA,MAEL,eAAe,CAAC,UAAU,EAAE,KAAK;AAAA,IACnC;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA;AAAA;AAAA,MAGT,OAAO,CAAC,UAAU,OAAI,KAAK;AAAA,MAC3B,SAAS,CAAC,UAAU,OAAI,KAAK;AAAA,MAC7B,QAAQ;AAAA,MACR,SAAS,CAAC,QAAQ,aAAa,EAAE,GAAG,CAAC,IAAI,OAAO,KAAK,YAAY,UAAU,CAAC;AAAA,MAC5E,WAAW,CAAC,UAAU,OAAI,KAAK;AAAA,IACjC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,SAAS,OAAO,CAAC;AAAA,IACxE;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,eAAe;AAAA,MACb,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ,CAAC,WAAW,cAAW,MAAM;AAAA,MACrC,aAAa;AAAA,MACb,aAAa,CAAC,WAAW,cAAW,MAAM;AAAA,MAC1C,kBAAkB;AAAA,MAClB,eAAe;AAAA,IACjB;AAAA,IACA,MAAM;AAAA,MACJ,KAAK;AAAA,MACL,QAAQ,CAAC,QAAQ,WAAW,GAAG;AAAA,MAC/B,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,UAAU;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa,CAAC,eAAe,GAAG,UAAU;AAAA,IAC5C;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,MAAM,CAAC,UAAU,UAAU,KAAK;AAAA,IAClC;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,IACT;AAAA,IACA,eAAe;AAAA,MACb,UAAU,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,IAAI,gBAAgB,aAAa;AAAA,MAC/E,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA;AAAA,MAEJ,MAAM,CAAC,UAAU,eAAe,OAAO,YAAY;AAAA,IACrD;AAAA,IACA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,eAAe;AAAA,MACf,MAAM,CAAC,WAAY,SAAS,cAAc,MAAM,KAAK;AAAA,MACrD,MAAM;AAAA,MACN,cAAc,CAAC,UACb,UAAU,IAAI,oCAAiC,eAAe,EAAE,KAAK,CAAC;AAAA;AAAA,MAExE,cAAc,CAAC,SAAS,0BAAuB,IAAI;AAAA,MACnD,kBAAkB,CAAC,WAAW,aAAa,MAAM;AAAA,MACjD,cAAc,CAAC,MAAM,YAAY,OAAI,IAAI,eAAY,OAAO;AAAA,MAC5D,eAAe,CAAC,MAAM,aACpB,OAAI,IAAI,4CAAsC,EAAE,QAAQ,CAAC;AAAA,MAC3D,iBAAiB,CAAC,SAAS,OAAI,IAAI;AAAA,MACnC,cAAc,CAAC,UACb,UAAU,IAAI,mCAAgC,GAAG,EAAE,KAAK,CAAC;AAAA,MAC3D,UAAU,CAAC,OAAO,cAChB,UAAU,IAAI,OAAI,SAAS,qBAAkB,GAAG,EAAE,KAAK,CAAC;AAAA,MAC1D,QAAQ,CAAC,SAAS,eAAY,IAAI;AAAA,MAClC,UAAU;AAAA,MACV,SAAS,CAAC,SAAS,OAAI,IAAI;AAAA,MAC3B,SAAS;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,MAAM,CAAC,SAAS,UAAU,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;AAAA,MAChE,aAAa;AAAA,MACb,eAAe;AAAA,MACf,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAChB;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,MAAM,CAAC,SAAS,UAAU,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,IACvD;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,MACb,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,UAAU,CAAC,SAAS,UAAU,IAAI;AAAA,MAClC,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,QAAQ,CAAC,OAAO,SAAS,iBAAiB,KAAK,MAAM,IAAI;AAAA,MACzD,SAAS,CAAC,OAAO,SAAS,cAAc,KAAK,MAAM,IAAI;AAAA,MACvD,MAAM,CAAC,UAAU,aAAa,KAAK;AAAA,MACnC,QAAQ,CAAC,UAAU,mBAAmB,KAAK;AAAA,MAC3C,QAAQ;AAAA,MACR,OAAO,CAAC,MAAM,YAAY,GAAG,IAAI,KAAK,OAAO;AAAA,IAC/C;AAAA,IACA,UAAU;AAAA,MACR,UAAU,CAAC,WAAW,iBAAiB,MAAM;AAAA,MAC7C,UAAU,CAAC,WAAW,cAAc,MAAM;AAAA,MAC1C,WAAW;AAAA,MACX,QAAQ,CAAC,WAAW,GAAG,MAAM;AAAA,MAC7B,OAAO,CAAC,WAAW,GAAG,MAAM;AAAA,MAC5B,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,cAAc;AAAA,MACd,mBAAmB;AAAA,MACnB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAW;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,CAAC,SAAS,gCAAgC,IAAI;AAAA,IAC3D;AAAA,IACA,kBAAkB;AAAA;AAAA,MAEhB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,cAAc,CAAC,UAAU,6BAA6B,KAAK;AAAA;AAAA,MAE3D,YAAY,CAAC,cACX,UAAU,EAAE,SAAS,CAAC,IAAI,OAAO,WAAW,aAAa,WAAW,CAAC;AAAA,MACvE,UAAU;AAAA,MACV,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU,CAAC,SAAS,GAAG,IAAI;AAAA,MAC3B,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,SAAS,CAAC,aACR,cAAc,EAAE,QAAQ,CAAC,IAAI,OAAO,UAAU,aAAa,WAAW,CAAC;AAAA,IAC3E;AAAA,IACA,aAAa;AAAA,MACX,WAAW;AAAA,MACX,UACE;AAAA,MACF,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,OAAO,CAAC,OAAO,OAAO,YAAY,GAAG,KAAK,KAAK,KAAK,KAAK,OAAO;AAAA,MAChE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,IACA,eAAe;AAAA,MACb,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO,CAAC,SAAS,cAAW,IAAI;AAAA,IAClC;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,OAAO,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,SAAS,OAAO,CAAC;AAAA,IAClE;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,IACtB;AAAA,IACA,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,OAAO;AAAA,MACP,eAAe;AAAA,MACf,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,gBAAgB,CAAC,UAAW,QAAQ,iBAAY;AAAA,IAClD;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,MACT,KAAK;AAAA,MACL,QAAQ,CAAC,QAAQ,gBAAgB,GAAG;AAAA,MACpC,eAAe,CAAC,QAAQ,qBAAqB,GAAG;AAAA,MAChD,KAAK,CAAC,QAAQ,QAAQ,GAAG;AAAA,MACzB,MAAM,CAAC,QAAQ,QAAQ,GAAG,MAAM,UAAU,GAAG;AAAA,MAC7C,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,WAAW;AAAA,MACX,WAAW,CAAC,WAAW,GAAG,MAAM;AAAA,IAClC;AAAA,IACA,cAAc;AAAA,MACZ,UAAU,CAAC,WAAW,UAAO,MAAM;AAAA,MACnC,UAAU,CAAC,WAAW,QAAQ,MAAM;AAAA,IACtC;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,eAAe;AAAA,MACf,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY,CAAC,cAAc,6BAA6B,SAAS;AAAA,IACnE;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa,CAAC,QAAQ,GAAG,GAAG;AAAA,IAC9B;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC,OAAO,UAAU,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;AAAA,MAC3D,SAAS,CAAC,SAAS,cAAc,IAAI;AAAA,IACvC;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS,CAAC,OAAO,UAAU,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MACpD,UAAU,CAAC,OAAO,UAAU,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;AAAA,MAC/D,UAAU;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,cAAc;AAAA;AAAA,MAEZ,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,YAAY,CAAC,SAAS,mBAAmB,IAAI;AAAA,IAC/C;AAAA,IACA,WAAW;AAAA,MACT,aAAa;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,eAAe;AAAA;AAAA,MAEf,kBAAkB;AAAA,MAClB,cAAc;AAAA,MACd,MAAM;AAAA,MACN,QAAQ,CAAC,SAAS,YAAY,IAAI;AAAA,MAClC,KAAK;AAAA,MACL,cAAc;AAAA,MACd,WAAW;AAAA,MACX,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU,CAAC,SAAS,qBAAqB,IAAI;AAAA,MAC7C,QAAQ;AAAA,MACR,eAAe,CAAC,SAAS,+BAA0B,IAAI;AAAA,MACvD,eAAe;AAAA,MACf,sBAAsB,CAAC,SAAS,8BAAyB,IAAI;AAAA,MAC7D,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA;AAAA,IAEA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,QAAQ,CAAC,YACP,8CAA8C,WAAW,YAAO;AAAA,IACpE;AAAA;AAAA;AAAA;AAAA,IAIA,OAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,QACL,WAAW;AAAA,QACX,SAAS;AAAA,QACT,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN,WAAW;AAAA,QACX,SAAS;AAAA,QACT,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA;AAAA,MAEV,QAAQ;AAAA,MACR,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,SACE;AAAA,MACJ;AAAA,MACA,aAAa;AAAA,QACX,MAAM,CAAC,MACL,kFAA4E,EAAE,eAAe;AAAA,QAC/F,MAAM,CAAC,MAAM,yBAAyB,EAAE,eAAe;AAAA,MACzD;AAAA,MACA,UAAU;AAAA,QACR,WAAW;AAAA,UACT,UAAU;AAAA,YACR,OAAO;AAAA,YACP,MAAM,CAAC,MACL,GAAG,EAAE,IAAI;AAAA,EAAK,EAAE,UAAU,IAAI,EAAE,IAAI;AAAA,EAAK,EAAE,OAAO;AAAA;AAAA;AAAA,UACtD;AAAA,UACA,SAAS;AAAA,YACP,OAAO;AAAA,YACP,MAAM,CAAC,MAAM,UAAU,EAAE,KAAK;AAAA,UAChC;AAAA,UACA,YAAY;AAAA,YACV,OAAO;AAAA,YACP,MAAM;AAAA;AAAA;AAAA,YAGN,YACE;AAAA,UACJ;AAAA,QACF;AAAA,QACA,SAAS;AAAA,UACP,YAAY;AAAA,YACV,OAAO;AAAA;AAAA;AAAA,YAGP,MAAM,CAAC,MACL;AAAA,EAAyE,EAAE,IAAI;AAAA,EAAK,EAAE,UAAU,IAAI,EAAE,IAAI,KAAK,EAAE,OAAO;AAAA,SAAY,EAAE,KAAK;AAAA;AAAA;AAAA,UAC/I;AAAA,UACA,aAAa;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,UACR;AAAA,UACA,SAAS;AAAA,YACP,OAAO;AAAA,YACP,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AAAA,UACA,QAAQ;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AAAA,UACA,SAAS;AAAA,YACP,OAAO;AAAA,YACP,MAAM,CAAC,MAAM,wDAAwD,EAAE,KAAK;AAAA,UAC9E;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACL,UAAU;AAAA,YACR,OAAO;AAAA,YACP,MAAM;AAAA,UACR;AAAA,UACA,WAAW;AAAA,YACT,OAAO;AAAA,YACP,MAAM;AAAA,UACR;AAAA,UACA,SAAS;AAAA,YACP,OAAO;AAAA,YACP,MAAM;AAAA,UACR;AAAA,UACA,UAAU;AAAA,YACR,OAAO;AAAA,YACP,MAAM,CAAC,MACL,0CAA0C,EAAE,eAAe,mHAAgH,EAAE,eAAe;AAAA,UAChM;AAAA,UACA,KAAK;AAAA,YACH,OAAO;AAAA,YACP,MAAM,CAAC,MACL,2KAAwK,EAAE,IAAI,KAAK,EAAE,MAAM,MAAM,EAAE,OAAO;AAAA,UAC9M;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,WAAW;AAAA,MACX,UAAU;AAAA,MACV,oBAAoB;AAAA,MACpB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,iBAAiB;AAAA;AAAA,MAEjB,SAAS,CAAC,kBAAkB,sBAAsB,aAAa;AAAA,MAC/D,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,kBACE;AAAA,MACF,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,SAAS;AAAA,MACT,cAAc;AAAA;AAAA;AAAA,MAGd,iBAAiB;AAAA,MACjB,sBAAsB;AAAA,MACtB,cAAc;AAAA,MACd,eACE;AAAA,MACF,kBAAkB,CAAC,WAAW,GAAG,EAAE,MAAM,CAAC;AAAA,MAC1C,qBAAqB;AAAA,MACrB;AAAA;AAAA,MAEA,eAAe;AAAA,IACjB;AAAA,IACA,UAAU;AAAA,MACR,WAAW;AAAA,MACX,UAAU;AAAA,MACV,OAAO;AAAA,MACP,aAAa,CAAC,YAAY,OAAO,OAAO;AAAA,MACxC,cACE;AAAA,MACF,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,oBACE;AAAA,MACF,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,aACE;AAAA,MACF,WAAW;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,OACE;AAAA,MACF,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,CAAC,UAAU,4BAA4B,KAAK;AAAA,MAClD,UAAU;AAAA,MACV,cAAc;AAAA,MACd,OAAO;AAAA,MACP;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO,CAAC,UAAU,yCAAyC,KAAK;AAAA,MAChE,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aACE;AAAA,MACF,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,eAAe;AAAA,MACf,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,cAAc;AAAA,MACd,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,UAAU,CAAC,YAAY,sBAAsB,EAAE,OAAO,CAAC;AAAA,MACvD,QAAQ;AAAA,MACR,aAAa;AAAA,MACb;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA;AAAA,MAEV,QAAQ,CAAC,SAAS,mBAAmB,IAAI;AAAA,MACzC,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,UAAU;AAAA,IACZ;AAAA,IACA,iBAAiB;AAAA,MACf,eAAe;AAAA,MACf,SAAS;AAAA,MACT,SAAS,CAAC,SAAS,YAAY,IAAI;AAAA,MACnC,aAAa;AAAA,MACb,WAAW;AAAA,IACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,MACd,aAAa,CAAC,YAAY,OAAO,OAAO;AAAA,MACxC,cACE;AAAA,MACF,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,SAAS,CAAC,aAAa,0CAA0C,QAAQ;AAAA,MACzE,aAAa,CAAC,iBACZ,2CAA2C,YAAY;AAAA,MACzD,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,WAAW,CAAC,UAAU,mCAAgC,KAAK;AAAA,MAC3D,aACE;AAAA,MACF;AAAA,MACA,QAAQ;AAAA,IACV;AAAA;AAAA;AAAA,IAGA,eAAe;AAAA,MACb,YAAY;AAAA,MACZ,kBAAkB;AAAA,MAClB,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,cAAc;AAAA,MACd,eAAe;AAAA,MACf,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,kBAAkB,CAAC,UACjB,QACI,wFACA;AAAA,MACN,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,iBACE;AAAA,MACF,UAAU;AAAA,MACV,YAAY,CAAC,SAAS,oCAAiC,IAAI;AAAA,MAC3D,eAAe;AAAA,MACf,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,YAAY,CAAC,QACX,mCAAmC,GAAG;AAAA,MACxC,eAAe;AAAA,MACf,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,cACE;AAAA,MACF,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,UAAU,CAAC,UAAU,kBAAkB,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,eAAe,aAAa,CAAC;AAAA,MAC9F,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,eAAe,CAAC,QACd,GAAG,GAAG;AAAA,MACR,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,oBACE;AAAA,MACF,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,OAAO,CAAC,SAAS,eAAe,IAAI;AAAA,MACpC,cAAc,CAAC,SAAS,sBAAsB,IAAI;AAAA,MAClD,YAAY;AAAA,MACZ,UAAU,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,oBAAoB,kBAAkB,CAAC;AAAA,MACzF,QAAQ;AAAA;AAAA,MAER,YAAY,CAAC,WAAW,WAAW,MAAM;AAAA,MACzC,cAAc;AAAA,MACd,kBAAkB;AAAA,MAClB,kBAAkB,CAAC,SAAS,qBAAqB,IAAI;AAAA,MACrD,oBAAoB;AAAA,MACpB,WAAW;AAAA,MACX,SAAS,CAAC,QAAQ,6CAA0C,GAAG;AAAA,MAC/D,cAAc;AAAA,MACd,YAAY,CAAC,QAAQ,uDAAiD,GAAG;AAAA,MACzE,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aACE;AAAA,MACF,mBAAmB;AAAA,MACnB,yBACE;AAAA,MACF,0BAA0B;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS;AAAA,MACT,eAAe;AAAA;AAAA,MAEf,YAAY,CAAC,SAAS,uBAAoB,IAAI;AAAA,MAC9C,IAAI,CAAC,YAAY,MAAM,OAAO;AAAA,MAC9B,QAAQ;AAAA;AAAA,MAER,YAAY,CAAC,WAAW,eAAe,MAAM;AAAA,MAC7C,QAAQ;AAAA,IACV;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,WAAW,CAAC,SACV,wEAAwE,EAAE,IAAI,CAAC,IAAI,OAAO,MAAM,UAAU,QAAQ,CAAC;AAAA,MACrH,UAAU;AAAA,MACV,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU,CAAC,UACT,UAAU,IACN,iEACA,GAAG,EAAE,KAAK,CAAC;AAAA,MACjB,SAAS;AAAA,MACT,MAAM;AAAA,MACN,eAAe;AAAA,MACf,sBAAsB;AAAA,MACtB,WAAW;AAAA,MACX,aAAa,CAAC,cACZ,uDAA+C,SAAS;AAAA;AAAA,MAE1D,qBACE;AAAA,MACF;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,MACV,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa,CAAC,YACZ,WAAW,UAAU,IACjB,gDAAgD,KAAK,OAAO,CAAC,MAC7D;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,MACT,YAAY,CAAC,SAAS,cAAc,IAAI;AAAA,IAC1C;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ,CAAC,SAAS,YAAY,IAAI;AAAA,MAClC,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,aAAa,CAAC,MAAM,WAAW,GAAG,IAAI,KAAK,MAAM;AAAA,IACnD;AAAA,IACA,eAAe;AAAA,MACb,WAAW;AAAA,MACX,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,MACX,eACE;AAAA,MACF,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,WACE;AAAA,MACF,MAAM;AAAA,MACN,sBACE;AAAA,MACF,gBACE;AAAA,MACF,mBAAmB;AAAA,MACnB,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS;AAAA,MACT,IAAI,CAAC,UAAU,MAAM,KAAK;AAAA,MAC1B,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,YAAY,CAAC,WAAW,QAAQ,MAAM;AAAA,MACtC,SAAS;AAAA,MACT,UAAU,CAAC,WAAW,4BAA4B,MAAM;AAAA;AAAA,MAExD,SAAS;AAAA,QACP,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,MAAM;AAAA,QACN,yBAAyB;AAAA,QACzB,0BAA0B;AAAA,QAC1B,mBAAmB;AAAA,QACnB,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,eAAe;AAAA,QACf,eAAe;AAAA,QACf,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA;AAAA;AAAA;AAAA;AAAA,MAKA,cAAc;AAAA,QACZ,OAAO;AAAA,UACL,cAAc;AAAA,UACd,cAAc;AAAA,UACd,cAAc;AAAA,UACd,gBAAgB;AAAA,UAChB,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,SAAS;AAAA,QACX;AAAA,QACA,MAAM;AAAA,UACJ,cAAc;AAAA,UACd,cAAc;AAAA,UACd,cAAc;AAAA,UACd,gBAAgB;AAAA,UAChB,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,SAAS;AAAA,QACX;AAAA,QACA,SAAS;AAAA,UACP,cAAc;AAAA,UACd,cAAc;AAAA,UACd,cAAc;AAAA,UACd,gBAAgB;AAAA,UAChB,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,cAAc;AAAA,UACd,cAAc;AAAA,UACd,cAAc;AAAA,UACd,gBAAgB;AAAA,UAChB,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB,OAAO,CAAC,SAAS,sBAAsB,IAAI;AAAA,MAC3C,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,MAAM;AAAA,MACN,aAAa,CAAC,SAAS,WAAW,GAAG,OAAO,KAAK,MAAM;AAAA,MACvD,cAAc;AAAA,IAChB;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,cAAc;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA;AAAA,MAET,QAAQ,EAAE,MAAM,UAAU,UAAU,aAAa,SAAS,WAAW,SAAS,WAAW;AAAA,MACzF,MAAM,CAAC,SAAS,cAAc,IAAI;AAAA;AAAA,MAElC,SAAS,CAAC,SAAS,kBAAkB,IAAI;AAAA,MACzC,WAAW,CAAC,SAAS,MAAM,IAAI;AAAA,MAC/B,QAAQ,CAAC,UAAU,WAAW,KAAK;AAAA,MACnC,UAAU;AAAA,MACV,QAAQ,CAAC,UAAU,4BAAuB,KAAK;AAAA,MAC/C,aACE;AAAA,MACF,WAAW,CAAC,UAAU,yBAAyB,KAAK;AAAA,MACpD,SAAS,CAAC,UAAU,GAAG,KAAK;AAAA,MAC5B,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO,CAAC,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,OAAO,KAAK,aAAa,WAAW,CAAC;AAAA,MACtF,WAAW,CAAC,SACV,SAAS,IAAI,sBAAsB,WAAW,EAAE,IAAI,CAAC;AAAA,MACvD,cAAc;AAAA,IAChB;AAAA,IACA,eAAe;AAAA,MACb,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACV,MAAM,CAAC,UAAU,YAAY,KAAK;AAAA,MAClC,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,SAAS,CAAC,SAAS,OAAI,IAAI;AAAA,MAC3B,QAAQ,CAAC,QAAQ,aACf,8BAA8B,EAAE,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;AAAA,MAChF,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,cACE;AAAA,IACJ;AAAA,IACA,YAAY;AAAA,MACV,aAAa;AAAA,MACb,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,MACT,QAAQ;AAAA;AAAA,MAER,WAAW,CAAC,SAAS,SAAS,cAAc,OAAO,iCAA4B,IAAI;AAAA,MACnF,UAAU,CAAC,SAAS,WAAW,IAAI;AAAA,IACrC;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,WACE;AAAA,MACF,YAAY;AAAA,MACZ,WAAW,CAAC,SAAS,2BAAwB,IAAI;AAAA,MACjD,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,SACjB,GAAG,EAAE,OAAO,CAAC,IAAI,OAAO,SAAS,WAAW,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,MAAM,QAAQ,OAAO,CAAC;AAAA;AAAA;AAAA,MAGrG,oBAAoB;AAAA,MACpB,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,gBAAgB;AAAA;AAAA,MAEhB,cAAc;AAAA,MACd,cAAc;AAAA,MACd,aAAa,CAAC,UACZ,UAAU,IAAI,+BAA+B,uBAAuB,EAAE,KAAK,CAAC;AAAA,MAC9E,YAAY,CAAC,SAAS,+BAA+B,IAAI;AAAA,MACzD,YAAY,CAAC,UAAW,UAAU,IAAI,0BAAgB,iBAAY,EAAE,KAAK,CAAC;AAAA,MAC1E,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,WAAW,MAAM;AAAA,MACtC,QAAQ,CAAC,WAAW,oCAAiC,MAAM;AAAA,MAC3D,QAAQ;AAAA,MACR,cAAc,CAAC,SAAS,GAAG,IAAI;AAAA,MAC/B,mBAAmB,CAAC,SAAS,GAAG,IAAI;AAAA,MACpC,WAAW,CAAC,OAAO,UACjB,UAAU,IACN,eAAe,EAAE,KAAK,CAAC,WACvB,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;AAAA;AAAA,MAEzC,OAAO,CAAC,UAAU,GAAG,KAAK;AAAA;AAAA,MAE1B,SAAS,CAAC,UAAU,wBAAwB,KAAK;AAAA,IACnD;AAAA,IACA,mBAAmB;AAAA,MACjB,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,KAAK;AAAA,MACL,aAAa,CAAC,OAAO,UAAU,GAAG,KAAK,SAAM,EAAE,KAAK,CAAC;AAAA,MACrD,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,kBAAkB,CAAC,UAAU,gCAAgC,EAAE,KAAK,CAAC;AAAA,MACrE,iBAAiB;AAAA,MACjB,KAAK;AAAA,MACL,cAAc;AAAA,MACd,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU,CAAC,UAAU,UAAU,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,OAAO,UAAU,aAAa,WAAW,CAAC;AAAA,MAC1G,gBAAgB,CAAC,UAAU,UAAU,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;AAAA,MAC/D,SAAS;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,qBAAqB,CAAC,WAAW,SAC/B,iEAA4D,SAAS,mBAAmB,IAAI;AAAA,MAC9F,cAAc,CAAC,MAAM,SAAS,gBAAgB,IAAI,OAAO,IAAI;AAAA,MAC7D,aAAa,CAAC,MAAM,SAAS,4BAA4B,IAAI,OAAO,IAAI;AAAA,MACxE,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,UAAU;AAAA,MACV,OAAO,CAAC,UAAU,qCAAkC,KAAK;AAAA,MACzD,mBAAmB,CAAC,UAAU,0BAA0B,EAAE,KAAK,CAAC;AAAA,MAChE,QAAQ;AAAA,MACR,eAAe,CAAC,UAAW,UAAU,IAAI,oBAAoB,GAAG,EAAE,KAAK,CAAC;AAAA,MACxE,cAAc,CAAC,UAAW,UAAU,IAAI,mCAAmC,GAAG,EAAE,KAAK,CAAC;AAAA,MACtF,YAAY,CAAC,YAAY,UACvB,GAAG,EAAE,UAAU,CAAC,IAAI,OAAO,YAAY,eAAe,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MACpF,cAAc,CAAC,UAAU,0BAA0B,EAAE,KAAK,CAAC;AAAA,MAC3D,cAAc,CAAC,OAAO,UACpB,UAAU,IACN,yCAAsC,KAAK,UAC3C,qBAAqB,EAAE,KAAK,CAAC,6BAA0B,KAAK;AAAA,IACpE;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAU;AAAA,MACR,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,SAAS;AAAA,MACT,WAAW,CAAC,UAAU,0CAAuC,KAAK;AAAA;AAAA,MAElE,aAAa;AAAA,MACb,MAAM;AAAA,MACN,UAAU;AAAA,MACV,YAAY,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,aAAa,WAAW,CAAC;AAAA,MAC7E,QAAQ;AAAA,QACN,YAAY;AAAA,UACV,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAAA,QACA,SAAS;AAAA,UACP,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAAA,QACA,UAAU;AAAA,UACR,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAAA,QACA,eAAe;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAAA,QACA,MAAM;AAAA,UACJ,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,MACd,MAAM;AAAA;AAAA,MAEN,eAAe,CAAC,QAAS,MAAM,aAAa,GAAG,KAAK;AAAA,MACpD,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,WAAW;AAAA,IACb;AAAA,IACA,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,aAAa,CAAC,YACZ,UACI,2CAA2C,EAAE,OAAO,CAAC,UACrD;AAAA,MACN,UAAU;AAAA,MACV,aAAa;AAAA,MACb,QAAQ;AAAA;AAAA,MAER,aAAa;AAAA;AAAA,MAEb,WAAW,CAAC,OAAO,YAAY,oBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;AAAA,MACxE,aAAa,CAAC,YAAY,oBAAiB,EAAE,OAAO,CAAC;AAAA,MACrD,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,cACE;AAAA,MACF,SAAS;AAAA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS;AAAA;AAAA,MAET,UAAU;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,MAAM;AAAA,MACN,YAAY;AAAA;AAAA,MAEZ,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,SAAS;AAAA,MACT,QAAQ,CAAC,SAAS,UAAU,IAAI;AAAA,MAChC,SAAS,CAAC,SAAS,WAAW,IAAI;AAAA;AAAA,MAElC,WAAW,CAAC,SAAS,WAAW,IAAI;AAAA,MACpC,WAAW;AAAA,MACX,WAAW;AAAA;AAAA,MAEX,QAAQ;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,MACA,aAAa,CAAC,SACZ,mCAAmC,OAAO,IAAI,CAAC;AAAA,MACjD,aAAa,CAAC,SACZ,mCAAmC,OAAO,IAAI,CAAC;AAAA,MACjD,eACE;AAAA,MACF,WACE;AAAA;AAAA,MAEF,eAAe,CAAC,SACd,OACI,OAAI,IAAI,4FACR;AAAA,MACN,YACE;AAAA,MACF,YAAY;AAAA,MACZ,eAAe;AAAA;AAAA,MAEf,uBAAuB,CAAC,UACtB,QACI,6CAA0C,KAAK,+CAC/C;AAAA,MACN,YAAY;AAAA,MACZ,YAAY;AAAA;AAAA,MAEZ,cAAc;AAAA,MACd,cAAc;AAAA,MACd,cAAc;AAAA,MACd,YAAY;AAAA;AAAA,MAEZ,OAAO,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,KAAK;AAAA,MAC3C,gBAAgB,CAAC,cAAc,qBAAqB,SAAS;AAAA;AAAA,MAE7D,gBAAgB,CAAC,WAAW,MAAM,UAAU,GAAG,SAAS,KAAK,IAAI,OAAO,KAAK;AAAA,MAC7E,QAAQ;AAAA,MACR,QAAQ;AAAA;AAAA,MAER,eACE;AAAA;AAAA,MAEF,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA;AAAA,MAET,aAAa;AAAA,MACb,cAAc,CAAC,MAAM,OAAO,MAAM,IAAI,MAAM,EAAE;AAAA,MAC9C,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,kBAAkB,CAAC,SAAS,wBAAwB,IAAI;AAAA,MACxD,eAAe;AAAA;AAAA,MAEf,YAAY,CAAC,UACX,QACI,uDAAuD,KAAK,8CAC5D;AAAA,MACN,oBAAoB;AAAA,MACpB,mBAAmB,CAAC,SAClB,iCAAiC,IAAI;AAAA,MACvC,qBAAqB;AAAA,MACrB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,kBACE;AAAA,MACF,oBAAoB;AAAA,MACpB,gBAAgB,CAAC,UACf,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,sBAAsB,qBAAqB,CAAC;AAAA;AAAA,MAE3E,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,UAAU;AAAA;AAAA,MAEV,qBAAqB;AAAA,MACrB,mBAAmB;AAAA,MACnB,aACE;AAAA;AAAA,MAEF,eAAe;AAAA,MACf,eAAe;AAAA,IACjB;AAAA;AAAA;AAAA,IAGA,YAAY;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,MACN,SAAS,CAAC,SAAS,kBAAkB,IAAI;AAAA,MACzC,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS,CAAC,MAAM,OAAO,qBAAqB,IAAI,MAAM,EAAE;AAAA,MACxD,KAAK,CAAC,OAAO,sBAAsB,EAAE;AAAA,MACrC,UAAU;AAAA,MACV,WAAW,CAAC,SAAS,oBAAoB,IAAI;AAAA,MAC7C,WAAW;AAAA;AAAA;AAAA,MAGX,SAAS,CAAC,MAAM,OAAO,cAAc,GAAG,IAAI,OAAO,KAAK,IAAI,SAAS;AAAA,IACvE;AAAA;AAAA;AAAA,IAGA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,MACd,WAAW,EAAE,QAAQ,WAAW,OAAO,UAAU,QAAQ,eAAe;AAAA,MACxE,UAAU;AAAA,MACV,cACE;AAAA,MACF,eAAe,EAAE,QAAQ,WAAW,UAAU,YAAY,MAAM,YAAY;AAAA,MAC5E,YAAY;AAAA,IACd;AAAA;AAAA;AAAA,IAGA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,aACE;AAAA,MACF,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,aACE;AAAA,MACF,eAAe;AAAA,MACf,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MACT,YAAY,CAAC,SAAS,cAAc,IAAI;AAAA,IAC1C;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACb;AAAA;AAAA;AAAA,IAGA,WAAW;AAAA,MACT,OAAO;AAAA,MACP,SAAS,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAC/B,gBAAgB;AAAA,MAChB,eAAe,CAAC,YACd,qCAAqC,OAAO;AAAA,MAC9C,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,UAAU;AAAA,QACR,UAAU,EAAE,OAAO,cAAc,MAAM,oDAAyC;AAAA,QAChF,OAAO,EAAE,OAAO,UAAU,MAAM,iDAA8C;AAAA,QAC9E,aAAa,EAAE,OAAO,UAAU,MAAM,0CAA0C;AAAA,QAChF,SAAS,EAAE,OAAO,gBAAgB,MAAM,uCAAuC;AAAA,QAC/E,UAAU,EAAE,OAAO,eAAY,MAAM,iEAA2D;AAAA,MAClG;AAAA,MACA,OAAO;AAAA,QACL,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,oBAAoB;AAAA,QACpB,OAAO;AAAA,QACP,UAAU,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,SAAS,OAAO,CAAC;AAAA,MACrE;AAAA,MACA,OAAO;AAAA,IACT;AAAA;AAAA;AAAA,IAGA,aAAa;AAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,QACV,WAAW;AAAA,MACb;AAAA,MACA,MAAM;AAAA,QACJ,SAAS,CAAC,UACR,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,sCAAmC,sCAAsC,CAAC;AAAA,QACzG,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS,CAAC,UACR,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,OAAO,YAAY,WAAW,CAAC;AAAA,QACvD,UAAU,CAAC,SAAS,sBAAsB,IAAI;AAAA,QAC9C,MAAM;AAAA,QACN,UAAU;AAAA,QACV,aAAa;AAAA,QACb,UAAU,CAAC,OAAO,SAAS,GAAG,KAAK,WAAM,IAAI;AAAA,QAC7C,QAAQ,CAAC,OAAO,UAAU,GAAG,KAAK,KAAK,KAAK;AAAA,QAC5C,cAAc;AAAA,QACd,cAAc;AAAA,QACd,cAAc,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,QACpC,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,QAAQ;AAAA,MACV;AAAA,MACA,KAAK;AAAA,QACH,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,MAAM,CAAC,UAAU,UAAU,KAAK;AAAA,QAChC,aAAa;AAAA,QACb,QAAQ,CAAC,SAAS,WAAW,IAAI;AAAA,QACjC,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF;AAEO,MAAM,mBAAgC,cAAc;","names":[]}
|